WooCommerce - Version 3.9.0-rc.3

Version Description

Download this release

Release Info

Developer claudiosanches
Plugin Icon 128x128 WooCommerce
Version 3.9.0-rc.3
Comparing to
See all releases

Code changes from version 3.9.0-rc.2 to 3.9.0-rc.3

Files changed (40) hide show
  1. i18n/languages/woocommerce.pot +387 -323
  2. includes/abstracts/abstract-wc-order.php +122 -7
  3. includes/admin/class-wc-admin-notices.php +37 -0
  4. includes/admin/settings/class-wc-settings-general.php +7 -13
  5. includes/admin/views/html-admin-page-status-report.php +3 -22
  6. includes/admin/views/html-notice-maxmind-license-key.php +31 -0
  7. includes/class-wc-autoloader.php +2 -0
  8. includes/class-wc-cart.php +1 -42
  9. includes/class-wc-checkout.php +4 -0
  10. includes/class-wc-coupon.php +5 -5
  11. includes/class-wc-discounts.php +3 -3
  12. includes/class-wc-geolite-integration.php +6 -15
  13. includes/class-wc-geolocation.php +132 -149
  14. includes/class-wc-install.php +11 -5
  15. includes/class-wc-integrations.php +21 -2
  16. includes/data-stores/class-wc-coupon-data-store-cpt.php +298 -8
  17. includes/data-stores/class-wc-customer-data-store.php +24 -0
  18. includes/data-stores/class-wc-order-data-store-cpt.php +82 -1
  19. includes/data-stores/class-wc-product-variation-data-store-cpt.php +2 -2
  20. includes/import/abstract-wc-product-importer.php +15 -1
  21. includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php +167 -0
  22. includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php +289 -0
  23. includes/integrations/maxmind-geolocation/views/html-admin-options.php +25 -0
  24. includes/libraries/geolite2/Reader/Decoder.php +0 -311
  25. includes/libraries/geolite2/Reader/Metadata.php +0 -69
  26. includes/wc-order-functions.php +2 -1
  27. includes/wc-update-functions.php +36 -1
  28. packages/woocommerce-blocks/assets/js/atomic/components/product/price/index.js +5 -8
  29. packages/woocommerce-blocks/assets/js/base/components/price-slider/{utils.js → constrain-range-slider-values.js} +21 -7
  30. packages/woocommerce-blocks/assets/js/base/components/price-slider/index.js +24 -16
  31. packages/woocommerce-blocks/assets/js/base/components/price-slider/test/constrain-range-slider-values.js +39 -0
  32. packages/woocommerce-blocks/assets/js/blocks/price-filter/block.js +3 -11
  33. packages/woocommerce-blocks/assets/js/blocks/price-filter/test/use-price-constraints.js +20 -20
  34. packages/woocommerce-blocks/assets/js/blocks/price-filter/use-price-constraints.js +6 -8
  35. packages/woocommerce-blocks/build/all-products-frontend.js +1 -1
  36. packages/woocommerce-blocks/build/all-products.js +1 -1
  37. packages/woocommerce-blocks/build/price-filter-frontend.js +1 -1
  38. packages/woocommerce-blocks/build/price-filter.js +1 -1
  39. packages/woocommerce-blocks/build/vendors-legacy.js +1 -1
  40. packages/woocommerce-blocks/build/vendors.js +0 -1
i18n/languages/woocommerce.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2019 Automattic
2
  # This file is distributed under the same license as the WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce 3.9.0-rc.2\n"
6
  "Report-Msgid-Bugs-To: https://github.com/woocommerce/woocommerce/issues\n"
7
- "POT-Creation-Date: 2019-12-27 17:00:21+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
  "X-Generator: grunt-wp-i18n 1.0.3\n"
@@ -6504,25 +6504,45 @@ msgstr ""
6504
  msgid "Invalid currency code"
6505
  msgstr ""
6506
 
6507
- #: includes/abstracts/abstract-wc-order.php:997
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6508
  #: includes/legacy/api/v1/class-wc-api-coupons.php:174
6509
  #: includes/legacy/api/v2/class-wc-api-coupons.php:189
6510
  #: includes/legacy/api/v3/class-wc-api-coupons.php:187
6511
  msgid "Invalid coupon code"
6512
  msgstr ""
6513
 
6514
- #: includes/abstracts/abstract-wc-order.php:1007
6515
  #: includes/class-wc-ajax.php:1137 includes/class-wc-ajax.php:1200
6516
  #: includes/class-wc-discounts.php:247
6517
  msgid "Invalid coupon"
6518
  msgstr ""
6519
 
6520
- #: includes/abstracts/abstract-wc-order.php:1014
6521
  #: includes/class-wc-coupon.php:965
6522
  msgid "Coupon code already applied!"
6523
  msgstr ""
6524
 
6525
- #: includes/abstracts/abstract-wc-order.php:1855
6526
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:275
6527
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:327
6528
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:344
@@ -6533,26 +6553,26 @@ msgstr ""
6533
  msgid "via %s"
6534
  msgstr ""
6535
 
6536
- #: includes/abstracts/abstract-wc-order.php:1860
6537
  #: includes/class-wc-cart.php:1418 includes/class-wc-product-grouped.php:120
6538
  msgid "Free!"
6539
  msgstr ""
6540
 
6541
- #: includes/abstracts/abstract-wc-order.php:1889
6542
  msgid "Subtotal:"
6543
  msgstr ""
6544
 
6545
- #: includes/abstracts/abstract-wc-order.php:1904
6546
  #: includes/admin/meta-boxes/views/html-order-items.php:148
6547
  msgid "Discount:"
6548
  msgstr ""
6549
 
6550
- #: includes/abstracts/abstract-wc-order.php:1919
6551
  #: includes/admin/meta-boxes/views/html-order-items.php:160
6552
  msgid "Shipping:"
6553
  msgstr ""
6554
 
6555
- #: includes/abstracts/abstract-wc-order.php:1980
6556
  #: templates/checkout/order-receipt.php:33 templates/checkout/thankyou.php:62
6557
  msgid "Total:"
6558
  msgstr ""
@@ -7051,7 +7071,7 @@ msgstr ""
7051
  #: includes/admin/meta-boxes/views/html-product-data-general.php:82
7052
  #: includes/admin/meta-boxes/views/html-variation-admin.php:370
7053
  #: includes/admin/settings/views/html-webhooks-edit.php:22
7054
- #: includes/admin/views/html-admin-page-status-report.php:876
7055
  #: includes/export/class-wc-product-csv-exporter.php:108
7056
  #: includes/widgets/class-wc-widget-product-categories.php:52
7057
  #: templates/single-product-reviews.php:89
@@ -7763,8 +7783,8 @@ msgid "WooCommerce settings"
7763
  msgstr ""
7764
 
7765
  #: includes/admin/class-wc-admin-menus.php:82
7766
- #: includes/admin/views/html-admin-page-status-report.php:743
7767
- #: includes/class-wc-install.php:1257
7768
  msgid "Settings"
7769
  msgstr ""
7770
 
@@ -7847,7 +7867,7 @@ msgstr ""
7847
  msgid "Reviews"
7848
  msgstr ""
7849
 
7850
- #: includes/admin/class-wc-admin-notices.php:128
7851
  #: includes/admin/class-wc-admin-status.php:291
7852
  #: includes/admin/class-wc-admin-status.php:310
7853
  #: includes/admin/class-wc-admin-status.php:326
@@ -7855,24 +7875,24 @@ msgstr ""
7855
  msgid "Action failed. Please refresh the page and retry."
7856
  msgstr ""
7857
 
7858
- #: includes/admin/class-wc-admin-notices.php:132
7859
  #: includes/emails/class-wc-email.php:872
7860
  msgid "You don&#8217;t have permission to do this."
7861
  msgstr ""
7862
 
7863
- #: includes/admin/class-wc-admin-notices.php:410
7864
  #. translators: 1: Minimum PHP version 2: Minimum WordPress version
7865
  msgid ""
7866
  "Update required: WooCommerce will soon require PHP version %1$s and "
7867
  "WordPress version %2$s or newer."
7868
  msgstr ""
7869
 
7870
- #: includes/admin/class-wc-admin-notices.php:417
7871
  #. translators: %s: Minimum PHP version
7872
  msgid "Update required: WooCommerce will soon require PHP version %s or newer."
7873
  msgstr ""
7874
 
7875
- #: includes/admin/class-wc-admin-notices.php:423
7876
  #. translators: %s: Minimum WordPress version
7877
  msgid ""
7878
  "Update required: WooCommerce will soon require WordPress version %s or "
@@ -8056,6 +8076,7 @@ msgstr ""
8056
  #: includes/admin/class-wc-admin-pointers.php:250
8057
  #: includes/admin/views/html-notice-custom.php:12
8058
  #: includes/admin/views/html-notice-legacy-shipping.php:14
 
8059
  #: includes/admin/views/html-notice-no-shipping-methods.php:14
8060
  #: includes/admin/views/html-notice-secure-connection.php:12
8061
  #: includes/admin/views/html-notice-template-check.php:15
@@ -8386,7 +8407,7 @@ msgstr ""
8386
  #: includes/admin/class-wc-admin-profile.php:117
8387
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:56
8388
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:107
8389
- #: includes/admin/settings/class-wc-settings-general.php:65
8390
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:215
8391
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:278
8392
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-orders-v2-controller.php:1011
@@ -8401,7 +8422,7 @@ msgstr ""
8401
  #: includes/admin/class-wc-admin-setup-wizard.php:568
8402
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:60
8403
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:111
8404
- #: includes/admin/settings/class-wc-settings-general.php:74
8405
  #: includes/customizer/class-wc-shop-customizer.php:678
8406
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:220
8407
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:283
@@ -8417,7 +8438,7 @@ msgstr ""
8417
  #: includes/admin/class-wc-admin-setup-wizard.php:573
8418
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:64
8419
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:115
8420
- #: includes/admin/settings/class-wc-settings-general.php:83
8421
  #: includes/admin/settings/class-wc-settings-tax.php:225
8422
  #: includes/admin/settings/views/html-settings-tax.php:29
8423
  #: templates/cart/shipping-calculator.php:76
@@ -8429,7 +8450,7 @@ msgstr ""
8429
  #: includes/admin/class-wc-admin-setup-wizard.php:583
8430
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:68
8431
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:119
8432
- #: includes/admin/settings/class-wc-settings-general.php:101
8433
  #: includes/admin/settings/class-wc-settings-tax.php:224
8434
  #: includes/admin/settings/views/html-settings-tax.php:28
8435
  #: includes/class-wc-countries.php:703
@@ -9960,7 +9981,7 @@ msgid "Connect"
9960
  msgstr ""
9961
 
9962
  #: includes/admin/helper/views/html-section-account.php:6
9963
- #: includes/admin/views/html-admin-page-status-report.php:809
9964
  msgid "Connected to WooCommerce.com"
9965
  msgstr ""
9966
 
@@ -11773,9 +11794,9 @@ msgid "Optional"
11773
  msgstr ""
11774
 
11775
  #: includes/admin/meta-boxes/views/html-order-notes.php:34
11776
- #: includes/admin/views/html-admin-page-status-report.php:620
11777
- #: includes/admin/views/html-admin-page-status-report.php:672
11778
- #: includes/admin/views/html-admin-page-status-report.php:730
11779
  #: includes/class-wc-ajax.php:1488 templates/content-widget-reviews.php:31
11780
  #. translators: %s: note author
11781
  #. translators: %s: plugin author
@@ -13567,228 +13588,228 @@ msgstr ""
13567
  msgid "Manage"
13568
  msgstr ""
13569
 
13570
- #: includes/admin/settings/class-wc-settings-general.php:43
13571
- msgid "No location by default"
13572
- msgstr ""
13573
-
13574
- #: includes/admin/settings/class-wc-settings-general.php:44
13575
- #: includes/admin/settings/views/settings-tax.php:41
13576
- msgid "Shop base address"
13577
- msgstr ""
13578
-
13579
- #: includes/admin/settings/class-wc-settings-general.php:45
13580
- msgid "Geolocate"
13581
- msgstr ""
13582
-
13583
- #: includes/admin/settings/class-wc-settings-general.php:46
13584
- msgid "Geolocate (with page caching support)"
13585
- msgstr ""
13586
-
13587
- #: includes/admin/settings/class-wc-settings-general.php:58
13588
  msgid "Store Address"
13589
  msgstr ""
13590
 
13591
- #: includes/admin/settings/class-wc-settings-general.php:60
13592
  msgid ""
13593
  "This is where your business is located. Tax rates and shipping rates will "
13594
  "use this address."
13595
  msgstr ""
13596
 
13597
- #: includes/admin/settings/class-wc-settings-general.php:66
13598
  msgid "The street address for your business location."
13599
  msgstr ""
13600
 
13601
- #: includes/admin/settings/class-wc-settings-general.php:75
13602
  msgid "An additional, optional address line for your business location."
13603
  msgstr ""
13604
 
13605
- #: includes/admin/settings/class-wc-settings-general.php:84
13606
  msgid "The city in which your business is located."
13607
  msgstr ""
13608
 
13609
- #: includes/admin/settings/class-wc-settings-general.php:92
13610
  msgid "Country / State"
13611
  msgstr ""
13612
 
13613
- #: includes/admin/settings/class-wc-settings-general.php:93
13614
  msgid ""
13615
  "The country and state or province, if any, in which your business is "
13616
  "located."
13617
  msgstr ""
13618
 
13619
- #: includes/admin/settings/class-wc-settings-general.php:102
13620
  msgid "The postal code, if any, in which your business is located."
13621
  msgstr ""
13622
 
13623
- #: includes/admin/settings/class-wc-settings-general.php:116
13624
  msgid "General options"
13625
  msgstr ""
13626
 
13627
- #: includes/admin/settings/class-wc-settings-general.php:123
13628
  msgid "Selling location(s)"
13629
  msgstr ""
13630
 
13631
- #: includes/admin/settings/class-wc-settings-general.php:124
13632
  msgid "This option lets you limit which countries you are willing to sell to."
13633
  msgstr ""
13634
 
13635
- #: includes/admin/settings/class-wc-settings-general.php:132
13636
  msgid "Sell to all countries"
13637
  msgstr ""
13638
 
13639
- #: includes/admin/settings/class-wc-settings-general.php:133
13640
- #: includes/admin/settings/class-wc-settings-general.php:139
13641
  msgid "Sell to all countries, except for&hellip;"
13642
  msgstr ""
13643
 
13644
- #: includes/admin/settings/class-wc-settings-general.php:134
13645
- #: includes/admin/settings/class-wc-settings-general.php:148
13646
  msgid "Sell to specific countries"
13647
  msgstr ""
13648
 
13649
- #: includes/admin/settings/class-wc-settings-general.php:157
13650
  msgid "Shipping location(s)"
13651
  msgstr ""
13652
 
13653
- #: includes/admin/settings/class-wc-settings-general.php:158
13654
  msgid ""
13655
  "Choose which countries you want to ship to, or choose to ship to all "
13656
  "locations you sell to."
13657
  msgstr ""
13658
 
13659
- #: includes/admin/settings/class-wc-settings-general.php:165
13660
  msgid "Ship to all countries you sell to"
13661
  msgstr ""
13662
 
13663
- #: includes/admin/settings/class-wc-settings-general.php:166
13664
  msgid "Ship to all countries"
13665
  msgstr ""
13666
 
13667
- #: includes/admin/settings/class-wc-settings-general.php:167
13668
  msgid "Ship to specific countries only"
13669
  msgstr ""
13670
 
13671
- #: includes/admin/settings/class-wc-settings-general.php:168
13672
  msgid "Disable shipping &amp; shipping calculations"
13673
  msgstr ""
13674
 
13675
- #: includes/admin/settings/class-wc-settings-general.php:173
13676
  msgid "Ship to specific countries"
13677
  msgstr ""
13678
 
13679
- #: includes/admin/settings/class-wc-settings-general.php:182
13680
  msgid "Default customer location"
13681
  msgstr ""
13682
 
13683
- #: includes/admin/settings/class-wc-settings-general.php:184
13684
  msgid ""
13685
  "This option determines a customers default location. The MaxMind GeoLite "
13686
  "Database will be periodically downloaded to your wp-content directory if "
13687
  "using geolocation."
13688
  msgstr ""
13689
 
13690
- #: includes/admin/settings/class-wc-settings-general.php:192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13691
  msgid "Enable taxes"
13692
  msgstr ""
13693
 
13694
- #: includes/admin/settings/class-wc-settings-general.php:193
13695
  msgid "Enable tax rates and calculations"
13696
  msgstr ""
13697
 
13698
- #: includes/admin/settings/class-wc-settings-general.php:197
13699
  msgid "Rates will be configurable and taxes will be calculated during checkout."
13700
  msgstr ""
13701
 
13702
- #: includes/admin/settings/class-wc-settings-general.php:201
13703
  msgid "Enable coupons"
13704
  msgstr ""
13705
 
13706
- #: includes/admin/settings/class-wc-settings-general.php:202
13707
  msgid "Enable the use of coupon codes"
13708
  msgstr ""
13709
 
13710
- #: includes/admin/settings/class-wc-settings-general.php:208
13711
  msgid "Coupons can be applied from the cart and checkout pages."
13712
  msgstr ""
13713
 
13714
- #: includes/admin/settings/class-wc-settings-general.php:212
13715
  msgid "Calculate coupon discounts sequentially"
13716
  msgstr ""
13717
 
13718
- #: includes/admin/settings/class-wc-settings-general.php:216
13719
  msgid ""
13720
  "When applying multiple coupons, apply the first coupon to the full price "
13721
  "and the second coupon to the discounted price and so on."
13722
  msgstr ""
13723
 
13724
- #: includes/admin/settings/class-wc-settings-general.php:228
13725
  msgid "Currency options"
13726
  msgstr ""
13727
 
13728
- #: includes/admin/settings/class-wc-settings-general.php:230
13729
  msgid "The following options affect how prices are displayed on the frontend."
13730
  msgstr ""
13731
 
13732
- #: includes/admin/settings/class-wc-settings-general.php:235
13733
- #: includes/admin/views/html-admin-page-status-report.php:758
13734
  msgid "Currency"
13735
  msgstr ""
13736
 
13737
- #: includes/admin/settings/class-wc-settings-general.php:236
13738
  msgid ""
13739
  "This controls what currency prices are listed at in the catalog and which "
13740
  "currency gateways will take payments in."
13741
  msgstr ""
13742
 
13743
- #: includes/admin/settings/class-wc-settings-general.php:246
13744
- #: includes/admin/views/html-admin-page-status-report.php:763
13745
  msgid "Currency position"
13746
  msgstr ""
13747
 
13748
- #: includes/admin/settings/class-wc-settings-general.php:247
13749
  msgid "This controls the position of the currency symbol."
13750
  msgstr ""
13751
 
13752
- #: includes/admin/settings/class-wc-settings-general.php:253
13753
  msgid "Left"
13754
  msgstr ""
13755
 
13756
- #: includes/admin/settings/class-wc-settings-general.php:254
13757
  msgid "Right"
13758
  msgstr ""
13759
 
13760
- #: includes/admin/settings/class-wc-settings-general.php:255
13761
  msgid "Left with space"
13762
  msgstr ""
13763
 
13764
- #: includes/admin/settings/class-wc-settings-general.php:256
13765
  msgid "Right with space"
13766
  msgstr ""
13767
 
13768
- #: includes/admin/settings/class-wc-settings-general.php:262
13769
- #: includes/admin/views/html-admin-page-status-report.php:768
13770
  msgid "Thousand separator"
13771
  msgstr ""
13772
 
13773
- #: includes/admin/settings/class-wc-settings-general.php:263
13774
  msgid "This sets the thousand separator of displayed prices."
13775
  msgstr ""
13776
 
13777
- #: includes/admin/settings/class-wc-settings-general.php:272
13778
- #: includes/admin/views/html-admin-page-status-report.php:773
13779
  msgid "Decimal separator"
13780
  msgstr ""
13781
 
13782
- #: includes/admin/settings/class-wc-settings-general.php:273
13783
  msgid "This sets the decimal separator of displayed prices."
13784
  msgstr ""
13785
 
13786
- #: includes/admin/settings/class-wc-settings-general.php:282
13787
- #: includes/admin/views/html-admin-page-status-report.php:778
13788
  msgid "Number of decimals"
13789
  msgstr ""
13790
 
13791
- #: includes/admin/settings/class-wc-settings-general.php:283
13792
  msgid "This sets the number of decimal points shown in displayed prices."
13793
  msgstr ""
13794
 
@@ -15368,55 +15389,32 @@ msgid "How to update your database table prefix"
15368
  msgstr ""
15369
 
15370
  #: includes/admin/views/html-admin-page-status-report.php:440
15371
- msgid "MaxMind GeoIP database"
15372
- msgstr ""
15373
-
15374
- #: includes/admin/views/html-admin-page-status-report.php:441
15375
- msgid "The GeoIP database from MaxMind is used to geolocate customers."
15376
- msgstr ""
15377
-
15378
- #: includes/admin/views/html-admin-page-status-report.php:445
15379
- msgid "MaxMind GeoIP database requires at least PHP 5.4."
15380
- msgstr ""
15381
-
15382
- #: includes/admin/views/html-admin-page-status-report.php:450
15383
- #. Translators: %1$s: Library url, %2$s: install path.
15384
- msgid ""
15385
- "The MaxMind GeoIP Database does not exist - Geolocation will not function. "
15386
- "You can download and install it manually from %1$s to the path: %2$s. "
15387
- "Scroll down to \"Downloads\" and download the \"MaxMind DB binary, "
15388
- "gzipped\" file next to \"GeoLite2 Country\". Please remember to uncompress "
15389
- "GeoLite2-Country_xxxxxxxx.tar.gz and upload the GeoLite2-Country.mmdb file "
15390
- "only."
15391
- msgstr ""
15392
-
15393
- #: includes/admin/views/html-admin-page-status-report.php:459
15394
  msgid "Total Database Size"
15395
  msgstr ""
15396
 
15397
- #: includes/admin/views/html-admin-page-status-report.php:465
15398
  msgid "Database Data Size"
15399
  msgstr ""
15400
 
15401
- #: includes/admin/views/html-admin-page-status-report.php:471
15402
  msgid "Database Index Size"
15403
  msgstr ""
15404
 
15405
- #: includes/admin/views/html-admin-page-status-report.php:483
15406
  msgid "Table does not exist"
15407
  msgstr ""
15408
 
15409
- #: includes/admin/views/html-admin-page-status-report.php:486
15410
- #: includes/admin/views/html-admin-page-status-report.php:500
15411
  #. Translators: %1$f: Table size, %2$f: Index size, %3$s Engine.
15412
  msgid "Data: %1$.2fMB + Index: %2$.2fMB + Engine %3$s"
15413
  msgstr ""
15414
 
15415
- #: includes/admin/views/html-admin-page-status-report.php:507
15416
  msgid "Database information:"
15417
  msgstr ""
15418
 
15419
- #: includes/admin/views/html-admin-page-status-report.php:511
15420
  msgid ""
15421
  "Unable to retrieve database information. Usually, this is not a problem, "
15422
  "and it only means that your install is using a class that replaces the "
@@ -15424,210 +15422,210 @@ msgid ""
15424
  "database information."
15425
  msgstr ""
15426
 
15427
- #: includes/admin/views/html-admin-page-status-report.php:525
15428
  msgid "Post Type Counts"
15429
  msgstr ""
15430
 
15431
- #: includes/admin/views/html-admin-page-status-report.php:546
15432
  msgid "Security"
15433
  msgstr ""
15434
 
15435
- #: includes/admin/views/html-admin-page-status-report.php:551
15436
  msgid "Secure connection (HTTPS)"
15437
  msgstr ""
15438
 
15439
- #: includes/admin/views/html-admin-page-status-report.php:552
15440
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:534
15441
  msgid "Is the connection to your store secure?"
15442
  msgstr ""
15443
 
15444
- #: includes/admin/views/html-admin-page-status-report.php:560
15445
  #. Translators: %s: docs link.
15446
  msgid ""
15447
  "Your store is not using HTTPS. <a href=\"%s\" target=\"_blank\">Learn more "
15448
  "about HTTPS and SSL Certificates</a>."
15449
  msgstr ""
15450
 
15451
- #: includes/admin/views/html-admin-page-status-report.php:567
15452
  msgid "Hide errors from visitors"
15453
  msgstr ""
15454
 
15455
- #: includes/admin/views/html-admin-page-status-report.php:568
15456
  msgid ""
15457
  "Error messages can contain sensitive information about your store "
15458
  "environment. These should be hidden from untrusted visitors."
15459
  msgstr ""
15460
 
15461
- #: includes/admin/views/html-admin-page-status-report.php:573
15462
  msgid "Error messages should not be shown to visitors."
15463
  msgstr ""
15464
 
15465
- #: includes/admin/views/html-admin-page-status-report.php:582
15466
  msgid "Active plugins"
15467
  msgstr ""
15468
 
15469
- #: includes/admin/views/html-admin-page-status-report.php:594
15470
- #: includes/admin/views/html-admin-page-status-report.php:646
15471
- #: includes/admin/views/html-admin-page-status-report.php:721
15472
  msgid "Visit plugin homepage"
15473
  msgstr ""
15474
 
15475
- #: includes/admin/views/html-admin-page-status-report.php:602
15476
- #: includes/admin/views/html-admin-page-status-report.php:654
15477
- #: includes/admin/views/html-admin-page-status-report.php:888
15478
- #: includes/admin/views/html-admin-page-status-report.php:926
15479
  #. translators: %s: plugin latest version
15480
  #. translators: %s: theme latest version
15481
  #. translators: %s: parent theme latest version
15482
  msgid "%s is available"
15483
  msgstr ""
15484
 
15485
- #: includes/admin/views/html-admin-page-status-report.php:606
15486
- #: includes/admin/views/html-admin-page-status-report.php:658
15487
  msgid "Network enabled"
15488
  msgstr ""
15489
 
15490
- #: includes/admin/views/html-admin-page-status-report.php:611
15491
- #: includes/admin/views/html-admin-page-status-report.php:663
15492
  msgid "Not tested with the active version of WooCommerce"
15493
  msgstr ""
15494
 
15495
- #: includes/admin/views/html-admin-page-status-report.php:634
15496
  msgid "Inactive plugins"
15497
  msgstr ""
15498
 
15499
- #: includes/admin/views/html-admin-page-status-report.php:689
15500
  msgid "Dropin Plugins"
15501
  msgstr ""
15502
 
15503
- #: includes/admin/views/html-admin-page-status-report.php:713
15504
  msgid "Must Use Plugins"
15505
  msgstr ""
15506
 
15507
- #: includes/admin/views/html-admin-page-status-report.php:748
15508
  msgid "API enabled"
15509
  msgstr ""
15510
 
15511
- #: includes/admin/views/html-admin-page-status-report.php:749
15512
  msgid "Does your site have REST API enabled?"
15513
  msgstr ""
15514
 
15515
- #: includes/admin/views/html-admin-page-status-report.php:753
15516
  msgid "Force SSL"
15517
  msgstr ""
15518
 
15519
- #: includes/admin/views/html-admin-page-status-report.php:754
15520
  msgid "Does your site force a SSL Certificate for transactions?"
15521
  msgstr ""
15522
 
15523
- #: includes/admin/views/html-admin-page-status-report.php:759
15524
  msgid ""
15525
  "What currency prices are listed at in the catalog and which currency "
15526
  "gateways will take payments in."
15527
  msgstr ""
15528
 
15529
- #: includes/admin/views/html-admin-page-status-report.php:764
15530
  msgid "The position of the currency symbol."
15531
  msgstr ""
15532
 
15533
- #: includes/admin/views/html-admin-page-status-report.php:769
15534
  msgid "The thousand separator of displayed prices."
15535
  msgstr ""
15536
 
15537
- #: includes/admin/views/html-admin-page-status-report.php:774
15538
  msgid "The decimal separator of displayed prices."
15539
  msgstr ""
15540
 
15541
- #: includes/admin/views/html-admin-page-status-report.php:779
15542
  msgid "The number of decimal points shown in displayed prices."
15543
  msgstr ""
15544
 
15545
- #: includes/admin/views/html-admin-page-status-report.php:783
15546
  msgid "Taxonomies: Product types"
15547
  msgstr ""
15548
 
15549
- #: includes/admin/views/html-admin-page-status-report.php:784
15550
  msgid ""
15551
  "A list of taxonomy terms that can be used in regard to order/product "
15552
  "statuses."
15553
  msgstr ""
15554
 
15555
- #: includes/admin/views/html-admin-page-status-report.php:796
15556
  msgid "Taxonomies: Product visibility"
15557
  msgstr ""
15558
 
15559
- #: includes/admin/views/html-admin-page-status-report.php:797
15560
  msgid "A list of taxonomy terms used for product visibility."
15561
  msgstr ""
15562
 
15563
- #: includes/admin/views/html-admin-page-status-report.php:810
15564
  msgid "Are your site connected to WooCommerce.com?"
15565
  msgstr ""
15566
 
15567
- #: includes/admin/views/html-admin-page-status-report.php:818
15568
  msgid "WooCommerce pages"
15569
  msgstr ""
15570
 
15571
- #: includes/admin/views/html-admin-page-status-report.php:829
15572
  #. Translators: %s: page name.
15573
  msgid "Edit %s page"
15574
  msgstr ""
15575
 
15576
- #: includes/admin/views/html-admin-page-status-report.php:836
15577
  #. Translators: %s: page name.
15578
  msgid "The URL of your %s page (along with the Page ID)."
15579
  msgstr ""
15580
 
15581
- #: includes/admin/views/html-admin-page-status-report.php:840
15582
  msgid "Page not set"
15583
  msgstr ""
15584
 
15585
- #: includes/admin/views/html-admin-page-status-report.php:843
15586
  msgid "Page ID is set, but the page does not exist"
15587
  msgstr ""
15588
 
15589
- #: includes/admin/views/html-admin-page-status-report.php:847
15590
  #. Translators: %s: docs link.
15591
  msgid "Page visibility should be <a href=\"%s\" target=\"_blank\">public</a>"
15592
  msgstr ""
15593
 
15594
- #: includes/admin/views/html-admin-page-status-report.php:853
15595
  msgid "Page does not contain the shortcode."
15596
  msgstr ""
15597
 
15598
- #: includes/admin/views/html-admin-page-status-report.php:871
15599
  msgid "Theme"
15600
  msgstr ""
15601
 
15602
- #: includes/admin/views/html-admin-page-status-report.php:877
15603
  msgid "The name of the current active theme."
15604
  msgstr ""
15605
 
15606
- #: includes/admin/views/html-admin-page-status-report.php:881
15607
  msgid "Version"
15608
  msgstr ""
15609
 
15610
- #: includes/admin/views/html-admin-page-status-report.php:882
15611
  msgid "The installed version of the current active theme."
15612
  msgstr ""
15613
 
15614
- #: includes/admin/views/html-admin-page-status-report.php:894
15615
  msgid "Author URL"
15616
  msgstr ""
15617
 
15618
- #: includes/admin/views/html-admin-page-status-report.php:895
15619
  msgid "The theme developers URL."
15620
  msgstr ""
15621
 
15622
- #: includes/admin/views/html-admin-page-status-report.php:899
15623
  msgid "Child theme"
15624
  msgstr ""
15625
 
15626
- #: includes/admin/views/html-admin-page-status-report.php:900
15627
  msgid "Displays whether or not the current theme is a child theme."
15628
  msgstr ""
15629
 
15630
- #: includes/admin/views/html-admin-page-status-report.php:907
15631
  #. Translators: %s docs link.
15632
  msgid ""
15633
  "If you are modifying WooCommerce on a parent theme that you did not build "
@@ -15635,59 +15633,59 @@ msgid ""
15635
  "target=\"_blank\">How to create a child theme</a>"
15636
  msgstr ""
15637
 
15638
- #: includes/admin/views/html-admin-page-status-report.php:914
15639
  msgid "Parent theme name"
15640
  msgstr ""
15641
 
15642
- #: includes/admin/views/html-admin-page-status-report.php:915
15643
  msgid "The name of the parent theme."
15644
  msgstr ""
15645
 
15646
- #: includes/admin/views/html-admin-page-status-report.php:919
15647
  msgid "Parent theme version"
15648
  msgstr ""
15649
 
15650
- #: includes/admin/views/html-admin-page-status-report.php:920
15651
  msgid "The installed version of the parent theme."
15652
  msgstr ""
15653
 
15654
- #: includes/admin/views/html-admin-page-status-report.php:932
15655
  msgid "Parent theme author URL"
15656
  msgstr ""
15657
 
15658
- #: includes/admin/views/html-admin-page-status-report.php:933
15659
  msgid "The parent theme developers URL."
15660
  msgstr ""
15661
 
15662
- #: includes/admin/views/html-admin-page-status-report.php:938
15663
  msgid "WooCommerce support"
15664
  msgstr ""
15665
 
15666
- #: includes/admin/views/html-admin-page-status-report.php:939
15667
  msgid ""
15668
  "Displays whether or not the current active theme declares WooCommerce "
15669
  "support."
15670
  msgstr ""
15671
 
15672
- #: includes/admin/views/html-admin-page-status-report.php:943
15673
  msgid "Not declared"
15674
  msgstr ""
15675
 
15676
- #: includes/admin/views/html-admin-page-status-report.php:955
15677
  msgid "Templates"
15678
  msgstr ""
15679
 
15680
- #: includes/admin/views/html-admin-page-status-report.php:955
15681
  msgid ""
15682
  "This section shows any files that are overriding the default WooCommerce "
15683
  "template pages."
15684
  msgstr ""
15685
 
15686
- #: includes/admin/views/html-admin-page-status-report.php:961
15687
  msgid "Archive template"
15688
  msgstr ""
15689
 
15690
- #: includes/admin/views/html-admin-page-status-report.php:963
15691
  msgid ""
15692
  "Your theme has a woocommerce.php file, you will not be able to override the "
15693
  "woocommerce/archive-product.php custom template since woocommerce.php has "
@@ -15695,22 +15693,22 @@ msgid ""
15695
  "issues."
15696
  msgstr ""
15697
 
15698
- #: includes/admin/views/html-admin-page-status-report.php:968
15699
- #: includes/admin/views/html-admin-page-status-report.php:997
15700
  msgid "Overrides"
15701
  msgstr ""
15702
 
15703
- #: includes/admin/views/html-admin-page-status-report.php:979
15704
  #. Translators: %1$s: Template name, %2$s: Template version, %3$s: Core
15705
  #. version.
15706
  msgid "%1$s version %2$s is out of date. The core version is %3$s"
15707
  msgstr ""
15708
 
15709
- #: includes/admin/views/html-admin-page-status-report.php:1005
15710
  msgid "Outdated templates"
15711
  msgstr ""
15712
 
15713
- #: includes/admin/views/html-admin-page-status-report.php:1012
15714
  msgid "Learn how to update"
15715
  msgstr ""
15716
 
@@ -15878,6 +15876,19 @@ msgstr ""
15878
  msgid "Learn more about shipping zones"
15879
  msgstr ""
15880
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15881
  #: includes/admin/views/html-notice-no-shipping-methods.php:19
15882
  msgid "Add shipping methods &amp; zones"
15883
  msgstr ""
@@ -16471,82 +16482,82 @@ msgstr ""
16471
  msgid "Password"
16472
  msgstr ""
16473
 
16474
- #: includes/class-wc-checkout.php:731
16475
  #. translators: %1$s: field name, %2$s finder.eircode.ie URL
16476
  msgid ""
16477
  "%1$s is not valid. You can look up the correct Eircode <a target=\"_blank\" "
16478
  "href=\"%2$s\">here</a>."
16479
  msgstr ""
16480
 
16481
- #: includes/class-wc-checkout.php:735
16482
  #. translators: %s: field name
16483
  msgid "%s is not a valid postcode / ZIP."
16484
  msgstr ""
16485
 
16486
- #: includes/class-wc-checkout.php:744 includes/class-wc-form-handler.php:142
16487
  #. translators: %s: phone number
16488
  #. translators: %s: Phone number.
16489
  msgid "%s is not a valid phone number."
16490
  msgstr ""
16491
 
16492
- #: includes/class-wc-checkout.php:754 includes/class-wc-form-handler.php:150
16493
  #. translators: %s: email address
16494
  #. translators: %s: Email address.
16495
  msgid "%s is not a valid email address."
16496
  msgstr ""
16497
 
16498
- #: includes/class-wc-checkout.php:774
16499
  #. translators: 1: state field 2: valid states
16500
  msgid "%1$s is not valid. Please enter one of the following: %2$s"
16501
  msgstr ""
16502
 
16503
- #: includes/class-wc-checkout.php:781 includes/class-wc-form-handler.php:116
16504
  #: includes/class-wc-form-handler.php:262
16505
  #. translators: %s: field name
16506
  #. translators: %s: Field name.
16507
  msgid "%s is a required field."
16508
  msgstr ""
16509
 
16510
- #: includes/class-wc-checkout.php:799 includes/class-wc-form-handler.php:396
16511
  msgid "Please read and accept the terms and conditions to proceed with your order."
16512
  msgstr ""
16513
 
16514
- #: includes/class-wc-checkout.php:806
16515
  msgid "Please enter an address to continue."
16516
  msgstr ""
16517
 
16518
- #: includes/class-wc-checkout.php:809
16519
  #. translators: %s: shipping location
16520
  msgid ""
16521
  "Unfortunately <strong>we do not ship %s</strong>. Please enter an "
16522
  "alternative shipping address."
16523
  msgstr ""
16524
 
16525
- #: includes/class-wc-checkout.php:815
16526
  msgid ""
16527
  "No shipping method has been selected. Please double check your address, or "
16528
  "contact us if you need any help."
16529
  msgstr ""
16530
 
16531
- #: includes/class-wc-checkout.php:825 includes/class-wc-form-handler.php:406
16532
  #: includes/class-wc-form-handler.php:413
16533
  #: includes/class-wc-form-handler.php:533
16534
  #: includes/class-wc-form-handler.php:558
16535
  msgid "Invalid payment method."
16536
  msgstr ""
16537
 
16538
- #: includes/class-wc-checkout.php:1080
16539
  msgid "We were unable to process your order, please try again."
16540
  msgstr ""
16541
 
16542
- #: includes/class-wc-checkout.php:1090
16543
  #. translators: %s: shop cart url
16544
  msgid ""
16545
  "Sorry, your session has expired. <a href=\"%s\" "
16546
  "class=\"wc-backward\">Return to shop</a>"
16547
  msgstr ""
16548
 
16549
- #: includes/class-wc-checkout.php:1121
16550
  msgid "Unable to create order."
16551
  msgstr ""
16552
 
@@ -17106,47 +17117,51 @@ msgstr ""
17106
  msgid "Please enter a stronger password."
17107
  msgstr ""
17108
 
17109
- #: includes/class-wc-install.php:422
17110
  msgid "Monthly"
17111
  msgstr ""
17112
 
17113
- #: includes/class-wc-install.php:530
 
 
 
 
17114
  msgid "Reduced rate"
17115
  msgstr ""
17116
 
17117
- #: includes/class-wc-install.php:531
17118
  msgid "Zero rate"
17119
  msgstr ""
17120
 
17121
- #: includes/class-wc-install.php:1257
17122
  msgid "View WooCommerce settings"
17123
  msgstr ""
17124
 
17125
- #: includes/class-wc-install.php:1274
17126
  msgid "View WooCommerce documentation"
17127
  msgstr ""
17128
 
17129
- #: includes/class-wc-install.php:1274
17130
  msgid "Docs"
17131
  msgstr ""
17132
 
17133
- #: includes/class-wc-install.php:1275
17134
  msgid "View WooCommerce API docs"
17135
  msgstr ""
17136
 
17137
- #: includes/class-wc-install.php:1275
17138
  msgid "API docs"
17139
  msgstr ""
17140
 
17141
- #: includes/class-wc-install.php:1276
17142
  msgid "Visit premium customer support"
17143
  msgstr ""
17144
 
17145
- #: includes/class-wc-install.php:1276
17146
  msgid "Premium support"
17147
  msgstr ""
17148
 
17149
- #: includes/class-wc-install.php:1407 includes/class-wc-install.php:1511
17150
  #. translators: 1: plugin name, 2: error message, 3: URL to install plugin
17151
  #. manually.
17152
  #. translators: 1: theme slug, 2: error message, 3: URL to install theme
@@ -17156,7 +17171,7 @@ msgid ""
17156
  "manually by clicking here.</a>"
17157
  msgstr ""
17158
 
17159
- #: includes/class-wc-install.php:1435
17160
  #. translators: 1: plugin name, 2: URL to WP plugin page.
17161
  msgid ""
17162
  "%1$s was installed but could not be activated. <a href=\"%2$s\">Please "
@@ -18670,6 +18685,10 @@ msgstr ""
18670
  msgid "Invalid product."
18671
  msgstr ""
18672
 
 
 
 
 
18673
  #: includes/data-stores/class-wc-webhook-data-store.php:106
18674
  msgid "Invalid webhook."
18675
  msgstr ""
@@ -19723,27 +19742,27 @@ msgstr ""
19723
  msgid "Invalid product type."
19724
  msgstr ""
19725
 
19726
- #: includes/import/abstract-wc-product-importer.php:184
19727
  #. translators: %d: product ID
19728
  msgid "Invalid product ID %d."
19729
  msgstr ""
19730
 
19731
- #: includes/import/abstract-wc-product-importer.php:434
19732
  msgid ""
19733
  "Variation cannot be imported: Missing parent ID or parent does not exist "
19734
  "yet."
19735
  msgstr ""
19736
 
19737
- #: includes/import/abstract-wc-product-importer.php:439
19738
  msgid "Variation cannot be imported: Parent product cannot be a product variation"
19739
  msgstr ""
19740
 
19741
- #: includes/import/abstract-wc-product-importer.php:606
19742
  #. translators: %s: image URL
19743
  msgid "Not able to attach \"%s\"."
19744
  msgstr ""
19745
 
19746
- #: includes/import/abstract-wc-product-importer.php:615
19747
  #. translators: %s: image URL
19748
  msgid "Unable to use image \"%s\"."
19749
  msgstr ""
@@ -19770,6 +19789,51 @@ msgstr ""
19770
  msgid "No matching product exists to update."
19771
  msgstr ""
19772
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19773
  #: includes/legacy/abstract-wc-legacy-order.php:507
19774
  #: includes/wc-template-functions.php:3275
19775
  #. translators: 1: current item count
@@ -21612,7 +21676,7 @@ msgid "estimated for %s"
21612
  msgstr ""
21613
 
21614
  #: includes/wc-core-functions.php:146 includes/wc-order-functions.php:507
21615
- #: includes/wc-order-functions.php:1060
21616
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:186
21617
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:226
21618
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:268
@@ -22382,7 +22446,7 @@ msgid ""
22382
  "to issue a refund through your payment gateway."
22383
  msgstr ""
22384
 
22385
- #: includes/wc-order-functions.php:907
22386
  msgid "Unpaid order cancelled - time limit reached."
22387
  msgstr ""
22388
 
@@ -23800,12 +23864,12 @@ msgid "Currency code."
23800
  msgstr ""
23801
 
23802
  #: packages/woocommerce-blocks/src/RestApi/StoreApi/Schemas/ProductSchema.php:88
23803
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:490
23804
  msgid "Decimal separator."
23805
  msgstr ""
23806
 
23807
  #: packages/woocommerce-blocks/src/RestApi/StoreApi/Schemas/ProductSchema.php:94
23808
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:484
23809
  msgid "Thousand separator."
23810
  msgstr ""
23811
 
@@ -26886,276 +26950,276 @@ msgstr ""
26886
  msgid "There was an error calling this tool. There is no callback present."
26887
  msgstr ""
26888
 
26889
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:105
26890
  msgid "Environment."
26891
  msgstr ""
26892
 
26893
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:111
26894
  msgid "Home URL."
26895
  msgstr ""
26896
 
26897
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:118
26898
  msgid "Site URL."
26899
  msgstr ""
26900
 
26901
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:125
26902
  msgid "WooCommerce version."
26903
  msgstr ""
26904
 
26905
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:131
26906
  msgid "Log directory."
26907
  msgstr ""
26908
 
26909
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:137
26910
  msgid "Is log directory writable?"
26911
  msgstr ""
26912
 
26913
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:143
26914
  msgid "WordPress version."
26915
  msgstr ""
26916
 
26917
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:149
26918
  msgid "Is WordPress multisite?"
26919
  msgstr ""
26920
 
26921
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:155
26922
  msgid "WordPress memory limit."
26923
  msgstr ""
26924
 
26925
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:161
26926
  msgid "Is WordPress debug mode active?"
26927
  msgstr ""
26928
 
26929
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:167
26930
  msgid "Are WordPress cron jobs enabled?"
26931
  msgstr ""
26932
 
26933
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:173
26934
  msgid "WordPress language."
26935
  msgstr ""
26936
 
26937
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:179
26938
  msgid "Server info."
26939
  msgstr ""
26940
 
26941
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:185
26942
  msgid "PHP version."
26943
  msgstr ""
26944
 
26945
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:191
26946
  msgid "PHP post max size."
26947
  msgstr ""
26948
 
26949
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:197
26950
  msgid "PHP max execution time."
26951
  msgstr ""
26952
 
26953
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:203
26954
  msgid "PHP max input vars."
26955
  msgstr ""
26956
 
26957
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:209
26958
  msgid "cURL version."
26959
  msgstr ""
26960
 
26961
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:215
26962
  msgid "Is SUHOSIN installed?"
26963
  msgstr ""
26964
 
26965
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:221
26966
  msgid "Max upload size."
26967
  msgstr ""
26968
 
26969
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:227
26970
  msgid "MySQL version."
26971
  msgstr ""
26972
 
26973
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:233
26974
  msgid "MySQL version string."
26975
  msgstr ""
26976
 
26977
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:239
26978
  msgid "Default timezone."
26979
  msgstr ""
26980
 
26981
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:245
26982
  msgid "Is fsockopen/cURL enabled?"
26983
  msgstr ""
26984
 
26985
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:251
26986
  msgid "Is SoapClient class enabled?"
26987
  msgstr ""
26988
 
26989
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:257
26990
  msgid "Is DomDocument class enabled?"
26991
  msgstr ""
26992
 
26993
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:263
26994
  msgid "Is GZip enabled?"
26995
  msgstr ""
26996
 
26997
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:269
26998
  msgid "Is mbstring enabled?"
26999
  msgstr ""
27000
 
27001
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:275
27002
  msgid "Remote POST successful?"
27003
  msgstr ""
27004
 
27005
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:281
27006
  msgid "Remote POST response."
27007
  msgstr ""
27008
 
27009
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:287
27010
  msgid "Remote GET successful?"
27011
  msgstr ""
27012
 
27013
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:293
27014
  msgid "Remote GET response."
27015
  msgstr ""
27016
 
27017
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:301
27018
  msgid "Database."
27019
  msgstr ""
27020
 
27021
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:307
27022
  msgid "WC database version."
27023
  msgstr ""
27024
 
27025
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:313
27026
  msgid "Database prefix."
27027
  msgstr ""
27028
 
27029
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:319
27030
  msgid "MaxMind GeoIP database."
27031
  msgstr ""
27032
 
27033
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:325
27034
  msgid "Database tables."
27035
  msgstr ""
27036
 
27037
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:336
27038
  msgid "Active plugins."
27039
  msgstr ""
27040
 
27041
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:345
27042
  msgid "Inactive plugins."
27043
  msgstr ""
27044
 
27045
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:354
27046
  msgid "Dropins & MU plugins."
27047
  msgstr ""
27048
 
27049
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:363
27050
  msgid "Theme."
27051
  msgstr ""
27052
 
27053
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:369
27054
  msgid "Theme name."
27055
  msgstr ""
27056
 
27057
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:375
27058
  msgid "Theme version."
27059
  msgstr ""
27060
 
27061
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:381
27062
  msgid "Latest version of theme."
27063
  msgstr ""
27064
 
27065
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:387
27066
  msgid "Theme author URL."
27067
  msgstr ""
27068
 
27069
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:394
27070
  msgid "Is this theme a child theme?"
27071
  msgstr ""
27072
 
27073
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:400
27074
  msgid "Does the theme declare WooCommerce support?"
27075
  msgstr ""
27076
 
27077
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:406
27078
  msgid "Does the theme have a woocommerce.php file?"
27079
  msgstr ""
27080
 
27081
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:412
27082
  msgid "Does this theme have outdated templates?"
27083
  msgstr ""
27084
 
27085
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:418
27086
  msgid "Template overrides."
27087
  msgstr ""
27088
 
27089
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:427
27090
  msgid "Parent theme name."
27091
  msgstr ""
27092
 
27093
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:433
27094
  msgid "Parent theme version."
27095
  msgstr ""
27096
 
27097
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:439
27098
  msgid "Parent theme author URL."
27099
  msgstr ""
27100
 
27101
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:448
27102
  msgid "Settings."
27103
  msgstr ""
27104
 
27105
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:454
27106
  msgid "REST API enabled?"
27107
  msgstr ""
27108
 
27109
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:460
27110
  msgid "SSL forced?"
27111
  msgstr ""
27112
 
27113
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:466
27114
  msgid "Currency."
27115
  msgstr ""
27116
 
27117
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:472
27118
  #: packages/woocommerce-rest-api/src/Controllers/Version3/class-wc-rest-data-currencies-controller.php:212
27119
  msgid "Currency symbol."
27120
  msgstr ""
27121
 
27122
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:478
27123
  msgid "Currency position."
27124
  msgstr ""
27125
 
27126
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:496
27127
  msgid "Number of decimals."
27128
  msgstr ""
27129
 
27130
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:502
27131
  msgid "Geolocation enabled?"
27132
  msgstr ""
27133
 
27134
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:508
27135
  msgid "Taxonomy terms for product/order statuses."
27136
  msgstr ""
27137
 
27138
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:517
27139
  msgid "Terms in the product visibility taxonomy."
27140
  msgstr ""
27141
 
27142
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:528
27143
  msgid "Security."
27144
  msgstr ""
27145
 
27146
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:540
27147
  msgid "Hide errors from visitors?"
27148
  msgstr ""
27149
 
27150
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:548
27151
  msgid "WooCommerce pages."
27152
  msgstr ""
27153
 
27154
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:557
27155
  msgid "Total post count."
27156
  msgstr ""
27157
 
27158
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:606
27159
  msgid "cURL installed but unable to retrieve version."
27160
  msgstr ""
27161
 
@@ -28526,7 +28590,7 @@ msgid "Awaiting check payment"
28526
  msgstr ""
28527
 
28528
  #: includes/admin/class-wc-admin-taxonomies.php:334
28529
- #: includes/class-wc-install.php:570 includes/class-wc-install.php:576
28530
  msgctxt "Default category slug"
28531
  msgid "Uncategorized"
28532
  msgstr ""
@@ -28626,13 +28690,13 @@ msgctxt "Pagination"
28626
  msgid "%1$s of %2$s"
28627
  msgstr ""
28628
 
28629
- #: includes/class-wc-checkout.php:715
28630
  #. translators: %s: field name
28631
  msgctxt "checkout-validation"
28632
  msgid "Shipping %s"
28633
  msgstr ""
28634
 
28635
- #: includes/class-wc-checkout.php:719
28636
  #. translators: %s: field name
28637
  msgctxt "checkout-validation"
28638
  msgid "Billing %s"
@@ -28651,53 +28715,53 @@ msgctxt "Item name in quotes"
28651
  msgid "&ldquo;%s&rdquo;"
28652
  msgstr ""
28653
 
28654
- #: includes/class-wc-install.php:469
28655
  msgctxt "Page slug"
28656
  msgid "shop"
28657
  msgstr ""
28658
 
28659
- #: includes/class-wc-install.php:474
28660
  msgctxt "Page slug"
28661
  msgid "cart"
28662
  msgstr ""
28663
 
28664
- #: includes/class-wc-install.php:479
28665
  msgctxt "Page slug"
28666
  msgid "checkout"
28667
  msgstr ""
28668
 
28669
- #: includes/class-wc-install.php:484
28670
  msgctxt "Page slug"
28671
  msgid "my-account"
28672
  msgstr ""
28673
 
28674
- #: includes/class-wc-install.php:470
28675
  msgctxt "Page title"
28676
  msgid "Shop"
28677
  msgstr ""
28678
 
28679
- #: includes/class-wc-install.php:475
28680
  msgctxt "Page title"
28681
  msgid "Cart"
28682
  msgstr ""
28683
 
28684
- #: includes/class-wc-install.php:480
28685
  msgctxt "Page title"
28686
  msgid "Checkout"
28687
  msgstr ""
28688
 
28689
- #: includes/class-wc-install.php:485
28690
  msgctxt "Page title"
28691
  msgid "My account"
28692
  msgstr ""
28693
 
28694
- #: includes/class-wc-install.php:1004
28695
  #. translators: user role
28696
  msgctxt "User role"
28697
  msgid "Customer"
28698
  msgstr ""
28699
 
28700
- #: includes/class-wc-install.php:1006
28701
  #. translators: user role
28702
  msgctxt "User role"
28703
  msgid "Shop manager"
@@ -28820,27 +28884,27 @@ msgctxt "Sorting order"
28820
  msgid "Order"
28821
  msgstr ""
28822
 
28823
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1097
28824
  msgctxt "Page setting"
28825
  msgid "Shop base"
28826
  msgstr ""
28827
 
28828
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1101
28829
  msgctxt "Page setting"
28830
  msgid "Cart"
28831
  msgstr ""
28832
 
28833
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1105
28834
  msgctxt "Page setting"
28835
  msgid "Checkout"
28836
  msgstr ""
28837
 
28838
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1109
28839
  msgctxt "Page setting"
28840
  msgid "My account"
28841
  msgstr ""
28842
 
28843
- #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1113
28844
  msgctxt "Page setting"
28845
  msgid "Terms and conditions"
28846
  msgstr ""
1
+ # Copyright (C) 2020 Automattic
2
  # This file is distributed under the same license as the WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WooCommerce 3.9.0-rc.3\n"
6
  "Report-Msgid-Bugs-To: https://github.com/woocommerce/woocommerce/issues\n"
7
+ "POT-Creation-Date: 2020-01-16 00:27:27+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
  "X-Generator: grunt-wp-i18n 1.0.3\n"
6504
  msgid "Invalid currency code"
6505
  msgstr ""
6506
 
6507
+ #: includes/abstracts/abstract-wc-order.php:1053
6508
+ #: includes/abstracts/abstract-wc-order.php:1075
6509
+ #. translators: Actual coupon code.
6510
+ msgid "An unexpected error happened while applying the Coupon %s."
6511
+ msgstr ""
6512
+
6513
+ #: includes/abstracts/abstract-wc-order.php:1056
6514
+ #. translators: Actual coupon code.
6515
+ msgid ""
6516
+ "Coupon %s was used in another transaction during this checkout, and coupon "
6517
+ "usage limit is reached. Please remove the coupon and try again."
6518
+ msgstr ""
6519
+
6520
+ #: includes/abstracts/abstract-wc-order.php:1078
6521
+ #. translators: Actual coupon code.
6522
+ msgid ""
6523
+ "You have used this coupon %s in another transaction during this checkout, "
6524
+ "and coupon usage limit is reached. Please remove the coupon and try again."
6525
+ msgstr ""
6526
+
6527
+ #: includes/abstracts/abstract-wc-order.php:1119
6528
  #: includes/legacy/api/v1/class-wc-api-coupons.php:174
6529
  #: includes/legacy/api/v2/class-wc-api-coupons.php:189
6530
  #: includes/legacy/api/v3/class-wc-api-coupons.php:187
6531
  msgid "Invalid coupon code"
6532
  msgstr ""
6533
 
6534
+ #: includes/abstracts/abstract-wc-order.php:1122
6535
  #: includes/class-wc-ajax.php:1137 includes/class-wc-ajax.php:1200
6536
  #: includes/class-wc-discounts.php:247
6537
  msgid "Invalid coupon"
6538
  msgstr ""
6539
 
6540
+ #: includes/abstracts/abstract-wc-order.php:1129
6541
  #: includes/class-wc-coupon.php:965
6542
  msgid "Coupon code already applied!"
6543
  msgstr ""
6544
 
6545
+ #: includes/abstracts/abstract-wc-order.php:1970
6546
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:275
6547
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:327
6548
  #: includes/admin/list-tables/class-wc-admin-list-table-orders.php:344
6553
  msgid "via %s"
6554
  msgstr ""
6555
 
6556
+ #: includes/abstracts/abstract-wc-order.php:1975
6557
  #: includes/class-wc-cart.php:1418 includes/class-wc-product-grouped.php:120
6558
  msgid "Free!"
6559
  msgstr ""
6560
 
6561
+ #: includes/abstracts/abstract-wc-order.php:2004
6562
  msgid "Subtotal:"
6563
  msgstr ""
6564
 
6565
+ #: includes/abstracts/abstract-wc-order.php:2019
6566
  #: includes/admin/meta-boxes/views/html-order-items.php:148
6567
  msgid "Discount:"
6568
  msgstr ""
6569
 
6570
+ #: includes/abstracts/abstract-wc-order.php:2034
6571
  #: includes/admin/meta-boxes/views/html-order-items.php:160
6572
  msgid "Shipping:"
6573
  msgstr ""
6574
 
6575
+ #: includes/abstracts/abstract-wc-order.php:2095
6576
  #: templates/checkout/order-receipt.php:33 templates/checkout/thankyou.php:62
6577
  msgid "Total:"
6578
  msgstr ""
7071
  #: includes/admin/meta-boxes/views/html-product-data-general.php:82
7072
  #: includes/admin/meta-boxes/views/html-variation-admin.php:370
7073
  #: includes/admin/settings/views/html-webhooks-edit.php:22
7074
+ #: includes/admin/views/html-admin-page-status-report.php:857
7075
  #: includes/export/class-wc-product-csv-exporter.php:108
7076
  #: includes/widgets/class-wc-widget-product-categories.php:52
7077
  #: templates/single-product-reviews.php:89
7783
  msgstr ""
7784
 
7785
  #: includes/admin/class-wc-admin-menus.php:82
7786
+ #: includes/admin/views/html-admin-page-status-report.php:724
7787
+ #: includes/class-wc-install.php:1263
7788
  msgid "Settings"
7789
  msgstr ""
7790
 
7867
  msgid "Reviews"
7868
  msgstr ""
7869
 
7870
+ #: includes/admin/class-wc-admin-notices.php:130
7871
  #: includes/admin/class-wc-admin-status.php:291
7872
  #: includes/admin/class-wc-admin-status.php:310
7873
  #: includes/admin/class-wc-admin-status.php:326
7875
  msgid "Action failed. Please refresh the page and retry."
7876
  msgstr ""
7877
 
7878
+ #: includes/admin/class-wc-admin-notices.php:134
7879
  #: includes/emails/class-wc-email.php:872
7880
  msgid "You don&#8217;t have permission to do this."
7881
  msgstr ""
7882
 
7883
+ #: includes/admin/class-wc-admin-notices.php:412
7884
  #. translators: 1: Minimum PHP version 2: Minimum WordPress version
7885
  msgid ""
7886
  "Update required: WooCommerce will soon require PHP version %1$s and "
7887
  "WordPress version %2$s or newer."
7888
  msgstr ""
7889
 
7890
+ #: includes/admin/class-wc-admin-notices.php:419
7891
  #. translators: %s: Minimum PHP version
7892
  msgid "Update required: WooCommerce will soon require PHP version %s or newer."
7893
  msgstr ""
7894
 
7895
+ #: includes/admin/class-wc-admin-notices.php:425
7896
  #. translators: %s: Minimum WordPress version
7897
  msgid ""
7898
  "Update required: WooCommerce will soon require WordPress version %s or "
8076
  #: includes/admin/class-wc-admin-pointers.php:250
8077
  #: includes/admin/views/html-notice-custom.php:12
8078
  #: includes/admin/views/html-notice-legacy-shipping.php:14
8079
+ #: includes/admin/views/html-notice-maxmind-license-key.php:13
8080
  #: includes/admin/views/html-notice-no-shipping-methods.php:14
8081
  #: includes/admin/views/html-notice-secure-connection.php:12
8082
  #: includes/admin/views/html-notice-template-check.php:15
8407
  #: includes/admin/class-wc-admin-profile.php:117
8408
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:56
8409
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:107
8410
+ #: includes/admin/settings/class-wc-settings-general.php:54
8411
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:215
8412
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:278
8413
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-orders-v2-controller.php:1011
8422
  #: includes/admin/class-wc-admin-setup-wizard.php:568
8423
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:60
8424
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:111
8425
+ #: includes/admin/settings/class-wc-settings-general.php:63
8426
  #: includes/customizer/class-wc-shop-customizer.php:678
8427
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:220
8428
  #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-customers-v2-controller.php:283
8438
  #: includes/admin/class-wc-admin-setup-wizard.php:573
8439
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:64
8440
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:115
8441
+ #: includes/admin/settings/class-wc-settings-general.php:72
8442
  #: includes/admin/settings/class-wc-settings-tax.php:225
8443
  #: includes/admin/settings/views/html-settings-tax.php:29
8444
  #: templates/cart/shipping-calculator.php:76
8450
  #: includes/admin/class-wc-admin-setup-wizard.php:583
8451
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:68
8452
  #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:119
8453
+ #: includes/admin/settings/class-wc-settings-general.php:90
8454
  #: includes/admin/settings/class-wc-settings-tax.php:224
8455
  #: includes/admin/settings/views/html-settings-tax.php:28
8456
  #: includes/class-wc-countries.php:703
9981
  msgstr ""
9982
 
9983
  #: includes/admin/helper/views/html-section-account.php:6
9984
+ #: includes/admin/views/html-admin-page-status-report.php:790
9985
  msgid "Connected to WooCommerce.com"
9986
  msgstr ""
9987
 
11794
  msgstr ""
11795
 
11796
  #: includes/admin/meta-boxes/views/html-order-notes.php:34
11797
+ #: includes/admin/views/html-admin-page-status-report.php:601
11798
+ #: includes/admin/views/html-admin-page-status-report.php:653
11799
+ #: includes/admin/views/html-admin-page-status-report.php:711
11800
  #: includes/class-wc-ajax.php:1488 templates/content-widget-reviews.php:31
11801
  #. translators: %s: note author
11802
  #. translators: %s: plugin author
13588
  msgid "Manage"
13589
  msgstr ""
13590
 
13591
+ #: includes/admin/settings/class-wc-settings-general.php:47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13592
  msgid "Store Address"
13593
  msgstr ""
13594
 
13595
+ #: includes/admin/settings/class-wc-settings-general.php:49
13596
  msgid ""
13597
  "This is where your business is located. Tax rates and shipping rates will "
13598
  "use this address."
13599
  msgstr ""
13600
 
13601
+ #: includes/admin/settings/class-wc-settings-general.php:55
13602
  msgid "The street address for your business location."
13603
  msgstr ""
13604
 
13605
+ #: includes/admin/settings/class-wc-settings-general.php:64
13606
  msgid "An additional, optional address line for your business location."
13607
  msgstr ""
13608
 
13609
+ #: includes/admin/settings/class-wc-settings-general.php:73
13610
  msgid "The city in which your business is located."
13611
  msgstr ""
13612
 
13613
+ #: includes/admin/settings/class-wc-settings-general.php:81
13614
  msgid "Country / State"
13615
  msgstr ""
13616
 
13617
+ #: includes/admin/settings/class-wc-settings-general.php:82
13618
  msgid ""
13619
  "The country and state or province, if any, in which your business is "
13620
  "located."
13621
  msgstr ""
13622
 
13623
+ #: includes/admin/settings/class-wc-settings-general.php:91
13624
  msgid "The postal code, if any, in which your business is located."
13625
  msgstr ""
13626
 
13627
+ #: includes/admin/settings/class-wc-settings-general.php:105
13628
  msgid "General options"
13629
  msgstr ""
13630
 
13631
+ #: includes/admin/settings/class-wc-settings-general.php:112
13632
  msgid "Selling location(s)"
13633
  msgstr ""
13634
 
13635
+ #: includes/admin/settings/class-wc-settings-general.php:113
13636
  msgid "This option lets you limit which countries you are willing to sell to."
13637
  msgstr ""
13638
 
13639
+ #: includes/admin/settings/class-wc-settings-general.php:121
13640
  msgid "Sell to all countries"
13641
  msgstr ""
13642
 
13643
+ #: includes/admin/settings/class-wc-settings-general.php:122
13644
+ #: includes/admin/settings/class-wc-settings-general.php:128
13645
  msgid "Sell to all countries, except for&hellip;"
13646
  msgstr ""
13647
 
13648
+ #: includes/admin/settings/class-wc-settings-general.php:123
13649
+ #: includes/admin/settings/class-wc-settings-general.php:137
13650
  msgid "Sell to specific countries"
13651
  msgstr ""
13652
 
13653
+ #: includes/admin/settings/class-wc-settings-general.php:146
13654
  msgid "Shipping location(s)"
13655
  msgstr ""
13656
 
13657
+ #: includes/admin/settings/class-wc-settings-general.php:147
13658
  msgid ""
13659
  "Choose which countries you want to ship to, or choose to ship to all "
13660
  "locations you sell to."
13661
  msgstr ""
13662
 
13663
+ #: includes/admin/settings/class-wc-settings-general.php:154
13664
  msgid "Ship to all countries you sell to"
13665
  msgstr ""
13666
 
13667
+ #: includes/admin/settings/class-wc-settings-general.php:155
13668
  msgid "Ship to all countries"
13669
  msgstr ""
13670
 
13671
+ #: includes/admin/settings/class-wc-settings-general.php:156
13672
  msgid "Ship to specific countries only"
13673
  msgstr ""
13674
 
13675
+ #: includes/admin/settings/class-wc-settings-general.php:157
13676
  msgid "Disable shipping &amp; shipping calculations"
13677
  msgstr ""
13678
 
13679
+ #: includes/admin/settings/class-wc-settings-general.php:162
13680
  msgid "Ship to specific countries"
13681
  msgstr ""
13682
 
13683
+ #: includes/admin/settings/class-wc-settings-general.php:171
13684
  msgid "Default customer location"
13685
  msgstr ""
13686
 
13687
+ #: includes/admin/settings/class-wc-settings-general.php:173
13688
  msgid ""
13689
  "This option determines a customers default location. The MaxMind GeoLite "
13690
  "Database will be periodically downloaded to your wp-content directory if "
13691
  "using geolocation."
13692
  msgstr ""
13693
 
13694
+ #: includes/admin/settings/class-wc-settings-general.php:178
13695
+ msgid "No location by default"
13696
+ msgstr ""
13697
+
13698
+ #: includes/admin/settings/class-wc-settings-general.php:179
13699
+ #: includes/admin/settings/views/settings-tax.php:41
13700
+ msgid "Shop base address"
13701
+ msgstr ""
13702
+
13703
+ #: includes/admin/settings/class-wc-settings-general.php:180
13704
+ msgid "Geolocate"
13705
+ msgstr ""
13706
+
13707
+ #: includes/admin/settings/class-wc-settings-general.php:181
13708
+ msgid "Geolocate (with page caching support)"
13709
+ msgstr ""
13710
+
13711
+ #: includes/admin/settings/class-wc-settings-general.php:186
13712
  msgid "Enable taxes"
13713
  msgstr ""
13714
 
13715
+ #: includes/admin/settings/class-wc-settings-general.php:187
13716
  msgid "Enable tax rates and calculations"
13717
  msgstr ""
13718
 
13719
+ #: includes/admin/settings/class-wc-settings-general.php:191
13720
  msgid "Rates will be configurable and taxes will be calculated during checkout."
13721
  msgstr ""
13722
 
13723
+ #: includes/admin/settings/class-wc-settings-general.php:195
13724
  msgid "Enable coupons"
13725
  msgstr ""
13726
 
13727
+ #: includes/admin/settings/class-wc-settings-general.php:196
13728
  msgid "Enable the use of coupon codes"
13729
  msgstr ""
13730
 
13731
+ #: includes/admin/settings/class-wc-settings-general.php:202
13732
  msgid "Coupons can be applied from the cart and checkout pages."
13733
  msgstr ""
13734
 
13735
+ #: includes/admin/settings/class-wc-settings-general.php:206
13736
  msgid "Calculate coupon discounts sequentially"
13737
  msgstr ""
13738
 
13739
+ #: includes/admin/settings/class-wc-settings-general.php:210
13740
  msgid ""
13741
  "When applying multiple coupons, apply the first coupon to the full price "
13742
  "and the second coupon to the discounted price and so on."
13743
  msgstr ""
13744
 
13745
+ #: includes/admin/settings/class-wc-settings-general.php:222
13746
  msgid "Currency options"
13747
  msgstr ""
13748
 
13749
+ #: includes/admin/settings/class-wc-settings-general.php:224
13750
  msgid "The following options affect how prices are displayed on the frontend."
13751
  msgstr ""
13752
 
13753
+ #: includes/admin/settings/class-wc-settings-general.php:229
13754
+ #: includes/admin/views/html-admin-page-status-report.php:739
13755
  msgid "Currency"
13756
  msgstr ""
13757
 
13758
+ #: includes/admin/settings/class-wc-settings-general.php:230
13759
  msgid ""
13760
  "This controls what currency prices are listed at in the catalog and which "
13761
  "currency gateways will take payments in."
13762
  msgstr ""
13763
 
13764
+ #: includes/admin/settings/class-wc-settings-general.php:240
13765
+ #: includes/admin/views/html-admin-page-status-report.php:744
13766
  msgid "Currency position"
13767
  msgstr ""
13768
 
13769
+ #: includes/admin/settings/class-wc-settings-general.php:241
13770
  msgid "This controls the position of the currency symbol."
13771
  msgstr ""
13772
 
13773
+ #: includes/admin/settings/class-wc-settings-general.php:247
13774
  msgid "Left"
13775
  msgstr ""
13776
 
13777
+ #: includes/admin/settings/class-wc-settings-general.php:248
13778
  msgid "Right"
13779
  msgstr ""
13780
 
13781
+ #: includes/admin/settings/class-wc-settings-general.php:249
13782
  msgid "Left with space"
13783
  msgstr ""
13784
 
13785
+ #: includes/admin/settings/class-wc-settings-general.php:250
13786
  msgid "Right with space"
13787
  msgstr ""
13788
 
13789
+ #: includes/admin/settings/class-wc-settings-general.php:256
13790
+ #: includes/admin/views/html-admin-page-status-report.php:749
13791
  msgid "Thousand separator"
13792
  msgstr ""
13793
 
13794
+ #: includes/admin/settings/class-wc-settings-general.php:257
13795
  msgid "This sets the thousand separator of displayed prices."
13796
  msgstr ""
13797
 
13798
+ #: includes/admin/settings/class-wc-settings-general.php:266
13799
+ #: includes/admin/views/html-admin-page-status-report.php:754
13800
  msgid "Decimal separator"
13801
  msgstr ""
13802
 
13803
+ #: includes/admin/settings/class-wc-settings-general.php:267
13804
  msgid "This sets the decimal separator of displayed prices."
13805
  msgstr ""
13806
 
13807
+ #: includes/admin/settings/class-wc-settings-general.php:276
13808
+ #: includes/admin/views/html-admin-page-status-report.php:759
13809
  msgid "Number of decimals"
13810
  msgstr ""
13811
 
13812
+ #: includes/admin/settings/class-wc-settings-general.php:277
13813
  msgid "This sets the number of decimal points shown in displayed prices."
13814
  msgstr ""
13815
 
15389
  msgstr ""
15390
 
15391
  #: includes/admin/views/html-admin-page-status-report.php:440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15392
  msgid "Total Database Size"
15393
  msgstr ""
15394
 
15395
+ #: includes/admin/views/html-admin-page-status-report.php:446
15396
  msgid "Database Data Size"
15397
  msgstr ""
15398
 
15399
+ #: includes/admin/views/html-admin-page-status-report.php:452
15400
  msgid "Database Index Size"
15401
  msgstr ""
15402
 
15403
+ #: includes/admin/views/html-admin-page-status-report.php:464
15404
  msgid "Table does not exist"
15405
  msgstr ""
15406
 
15407
+ #: includes/admin/views/html-admin-page-status-report.php:467
15408
+ #: includes/admin/views/html-admin-page-status-report.php:481
15409
  #. Translators: %1$f: Table size, %2$f: Index size, %3$s Engine.
15410
  msgid "Data: %1$.2fMB + Index: %2$.2fMB + Engine %3$s"
15411
  msgstr ""
15412
 
15413
+ #: includes/admin/views/html-admin-page-status-report.php:488
15414
  msgid "Database information:"
15415
  msgstr ""
15416
 
15417
+ #: includes/admin/views/html-admin-page-status-report.php:492
15418
  msgid ""
15419
  "Unable to retrieve database information. Usually, this is not a problem, "
15420
  "and it only means that your install is using a class that replaces the "
15422
  "database information."
15423
  msgstr ""
15424
 
15425
+ #: includes/admin/views/html-admin-page-status-report.php:506
15426
  msgid "Post Type Counts"
15427
  msgstr ""
15428
 
15429
+ #: includes/admin/views/html-admin-page-status-report.php:527
15430
  msgid "Security"
15431
  msgstr ""
15432
 
15433
+ #: includes/admin/views/html-admin-page-status-report.php:532
15434
  msgid "Secure connection (HTTPS)"
15435
  msgstr ""
15436
 
15437
+ #: includes/admin/views/html-admin-page-status-report.php:533
15438
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:522
15439
  msgid "Is the connection to your store secure?"
15440
  msgstr ""
15441
 
15442
+ #: includes/admin/views/html-admin-page-status-report.php:541
15443
  #. Translators: %s: docs link.
15444
  msgid ""
15445
  "Your store is not using HTTPS. <a href=\"%s\" target=\"_blank\">Learn more "
15446
  "about HTTPS and SSL Certificates</a>."
15447
  msgstr ""
15448
 
15449
+ #: includes/admin/views/html-admin-page-status-report.php:548
15450
  msgid "Hide errors from visitors"
15451
  msgstr ""
15452
 
15453
+ #: includes/admin/views/html-admin-page-status-report.php:549
15454
  msgid ""
15455
  "Error messages can contain sensitive information about your store "
15456
  "environment. These should be hidden from untrusted visitors."
15457
  msgstr ""
15458
 
15459
+ #: includes/admin/views/html-admin-page-status-report.php:554
15460
  msgid "Error messages should not be shown to visitors."
15461
  msgstr ""
15462
 
15463
+ #: includes/admin/views/html-admin-page-status-report.php:563
15464
  msgid "Active plugins"
15465
  msgstr ""
15466
 
15467
+ #: includes/admin/views/html-admin-page-status-report.php:575
15468
+ #: includes/admin/views/html-admin-page-status-report.php:627
15469
+ #: includes/admin/views/html-admin-page-status-report.php:702
15470
  msgid "Visit plugin homepage"
15471
  msgstr ""
15472
 
15473
+ #: includes/admin/views/html-admin-page-status-report.php:583
15474
+ #: includes/admin/views/html-admin-page-status-report.php:635
15475
+ #: includes/admin/views/html-admin-page-status-report.php:869
15476
+ #: includes/admin/views/html-admin-page-status-report.php:907
15477
  #. translators: %s: plugin latest version
15478
  #. translators: %s: theme latest version
15479
  #. translators: %s: parent theme latest version
15480
  msgid "%s is available"
15481
  msgstr ""
15482
 
15483
+ #: includes/admin/views/html-admin-page-status-report.php:587
15484
+ #: includes/admin/views/html-admin-page-status-report.php:639
15485
  msgid "Network enabled"
15486
  msgstr ""
15487
 
15488
+ #: includes/admin/views/html-admin-page-status-report.php:592
15489
+ #: includes/admin/views/html-admin-page-status-report.php:644
15490
  msgid "Not tested with the active version of WooCommerce"
15491
  msgstr ""
15492
 
15493
+ #: includes/admin/views/html-admin-page-status-report.php:615
15494
  msgid "Inactive plugins"
15495
  msgstr ""
15496
 
15497
+ #: includes/admin/views/html-admin-page-status-report.php:670
15498
  msgid "Dropin Plugins"
15499
  msgstr ""
15500
 
15501
+ #: includes/admin/views/html-admin-page-status-report.php:694
15502
  msgid "Must Use Plugins"
15503
  msgstr ""
15504
 
15505
+ #: includes/admin/views/html-admin-page-status-report.php:729
15506
  msgid "API enabled"
15507
  msgstr ""
15508
 
15509
+ #: includes/admin/views/html-admin-page-status-report.php:730
15510
  msgid "Does your site have REST API enabled?"
15511
  msgstr ""
15512
 
15513
+ #: includes/admin/views/html-admin-page-status-report.php:734
15514
  msgid "Force SSL"
15515
  msgstr ""
15516
 
15517
+ #: includes/admin/views/html-admin-page-status-report.php:735
15518
  msgid "Does your site force a SSL Certificate for transactions?"
15519
  msgstr ""
15520
 
15521
+ #: includes/admin/views/html-admin-page-status-report.php:740
15522
  msgid ""
15523
  "What currency prices are listed at in the catalog and which currency "
15524
  "gateways will take payments in."
15525
  msgstr ""
15526
 
15527
+ #: includes/admin/views/html-admin-page-status-report.php:745
15528
  msgid "The position of the currency symbol."
15529
  msgstr ""
15530
 
15531
+ #: includes/admin/views/html-admin-page-status-report.php:750
15532
  msgid "The thousand separator of displayed prices."
15533
  msgstr ""
15534
 
15535
+ #: includes/admin/views/html-admin-page-status-report.php:755
15536
  msgid "The decimal separator of displayed prices."
15537
  msgstr ""
15538
 
15539
+ #: includes/admin/views/html-admin-page-status-report.php:760
15540
  msgid "The number of decimal points shown in displayed prices."
15541
  msgstr ""
15542
 
15543
+ #: includes/admin/views/html-admin-page-status-report.php:764
15544
  msgid "Taxonomies: Product types"
15545
  msgstr ""
15546
 
15547
+ #: includes/admin/views/html-admin-page-status-report.php:765
15548
  msgid ""
15549
  "A list of taxonomy terms that can be used in regard to order/product "
15550
  "statuses."
15551
  msgstr ""
15552
 
15553
+ #: includes/admin/views/html-admin-page-status-report.php:777
15554
  msgid "Taxonomies: Product visibility"
15555
  msgstr ""
15556
 
15557
+ #: includes/admin/views/html-admin-page-status-report.php:778
15558
  msgid "A list of taxonomy terms used for product visibility."
15559
  msgstr ""
15560
 
15561
+ #: includes/admin/views/html-admin-page-status-report.php:791
15562
  msgid "Are your site connected to WooCommerce.com?"
15563
  msgstr ""
15564
 
15565
+ #: includes/admin/views/html-admin-page-status-report.php:799
15566
  msgid "WooCommerce pages"
15567
  msgstr ""
15568
 
15569
+ #: includes/admin/views/html-admin-page-status-report.php:810
15570
  #. Translators: %s: page name.
15571
  msgid "Edit %s page"
15572
  msgstr ""
15573
 
15574
+ #: includes/admin/views/html-admin-page-status-report.php:817
15575
  #. Translators: %s: page name.
15576
  msgid "The URL of your %s page (along with the Page ID)."
15577
  msgstr ""
15578
 
15579
+ #: includes/admin/views/html-admin-page-status-report.php:821
15580
  msgid "Page not set"
15581
  msgstr ""
15582
 
15583
+ #: includes/admin/views/html-admin-page-status-report.php:824
15584
  msgid "Page ID is set, but the page does not exist"
15585
  msgstr ""
15586
 
15587
+ #: includes/admin/views/html-admin-page-status-report.php:828
15588
  #. Translators: %s: docs link.
15589
  msgid "Page visibility should be <a href=\"%s\" target=\"_blank\">public</a>"
15590
  msgstr ""
15591
 
15592
+ #: includes/admin/views/html-admin-page-status-report.php:834
15593
  msgid "Page does not contain the shortcode."
15594
  msgstr ""
15595
 
15596
+ #: includes/admin/views/html-admin-page-status-report.php:852
15597
  msgid "Theme"
15598
  msgstr ""
15599
 
15600
+ #: includes/admin/views/html-admin-page-status-report.php:858
15601
  msgid "The name of the current active theme."
15602
  msgstr ""
15603
 
15604
+ #: includes/admin/views/html-admin-page-status-report.php:862
15605
  msgid "Version"
15606
  msgstr ""
15607
 
15608
+ #: includes/admin/views/html-admin-page-status-report.php:863
15609
  msgid "The installed version of the current active theme."
15610
  msgstr ""
15611
 
15612
+ #: includes/admin/views/html-admin-page-status-report.php:875
15613
  msgid "Author URL"
15614
  msgstr ""
15615
 
15616
+ #: includes/admin/views/html-admin-page-status-report.php:876
15617
  msgid "The theme developers URL."
15618
  msgstr ""
15619
 
15620
+ #: includes/admin/views/html-admin-page-status-report.php:880
15621
  msgid "Child theme"
15622
  msgstr ""
15623
 
15624
+ #: includes/admin/views/html-admin-page-status-report.php:881
15625
  msgid "Displays whether or not the current theme is a child theme."
15626
  msgstr ""
15627
 
15628
+ #: includes/admin/views/html-admin-page-status-report.php:888
15629
  #. Translators: %s docs link.
15630
  msgid ""
15631
  "If you are modifying WooCommerce on a parent theme that you did not build "
15633
  "target=\"_blank\">How to create a child theme</a>"
15634
  msgstr ""
15635
 
15636
+ #: includes/admin/views/html-admin-page-status-report.php:895
15637
  msgid "Parent theme name"
15638
  msgstr ""
15639
 
15640
+ #: includes/admin/views/html-admin-page-status-report.php:896
15641
  msgid "The name of the parent theme."
15642
  msgstr ""
15643
 
15644
+ #: includes/admin/views/html-admin-page-status-report.php:900
15645
  msgid "Parent theme version"
15646
  msgstr ""
15647
 
15648
+ #: includes/admin/views/html-admin-page-status-report.php:901
15649
  msgid "The installed version of the parent theme."
15650
  msgstr ""
15651
 
15652
+ #: includes/admin/views/html-admin-page-status-report.php:913
15653
  msgid "Parent theme author URL"
15654
  msgstr ""
15655
 
15656
+ #: includes/admin/views/html-admin-page-status-report.php:914
15657
  msgid "The parent theme developers URL."
15658
  msgstr ""
15659
 
15660
+ #: includes/admin/views/html-admin-page-status-report.php:919
15661
  msgid "WooCommerce support"
15662
  msgstr ""
15663
 
15664
+ #: includes/admin/views/html-admin-page-status-report.php:920
15665
  msgid ""
15666
  "Displays whether or not the current active theme declares WooCommerce "
15667
  "support."
15668
  msgstr ""
15669
 
15670
+ #: includes/admin/views/html-admin-page-status-report.php:924
15671
  msgid "Not declared"
15672
  msgstr ""
15673
 
15674
+ #: includes/admin/views/html-admin-page-status-report.php:936
15675
  msgid "Templates"
15676
  msgstr ""
15677
 
15678
+ #: includes/admin/views/html-admin-page-status-report.php:936
15679
  msgid ""
15680
  "This section shows any files that are overriding the default WooCommerce "
15681
  "template pages."
15682
  msgstr ""
15683
 
15684
+ #: includes/admin/views/html-admin-page-status-report.php:942
15685
  msgid "Archive template"
15686
  msgstr ""
15687
 
15688
+ #: includes/admin/views/html-admin-page-status-report.php:944
15689
  msgid ""
15690
  "Your theme has a woocommerce.php file, you will not be able to override the "
15691
  "woocommerce/archive-product.php custom template since woocommerce.php has "
15693
  "issues."
15694
  msgstr ""
15695
 
15696
+ #: includes/admin/views/html-admin-page-status-report.php:949
15697
+ #: includes/admin/views/html-admin-page-status-report.php:978
15698
  msgid "Overrides"
15699
  msgstr ""
15700
 
15701
+ #: includes/admin/views/html-admin-page-status-report.php:960
15702
  #. Translators: %1$s: Template name, %2$s: Template version, %3$s: Core
15703
  #. version.
15704
  msgid "%1$s version %2$s is out of date. The core version is %3$s"
15705
  msgstr ""
15706
 
15707
+ #: includes/admin/views/html-admin-page-status-report.php:986
15708
  msgid "Outdated templates"
15709
  msgstr ""
15710
 
15711
+ #: includes/admin/views/html-admin-page-status-report.php:993
15712
  msgid "Learn how to update"
15713
  msgstr ""
15714
 
15876
  msgid "Learn more about shipping zones"
15877
  msgstr ""
15878
 
15879
+ #: includes/admin/views/html-notice-maxmind-license-key.php:16
15880
+ msgid "Geolocation has not been configured."
15881
+ msgstr ""
15882
+
15883
+ #: includes/admin/views/html-notice-maxmind-license-key.php:24
15884
+ #. translators: %1%s: integration page %2$s: general settings page
15885
+ msgid ""
15886
+ "You must enter a valid license key on the <a href=\"%1$s\">MaxMind "
15887
+ "integration settings page</a> in order to use the geolocation service. If "
15888
+ "you do not need geolocation for shipping or taxes, you should change the "
15889
+ "default customer location on the <a href=\"%2$s\">general settings page</a>."
15890
+ msgstr ""
15891
+
15892
  #: includes/admin/views/html-notice-no-shipping-methods.php:19
15893
  msgid "Add shipping methods &amp; zones"
15894
  msgstr ""
16482
  msgid "Password"
16483
  msgstr ""
16484
 
16485
+ #: includes/class-wc-checkout.php:735
16486
  #. translators: %1$s: field name, %2$s finder.eircode.ie URL
16487
  msgid ""
16488
  "%1$s is not valid. You can look up the correct Eircode <a target=\"_blank\" "
16489
  "href=\"%2$s\">here</a>."
16490
  msgstr ""
16491
 
16492
+ #: includes/class-wc-checkout.php:739
16493
  #. translators: %s: field name
16494
  msgid "%s is not a valid postcode / ZIP."
16495
  msgstr ""
16496
 
16497
+ #: includes/class-wc-checkout.php:748 includes/class-wc-form-handler.php:142
16498
  #. translators: %s: phone number
16499
  #. translators: %s: Phone number.
16500
  msgid "%s is not a valid phone number."
16501
  msgstr ""
16502
 
16503
+ #: includes/class-wc-checkout.php:758 includes/class-wc-form-handler.php:150
16504
  #. translators: %s: email address
16505
  #. translators: %s: Email address.
16506
  msgid "%s is not a valid email address."
16507
  msgstr ""
16508
 
16509
+ #: includes/class-wc-checkout.php:778
16510
  #. translators: 1: state field 2: valid states
16511
  msgid "%1$s is not valid. Please enter one of the following: %2$s"
16512
  msgstr ""
16513
 
16514
+ #: includes/class-wc-checkout.php:785 includes/class-wc-form-handler.php:116
16515
  #: includes/class-wc-form-handler.php:262
16516
  #. translators: %s: field name
16517
  #. translators: %s: Field name.
16518
  msgid "%s is a required field."
16519
  msgstr ""
16520
 
16521
+ #: includes/class-wc-checkout.php:803 includes/class-wc-form-handler.php:396
16522
  msgid "Please read and accept the terms and conditions to proceed with your order."
16523
  msgstr ""
16524
 
16525
+ #: includes/class-wc-checkout.php:810
16526
  msgid "Please enter an address to continue."
16527
  msgstr ""
16528
 
16529
+ #: includes/class-wc-checkout.php:813
16530
  #. translators: %s: shipping location
16531
  msgid ""
16532
  "Unfortunately <strong>we do not ship %s</strong>. Please enter an "
16533
  "alternative shipping address."
16534
  msgstr ""
16535
 
16536
+ #: includes/class-wc-checkout.php:819
16537
  msgid ""
16538
  "No shipping method has been selected. Please double check your address, or "
16539
  "contact us if you need any help."
16540
  msgstr ""
16541
 
16542
+ #: includes/class-wc-checkout.php:829 includes/class-wc-form-handler.php:406
16543
  #: includes/class-wc-form-handler.php:413
16544
  #: includes/class-wc-form-handler.php:533
16545
  #: includes/class-wc-form-handler.php:558
16546
  msgid "Invalid payment method."
16547
  msgstr ""
16548
 
16549
+ #: includes/class-wc-checkout.php:1084
16550
  msgid "We were unable to process your order, please try again."
16551
  msgstr ""
16552
 
16553
+ #: includes/class-wc-checkout.php:1094
16554
  #. translators: %s: shop cart url
16555
  msgid ""
16556
  "Sorry, your session has expired. <a href=\"%s\" "
16557
  "class=\"wc-backward\">Return to shop</a>"
16558
  msgstr ""
16559
 
16560
+ #: includes/class-wc-checkout.php:1125
16561
  msgid "Unable to create order."
16562
  msgstr ""
16563
 
17117
  msgid "Please enter a stronger password."
17118
  msgstr ""
17119
 
17120
+ #: includes/class-wc-install.php:427
17121
  msgid "Monthly"
17122
  msgstr ""
17123
 
17124
+ #: includes/class-wc-install.php:431
17125
+ msgid "Every 15 Days"
17126
+ msgstr ""
17127
+
17128
+ #: includes/class-wc-install.php:536
17129
  msgid "Reduced rate"
17130
  msgstr ""
17131
 
17132
+ #: includes/class-wc-install.php:537
17133
  msgid "Zero rate"
17134
  msgstr ""
17135
 
17136
+ #: includes/class-wc-install.php:1263
17137
  msgid "View WooCommerce settings"
17138
  msgstr ""
17139
 
17140
+ #: includes/class-wc-install.php:1280
17141
  msgid "View WooCommerce documentation"
17142
  msgstr ""
17143
 
17144
+ #: includes/class-wc-install.php:1280
17145
  msgid "Docs"
17146
  msgstr ""
17147
 
17148
+ #: includes/class-wc-install.php:1281
17149
  msgid "View WooCommerce API docs"
17150
  msgstr ""
17151
 
17152
+ #: includes/class-wc-install.php:1281
17153
  msgid "API docs"
17154
  msgstr ""
17155
 
17156
+ #: includes/class-wc-install.php:1282
17157
  msgid "Visit premium customer support"
17158
  msgstr ""
17159
 
17160
+ #: includes/class-wc-install.php:1282
17161
  msgid "Premium support"
17162
  msgstr ""
17163
 
17164
+ #: includes/class-wc-install.php:1413 includes/class-wc-install.php:1517
17165
  #. translators: 1: plugin name, 2: error message, 3: URL to install plugin
17166
  #. manually.
17167
  #. translators: 1: theme slug, 2: error message, 3: URL to install theme
17171
  "manually by clicking here.</a>"
17172
  msgstr ""
17173
 
17174
+ #: includes/class-wc-install.php:1441
17175
  #. translators: 1: plugin name, 2: URL to WP plugin page.
17176
  msgid ""
17177
  "%1$s was installed but could not be activated. <a href=\"%2$s\">Please "
18685
  msgid "Invalid product."
18686
  msgstr ""
18687
 
18688
+ #: includes/data-stores/class-wc-product-variation-data-store-cpt.php:56
18689
+ msgid "Invalid product type: passed ID does not correspond to a product variation."
18690
+ msgstr ""
18691
+
18692
  #: includes/data-stores/class-wc-webhook-data-store.php:106
18693
  msgid "Invalid webhook."
18694
  msgstr ""
19742
  msgid "Invalid product type."
19743
  msgstr ""
19744
 
19745
+ #: includes/import/abstract-wc-product-importer.php:198
19746
  #. translators: %d: product ID
19747
  msgid "Invalid product ID %d."
19748
  msgstr ""
19749
 
19750
+ #: includes/import/abstract-wc-product-importer.php:448
19751
  msgid ""
19752
  "Variation cannot be imported: Missing parent ID or parent does not exist "
19753
  "yet."
19754
  msgstr ""
19755
 
19756
+ #: includes/import/abstract-wc-product-importer.php:453
19757
  msgid "Variation cannot be imported: Parent product cannot be a product variation"
19758
  msgstr ""
19759
 
19760
+ #: includes/import/abstract-wc-product-importer.php:620
19761
  #. translators: %s: image URL
19762
  msgid "Not able to attach \"%s\"."
19763
  msgstr ""
19764
 
19765
+ #: includes/import/abstract-wc-product-importer.php:629
19766
  #. translators: %s: image URL
19767
  msgid "Unable to use image \"%s\"."
19768
  msgstr ""
19789
  msgid "No matching product exists to update."
19790
  msgstr ""
19791
 
19792
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php:109
19793
+ msgid "The MaxMind license key is invalid."
19794
+ msgstr ""
19795
+
19796
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php:114
19797
+ msgid "Failed to download the MaxMind database."
19798
+ msgstr ""
19799
+
19800
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php:148
19801
+ msgid "Missing MaxMind Reader library!"
19802
+ msgstr ""
19803
+
19804
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php:32
19805
+ msgid "WooCommerce MaxMind Geolocation"
19806
+ msgstr ""
19807
+
19808
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php:33
19809
+ msgid ""
19810
+ "An integration for utilizing MaxMind to do Geolocation lookups. Please note "
19811
+ "that this integration will only do country lookups."
19812
+ msgstr ""
19813
+
19814
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php:101
19815
+ msgid "MaxMind License Key"
19816
+ msgstr ""
19817
+
19818
+ #: includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php:105
19819
+ #. translators: %1$s: Documentation URL
19820
+ msgid ""
19821
+ "The key that will be used when dealing with MaxMind Geolocation services. "
19822
+ "You can read how to generate one in <a href=\"%1$s\">MaxMind's License Key "
19823
+ "Documentation</a>."
19824
+ msgstr ""
19825
+
19826
+ #: includes/integrations/maxmind-geolocation/views/html-admin-options.php:15
19827
+ #: includes/integrations/maxmind-geolocation/views/html-admin-options.php:19
19828
+ msgid "Database File Path"
19829
+ msgstr ""
19830
+
19831
+ #: includes/integrations/maxmind-geolocation/views/html-admin-options.php:21
19832
+ msgid ""
19833
+ "The location that the MaxMind database should be stored. By default, the "
19834
+ "integration will automatically save the database here."
19835
+ msgstr ""
19836
+
19837
  #: includes/legacy/abstract-wc-legacy-order.php:507
19838
  #: includes/wc-template-functions.php:3275
19839
  #. translators: 1: current item count
21676
  msgstr ""
21677
 
21678
  #: includes/wc-core-functions.php:146 includes/wc-order-functions.php:507
21679
+ #: includes/wc-order-functions.php:1061
21680
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:186
21681
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:226
21682
  #: packages/woocommerce-rest-api/src/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php:268
22446
  "to issue a refund through your payment gateway."
22447
  msgstr ""
22448
 
22449
+ #: includes/wc-order-functions.php:908
22450
  msgid "Unpaid order cancelled - time limit reached."
22451
  msgstr ""
22452
 
23864
  msgstr ""
23865
 
23866
  #: packages/woocommerce-blocks/src/RestApi/StoreApi/Schemas/ProductSchema.php:88
23867
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:478
23868
  msgid "Decimal separator."
23869
  msgstr ""
23870
 
23871
  #: packages/woocommerce-blocks/src/RestApi/StoreApi/Schemas/ProductSchema.php:94
23872
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:472
23873
  msgid "Thousand separator."
23874
  msgstr ""
23875
 
26950
  msgid "There was an error calling this tool. There is no callback present."
26951
  msgstr ""
26952
 
26953
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:93
26954
  msgid "Environment."
26955
  msgstr ""
26956
 
26957
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:99
26958
  msgid "Home URL."
26959
  msgstr ""
26960
 
26961
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:106
26962
  msgid "Site URL."
26963
  msgstr ""
26964
 
26965
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:113
26966
  msgid "WooCommerce version."
26967
  msgstr ""
26968
 
26969
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:119
26970
  msgid "Log directory."
26971
  msgstr ""
26972
 
26973
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:125
26974
  msgid "Is log directory writable?"
26975
  msgstr ""
26976
 
26977
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:131
26978
  msgid "WordPress version."
26979
  msgstr ""
26980
 
26981
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:137
26982
  msgid "Is WordPress multisite?"
26983
  msgstr ""
26984
 
26985
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:143
26986
  msgid "WordPress memory limit."
26987
  msgstr ""
26988
 
26989
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:149
26990
  msgid "Is WordPress debug mode active?"
26991
  msgstr ""
26992
 
26993
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:155
26994
  msgid "Are WordPress cron jobs enabled?"
26995
  msgstr ""
26996
 
26997
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:161
26998
  msgid "WordPress language."
26999
  msgstr ""
27000
 
27001
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:167
27002
  msgid "Server info."
27003
  msgstr ""
27004
 
27005
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:173
27006
  msgid "PHP version."
27007
  msgstr ""
27008
 
27009
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:179
27010
  msgid "PHP post max size."
27011
  msgstr ""
27012
 
27013
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:185
27014
  msgid "PHP max execution time."
27015
  msgstr ""
27016
 
27017
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:191
27018
  msgid "PHP max input vars."
27019
  msgstr ""
27020
 
27021
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:197
27022
  msgid "cURL version."
27023
  msgstr ""
27024
 
27025
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:203
27026
  msgid "Is SUHOSIN installed?"
27027
  msgstr ""
27028
 
27029
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:209
27030
  msgid "Max upload size."
27031
  msgstr ""
27032
 
27033
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:215
27034
  msgid "MySQL version."
27035
  msgstr ""
27036
 
27037
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:221
27038
  msgid "MySQL version string."
27039
  msgstr ""
27040
 
27041
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:227
27042
  msgid "Default timezone."
27043
  msgstr ""
27044
 
27045
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:233
27046
  msgid "Is fsockopen/cURL enabled?"
27047
  msgstr ""
27048
 
27049
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:239
27050
  msgid "Is SoapClient class enabled?"
27051
  msgstr ""
27052
 
27053
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:245
27054
  msgid "Is DomDocument class enabled?"
27055
  msgstr ""
27056
 
27057
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:251
27058
  msgid "Is GZip enabled?"
27059
  msgstr ""
27060
 
27061
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:257
27062
  msgid "Is mbstring enabled?"
27063
  msgstr ""
27064
 
27065
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:263
27066
  msgid "Remote POST successful?"
27067
  msgstr ""
27068
 
27069
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:269
27070
  msgid "Remote POST response."
27071
  msgstr ""
27072
 
27073
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:275
27074
  msgid "Remote GET successful?"
27075
  msgstr ""
27076
 
27077
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:281
27078
  msgid "Remote GET response."
27079
  msgstr ""
27080
 
27081
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:289
27082
  msgid "Database."
27083
  msgstr ""
27084
 
27085
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:295
27086
  msgid "WC database version."
27087
  msgstr ""
27088
 
27089
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:301
27090
  msgid "Database prefix."
27091
  msgstr ""
27092
 
27093
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:307
27094
  msgid "MaxMind GeoIP database."
27095
  msgstr ""
27096
 
27097
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:313
27098
  msgid "Database tables."
27099
  msgstr ""
27100
 
27101
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:324
27102
  msgid "Active plugins."
27103
  msgstr ""
27104
 
27105
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:333
27106
  msgid "Inactive plugins."
27107
  msgstr ""
27108
 
27109
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:342
27110
  msgid "Dropins & MU plugins."
27111
  msgstr ""
27112
 
27113
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:351
27114
  msgid "Theme."
27115
  msgstr ""
27116
 
27117
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:357
27118
  msgid "Theme name."
27119
  msgstr ""
27120
 
27121
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:363
27122
  msgid "Theme version."
27123
  msgstr ""
27124
 
27125
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:369
27126
  msgid "Latest version of theme."
27127
  msgstr ""
27128
 
27129
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:375
27130
  msgid "Theme author URL."
27131
  msgstr ""
27132
 
27133
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:382
27134
  msgid "Is this theme a child theme?"
27135
  msgstr ""
27136
 
27137
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:388
27138
  msgid "Does the theme declare WooCommerce support?"
27139
  msgstr ""
27140
 
27141
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:394
27142
  msgid "Does the theme have a woocommerce.php file?"
27143
  msgstr ""
27144
 
27145
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:400
27146
  msgid "Does this theme have outdated templates?"
27147
  msgstr ""
27148
 
27149
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:406
27150
  msgid "Template overrides."
27151
  msgstr ""
27152
 
27153
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:415
27154
  msgid "Parent theme name."
27155
  msgstr ""
27156
 
27157
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:421
27158
  msgid "Parent theme version."
27159
  msgstr ""
27160
 
27161
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:427
27162
  msgid "Parent theme author URL."
27163
  msgstr ""
27164
 
27165
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:436
27166
  msgid "Settings."
27167
  msgstr ""
27168
 
27169
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:442
27170
  msgid "REST API enabled?"
27171
  msgstr ""
27172
 
27173
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:448
27174
  msgid "SSL forced?"
27175
  msgstr ""
27176
 
27177
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:454
27178
  msgid "Currency."
27179
  msgstr ""
27180
 
27181
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:460
27182
  #: packages/woocommerce-rest-api/src/Controllers/Version3/class-wc-rest-data-currencies-controller.php:212
27183
  msgid "Currency symbol."
27184
  msgstr ""
27185
 
27186
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:466
27187
  msgid "Currency position."
27188
  msgstr ""
27189
 
27190
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:484
27191
  msgid "Number of decimals."
27192
  msgstr ""
27193
 
27194
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:490
27195
  msgid "Geolocation enabled?"
27196
  msgstr ""
27197
 
27198
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:496
27199
  msgid "Taxonomy terms for product/order statuses."
27200
  msgstr ""
27201
 
27202
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:505
27203
  msgid "Terms in the product visibility taxonomy."
27204
  msgstr ""
27205
 
27206
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:516
27207
  msgid "Security."
27208
  msgstr ""
27209
 
27210
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:528
27211
  msgid "Hide errors from visitors?"
27212
  msgstr ""
27213
 
27214
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:536
27215
  msgid "WooCommerce pages."
27216
  msgstr ""
27217
 
27218
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:545
27219
  msgid "Total post count."
27220
  msgstr ""
27221
 
27222
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:660
27223
  msgid "cURL installed but unable to retrieve version."
27224
  msgstr ""
27225
 
28590
  msgstr ""
28591
 
28592
  #: includes/admin/class-wc-admin-taxonomies.php:334
28593
+ #: includes/class-wc-install.php:576 includes/class-wc-install.php:582
28594
  msgctxt "Default category slug"
28595
  msgid "Uncategorized"
28596
  msgstr ""
28690
  msgid "%1$s of %2$s"
28691
  msgstr ""
28692
 
28693
+ #: includes/class-wc-checkout.php:719
28694
  #. translators: %s: field name
28695
  msgctxt "checkout-validation"
28696
  msgid "Shipping %s"
28697
  msgstr ""
28698
 
28699
+ #: includes/class-wc-checkout.php:723
28700
  #. translators: %s: field name
28701
  msgctxt "checkout-validation"
28702
  msgid "Billing %s"
28715
  msgid "&ldquo;%s&rdquo;"
28716
  msgstr ""
28717
 
28718
+ #: includes/class-wc-install.php:475
28719
  msgctxt "Page slug"
28720
  msgid "shop"
28721
  msgstr ""
28722
 
28723
+ #: includes/class-wc-install.php:480
28724
  msgctxt "Page slug"
28725
  msgid "cart"
28726
  msgstr ""
28727
 
28728
+ #: includes/class-wc-install.php:485
28729
  msgctxt "Page slug"
28730
  msgid "checkout"
28731
  msgstr ""
28732
 
28733
+ #: includes/class-wc-install.php:490
28734
  msgctxt "Page slug"
28735
  msgid "my-account"
28736
  msgstr ""
28737
 
28738
+ #: includes/class-wc-install.php:476
28739
  msgctxt "Page title"
28740
  msgid "Shop"
28741
  msgstr ""
28742
 
28743
+ #: includes/class-wc-install.php:481
28744
  msgctxt "Page title"
28745
  msgid "Cart"
28746
  msgstr ""
28747
 
28748
+ #: includes/class-wc-install.php:486
28749
  msgctxt "Page title"
28750
  msgid "Checkout"
28751
  msgstr ""
28752
 
28753
+ #: includes/class-wc-install.php:491
28754
  msgctxt "Page title"
28755
  msgid "My account"
28756
  msgstr ""
28757
 
28758
+ #: includes/class-wc-install.php:1010
28759
  #. translators: user role
28760
  msgctxt "User role"
28761
  msgid "Customer"
28762
  msgstr ""
28763
 
28764
+ #: includes/class-wc-install.php:1012
28765
  #. translators: user role
28766
  msgctxt "User role"
28767
  msgid "Shop manager"
28884
  msgid "Order"
28885
  msgstr ""
28886
 
28887
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1159
28888
  msgctxt "Page setting"
28889
  msgid "Shop base"
28890
  msgstr ""
28891
 
28892
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1163
28893
  msgctxt "Page setting"
28894
  msgid "Cart"
28895
  msgstr ""
28896
 
28897
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1167
28898
  msgctxt "Page setting"
28899
  msgid "Checkout"
28900
  msgstr ""
28901
 
28902
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1171
28903
  msgctxt "Page setting"
28904
  msgid "My account"
28905
  msgstr ""
28906
 
28907
+ #: packages/woocommerce-rest-api/src/Controllers/Version2/class-wc-rest-system-status-v2-controller.php:1175
28908
  msgctxt "Page setting"
28909
  msgid "Terms and conditions"
28910
  msgstr ""
includes/abstracts/abstract-wc-order.php CHANGED
@@ -979,6 +979,128 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
979
  }
980
  }
981
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
982
  /**
983
  * Apply a coupon to the order and recalculate totals.
984
  *
@@ -996,13 +1118,6 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
996
  if ( $coupon->get_code() !== $code ) {
997
  return new WP_Error( 'invalid_coupon', __( 'Invalid coupon code', 'woocommerce' ) );
998
  }
999
-
1000
- $discounts = new WC_Discounts( $this );
1001
- $valid = $discounts->is_coupon_valid( $coupon );
1002
-
1003
- if ( is_wp_error( $valid ) ) {
1004
- return $valid;
1005
- }
1006
  } else {
1007
  return new WP_Error( 'invalid_coupon', __( 'Invalid coupon', 'woocommerce' ) );
1008
  }
979
  }
980
  }
981
 
982
+ /**
983
+ * Check and records coupon usage tentatively so that counts validation is correct. Display an error if coupon usage limit has been reached.
984
+ *
985
+ * If you are using this method, make sure to `release_held_coupons` in case an Exception is thrown.
986
+ *
987
+ * @throws Exception When not able to apply coupon.
988
+ *
989
+ * @param string $billing_email Billing email of order.
990
+ */
991
+ public function hold_applied_coupons( $billing_email ) {
992
+ $held_keys = array();
993
+ $held_keys_for_user = array();
994
+ $error = null;
995
+
996
+ try {
997
+ foreach ( WC()->cart->get_applied_coupons() as $code ) {
998
+ $coupon = new WC_Coupon( $code );
999
+ if ( ! $coupon->get_data_store() ) {
1000
+ continue;
1001
+ }
1002
+
1003
+ // Hold coupon for when global coupon usage limit is present.
1004
+ if ( 0 < $coupon->get_usage_limit() ) {
1005
+ $held_key = $this->hold_coupon( $coupon );
1006
+ if ( $held_key ) {
1007
+ $held_keys[ $coupon->get_id() ] = $held_key;
1008
+ }
1009
+ }
1010
+
1011
+ // Hold coupon for when usage limit per customer is enabled.
1012
+ if ( 0 < $coupon->get_usage_limit_per_user() ) {
1013
+
1014
+ if ( ! isset( $user_ids_and_emails ) ) {
1015
+ $user_alias = get_current_user_id() ? wp_get_current_user()->ID : sanitize_email( $billing_email );
1016
+ $user_ids_and_emails = $this->get_billing_and_current_user_aliases( $billing_email );
1017
+ }
1018
+
1019
+ $held_key_for_user = $this->hold_coupon_for_users( $coupon, $user_ids_and_emails, $user_alias );
1020
+
1021
+ if ( $held_key_for_user ) {
1022
+ $held_keys_for_user[ $coupon->get_id() ] = $held_key_for_user;
1023
+ }
1024
+ }
1025
+ }
1026
+ } catch ( Exception $e ) {
1027
+ $error = $e;
1028
+ } finally {
1029
+ // Even in case of error, we will save keys for whatever coupons that were held so our data remains accurate.
1030
+ // We save them in bulk instead of one by one for performance reasons.
1031
+ if ( 0 < count( $held_keys_for_user ) || 0 < count( $held_keys ) ) {
1032
+ $this->get_data_store()->set_coupon_held_keys( $this, $held_keys, $held_keys_for_user );
1033
+ }
1034
+ if ( $error instanceof Exception ) {
1035
+ throw $error;
1036
+ }
1037
+ }
1038
+ }
1039
+
1040
+
1041
+ /**
1042
+ * Hold coupon if a global usage limit is defined.
1043
+ *
1044
+ * @param WC_Coupon $coupon Coupon object.
1045
+ *
1046
+ * @return string Meta key which indicates held coupon.
1047
+ * @throws Exception When can't be held.
1048
+ */
1049
+ private function hold_coupon( $coupon ) {
1050
+ $result = $coupon->get_data_store()->check_and_hold_coupon( $coupon );
1051
+ if ( false === $result ) {
1052
+ // translators: Actual coupon code.
1053
+ throw new Exception( sprintf( __( 'An unexpected error happened while applying the Coupon %s.', 'woocommerce' ), $coupon->get_code() ) );
1054
+ } elseif ( 0 === $result ) {
1055
+ // translators: Actual coupon code.
1056
+ throw new Exception( sprintf( __( 'Coupon %s was used in another transaction during this checkout, and coupon usage limit is reached. Please remove the coupon and try again.', 'woocommerce' ), $coupon->get_code() ) );
1057
+ }
1058
+ return $result;
1059
+ }
1060
+
1061
+ /**
1062
+ * Hold coupon if usage limit per customer is defined.
1063
+ *
1064
+ * @param WC_Coupon $coupon Coupon object.
1065
+ * @param array $user_ids_and_emails Array of user Id and emails to check for usage limit.
1066
+ * @param string $user_alias User ID or email to use to record current usage.
1067
+ *
1068
+ * @return string Meta key which indicates held coupon.
1069
+ * @throws Exception When coupon can't be held.
1070
+ */
1071
+ private function hold_coupon_for_users( $coupon, $user_ids_and_emails, $user_alias ) {
1072
+ $result = $coupon->get_data_store()->check_and_hold_coupon_for_user( $coupon, $user_ids_and_emails, $user_alias );
1073
+ if ( false === $result ) {
1074
+ // translators: Actual coupon code.
1075
+ throw new Exception( sprintf( __( 'An unexpected error happened while applying the Coupon %s.', 'woocommerce' ), $coupon->get_code() ) );
1076
+ } elseif ( 0 === $result ) {
1077
+ // translators: Actual coupon code.
1078
+ throw new Exception( sprintf( __( 'You have used this coupon %s in another transaction during this checkout, and coupon usage limit is reached. Please remove the coupon and try again.', 'woocommerce' ), $coupon->get_code() ) );
1079
+ }
1080
+ return $result;
1081
+ }
1082
+
1083
+ /**
1084
+ * Helper method to get all aliases for current user and provide billing email.
1085
+ *
1086
+ * @param string $billing_email Billing email provided in form.
1087
+ *
1088
+ * @return array Array of all aliases.
1089
+ * @throws Exception When validation fails.
1090
+ */
1091
+ private function get_billing_and_current_user_aliases( $billing_email ) {
1092
+ $emails = array( $billing_email );
1093
+ if ( get_current_user_id() ) {
1094
+ $emails[] = wp_get_current_user()->user_email;
1095
+ }
1096
+ $emails = array_unique(
1097
+ array_map( 'strtolower', array_map( 'sanitize_email', $emails ) )
1098
+ );
1099
+ $customer_data_store = WC_Data_Store::load( 'customer' );
1100
+ $user_ids = $customer_data_store->get_user_ids_for_billing_email( $emails );
1101
+ return array_merge( $user_ids, $emails );
1102
+ }
1103
+
1104
  /**
1105
  * Apply a coupon to the order and recalculate totals.
1106
  *
1118
  if ( $coupon->get_code() !== $code ) {
1119
  return new WP_Error( 'invalid_coupon', __( 'Invalid coupon code', 'woocommerce' ) );
1120
  }
 
 
 
 
 
 
 
1121
  } else {
1122
  return new WP_Error( 'invalid_coupon', __( 'Invalid coupon', 'woocommerce' ) );
1123
  }
includes/admin/class-wc-admin-notices.php CHANGED
@@ -36,6 +36,7 @@ class WC_Admin_Notices {
36
  'no_secure_connection' => 'secure_connection_notice',
37
  'wc_admin' => 'wc_admin_feature_plugin_notice',
38
  WC_PHP_MIN_REQUIREMENTS_NOTICE => 'wp_php_min_requirements_notice',
 
39
  );
40
 
41
  /**
@@ -87,6 +88,7 @@ class WC_Admin_Notices {
87
  self::add_wc_admin_feature_plugin_notice();
88
  self::add_notice( 'template_files' );
89
  self::add_min_version_notice();
 
90
  }
91
 
92
  /**
@@ -428,6 +430,41 @@ class WC_Admin_Notices {
428
  include dirname( __FILE__ ) . '/views/html-notice-wp-php-minimum-requirements.php';
429
  }
430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  /**
432
  * Determine if the store is running SSL.
433
  *
36
  'no_secure_connection' => 'secure_connection_notice',
37
  'wc_admin' => 'wc_admin_feature_plugin_notice',
38
  WC_PHP_MIN_REQUIREMENTS_NOTICE => 'wp_php_min_requirements_notice',
39
+ 'maxmind_license_key' => 'maxmind_missing_license_key_notice',
40
  );
41
 
42
  /**
88
  self::add_wc_admin_feature_plugin_notice();
89
  self::add_notice( 'template_files' );
90
  self::add_min_version_notice();
91
+ self::add_maxmind_missing_license_key_notice();
92
  }
93
 
94
  /**
430
  include dirname( __FILE__ ) . '/views/html-notice-wp-php-minimum-requirements.php';
431
  }
432
 
433
+ /**
434
+ * Add MaxMind missing license key notice.
435
+ *
436
+ * @since 3.9.0
437
+ */
438
+ public static function add_maxmind_missing_license_key_notice() {
439
+ $default_address = get_option( 'woocommerce_default_customer_address' );
440
+
441
+ if ( ! in_array( $default_address, array( 'geolocation', 'geolocation_ajax' ), true ) ) {
442
+ return;
443
+ }
444
+
445
+ $integration_options = get_option( 'woocommerce_maxmind_geolocation_settings' );
446
+ if ( empty( $integration_options['license_key'] ) ) {
447
+ self::add_notice( 'maxmind_license_key' );
448
+ }
449
+ }
450
+
451
+ /**
452
+ * Display MaxMind missing license key notice.
453
+ *
454
+ * @since 3.9.0
455
+ */
456
+ public static function maxmind_missing_license_key_notice() {
457
+ $user_dismissed_notice = get_user_meta( get_current_user_id(), 'dismissed_maxmind_license_key_notice', true );
458
+ $filter_dismissed_notice = ! apply_filters( 'woocommerce_maxmind_geolocation_display_notices', true );
459
+
460
+ if ( $user_dismissed_notice || $filter_dismissed_notice ) {
461
+ self::remove_notice( 'maxmind_license_key' );
462
+ return;
463
+ }
464
+
465
+ include dirname( __FILE__ ) . '/views/html-notice-maxmind-license-key.php';
466
+ }
467
+
468
  /**
469
  * Determine if the store is running SSL.
470
  *
includes/admin/settings/class-wc-settings-general.php CHANGED
@@ -39,17 +39,6 @@ class WC_Settings_General extends WC_Settings_Page {
39
  $currency_code_options[ $code ] = $name . ' (' . get_woocommerce_currency_symbol( $code ) . ')';
40
  }
41
 
42
- $woocommerce_default_customer_address_options = array(
43
- '' => __( 'No location by default', 'woocommerce' ),
44
- 'base' => __( 'Shop base address', 'woocommerce' ),
45
- 'geolocation' => __( 'Geolocate', 'woocommerce' ),
46
- 'geolocation_ajax' => __( 'Geolocate (with page caching support)', 'woocommerce' ),
47
- );
48
-
49
- if ( version_compare( PHP_VERSION, '5.4', '<' ) ) {
50
- unset( $woocommerce_default_customer_address_options['geolocation'], $woocommerce_default_customer_address_options['geolocation_ajax'] );
51
- }
52
-
53
  $settings = apply_filters(
54
  'woocommerce_general_settings',
55
  array(
@@ -182,10 +171,15 @@ class WC_Settings_General extends WC_Settings_Page {
182
  'title' => __( 'Default customer location', 'woocommerce' ),
183
  'id' => 'woocommerce_default_customer_address',
184
  'desc_tip' => __( 'This option determines a customers default location. The MaxMind GeoLite Database will be periodically downloaded to your wp-content directory if using geolocation.', 'woocommerce' ),
185
- 'default' => 'geolocation',
186
  'type' => 'select',
187
  'class' => 'wc-enhanced-select',
188
- 'options' => $woocommerce_default_customer_address_options,
 
 
 
 
 
189
  ),
190
 
191
  array(
39
  $currency_code_options[ $code ] = $name . ' (' . get_woocommerce_currency_symbol( $code ) . ')';
40
  }
41
 
 
 
 
 
 
 
 
 
 
 
 
42
  $settings = apply_filters(
43
  'woocommerce_general_settings',
44
  array(
171
  'title' => __( 'Default customer location', 'woocommerce' ),
172
  'id' => 'woocommerce_default_customer_address',
173
  'desc_tip' => __( 'This option determines a customers default location. The MaxMind GeoLite Database will be periodically downloaded to your wp-content directory if using geolocation.', 'woocommerce' ),
174
+ 'default' => 'base',
175
  'type' => 'select',
176
  'class' => 'wc-enhanced-select',
177
+ 'options' => array(
178
+ '' => __( 'No location by default', 'woocommerce' ),
179
+ 'base' => __( 'Shop base address', 'woocommerce' ),
180
+ 'geolocation' => __( 'Geolocate', 'woocommerce' ),
181
+ 'geolocation_ajax' => __( 'Geolocate (with page caching support)', 'woocommerce' ),
182
+ ),
183
  ),
184
 
185
  array(
includes/admin/views/html-admin-page-status-report.php CHANGED
@@ -435,25 +435,6 @@ $untested_plugins = $plugin_updates->get_untested_plugins( WC()->version, 'min
435
  </td>
436
  </tr>
437
 
438
- <?php if ( $settings['geolocation_enabled'] ) { ?>
439
- <tr>
440
- <td data-export-label="MaxMind GeoIP Database"><?php esc_html_e( 'MaxMind GeoIP database', 'woocommerce' ); ?>:</td>
441
- <td class="help"><?php echo wc_help_tip( esc_html__( 'The GeoIP database from MaxMind is used to geolocate customers.', 'woocommerce' ) ); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?></td>
442
- <td>
443
- <?php
444
- if ( version_compare( $environment['php_version'], '5.4', '<' ) ) {
445
- echo '<mark class="error"><span class="dashicons dashicons-warning"></span> ' . wp_kses_post( __( 'MaxMind GeoIP database requires at least PHP 5.4.', 'woocommerce' ) ) . '</mark>';
446
- } elseif ( file_exists( $database['maxmind_geoip_database'] ) ) {
447
- echo '<mark class="yes"><span class="dashicons dashicons-yes"></span> <code class="private">' . esc_html( $database['maxmind_geoip_database'] ) . '</code></mark> ';
448
- } else {
449
- /* Translators: %1$s: Library url, %2$s: install path. */
450
- printf( '<mark class="error"><span class="dashicons dashicons-warning"></span> ' . sprintf( esc_html__( 'The MaxMind GeoIP Database does not exist - Geolocation will not function. You can download and install it manually from %1$s to the path: %2$s. Scroll down to "Downloads" and download the "MaxMind DB binary, gzipped" file next to "GeoLite2 Country". Please remember to uncompress GeoLite2-Country_xxxxxxxx.tar.gz and upload the GeoLite2-Country.mmdb file only.', 'woocommerce' ), '<a href="https://dev.maxmind.com/geoip/geoip2/geolite2/">https://dev.maxmind.com/geoip/geoip2/geolite2/</a>', '<code class="private">' . esc_html( $database['maxmind_geoip_database'] ) . '</code>' ) . '</mark>', esc_html( WC_LOG_DIR ) );
451
- }
452
- ?>
453
- </td>
454
- </tr>
455
- <?php } ?>
456
-
457
  <?php if ( ! empty( $database['database_size'] ) && ! empty( $database['database_tables'] ) ) : ?>
458
  <tr>
459
  <td><?php esc_html_e( 'Total Database Size', 'woocommerce' ); ?></td>
@@ -584,7 +565,7 @@ $untested_plugins = $plugin_updates->get_untested_plugins( WC()->version, 'min
584
  </thead>
585
  <tbody>
586
  <?php
587
- foreach ( $active_plugins as $plugin ) {
588
  if ( ! empty( $plugin['name'] ) ) {
589
  $dirname = dirname( $plugin['plugin'] );
590
 
@@ -636,7 +617,7 @@ $untested_plugins = $plugin_updates->get_untested_plugins( WC()->version, 'min
636
  </thead>
637
  <tbody>
638
  <?php
639
- foreach ( $inactive_plugins as $plugin ) {
640
  if ( ! empty( $plugin['name'] ) ) {
641
  $dirname = dirname( $plugin['plugin'] );
642
 
@@ -715,7 +696,7 @@ if ( 0 < count( $dropins_mu_plugins['mu_plugins'] ) ) :
715
  </thead>
716
  <tbody>
717
  <?php
718
- foreach ( $dropins_mu_plugins['mu_plugins'] as $mu_plugin ) {
719
  $plugin_name = esc_html( $mu_plugin['name'] );
720
  if ( ! empty( $mu_plugin['url'] ) ) {
721
  $plugin_name = '<a href="' . esc_url( $mu_plugin['url'] ) . '" aria-label="' . esc_attr__( 'Visit plugin homepage', 'woocommerce' ) . '" target="_blank">' . $plugin_name . '</a>';
435
  </td>
436
  </tr>
437
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  <?php if ( ! empty( $database['database_size'] ) && ! empty( $database['database_tables'] ) ) : ?>
439
  <tr>
440
  <td><?php esc_html_e( 'Total Database Size', 'woocommerce' ); ?></td>
565
  </thead>
566
  <tbody>
567
  <?php
568
+ foreach ( $active_plugins as $plugin ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
569
  if ( ! empty( $plugin['name'] ) ) {
570
  $dirname = dirname( $plugin['plugin'] );
571
 
617
  </thead>
618
  <tbody>
619
  <?php
620
+ foreach ( $inactive_plugins as $plugin ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
621
  if ( ! empty( $plugin['name'] ) ) {
622
  $dirname = dirname( $plugin['plugin'] );
623
 
696
  </thead>
697
  <tbody>
698
  <?php
699
+ foreach ( $dropins_mu_plugins['mu_plugins'] as $mu_plugin ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
700
  $plugin_name = esc_html( $mu_plugin['name'] );
701
  if ( ! empty( $mu_plugin['url'] ) ) {
702
  $plugin_name = '<a href="' . esc_url( $mu_plugin['url'] ) . '" aria-label="' . esc_attr__( 'Visit plugin homepage', 'woocommerce' ) . '" target="_blank">' . $plugin_name . '</a>';
includes/admin/views/html-notice-maxmind-license-key.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin View: Notice - Missing MaxMind license key
4
+ *
5
+ * @package WooCommerce\Admin
6
+ */
7
+
8
+ defined( 'ABSPATH' ) || exit;
9
+
10
+ ?>
11
+
12
+ <div id="message" class="updated woocommerce-message">
13
+ <a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'maxmind_license_key' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php esc_html_e( 'Dismiss', 'woocommerce' ); ?></a>
14
+
15
+ <p>
16
+ <strong><?php esc_html_e( 'Geolocation has not been configured.', 'woocommerce' ); ?></strong>
17
+ </p>
18
+
19
+ <p>
20
+ <?php
21
+ echo wp_kses_post(
22
+ sprintf(
23
+ /* translators: %1%s: integration page %2$s: general settings page */
24
+ __( 'You must enter a valid license key on the <a href="%1$s">MaxMind integration settings page</a> in order to use the geolocation service. If you do not need geolocation for shipping or taxes, you should change the default customer location on the <a href="%2$s">general settings page</a>.', 'woocommerce' ),
25
+ admin_url( 'admin.php?page=wc-settings&tab=integration&section=maxmind_geolocation' ),
26
+ admin_url( 'admin.php?page=wc-settings&tab=general' )
27
+ )
28
+ );
29
+ ?>
30
+ </p>
31
+ </div>
includes/class-wc-autoloader.php CHANGED
@@ -88,6 +88,8 @@ class WC_Autoloader {
88
  $path = $this->include_path . 'payment-tokens/';
89
  } elseif ( 0 === strpos( $class, 'wc_log_handler_' ) ) {
90
  $path = $this->include_path . 'log-handlers/';
 
 
91
  }
92
 
93
  if ( empty( $path ) || ! $this->load_file( $path . $file ) ) {
88
  $path = $this->include_path . 'payment-tokens/';
89
  } elseif ( 0 === strpos( $class, 'wc_log_handler_' ) ) {
90
  $path = $this->include_path . 'log-handlers/';
91
+ } elseif ( 0 === strpos( $class, 'wc_integration' ) ) {
92
+ $path = $this->include_path . 'integrations/' . substr( str_replace( '_', '-', $class ), 15 ) . '/';
93
  }
94
 
95
  if ( empty( $path ) || ! $this->load_file( $path . $file ) ) {
includes/class-wc-cart.php CHANGED
@@ -115,7 +115,7 @@ class WC_Cart extends WC_Legacy_Cart {
115
  add_action( 'woocommerce_cart_item_restored', array( $this, 'calculate_totals' ), 20, 0 );
116
  add_action( 'woocommerce_check_cart_items', array( $this, 'check_cart_items' ), 1 );
117
  add_action( 'woocommerce_check_cart_items', array( $this, 'check_cart_coupons' ), 1 );
118
- add_action( 'woocommerce_after_checkout_validation', array( $this, 'check_customer_coupons' ), 1 );
119
  }
120
 
121
  /**
@@ -1476,47 +1476,6 @@ class WC_Cart extends WC_Legacy_Cart {
1476
  $coupon->add_coupon_message( WC_Coupon::E_WC_COUPON_NOT_YOURS_REMOVED );
1477
  $this->remove_coupon( $code );
1478
  }
1479
-
1480
- // Usage limits per user - check against billing and user email and user ID.
1481
- $limit_per_user = $coupon->get_usage_limit_per_user();
1482
-
1483
- if ( 0 < $limit_per_user ) {
1484
- $used_by = $coupon->get_used_by();
1485
- $usage_count = 0;
1486
- $user_id_matches = array( get_current_user_id() );
1487
-
1488
- // Check usage against emails.
1489
- foreach ( $check_emails as $check_email ) {
1490
- $usage_count += count( array_keys( $used_by, $check_email, true ) );
1491
- $user = get_user_by( 'email', $check_email );
1492
- $user_id_matches[] = $user ? $user->ID : 0;
1493
- }
1494
-
1495
- // Check against billing emails of existing users.
1496
- $users_query = new WP_User_Query(
1497
- array(
1498
- 'fields' => 'ID',
1499
- 'meta_query' => array(
1500
- array(
1501
- 'key' => '_billing_email',
1502
- 'value' => $check_emails,
1503
- 'compare' => 'IN',
1504
- ),
1505
- ),
1506
- )
1507
- ); // WPCS: slow query ok.
1508
-
1509
- $user_id_matches = array_unique( array_filter( array_merge( $user_id_matches, $users_query->get_results() ) ) );
1510
-
1511
- foreach ( $user_id_matches as $user_id ) {
1512
- $usage_count += count( array_keys( $used_by, (string) $user_id, true ) );
1513
- }
1514
-
1515
- if ( $usage_count >= $coupon->get_usage_limit_per_user() ) {
1516
- $coupon->add_coupon_message( WC_Coupon::E_WC_COUPON_USAGE_LIMIT_REACHED );
1517
- $this->remove_coupon( $code );
1518
- }
1519
- }
1520
  }
1521
  }
1522
  }
115
  add_action( 'woocommerce_cart_item_restored', array( $this, 'calculate_totals' ), 20, 0 );
116
  add_action( 'woocommerce_check_cart_items', array( $this, 'check_cart_items' ), 1 );
117
  add_action( 'woocommerce_check_cart_items', array( $this, 'check_cart_coupons' ), 1 );
118
+ add_action( 'woocommerce_after_checkout_validation', array( $this, 'check_customer_coupons' ), 1, 2 );
119
  }
120
 
121
  /**
1476
  $coupon->add_coupon_message( WC_Coupon::E_WC_COUPON_NOT_YOURS_REMOVED );
1477
  $this->remove_coupon( $code );
1478
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1479
  }
1480
  }
1481
  }
includes/class-wc-checkout.php CHANGED
@@ -366,6 +366,7 @@ class WC_Checkout {
366
  }
367
  }
368
 
 
369
  $order->set_created_via( 'checkout' );
370
  $order->set_cart_hash( $cart_hash );
371
  $order->set_customer_id( apply_filters( 'woocommerce_checkout_customer_id', get_current_user_id() ) );
@@ -403,6 +404,9 @@ class WC_Checkout {
403
 
404
  return $order_id;
405
  } catch ( Exception $e ) {
 
 
 
406
  return new WP_Error( 'checkout-error', $e->getMessage() );
407
  }
408
  }
366
  }
367
  }
368
 
369
+ $order->hold_applied_coupons( $data['billing_email'] );
370
  $order->set_created_via( 'checkout' );
371
  $order->set_cart_hash( $cart_hash );
372
  $order->set_customer_id( apply_filters( 'woocommerce_checkout_customer_id', get_current_user_id() ) );
404
 
405
  return $order_id;
406
  } catch ( Exception $e ) {
407
+ if ( $order && $order instanceof WC_Order ) {
408
+ $order->get_data_store()->release_held_coupons( $order );
409
+ }
410
  return new WP_Error( 'checkout-error', $e->getMessage() );
411
  }
412
  }
includes/class-wc-coupon.php CHANGED
@@ -774,11 +774,12 @@ class WC_Coupon extends WC_Legacy_Coupon {
774
  /**
775
  * Increase usage count for current coupon.
776
  *
777
- * @param string $used_by Either user ID or billing email.
 
778
  */
779
- public function increase_usage_count( $used_by = '' ) {
780
  if ( $this->get_id() && $this->data_store ) {
781
- $new_count = $this->data_store->increase_usage_count( $this, $used_by );
782
 
783
  // Bypass set_prop and remove pending changes since the data store saves the count already.
784
  $this->data['usage_count'] = $new_count;
@@ -813,8 +814,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
813
 
814
  /**
815
  * Returns the error_message string.
816
- *
817
- * @access public
818
  * @return string
819
  */
820
  public function get_error_message() {
774
  /**
775
  * Increase usage count for current coupon.
776
  *
777
+ * @param string $used_by Either user ID or billing email.
778
+ * @param WC_Order $order If provided, will clear the coupons held by this order.
779
  */
780
+ public function increase_usage_count( $used_by = '', $order = null ) {
781
  if ( $this->get_id() && $this->data_store ) {
782
+ $new_count = $this->data_store->increase_usage_count( $this, $used_by, $order );
783
 
784
  // Bypass set_prop and remove pending changes since the data store saves the count already.
785
  $this->data['usage_count'] = $new_count;
814
 
815
  /**
816
  * Returns the error_message string.
817
+
 
818
  * @return string
819
  */
820
  public function get_error_message() {
includes/class-wc-discounts.php CHANGED
@@ -629,8 +629,8 @@ class WC_Discounts {
629
  }
630
 
631
  if ( $coupon && $user_id && apply_filters( 'woocommerce_coupon_validate_user_usage_limit', $coupon->get_usage_limit_per_user() > 0, $user_id, $coupon, $this ) && $coupon->get_id() && $coupon->get_data_store() ) {
632
- $date_store = $coupon->get_data_store();
633
- $usage_count = $date_store->get_usage_by_user_id( $coupon, $user_id );
634
  if ( $usage_count >= $coupon->get_usage_limit_per_user() ) {
635
  throw new Exception( __( 'Coupon usage limit has been reached.', 'woocommerce' ), 106 );
636
  }
@@ -648,7 +648,7 @@ class WC_Discounts {
648
  * @return bool
649
  */
650
  protected function validate_coupon_expiry_date( $coupon ) {
651
- if ( $coupon->get_date_expires() && apply_filters( 'woocommerce_coupon_validate_expiry_date', current_time( 'timestamp', true ) > $coupon->get_date_expires()->getTimestamp(), $coupon, $this ) ) {
652
  throw new Exception( __( 'This coupon has expired.', 'woocommerce' ), 107 );
653
  }
654
 
629
  }
630
 
631
  if ( $coupon && $user_id && apply_filters( 'woocommerce_coupon_validate_user_usage_limit', $coupon->get_usage_limit_per_user() > 0, $user_id, $coupon, $this ) && $coupon->get_id() && $coupon->get_data_store() ) {
632
+ $data_store = $coupon->get_data_store();
633
+ $usage_count = $data_store->get_usage_by_user_id( $coupon, $user_id );
634
  if ( $usage_count >= $coupon->get_usage_limit_per_user() ) {
635
  throw new Exception( __( 'Coupon usage limit has been reached.', 'woocommerce' ), 106 );
636
  }
648
  * @return bool
649
  */
650
  protected function validate_coupon_expiry_date( $coupon ) {
651
+ if ( $coupon->get_date_expires() && apply_filters( 'woocommerce_coupon_validate_expiry_date', time() > $coupon->get_date_expires()->getTimestamp(), $coupon, $this ) ) {
652
  throw new Exception( __( 'This coupon has expired.', 'woocommerce' ), 107 );
653
  }
654
 
includes/class-wc-geolite-integration.php CHANGED
@@ -8,12 +8,15 @@
8
  *
9
  * @package WooCommerce\Classes
10
  * @since 3.4.0
 
11
  */
12
 
13
  defined( 'ABSPATH' ) || exit;
14
 
15
  /**
16
  * Geolite integration class.
 
 
17
  */
18
  class WC_Geolite_Integration {
19
 
@@ -38,10 +41,6 @@ class WC_Geolite_Integration {
38
  */
39
  public function __construct( $database ) {
40
  $this->database = $database;
41
-
42
- if ( ! class_exists( 'MaxMind\\Db\\Reader', false ) ) {
43
- $this->require_geolite_library();
44
- }
45
  }
46
 
47
  /**
@@ -50,8 +49,11 @@ class WC_Geolite_Integration {
50
  *
51
  * @param string $ip_address User IP address.
52
  * @return string
 
53
  */
54
  public function get_country_iso( $ip_address ) {
 
 
55
  $iso_code = '';
56
 
57
  try {
@@ -87,15 +89,4 @@ class WC_Geolite_Integration {
87
 
88
  $this->log->log( $level, $message, array( 'source' => 'geoip' ) );
89
  }
90
-
91
- /**
92
- * Require geolite library.
93
- */
94
- private function require_geolite_library() {
95
- require_once WC_ABSPATH . 'includes/libraries/geolite2/Reader/Decoder.php';
96
- require_once WC_ABSPATH . 'includes/libraries/geolite2/Reader/InvalidDatabaseException.php';
97
- require_once WC_ABSPATH . 'includes/libraries/geolite2/Reader/Metadata.php';
98
- require_once WC_ABSPATH . 'includes/libraries/geolite2/Reader/Util.php';
99
- require_once WC_ABSPATH . 'includes/libraries/geolite2/Reader.php';
100
- }
101
  }
8
  *
9
  * @package WooCommerce\Classes
10
  * @since 3.4.0
11
+ * @deprecated 3.9.0
12
  */
13
 
14
  defined( 'ABSPATH' ) || exit;
15
 
16
  /**
17
  * Geolite integration class.
18
+ *
19
+ * @deprecated 3.9.0
20
  */
21
  class WC_Geolite_Integration {
22
 
41
  */
42
  public function __construct( $database ) {
43
  $this->database = $database;
 
 
 
 
44
  }
45
 
46
  /**
49
  *
50
  * @param string $ip_address User IP address.
51
  * @return string
52
+ * @deprecated 3.9.0
53
  */
54
  public function get_country_iso( $ip_address ) {
55
+ wc_deprecated_function( 'get_country_iso', '3.9.0' );
56
+
57
  $iso_code = '';
58
 
59
  try {
89
 
90
  $this->log->log( $level, $message, array( 'source' => 'geoip' ) );
91
  }
 
 
 
 
 
 
 
 
 
 
 
92
  }
includes/class-wc-geolocation.php CHANGED
@@ -7,7 +7,7 @@
7
  * This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.
8
  *
9
  * @package WooCommerce/Classes
10
- * @version 3.4.0
11
  */
12
 
13
  defined( 'ABSPATH' ) || exit;
@@ -35,6 +35,7 @@ class WC_Geolocation {
35
  * GeoLite2 DB.
36
  *
37
  * @since 3.4.0
 
38
  */
39
  const GEOLITE2_DB = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz';
40
 
@@ -60,16 +61,6 @@ class WC_Geolocation {
60
  'ip-api.com' => 'http://ip-api.com/json/%s',
61
  );
62
 
63
- /**
64
- * Check if server supports MaxMind GeoLite2 Reader.
65
- *
66
- * @since 3.4.0
67
- * @return bool
68
- */
69
- private static function supports_geolite2() {
70
- return version_compare( PHP_VERSION, '5.4.0', '>=' );
71
- }
72
-
73
  /**
74
  * Check if geolocation is enabled.
75
  *
@@ -81,67 +72,20 @@ class WC_Geolocation {
81
  return in_array( $current_settings, array( 'geolocation', 'geolocation_ajax' ), true );
82
  }
83
 
84
- /**
85
- * Prevent geolocation via MaxMind when using legacy versions of php.
86
- *
87
- * @since 3.4.0
88
- * @param string $default_customer_address current value.
89
- * @return string
90
- */
91
- public static function disable_geolocation_on_legacy_php( $default_customer_address ) {
92
- if ( self::is_geolocation_enabled( $default_customer_address ) ) {
93
- $default_customer_address = 'base';
94
- }
95
-
96
- return $default_customer_address;
97
- }
98
-
99
- /**
100
- * Hook in geolocation functionality.
101
- */
102
- public static function init() {
103
- if ( self::supports_geolite2() ) {
104
- // Only download the database from MaxMind if the geolocation function is enabled, or a plugin specifically requests it.
105
- if ( self::is_geolocation_enabled( get_option( 'woocommerce_default_customer_address' ) ) || apply_filters( 'woocommerce_geolocation_update_database_periodically', false ) ) {
106
- add_action( 'woocommerce_geoip_updater', array( __CLASS__, 'update_database' ) );
107
- }
108
-
109
- // Trigger database update when settings are changed to enable geolocation.
110
- add_filter( 'pre_update_option_woocommerce_default_customer_address', array( __CLASS__, 'maybe_update_database' ), 10, 2 );
111
- } else {
112
- add_filter( 'pre_option_woocommerce_default_customer_address', array( __CLASS__, 'disable_geolocation_on_legacy_php' ) );
113
- }
114
- }
115
-
116
- /**
117
- * Maybe trigger a DB update for the first time.
118
- *
119
- * @param string $new_value New value.
120
- * @param string $old_value Old value.
121
- * @return string
122
- */
123
- public static function maybe_update_database( $new_value, $old_value ) {
124
- if ( $new_value !== $old_value && self::is_geolocation_enabled( $new_value ) ) {
125
- self::update_database();
126
- }
127
-
128
- return $new_value;
129
- }
130
-
131
  /**
132
  * Get current user IP Address.
133
  *
134
  * @return string
135
  */
136
  public static function get_ip_address() {
137
- if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
138
- return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
139
- } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
140
  // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
141
  // Make sure we always only send through the first IP in the list which should always be the client IP.
142
- return (string) rest_is_ip_address( trim( current( preg_split( '/,/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) ); // WPCS: input var ok, CSRF ok.
143
- } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
144
- return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
145
  }
146
  return '';
147
  }
@@ -195,119 +139,114 @@ class WC_Geolocation {
195
  // Filter to allow custom geolocation of the IP address.
196
  $country_code = apply_filters( 'woocommerce_geolocate_ip', false, $ip_address, $fallback, $api_fallback );
197
 
198
- if ( false === $country_code ) {
199
- // If GEOIP is enabled in CloudFlare, we can use that (Settings -> CloudFlare Settings -> Settings Overview).
200
- if ( ! empty( $_SERVER['HTTP_CF_IPCOUNTRY'] ) ) { // WPCS: input var ok, CSRF ok.
201
- $country_code = strtoupper( sanitize_text_field( wp_unslash( $_SERVER['HTTP_CF_IPCOUNTRY'] ) ) ); // WPCS: input var ok, CSRF ok.
202
- } elseif ( ! empty( $_SERVER['GEOIP_COUNTRY_CODE'] ) ) { // WPCS: input var ok, CSRF ok.
203
- // WP.com VIP has a variable available.
204
- $country_code = strtoupper( sanitize_text_field( wp_unslash( $_SERVER['GEOIP_COUNTRY_CODE'] ) ) ); // WPCS: input var ok, CSRF ok.
205
- } elseif ( ! empty( $_SERVER['HTTP_X_COUNTRY_CODE'] ) ) { // WPCS: input var ok, CSRF ok.
206
- // VIP Go has a variable available also.
207
- $country_code = strtoupper( sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_COUNTRY_CODE'] ) ) ); // WPCS: input var ok, CSRF ok.
208
- } else {
209
- $ip_address = $ip_address ? $ip_address : self::get_ip_address();
210
- $database = self::get_local_database_path();
211
-
212
- if ( self::supports_geolite2() && file_exists( $database ) ) {
213
- $country_code = self::geolocate_via_db( $ip_address, $database );
214
- } elseif ( $api_fallback ) {
215
- $country_code = self::geolocate_via_api( $ip_address );
216
- } else {
217
- $country_code = '';
218
- }
219
 
220
- if ( ! $country_code && $fallback ) {
221
- // May be a local environment - find external IP.
222
- return self::geolocate_ip( self::get_external_ip_address(), false, $api_fallback );
223
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
225
  }
226
 
227
  return array(
228
- 'country' => $country_code,
229
- 'state' => '',
 
 
230
  );
231
  }
232
 
233
  /**
234
  * Path to our local db.
235
  *
 
236
  * @param string $deprecated Deprecated since 3.4.0.
237
  * @return string
238
  */
239
  public static function get_local_database_path( $deprecated = '2' ) {
240
- return apply_filters( 'woocommerce_geolocation_local_database_path', WP_CONTENT_DIR . '/uploads/GeoLite2-Country.mmdb', $deprecated );
 
 
241
  }
242
 
243
  /**
244
  * Update geoip database.
245
  *
 
246
  * Extract files with PharData. Tool built into PHP since 5.3.
247
  */
248
  public static function update_database() {
249
- $logger = wc_get_logger();
250
-
251
- if ( ! self::supports_geolite2() ) {
252
- $logger->notice( 'Requires PHP 5.4 to be able to download MaxMind GeoLite2 database', array( 'source' => 'geolocation' ) );
253
- return;
254
- }
255
-
256
- require_once ABSPATH . 'wp-admin/includes/file.php';
257
-
258
- $database = 'GeoLite2-Country.mmdb';
259
- $target_database_path = self::get_local_database_path();
260
- $tmp_database_path = download_url( self::GEOLITE2_DB );
261
-
262
- if ( ! is_wp_error( $tmp_database_path ) ) {
263
- WP_Filesystem();
264
-
265
- global $wp_filesystem;
266
-
267
- try {
268
- // Make sure target dir exists.
269
- $wp_filesystem->mkdir( dirname( $target_database_path ) );
270
-
271
- // Extract files with PharData. Tool built into PHP since 5.3.
272
- $file = new PharData( $tmp_database_path ); // phpcs:ignore PHPCompatibility.Classes.NewClasses.phardataFound
273
- $file_path = trailingslashit( $file->current()->getFileName() ) . $database;
274
- $file->extractTo( dirname( $tmp_database_path ), $file_path, true );
275
-
276
- // Move file and delete temp.
277
- $wp_filesystem->move( trailingslashit( dirname( $tmp_database_path ) ) . $file_path, $target_database_path, true );
278
- $wp_filesystem->delete( trailingslashit( dirname( $tmp_database_path ) ) . $file->current()->getFileName() );
279
- } catch ( Exception $e ) {
280
- $logger->notice( $e->getMessage(), array( 'source' => 'geolocation' ) );
281
-
282
- // Reschedule download of DB.
283
- wp_clear_scheduled_hook( 'woocommerce_geoip_updater' );
284
- wp_schedule_event( strtotime( 'first tuesday of next month' ), 'monthly', 'woocommerce_geoip_updater' );
285
- }
286
- // Delete temp file regardless of success.
287
- $wp_filesystem->delete( $tmp_database_path );
288
- } else {
289
- $logger->notice(
290
- 'Unable to download GeoIP Database: ' . $tmp_database_path->get_error_message(),
291
- array( 'source' => 'geolocation' )
292
- );
293
- }
294
  }
295
 
296
  /**
297
- * Use MAXMIND GeoLite database to geolocation the user.
298
  *
299
- * @param string $ip_address IP address.
300
- * @param string $database Database path.
301
- * @return string
302
  */
303
- private static function geolocate_via_db( $ip_address, $database ) {
304
- if ( ! class_exists( 'WC_Geolite_Integration', false ) ) {
305
- require_once WC_ABSPATH . 'includes/class-wc-geolite-integration.php';
306
- }
 
 
 
 
 
 
 
 
 
 
307
 
308
- $geolite = new WC_Geolite_Integration( $database );
 
 
309
 
310
- return $geolite->get_country_iso( $ip_address );
311
  }
312
 
313
  /**
@@ -368,6 +307,50 @@ class WC_Geolocation {
368
 
369
  return $country_code;
370
  }
371
- }
372
 
373
- WC_Geolocation::init();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  * This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.
8
  *
9
  * @package WooCommerce/Classes
10
+ * @version 3.9.0
11
  */
12
 
13
  defined( 'ABSPATH' ) || exit;
35
  * GeoLite2 DB.
36
  *
37
  * @since 3.4.0
38
+ * @deprecated 3.9.0
39
  */
40
  const GEOLITE2_DB = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz';
41
 
61
  'ip-api.com' => 'http://ip-api.com/json/%s',
62
  );
63
 
 
 
 
 
 
 
 
 
 
 
64
  /**
65
  * Check if geolocation is enabled.
66
  *
72
  return in_array( $current_settings, array( 'geolocation', 'geolocation_ajax' ), true );
73
  }
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  /**
76
  * Get current user IP Address.
77
  *
78
  * @return string
79
  */
80
  public static function get_ip_address() {
81
+ if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
82
+ return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) );
83
+ } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
84
  // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
85
  // Make sure we always only send through the first IP in the list which should always be the client IP.
86
+ return (string) rest_is_ip_address( trim( current( preg_split( '/,/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) );
87
+ } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
88
+ return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) );
89
  }
90
  return '';
91
  }
139
  // Filter to allow custom geolocation of the IP address.
140
  $country_code = apply_filters( 'woocommerce_geolocate_ip', false, $ip_address, $fallback, $api_fallback );
141
 
142
+ if ( false !== $country_code ) {
143
+ return array(
144
+ 'country' => $country_code,
145
+ 'state' => '',
146
+ 'city' => '',
147
+ 'postcode' => '',
148
+ );
149
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
+ if ( empty( $ip_address ) ) {
152
+ $ip_address = self::get_ip_address();
153
+ }
154
+
155
+ $country_code = self::get_country_code_from_headers();
156
+
157
+ /**
158
+ * Get geolocation filter.
159
+ *
160
+ * @since 3.9.0
161
+ * @param array $geolocation Geolocation data, including country, state, city, and postcode.
162
+ * @param string $ip_address IP Address.
163
+ */
164
+ $geolocation = apply_filters(
165
+ 'woocommerce_get_geolocation',
166
+ array(
167
+ 'country' => $country_code,
168
+ 'state' => '',
169
+ 'city' => '',
170
+ 'postcode' => '',
171
+ ),
172
+ $ip_address
173
+ );
174
+
175
+ // If we still haven't found a country code, let's consider doing an API lookup.
176
+ if ( '' === $geolocation['country'] && $api_fallback ) {
177
+ $geolocation['country'] = self::geolocate_via_api( $ip_address );
178
+ }
179
+
180
+ // It's possible that we're in a local environment, in which case the geolocation needs to be done from the
181
+ // external address.
182
+ if ( '' === $geolocation['country'] && $fallback ) {
183
+ $external_ip_address = self::get_external_ip_address();
184
+
185
+ // Only bother with this if the external IP differs.
186
+ if ( '0.0.0.0' !== $external_ip_address && $external_ip_address !== $ip_address ) {
187
+ return self::geolocate_ip( $external_ip_address, false, $api_fallback );
188
  }
189
  }
190
 
191
  return array(
192
+ 'country' => $geolocation['country'],
193
+ 'state' => $geolocation['state'],
194
+ 'city' => $geolocation['city'],
195
+ 'postcode' => $geolocation['postcode'],
196
  );
197
  }
198
 
199
  /**
200
  * Path to our local db.
201
  *
202
+ * @deprecated 3.9.0
203
  * @param string $deprecated Deprecated since 3.4.0.
204
  * @return string
205
  */
206
  public static function get_local_database_path( $deprecated = '2' ) {
207
+ wc_deprecated_function( 'WC_Geolocation::get_local_database_path', '3.9.0' );
208
+ $integration = wc()->integrations->get_integration( 'maxmind_geolocation' );
209
+ return $integration->get_database_service()->get_database_path();
210
  }
211
 
212
  /**
213
  * Update geoip database.
214
  *
215
+ * @deprecated 3.9.0
216
  * Extract files with PharData. Tool built into PHP since 5.3.
217
  */
218
  public static function update_database() {
219
+ wc_deprecated_function( 'WC_Geolocation::update_database', '3.9.0' );
220
+ $integration = wc()->integrations->get_integration( 'maxmind_geolocation' );
221
+ $integration->update_database();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  }
223
 
224
  /**
225
+ * Fetches the country code from the request headers, if one is available.
226
  *
227
+ * @since 3.9.0
228
+ * @return string The country code pulled from the headers, or empty string if one was not found.
 
229
  */
230
+ private static function get_country_code_from_headers() {
231
+ $country_code = '';
232
+
233
+ $headers = array(
234
+ 'MM_COUNTRY_CODE',
235
+ 'GEOIP_COUNTRY_CODE',
236
+ 'HTTP_CF_IPCOUNTRY',
237
+ 'HTTP_X_COUNTRY_CODE',
238
+ );
239
+
240
+ foreach ( $headers as $header ) {
241
+ if ( empty( $_SERVER[ $header ] ) ) {
242
+ continue;
243
+ }
244
 
245
+ $country_code = strtoupper( sanitize_text_field( wp_unslash( $_SERVER[ $header ] ) ) );
246
+ break;
247
+ }
248
 
249
+ return $country_code;
250
  }
251
 
252
  /**
307
 
308
  return $country_code;
309
  }
 
310
 
311
+ /**
312
+ * Hook in geolocation functionality.
313
+ *
314
+ * @deprecated 3.9.0
315
+ * @return null
316
+ */
317
+ public static function init() {
318
+ wc_deprecated_function( 'WC_Geolocation::init', '3.9.0' );
319
+ return null;
320
+ }
321
+
322
+ /**
323
+ * Prevent geolocation via MaxMind when using legacy versions of php.
324
+ *
325
+ * @deprecated 3.9.0
326
+ * @since 3.4.0
327
+ * @param string $default_customer_address current value.
328
+ * @return string
329
+ */
330
+ public static function disable_geolocation_on_legacy_php( $default_customer_address ) {
331
+ wc_deprecated_function( 'WC_Geolocation::disable_geolocation_on_legacy_php', '3.9.0' );
332
+
333
+ if ( self::is_geolocation_enabled( $default_customer_address ) ) {
334
+ $default_customer_address = 'base';
335
+ }
336
+
337
+ return $default_customer_address;
338
+ }
339
+
340
+ /**
341
+ * Maybe trigger a DB update for the first time.
342
+ *
343
+ * @deprecated 3.9.0
344
+ * @param string $new_value New value.
345
+ * @param string $old_value Old value.
346
+ * @return string
347
+ */
348
+ public static function maybe_update_database( $new_value, $old_value ) {
349
+ wc_deprecated_function( 'WC_Geolocation::maybe_update_database', '3.9.0' );
350
+ if ( $new_value !== $old_value && self::is_geolocation_enabled( $new_value ) ) {
351
+ self::update_database();
352
+ }
353
+
354
+ return $new_value;
355
+ }
356
+ }
includes/class-wc-install.php CHANGED
@@ -135,6 +135,11 @@ class WC_Install {
135
  'wc_update_370_mro_std_currency',
136
  'wc_update_370_db_version',
137
  ),
 
 
 
 
 
138
  );
139
 
140
  /**
@@ -421,6 +426,10 @@ class WC_Install {
421
  'interval' => 2635200,
422
  'display' => __( 'Monthly', 'woocommerce' ),
423
  );
 
 
 
 
424
  return $schedules;
425
  }
426
 
@@ -449,11 +458,8 @@ class WC_Install {
449
  wp_schedule_event( time(), 'daily', 'woocommerce_cleanup_personal_data' );
450
  wp_schedule_event( time() + ( 3 * HOUR_IN_SECONDS ), 'daily', 'woocommerce_cleanup_logs' );
451
  wp_schedule_event( time() + ( 6 * HOUR_IN_SECONDS ), 'twicedaily', 'woocommerce_cleanup_sessions' );
452
- wp_schedule_event( strtotime( 'first tuesday of next month' ), 'monthly', 'woocommerce_geoip_updater' );
453
  wp_schedule_event( time() + 10, apply_filters( 'woocommerce_tracker_event_recurrence', 'daily' ), 'woocommerce_tracker_send_event' );
454
-
455
- // Trigger GeoLite2 database download after 1 minute.
456
- wp_schedule_single_event( time() + ( MINUTE_IN_SECONDS * 1 ), 'woocommerce_geoip_updater' );
457
  }
458
 
459
  /**
@@ -970,7 +976,7 @@ CREATE TABLE {$wpdb->prefix}wc_tax_rate_classes (
970
  $tables = self::get_tables();
971
 
972
  foreach ( $tables as $table ) {
973
- $wpdb->query( "DROP TABLE IF EXISTS {$table}" ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
974
  }
975
  }
976
 
135
  'wc_update_370_mro_std_currency',
136
  'wc_update_370_db_version',
137
  ),
138
+ '3.9.0' => array(
139
+ 'wc_update_390_move_maxmind_database',
140
+ 'wc_update_390_change_geolocation_database_update_cron',
141
+ 'wc_update_390_db_version',
142
+ ),
143
  );
144
 
145
  /**
426
  'interval' => 2635200,
427
  'display' => __( 'Monthly', 'woocommerce' ),
428
  );
429
+ $schedules['fifteendays'] = array(
430
+ 'interval' => 1296000,
431
+ 'display' => __( 'Every 15 Days', 'woocommerce' ),
432
+ );
433
  return $schedules;
434
  }
435
 
458
  wp_schedule_event( time(), 'daily', 'woocommerce_cleanup_personal_data' );
459
  wp_schedule_event( time() + ( 3 * HOUR_IN_SECONDS ), 'daily', 'woocommerce_cleanup_logs' );
460
  wp_schedule_event( time() + ( 6 * HOUR_IN_SECONDS ), 'twicedaily', 'woocommerce_cleanup_sessions' );
461
+ wp_schedule_event( time() + MINUTE_IN_SECONDS, 'fifteendays', 'woocommerce_geoip_updater' );
462
  wp_schedule_event( time() + 10, apply_filters( 'woocommerce_tracker_event_recurrence', 'daily' ), 'woocommerce_tracker_send_event' );
 
 
 
463
  }
464
 
465
  /**
976
  $tables = self::get_tables();
977
 
978
  foreach ( $tables as $table ) {
979
+ $wpdb->query( "DROP TABLE IF EXISTS {$table}" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
980
  }
981
  }
982
 
includes/class-wc-integrations.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * Loads Integrations into WooCommerce.
6
  *
7
- * @version 2.3.0
8
  * @package WooCommerce/Classes/Integrations
9
  */
10
 
@@ -29,7 +29,11 @@ class WC_Integrations {
29
 
30
  do_action( 'woocommerce_integrations_init' );
31
 
32
- $load_integrations = apply_filters( 'woocommerce_integrations', array() );
 
 
 
 
33
 
34
  // Load integration classes.
35
  foreach ( $load_integrations as $integration ) {
@@ -48,4 +52,19 @@ class WC_Integrations {
48
  public function get_integrations() {
49
  return $this->integrations;
50
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  }
4
  *
5
  * Loads Integrations into WooCommerce.
6
  *
7
+ * @version 3.9.0
8
  * @package WooCommerce/Classes/Integrations
9
  */
10
 
29
 
30
  do_action( 'woocommerce_integrations_init' );
31
 
32
+ $load_integrations = array(
33
+ 'WC_Integration_MaxMind_Geolocation',
34
+ );
35
+
36
+ $load_integrations = apply_filters( 'woocommerce_integrations', $load_integrations );
37
 
38
  // Load integration classes.
39
  foreach ( $load_integrations as $integration ) {
52
  public function get_integrations() {
53
  return $this->integrations;
54
  }
55
+
56
+ /**
57
+ * Return a desired integration.
58
+ *
59
+ * @since 3.9.0
60
+ * @param string $id The id of the integration to get.
61
+ * @return mixed|null The integration if one is found, otherwise null.
62
+ */
63
+ public function get_integration( $id ) {
64
+ if ( isset( $this->integrations[ $id ] ) ) {
65
+ return $this->integrations[ $id ];
66
+ }
67
+
68
+ return null;
69
+ }
70
  }
includes/data-stores/class-wc-coupon-data-store-cpt.php CHANGED
@@ -284,14 +284,22 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
284
  * Increase usage count for current coupon.
285
  *
286
  * @since 3.0.0
287
- * @param WC_Coupon $coupon Coupon object.
288
- * @param string $used_by Either user ID or billing email.
 
 
289
  * @return int New usage count.
290
  */
291
- public function increase_usage_count( &$coupon, $used_by = '' ) {
 
 
 
 
 
292
  $new_count = $this->update_usage_count_meta( $coupon, 'increase' );
 
293
  if ( $used_by ) {
294
- add_post_meta( $coupon->get_id(), '_used_by', strtolower( $used_by ) );
295
  $coupon->set_used_by( (array) get_post_meta( $coupon->get_id(), '_used_by' ) );
296
  }
297
 
@@ -300,6 +308,36 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
300
  return $new_count;
301
  }
302
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  /**
304
  * Decrease usage count for current coupon.
305
  *
@@ -316,7 +354,13 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
316
  * We're doing this the long way because `delete_post_meta( $id, $key, $value )` deletes.
317
  * all instances where the key and value match, and we only want to delete one.
318
  */
319
- $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_used_by' AND meta_value = %s AND post_id = %d LIMIT 1;", $used_by, $coupon->get_id() ) );
 
 
 
 
 
 
320
  if ( $meta_id ) {
321
  delete_metadata_by_mid( 'post', $meta_id );
322
  $coupon->set_used_by( (array) get_post_meta( $coupon->get_id(), '_used_by' ) );
@@ -344,7 +388,7 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
344
  add_post_meta( $id, 'usage_count', $coupon->get_usage_count( 'edit' ), true );
345
  $wpdb->query(
346
  $wpdb->prepare(
347
- // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
348
  "UPDATE $wpdb->postmeta SET meta_value = meta_value {$operator} 1 WHERE meta_key = 'usage_count' AND post_id = %d;",
349
  $id
350
  )
@@ -354,6 +398,20 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
354
  return (int) $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'usage_count' AND post_id = %d;", $id ) );
355
  }
356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
  /**
358
  * Get the number of uses for a coupon by user ID.
359
  *
@@ -364,7 +422,15 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
364
  */
365
  public function get_usage_by_user_id( &$coupon, $user_id ) {
366
  global $wpdb;
367
- return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( meta_id ) FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_used_by' AND meta_value = %d;", $coupon->get_id(), $user_id ) );
 
 
 
 
 
 
 
 
368
  }
369
 
370
  /**
@@ -377,7 +443,231 @@ class WC_Coupon_Data_Store_CPT extends WC_Data_Store_WP implements WC_Coupon_Dat
377
  */
378
  public function get_usage_by_email( &$coupon, $email ) {
379
  global $wpdb;
380
- return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( meta_id ) FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_used_by' AND meta_value = %s;", $coupon->get_id(), $email ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
  }
382
 
383
  /**
284
  * Increase usage count for current coupon.
285
  *
286
  * @since 3.0.0
287
+ * @param WC_Coupon $coupon Coupon object.
288
+ * @param string $used_by Either user ID or billing email.
289
+ * @param WC_Order $order (Optional) If passed, clears the hold record associated with order.
290
+
291
  * @return int New usage count.
292
  */
293
+ public function increase_usage_count( &$coupon, $used_by = '', $order = null ) {
294
+ $coupon_held_key_for_user = '';
295
+ if ( $order instanceof WC_Order ) {
296
+ $coupon_held_key_for_user = $order->get_data_store()->get_coupon_held_keys_for_users( $order, $coupon->get_id() );
297
+ }
298
+
299
  $new_count = $this->update_usage_count_meta( $coupon, 'increase' );
300
+
301
  if ( $used_by ) {
302
+ $this->add_coupon_used_by( $coupon, $used_by, $coupon_held_key_for_user );
303
  $coupon->set_used_by( (array) get_post_meta( $coupon->get_id(), '_used_by' ) );
304
  }
305
 
308
  return $new_count;
309
  }
310
 
311
+ /**
312
+ * Helper function to add a `_used_by` record to track coupons used by the user.
313
+ *
314
+ * @param WC_Coupon $coupon Coupon object.
315
+ * @param string $used_by Either user ID or billing email.
316
+ * @param string $coupon_held_key (Optional) Update meta key to `_used_by` instead of adding a new record.
317
+ */
318
+ private function add_coupon_used_by( $coupon, $used_by, $coupon_held_key ) {
319
+ global $wpdb;
320
+ if ( $coupon_held_key && '' !== $coupon_held_key ) {
321
+ // Looks like we added a tentative record for this coupon getting used.
322
+ // Lets change the tentative record to a permanent one.
323
+ $result = $wpdb->query(
324
+ $wpdb->prepare(
325
+ "
326
+ UPDATE $wpdb->postmeta SET meta_key = %s, meta_value = %s WHERE meta_key = %s LIMIT 1",
327
+ '_used_by',
328
+ $used_by,
329
+ $coupon_held_key
330
+ )
331
+ );
332
+ if ( ! $result ) {
333
+ // If no rows were updated, then insert a `_used_by` row manually to maintain consistency.
334
+ add_post_meta( $coupon->get_id(), '_used_by', strtolower( $used_by ) );
335
+ }
336
+ } else {
337
+ add_post_meta( $coupon->get_id(), '_used_by', strtolower( $used_by ) );
338
+ }
339
+ }
340
+
341
  /**
342
  * Decrease usage count for current coupon.
343
  *
354
  * We're doing this the long way because `delete_post_meta( $id, $key, $value )` deletes.
355
  * all instances where the key and value match, and we only want to delete one.
356
  */
357
+ $meta_id = $wpdb->get_var(
358
+ $wpdb->prepare(
359
+ "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_used_by' AND meta_value = %s AND post_id = %d LIMIT 1;",
360
+ $used_by,
361
+ $coupon->get_id()
362
+ )
363
+ );
364
  if ( $meta_id ) {
365
  delete_metadata_by_mid( 'post', $meta_id );
366
  $coupon->set_used_by( (array) get_post_meta( $coupon->get_id(), '_used_by' ) );
388
  add_post_meta( $id, 'usage_count', $coupon->get_usage_count( 'edit' ), true );
389
  $wpdb->query(
390
  $wpdb->prepare(
391
+ // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
392
  "UPDATE $wpdb->postmeta SET meta_value = meta_value {$operator} 1 WHERE meta_key = 'usage_count' AND post_id = %d;",
393
  $id
394
  )
398
  return (int) $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'usage_count' AND post_id = %d;", $id ) );
399
  }
400
 
401
+ /**
402
+ * Returns tentative usage count for coupon.
403
+ *
404
+ * @param int $coupon_id Coupon ID.
405
+ *
406
+ * @return int Tentative usage count.
407
+ */
408
+ public function get_tentative_usage_count( $coupon_id ) {
409
+ global $wpdb;
410
+ return $wpdb->get_var(
411
+ // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
412
+ $this->get_tentative_usage_query( $coupon_id )
413
+ );
414
+ }
415
  /**
416
  * Get the number of uses for a coupon by user ID.
417
  *
422
  */
423
  public function get_usage_by_user_id( &$coupon, $user_id ) {
424
  global $wpdb;
425
+ $usage_count = $wpdb->get_var(
426
+ $wpdb->prepare(
427
+ "SELECT COUNT( meta_id ) FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_used_by' AND meta_value = %d;",
428
+ $coupon->get_id(),
429
+ $user_id
430
+ )
431
+ );
432
+ $tentative_usage_count = $this->get_tentative_usages_for_user( $coupon->get_id(), array( $user_id ) );
433
+ return $tentative_usage_count + $usage_count;
434
  }
435
 
436
  /**
443
  */
444
  public function get_usage_by_email( &$coupon, $email ) {
445
  global $wpdb;
446
+ $usage_count = $wpdb->get_var(
447
+ $wpdb->prepare(
448
+ "SELECT COUNT( meta_id ) FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_used_by' AND meta_value = %s;",
449
+ $coupon->get_id(),
450
+ $email
451
+ )
452
+ );
453
+ $tentative_usage_count = $this->get_tentative_usages_for_user( $coupon->get_id(), array( $email ) );
454
+ return $tentative_usage_count + $usage_count;
455
+ }
456
+
457
+ /**
458
+ * Get tentative coupon usages for user.
459
+ *
460
+ * @param int $coupon_id Coupon ID.
461
+ * @param array $user_aliases Array of user aliases to check tentative usages for.
462
+ *
463
+ * @return string|null
464
+ */
465
+ public function get_tentative_usages_for_user( $coupon_id, $user_aliases ) {
466
+ global $wpdb;
467
+ return $wpdb->get_var(
468
+ $this->get_tentative_usage_query_for_user( $coupon_id, $user_aliases )
469
+ ); // WPCS: unprepared SQL ok.
470
+
471
+ }
472
+
473
+ /**
474
+ * Get held time for resources before cancelling the order. Use 60 minutes as sane default.
475
+ * Note that the filter `woocommerce_coupon_hold_minutes` only support minutes because it's getting used elsewhere as well, however this function returns in seconds.
476
+ *
477
+ * @return int
478
+ */
479
+ private function get_tentative_held_time() {
480
+ return apply_filters( 'woocommerce_coupon_hold_minutes', ( (int) get_option( 'woocommerce_hold_stock_minutes', 60 ) ) ) * 60;
481
+ }
482
+
483
+ /**
484
+ * Check and records coupon usage tentatively for short period of time so that counts validation is correct. Returns early if there is no limit defined for the coupon.
485
+ *
486
+ * @param WC_Coupon $coupon Coupon object.
487
+ *
488
+ * @return bool|int|string|null Returns meta key if coupon was held, null if returned early.
489
+ */
490
+ public function check_and_hold_coupon( $coupon ) {
491
+ global $wpdb;
492
+
493
+ $usage_limit = $coupon->get_usage_limit();
494
+ $held_time = $this->get_tentative_held_time();
495
+
496
+ if ( 0 >= $usage_limit || 0 >= $held_time ) {
497
+ return null;
498
+ }
499
+
500
+ if ( ! apply_filters( 'woocommerce_hold_stock_for_checkout', true ) ) {
501
+ return null;
502
+ }
503
+
504
+ $query_for_usages = $wpdb->prepare(
505
+ "
506
+ SELECT meta_value from $wpdb->postmeta
507
+ WHERE {$wpdb->postmeta}.meta_key = 'usage_count'
508
+ AND {$wpdb->postmeta}.post_id = %d
509
+ LIMIT 1
510
+ FOR UPDATE
511
+ ",
512
+ $coupon->get_id()
513
+ );
514
+
515
+ $query_for_tentative_usages = $this->get_tentative_usage_query( $coupon->get_id() );
516
+ $db_timestamp = $wpdb->get_var( 'SELECT UNIX_TIMESTAMP() FROM DUAL' );
517
+
518
+ $coupon_usage_key = '_coupon_held_' . ( (int) $db_timestamp + $held_time ) . '_' . wp_generate_password( 6, false );
519
+
520
+ $insert_statement = $wpdb->prepare(
521
+ "
522
+ INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value )
523
+ SELECT %d, %s, %s FROM DUAL
524
+ WHERE ( $query_for_usages ) + ( $query_for_tentative_usages ) < %d
525
+ ",
526
+ $coupon->get_id(),
527
+ $coupon_usage_key,
528
+ '',
529
+ $usage_limit
530
+ ); // WPCS: unprepared SQL ok.
531
+
532
+ /**
533
+ * In some cases, specifically when there is a combined index on post_id,meta_key, the insert statement above could end up in a deadlock.
534
+ * We will try to insert 3 times before giving up to recover from deadlock.
535
+ */
536
+ for ( $count = 0; $count < 3; $count++ ) {
537
+ $result = $wpdb->query( $insert_statement ); // WPCS: unprepared SQL ok.
538
+ if ( false !== $result ) {
539
+ break;
540
+ }
541
+ }
542
+
543
+ return $result > 0 ? $coupon_usage_key : $result;
544
+ }
545
+
546
+ /**
547
+ * Generate query to calculate tentative usages for the coupon.
548
+ *
549
+ * @param int $coupon_id Coupon ID to get tentative usage query for.
550
+ *
551
+ * @return string Query for tentative usages.
552
+ */
553
+ private function get_tentative_usage_query( $coupon_id ) {
554
+ global $wpdb;
555
+ return $wpdb->prepare(
556
+ "
557
+ SELECT COUNT(meta_id) FROM $wpdb->postmeta
558
+ WHERE {$wpdb->postmeta}.meta_key like %s
559
+ AND {$wpdb->postmeta}.meta_key > %s
560
+ AND {$wpdb->postmeta}.post_id = %d
561
+ FOR UPDATE
562
+ ",
563
+ array(
564
+ '_coupon_held_%',
565
+ '_coupon_held_' . time(),
566
+ $coupon_id,
567
+ )
568
+ ); // WPCS: unprepared SQL ok.
569
+ }
570
+
571
+ /**
572
+ * Check and records coupon usage tentatively for passed user aliases for short period of time so that counts validation is correct. Returns early if there is no limit per user for the coupon.
573
+ *
574
+ * @param WC_Coupon $coupon Coupon object.
575
+ * @param array $user_aliases Emails or Ids to check for user.
576
+ * @param string $user_alias Email/ID to use as `used_by` value.
577
+ *
578
+ * @return null|false|int
579
+ */
580
+ public function check_and_hold_coupon_for_user( $coupon, $user_aliases, $user_alias ) {
581
+ global $wpdb;
582
+ $limit_per_user = $coupon->get_usage_limit_per_user();
583
+ $held_time = $this->get_tentative_held_time();
584
+
585
+ if ( 0 >= $limit_per_user || 0 >= $held_time ) {
586
+ // This coupon do not have any restriction for usage per customer. No need to check further, lets bail.
587
+ return null;
588
+ }
589
+
590
+ if ( ! apply_filters( 'woocommerce_hold_stock_for_checkout', true ) ) {
591
+ return null;
592
+ }
593
+
594
+ $format = implode( "','", array_fill( 0, count( $user_aliases ), '%s' ) );
595
+
596
+ $query_for_usages = $wpdb->prepare(
597
+ "
598
+ SELECT COUNT(*) FROM $wpdb->postmeta
599
+ WHERE {$wpdb->postmeta}.meta_key = '_used_by'
600
+ AND {$wpdb->postmeta}.meta_value IN ('$format')
601
+ AND {$wpdb->postmeta}.post_id = %d
602
+ FOR UPDATE
603
+ ",
604
+ array_merge(
605
+ $user_aliases,
606
+ array( $coupon->get_id() )
607
+ )
608
+ ); // WPCS: unprepared SQL ok.
609
+
610
+ $query_for_tentative_usages = $this->get_tentative_usage_query_for_user( $coupon->get_id(), $user_aliases );
611
+ $db_timestamp = $wpdb->get_var( 'SELECT UNIX_TIMESTAMP() FROM DUAL' );
612
+
613
+ $coupon_used_by_meta_key = '_maybe_used_by_' . ( (int) $db_timestamp + $held_time ) . '_' . wp_generate_password( 6, false );
614
+ $insert_statement = $wpdb->prepare(
615
+ "
616
+ INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value )
617
+ SELECT %d, %s, %s FROM DUAL
618
+ WHERE ( $query_for_usages ) + ( $query_for_tentative_usages ) < %d
619
+ ",
620
+ $coupon->get_id(),
621
+ $coupon_used_by_meta_key,
622
+ $user_alias,
623
+ $limit_per_user
624
+ ); // WPCS: unprepared SQL ok.
625
+
626
+ // This query can potentially be deadlocked if a combined index on post_id and meta_key is present and there is
627
+ // high concurrency, in which case DB will abort the query which has done less work to resolve deadlock.
628
+ // We will try up to 3 times before giving up.
629
+ for ( $count = 0; $count < 3; $count++ ) {
630
+ $result = $wpdb->query( $insert_statement ); // WPCS: unprepared SQL ok.
631
+ if ( false !== $result ) {
632
+ break;
633
+ }
634
+ }
635
+
636
+ return $result > 0 ? $coupon_used_by_meta_key : $result;
637
+ }
638
+
639
+ /**
640
+ * Generate query to calculate tentative usages for the coupon by the user.
641
+ *
642
+ * @param int $coupon_id Coupon ID.
643
+ * @param array $user_aliases List of user aliases to check for usages.
644
+ *
645
+ * @return string Tentative usages query.
646
+ */
647
+ private function get_tentative_usage_query_for_user( $coupon_id, $user_aliases ) {
648
+ global $wpdb;
649
+
650
+ $format = implode( "','", array_fill( 0, count( $user_aliases ), '%s' ) );
651
+
652
+ // Note that if you are debugging, `_maybe_used_by_%` will be converted to `_maybe_used_by_{...very long str...}` to very long string. This is expected, and is automatically corrected while running the insert query.
653
+ return $wpdb->prepare(
654
+ "
655
+ SELECT COUNT( meta_id ) FROM $wpdb->postmeta
656
+ WHERE {$wpdb->postmeta}.meta_key like %s
657
+ AND {$wpdb->postmeta}.meta_key > %s
658
+ AND {$wpdb->postmeta}.post_id = %d
659
+ AND {$wpdb->postmeta}.meta_value IN ('$format')
660
+ FOR UPDATE
661
+ ",
662
+ array_merge(
663
+ array(
664
+ '_maybe_used_by_%',
665
+ '_maybe_used_by_' . time(),
666
+ $coupon_id,
667
+ ),
668
+ $user_aliases
669
+ )
670
+ ); // WPCS: unprepared SQL ok.
671
  }
672
 
673
  /**
includes/data-stores/class-wc-customer-data-store.php CHANGED
@@ -485,4 +485,28 @@ class WC_Customer_Data_Store extends WC_Data_Store_WP implements WC_Customer_Dat
485
 
486
  return $results;
487
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
  }
485
 
486
  return $results;
487
  }
488
+
489
+ /**
490
+ * Get all user ids who have `billing_email` set to any of the email passed in array.
491
+ *
492
+ * @param array $emails List of emails to check against.
493
+ *
494
+ * @return array
495
+ */
496
+ public function get_user_ids_for_billing_email( $emails ) {
497
+ $emails = array_unique( array_map( 'strtolower', array_map( 'sanitize_email', $emails ) ) );
498
+ $users_query = new WP_User_Query(
499
+ array(
500
+ 'fields' => 'ID',
501
+ 'meta_query' => array(
502
+ array(
503
+ 'key' => 'billing_email',
504
+ 'value' => $emails,
505
+ 'compare' => 'IN',
506
+ ),
507
+ ),
508
+ )
509
+ );
510
+ return array_unique( $users_query->get_results() );
511
+ }
512
  }
includes/data-stores/class-wc-order-data-store-cpt.php CHANGED
@@ -478,7 +478,7 @@ class WC_Order_Data_Store_CPT extends Abstract_WC_Order_Data_Store_CPT implement
478
  AND posts.post_status = 'wc-pending'
479
  AND posts.post_modified < %s",
480
  // @codingStandardsIgnoreEnd
481
- date( 'Y-m-d H:i:s', absint( $date ) )
482
  )
483
  );
484
 
@@ -610,6 +610,87 @@ class WC_Order_Data_Store_CPT extends Abstract_WC_Order_Data_Store_CPT implement
610
  update_post_meta( $order_id, '_recorded_coupon_usage_counts', wc_bool_to_string( $set ) );
611
  }
612
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613
  /**
614
  * Gets information about whether stock was reduced.
615
  *
478
  AND posts.post_status = 'wc-pending'
479
  AND posts.post_modified < %s",
480
  // @codingStandardsIgnoreEnd
481
+ gmdate( 'Y-m-d H:i:s', absint( $date ) )
482
  )
483
  );
484
 
610
  update_post_meta( $order_id, '_recorded_coupon_usage_counts', wc_bool_to_string( $set ) );
611
  }
612
 
613
+ /**
614
+ * Return array of coupon_code => meta_key for coupon which have usage limit and have tentative keys.
615
+ * Pass $coupon_id if key for only one of the coupon is needed.
616
+ *
617
+ * @param WC_Order $order Order object.
618
+ * @param int $coupon_id If passed, will return held key for that coupon.
619
+ *
620
+ * @return array|string Key value pair for coupon code and meta key name. If $coupon_id is passed, returns meta_key for only that coupon.
621
+ */
622
+ public function get_coupon_held_keys( $order, $coupon_id = null ) {
623
+ $held_keys = $order->get_meta( '_coupon_held_keys' );
624
+ if ( $coupon_id ) {
625
+ return isset( $held_keys[ $coupon_id ] ) ? $held_keys[ $coupon_id ] : null;
626
+ }
627
+ return $held_keys;
628
+ }
629
+
630
+ /**
631
+ * Return array of coupon_code => meta_key for coupon which have usage limit per customer and have tentative keys.
632
+ *
633
+ * @param WC_Order $order Order object.
634
+ * @param int $coupon_id If passed, will return held key for that coupon.
635
+ *
636
+ * @return mixed
637
+ */
638
+ public function get_coupon_held_keys_for_users( $order, $coupon_id = null ) {
639
+ $held_keys_for_user = $order->get_meta( '_coupon_held_keys_for_users' );
640
+ if ( $coupon_id ) {
641
+ return isset( $held_keys_for_user[ $coupon_id ] ) ? $held_keys_for_user[ $coupon_id ] : null;
642
+ }
643
+ return $held_keys_for_user;
644
+ }
645
+
646
+ /**
647
+ * Add/Update list of meta keys that are currently being used by this order to hold a coupon.
648
+ * This is used to figure out what all meta entries we should delete when order is cancelled/completed.
649
+ *
650
+ * @param WC_Order $order Order object.
651
+ * @param array $held_keys Array of coupon_code => meta_key.
652
+ * @param array $held_keys_for_user Array of coupon_code => meta_key for held coupon for user.
653
+ *
654
+ * @return mixed
655
+ */
656
+ public function set_coupon_held_keys( $order, $held_keys, $held_keys_for_user ) {
657
+ if ( is_array( $held_keys ) && 0 < count( $held_keys ) ) {
658
+ $order->update_meta_data( '_coupon_held_keys', $held_keys );
659
+ }
660
+ if ( is_array( $held_keys_for_user ) && 0 < count( $held_keys_for_user ) ) {
661
+ $order->update_meta_data( '_coupon_held_keys_for_users', $held_keys_for_user );
662
+ }
663
+ }
664
+
665
+ /**
666
+ * Release all coupons held by this order.
667
+ *
668
+ * @param WC_Order $order Current order object.
669
+ * @param bool $save Whether to delete keys from DB right away. Could be useful to pass `false` if you are building a bulk request.
670
+ */
671
+ public function release_held_coupons( $order, $save = true ) {
672
+ $coupon_held_keys = $this->get_coupon_held_keys( $order );
673
+ if ( is_array( $coupon_held_keys ) ) {
674
+ foreach ( $coupon_held_keys as $coupon_id => $meta_key ) {
675
+ delete_post_meta( $coupon_id, $meta_key );
676
+ }
677
+ }
678
+ $order->delete_meta_data( '_coupon_held_keys' );
679
+
680
+ $coupon_held_keys_for_users = $this->get_coupon_held_keys_for_users( $order );
681
+ if ( is_array( $coupon_held_keys_for_users ) ) {
682
+ foreach ( $coupon_held_keys_for_users as $coupon_id => $meta_key ) {
683
+ delete_post_meta( $coupon_id, $meta_key );
684
+ }
685
+ }
686
+ $order->delete_meta_data( '_coupon_held_keys_for_users' );
687
+
688
+ if ( $save ) {
689
+ $order->save_meta_data();
690
+ }
691
+
692
+ }
693
+
694
  /**
695
  * Gets information about whether stock was reduced.
696
  *
includes/data-stores/class-wc-product-variation-data-store-cpt.php CHANGED
@@ -37,7 +37,7 @@ class WC_Product_Variation_Data_Store_CPT extends WC_Product_Data_Store_CPT impl
37
  *
38
  * @since 3.0.0
39
  * @param WC_Product_Variation $product Product object.
40
- * @throws WC_Data_Exception If WC_Product::set_tax_status() is called with an invalid tax status (via read_product_data).
41
  */
42
  public function read( &$product ) {
43
  $product->set_defaults();
@@ -53,7 +53,7 @@ class WC_Product_Variation_Data_Store_CPT extends WC_Product_Data_Store_CPT impl
53
  }
54
 
55
  if ( 'product_variation' !== $post_object->post_type ) {
56
- throw new Exception( 'Invalid product type: passed ID does not correspond to a product variation.' );
57
  }
58
 
59
  $product->set_props(
37
  *
38
  * @since 3.0.0
39
  * @param WC_Product_Variation $product Product object.
40
+ * @throws WC_Data_Exception If WC_Product::set_tax_status() is called with an invalid tax status (via read_product_data), or when passing an invalid ID.
41
  */
42
  public function read( &$product ) {
43
  $product->set_defaults();
53
  }
54
 
55
  if ( 'product_variation' !== $post_object->post_type ) {
56
+ throw new WC_Data_Exception( 'variation_invalid_id', __( 'Invalid product type: passed ID does not correspond to a product variation.', 'woocommerce' ) );
57
  }
58
 
59
  $product->set_props(
includes/import/abstract-wc-product-importer.php CHANGED
@@ -173,7 +173,21 @@ abstract class WC_Product_Importer implements WC_Importer_Interface {
173
  return new WP_Error( 'woocommerce_product_importer_invalid_type', __( 'Invalid product type.', 'woocommerce' ), array( 'status' => 401 ) );
174
  }
175
 
176
- $product = wc_get_product_object( $data['type'], $id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  } elseif ( ! empty( $data['id'] ) ) {
178
  $product = wc_get_product( $id );
179
 
173
  return new WP_Error( 'woocommerce_product_importer_invalid_type', __( 'Invalid product type.', 'woocommerce' ), array( 'status' => 401 ) );
174
  }
175
 
176
+ try {
177
+ // Prevent getting "variation_invalid_id" error message from Variation Data Store.
178
+ if ( 'variation' === $data['type'] ) {
179
+ $id = wp_update_post(
180
+ array(
181
+ 'ID' => $id,
182
+ 'post_type' => 'product_variation',
183
+ )
184
+ );
185
+ }
186
+
187
+ $product = wc_get_product_object( $data['type'], $id );
188
+ } catch ( WC_Data_Exception $e ) {
189
+ return new WP_Error( 'woocommerce_product_csv_importer_' . $e->getErrorCode(), $e->getMessage(), array( 'status' => 401 ) );
190
+ }
191
  } elseif ( ! empty( $data['id'] ) ) {
192
  $product = wc_get_product( $id );
193
 
includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The database service class file.
4
+ *
5
+ * @version 3.9.0
6
+ * @package WooCommerce/Integrations
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ /**
12
+ * The service class responsible for interacting with MaxMind databases.
13
+ *
14
+ * @since 3.9.0
15
+ */
16
+ class WC_Integration_MaxMind_Database_Service {
17
+
18
+ /**
19
+ * The name of the MaxMind database to utilize.
20
+ */
21
+ const DATABASE = 'GeoLite2-Country';
22
+
23
+ /**
24
+ * The extension for the MaxMind database.
25
+ */
26
+ const DATABASE_EXTENSION = '.mmdb';
27
+
28
+ /**
29
+ * A prefix for the MaxMind database filename.
30
+ *
31
+ * @var string
32
+ */
33
+ private $database_prefix;
34
+
35
+ /**
36
+ * WC_Integration_MaxMind_Database_Service constructor.
37
+ *
38
+ * @param string|null $database_prefix A prefix for the MaxMind database filename.
39
+ */
40
+ public function __construct( $database_prefix ) {
41
+ $this->database_prefix = $database_prefix;
42
+ }
43
+
44
+ /**
45
+ * Fetches the path that the database should be stored.
46
+ *
47
+ * @return string The local database path.
48
+ */
49
+ public function get_database_path() {
50
+ $uploads_dir = wp_upload_dir();
51
+
52
+ $database_path = trailingslashit( $uploads_dir['basedir'] ) . 'woocommerce_uploads/';
53
+ if ( ! empty( $this->database_prefix ) ) {
54
+ $database_path .= $this->database_prefix . '-';
55
+ }
56
+ $database_path .= self::DATABASE . self::DATABASE_EXTENSION;
57
+
58
+ /**
59
+ * Filter the geolocation database storage path.
60
+ *
61
+ * @param string $database_path The path to the database.
62
+ * @param int $version Deprecated since 3.4.0.
63
+ * @deprecated 3.9.0
64
+ */
65
+ $database_path = apply_filters_deprecated(
66
+ 'woocommerce_geolocation_local_database_path',
67
+ array( $database_path, 2 ),
68
+ '3.9.0',
69
+ 'woocommerce_maxmind_geolocation_database_path'
70
+ );
71
+
72
+ /**
73
+ * Filter the geolocation database storage path.
74
+ *
75
+ * @since 3.9.0
76
+ * @param string $database_path The path to the database.
77
+ */
78
+ return apply_filters( 'woocommerce_maxmind_geolocation_database_path', $database_path );
79
+ }
80
+
81
+ /**
82
+ * Fetches the database from the MaxMind service.
83
+ *
84
+ * @param string $license_key The license key to be used when downloading the database.
85
+ * @return string|WP_Error The path to the database file or an error if invalid.
86
+ */
87
+ public function download_database( $license_key ) {
88
+ $download_uri = add_query_arg(
89
+ array(
90
+ 'edition_id' => self::DATABASE,
91
+ 'license_key' => wc_clean( $license_key ),
92
+ 'suffix' => 'tar.gz',
93
+ ),
94
+ 'https://download.maxmind.com/app/geoip_download'
95
+ );
96
+
97
+ // Needed for the download_url call right below.
98
+ require_once ABSPATH . 'wp-admin/includes/file.php';
99
+
100
+ $tmp_archive_path = download_url( $download_uri );
101
+ if ( is_wp_error( $tmp_archive_path ) ) {
102
+ // Transform the error into something more informative.
103
+ $error_data = $tmp_archive_path->get_error_data();
104
+ if ( isset( $error_data['code'] ) ) {
105
+ switch ( $error_data['code'] ) {
106
+ case 401:
107
+ return new WP_Error(
108
+ 'woocommerce_maxmind_geolocation_database_license_key',
109
+ __( 'The MaxMind license key is invalid.', 'woocommerce' )
110
+ );
111
+ }
112
+ }
113
+
114
+ return new WP_Error( 'woocommerce_maxmind_geolocation_database_download', __( 'Failed to download the MaxMind database.', 'woocommerce' ) );
115
+ }
116
+
117
+ // Extract the database from the archive.
118
+ try {
119
+ $file = new PharData( $tmp_archive_path );
120
+
121
+ $tmp_database_path = trailingslashit( dirname( $tmp_archive_path ) ) . trailingslashit( $file->current()->getFilename() ) . self::DATABASE . self::DATABASE_EXTENSION;
122
+
123
+ $file->extractTo(
124
+ dirname( $tmp_archive_path ),
125
+ trailingslashit( $file->current()->getFilename() ) . self::DATABASE . self::DATABASE_EXTENSION,
126
+ true
127
+ );
128
+ } catch ( Exception $exception ) {
129
+ return new WP_Error( 'woocommerce_maxmind_geolocation_database_archive', $exception->getMessage() );
130
+ } finally {
131
+ // Remove the archive since we only care about a single file in it.
132
+ unlink( $tmp_archive_path );
133
+ }
134
+
135
+ return $tmp_database_path;
136
+ }
137
+
138
+ /**
139
+ * Fetches the ISO country code associated with an IP address.
140
+ *
141
+ * @param string $ip_address The IP address to find the country code for.
142
+ * @return string|null The country code for the IP address, or null if none was found.
143
+ */
144
+ public function get_iso_country_code_for_ip( $ip_address ) {
145
+ $country_code = null;
146
+
147
+ if ( ! class_exists( 'MaxMind\Db\Reader' ) ) {
148
+ wc_get_logger()->notice( __( 'Missing MaxMind Reader library!', 'woocommerce' ), array( 'source' => 'maxmind-geolocation' ) );
149
+ return $country_code;
150
+ }
151
+
152
+ try {
153
+ $reader = new MaxMind\Db\Reader( $this->get_database_path() );
154
+ $data = $reader->get( $ip_address );
155
+
156
+ if ( isset( $data['country']['iso_code'] ) ) {
157
+ $country_code = $data['country']['iso_code'];
158
+ }
159
+
160
+ $reader->close();
161
+ } catch ( Exception $e ) {
162
+ wc_get_logger()->notice( $e->getMessage(), array( 'source' => 'maxmind-geolocation' ) );
163
+ }
164
+
165
+ return $country_code;
166
+ }
167
+ }
includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * MaxMind Geolocation Integration
4
+ *
5
+ * @version 3.9.0
6
+ * @package WooCommerce/Integrations
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ require_once 'class-wc-integration-maxmind-database-service.php';
12
+
13
+ /**
14
+ * WC Integration MaxMind Geolocation
15
+ *
16
+ * @since 3.9.0
17
+ */
18
+ class WC_Integration_MaxMind_Geolocation extends WC_Integration {
19
+
20
+ /**
21
+ * The service responsible for interacting with the MaxMind database.
22
+ *
23
+ * @var WC_Integration_MaxMind_Database_Service
24
+ */
25
+ private $database_service;
26
+
27
+ /**
28
+ * Initialize the integration.
29
+ */
30
+ public function __construct() {
31
+ $this->id = 'maxmind_geolocation';
32
+ $this->method_title = __( 'WooCommerce MaxMind Geolocation', 'woocommerce' );
33
+ $this->method_description = __( 'An integration for utilizing MaxMind to do Geolocation lookups. Please note that this integration will only do country lookups.', 'woocommerce' );
34
+
35
+ /**
36
+ * Supports overriding the database service to be used.
37
+ *
38
+ * @since 3.9.0
39
+ * @return mixed|null The geolocation database service.
40
+ */
41
+ $this->database_service = apply_filters( 'woocommerce_maxmind_geolocation_database_service', null );
42
+ if ( null === $this->database_service ) {
43
+ $this->database_service = new WC_Integration_MaxMind_Database_Service( $this->get_database_prefix() );
44
+ }
45
+
46
+ $this->init_form_fields();
47
+ $this->init_settings();
48
+
49
+ // Bind to the save action for the settings.
50
+ add_action( 'woocommerce_update_options_integration_' . $this->id, array( $this, 'process_admin_options' ) );
51
+
52
+ // Trigger notice if license key is missing.
53
+ add_action( 'update_option_woocommerce_default_customer_address', array( $this, 'display_missing_license_key_notice' ), 1000, 2 );
54
+
55
+ /**
56
+ * Allows for the automatic database update to be disabled.
57
+ *
58
+ * @deprecated 3.9.0
59
+ * @return bool Whether or not the database should be updated periodically.
60
+ */
61
+ $bind_updater = apply_filters_deprecated(
62
+ 'woocommerce_geolocation_update_database_periodically',
63
+ array( true ),
64
+ '3.9.0',
65
+ 'woocommerce_maxmind_geolocation_update_database_periodically'
66
+ );
67
+
68
+ /**
69
+ * Allows for the automatic database update to be disabled.
70
+ * Note that MaxMind's TOS requires that the databases be updated or removed periodically.
71
+ *
72
+ * @since 3.9.0
73
+ * @param bool $bind_updater Whether or not the database should be updated periodically.
74
+ */
75
+ $bind_updater = apply_filters( 'woocommerce_maxmind_geolocation_update_database_periodically', $bind_updater );
76
+
77
+ // Bind to the scheduled updater action.
78
+ if ( $bind_updater ) {
79
+ add_action( 'woocommerce_geoip_updater', array( $this, 'update_database' ) );
80
+ }
81
+
82
+ // Bind to the geolocation filter for MaxMind database lookups.
83
+ add_filter( 'woocommerce_get_geolocation', array( $this, 'get_geolocation' ), 10, 2 );
84
+ }
85
+
86
+ /**
87
+ * Override the normal options so we can print the database file path to the admin,
88
+ */
89
+ public function admin_options() {
90
+ parent::admin_options();
91
+
92
+ include dirname( __FILE__ ) . '/views/html-admin-options.php';
93
+ }
94
+
95
+ /**
96
+ * Initializes the settings fields.
97
+ */
98
+ public function init_form_fields() {
99
+ $this->form_fields = array(
100
+ 'license_key' => array(
101
+ 'title' => __( 'MaxMind License Key', 'woocommerce' ),
102
+ 'type' => 'password',
103
+ 'description' => sprintf(
104
+ /* translators: %1$s: Documentation URL */
105
+ __(
106
+ 'The key that will be used when dealing with MaxMind Geolocation services. You can read how to generate one in <a href="%1$s">MaxMind\'s License Key Documentation</a>.',
107
+ 'woocommerce'
108
+ ),
109
+ 'https://support.maxmind.com/account-faq/account-related/how-do-i-generate-a-license-key/'
110
+ ),
111
+ 'desc_tip' => false,
112
+ 'default' => '',
113
+ ),
114
+ );
115
+ }
116
+
117
+ /**
118
+ * Get database service.
119
+ *
120
+ * @return WC_Integration_MaxMind_Database_Service|null
121
+ */
122
+ public function get_database_service() {
123
+ return $this->database_service;
124
+ }
125
+
126
+ /**
127
+ * Checks to make sure that the license key is valid.
128
+ *
129
+ * @param string $key The key of the field.
130
+ * @param mixed $value The value of the field.
131
+ * @return mixed
132
+ * @throws Exception When the license key is invalid.
133
+ */
134
+ public function validate_license_key_field( $key, $value ) {
135
+ // Empty license keys have no need to validate the data.
136
+ if ( empty( $value ) ) {
137
+ return $value;
138
+ }
139
+
140
+ // Check the license key by attempting to download the Geolocation database.
141
+ $tmp_database_path = $this->database_service->download_database( $value );
142
+ if ( is_wp_error( $tmp_database_path ) ) {
143
+ WC_Admin_Settings::add_error( $tmp_database_path->get_error_message() );
144
+
145
+ // Throw an exception to keep from changing this value. This will prevent
146
+ // users from accidentally losing their license key, which cannot
147
+ // be viewed again after generating.
148
+ throw new Exception( $tmp_database_path->get_error_message() );
149
+ }
150
+
151
+ // We may as well put this archive to good use, now that we've downloaded one.
152
+ self::update_database( $tmp_database_path );
153
+
154
+ // Remove missing license key notice.
155
+ $this->remove_missing_license_key_notice();
156
+
157
+ return $value;
158
+ }
159
+
160
+ /**
161
+ * Updates the database used for geolocation queries.
162
+ *
163
+ * @param string|null $new_database_path The path to the new database file. Null will fetch a new archive.
164
+ */
165
+ public function update_database( $new_database_path = null ) {
166
+ // Allow us to easily interact with the filesystem.
167
+ require_once ABSPATH . 'wp-admin/includes/file.php';
168
+ WP_Filesystem();
169
+ global $wp_filesystem;
170
+
171
+ // Remove any existing archives to comply with the MaxMind TOS.
172
+ $target_database_path = $this->database_service->get_database_path();
173
+
174
+ // If there's no database path, we can't store the database.
175
+ if ( empty( $target_database_path ) ) {
176
+ return;
177
+ }
178
+
179
+ if ( $wp_filesystem->exists( $target_database_path ) ) {
180
+ $wp_filesystem->delete( $target_database_path );
181
+ }
182
+
183
+ if ( isset( $new_database_path ) ) {
184
+ $tmp_database_path = $new_database_path;
185
+ } else {
186
+ // We can't download a database if there's no license key configured.
187
+ $license_key = $this->get_option( 'license_key' );
188
+ if ( empty( $license_key ) ) {
189
+ return;
190
+ }
191
+
192
+ $tmp_database_path = $this->database_service->download_database( $license_key );
193
+ if ( is_wp_error( $tmp_database_path ) ) {
194
+ wc_get_logger()->notice( $tmp_database_path->get_error_message(), array( 'source' => 'maxmind-geolocation' ) );
195
+ return;
196
+ }
197
+ }
198
+
199
+ // Move the new database into position.
200
+ $wp_filesystem->move( $tmp_database_path, $target_database_path, true );
201
+ $wp_filesystem->delete( dirname( $tmp_database_path ) );
202
+ }
203
+
204
+ /**
205
+ * Performs a geolocation lookup against the MaxMind database for the given IP address.
206
+ *
207
+ * @param array $data Geolocation data.
208
+ * @param string $ip_address The IP address to geolocate.
209
+ * @return array Geolocation including country code, state, city and postcode based on an IP address.
210
+ */
211
+ public function get_geolocation( $data, $ip_address ) {
212
+ // WooCommerce look for headers first, and at this moment could be just enough.
213
+ if ( ! empty( $data['country'] ) ) {
214
+ return $data;
215
+ }
216
+
217
+ if ( empty( $ip_address ) ) {
218
+ return $data;
219
+ }
220
+
221
+ $country_code = $this->database_service->get_iso_country_code_for_ip( $ip_address );
222
+
223
+ return array(
224
+ 'country' => $country_code ? $country_code : '',
225
+ 'state' => '',
226
+ 'city' => '',
227
+ 'postcode' => '',
228
+ );
229
+ }
230
+
231
+ /**
232
+ * Fetches the prefix for the MaxMind database file.
233
+ *
234
+ * @return string
235
+ */
236
+ private function get_database_prefix() {
237
+ $prefix = $this->get_option( 'database_prefix' );
238
+ if ( empty( $prefix ) ) {
239
+ $prefix = wp_generate_password( 32, false );
240
+ $this->update_option( 'database_prefix', $prefix );
241
+ }
242
+
243
+ return $prefix;
244
+ }
245
+
246
+ /**
247
+ * Add missing license key notice.
248
+ */
249
+ private function add_missing_license_key_notice() {
250
+ if ( ! class_exists( 'WC_Admin_Notices' ) ) {
251
+ include_once WC_ABSPATH . 'includes/admin/class-wc-admin-notices.php';
252
+ }
253
+ WC_Admin_Notices::add_notice( 'maxmind_license_key' );
254
+ }
255
+
256
+ /**
257
+ * Remove missing license key notice.
258
+ */
259
+ private function remove_missing_license_key_notice() {
260
+ if ( ! class_exists( 'WC_Admin_Notices' ) ) {
261
+ include_once WC_ABSPATH . 'includes/admin/class-wc-admin-notices.php';
262
+ }
263
+ WC_Admin_Notices::remove_notice( 'maxmind_license_key' );
264
+ }
265
+
266
+ /**
267
+ * Display notice if license key is missing.
268
+ *
269
+ * @param mixed $old_value Option old value.
270
+ * @param mixed $new_value Current value.
271
+ */
272
+ public function display_missing_license_key_notice( $old_value, $new_value ) {
273
+ if ( ! apply_filters( 'woocommerce_maxmind_geolocation_display_notices', true ) ) {
274
+ return;
275
+ }
276
+
277
+ if ( ! in_array( $new_value, array( 'geolocation', 'geolocation_ajax' ), true ) ) {
278
+ $this->remove_missing_license_key_notice();
279
+ return;
280
+ }
281
+
282
+ $license_key = $this->get_option( 'license_key' );
283
+ if ( ! empty( $license_key ) ) {
284
+ return;
285
+ }
286
+
287
+ $this->add_missing_license_key_notice();
288
+ }
289
+ }
includes/integrations/maxmind-geolocation/views/html-admin-options.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin View: Page - Admin options.
4
+ *
5
+ * @package WooCommerce\Integrations
6
+ */
7
+
8
+ defined( 'ABSPATH' ) || exit;
9
+
10
+ ?>
11
+
12
+ <table class="form-table">
13
+ <tr valign="top">
14
+ <th scope="row" class="titledesc">
15
+ <label><?php esc_html_e( 'Database File Path', 'woocommerce' ); ?></label>
16
+ </th>
17
+ <td class="forminp">
18
+ <fieldset>
19
+ <legend class="screen-reader-text"><span><?php esc_html_e( 'Database File Path', 'woocommerce' ); ?></span></legend>
20
+ <input class="input-text regular-input" type="text" value="<?php echo esc_attr( $this->database_service->get_database_path() ); ?>" readonly>
21
+ <p class="description"><?php esc_html_e( 'The location that the MaxMind database should be stored. By default, the integration will automatically save the database here.', 'woocommerce' ); ?></p>
22
+ </fieldset>
23
+ </td>
24
+ </tr>
25
+ </table>
includes/libraries/geolite2/Reader/Decoder.php DELETED
@@ -1,311 +0,0 @@
1
- <?php
2
-
3
- namespace MaxMind\Db\Reader;
4
-
5
- class Decoder
6
- {
7
- private $fileStream;
8
- private $pointerBase;
9
- // This is only used for unit testing
10
- private $pointerTestHack;
11
- private $switchByteOrder;
12
-
13
- private $types = [
14
- 0 => 'extended',
15
- 1 => 'pointer',
16
- 2 => 'utf8_string',
17
- 3 => 'double',
18
- 4 => 'bytes',
19
- 5 => 'uint16',
20
- 6 => 'uint32',
21
- 7 => 'map',
22
- 8 => 'int32',
23
- 9 => 'uint64',
24
- 10 => 'uint128',
25
- 11 => 'array',
26
- 12 => 'container',
27
- 13 => 'end_marker',
28
- 14 => 'boolean',
29
- 15 => 'float',
30
- ];
31
-
32
- public function __construct(
33
- $fileStream,
34
- $pointerBase = 0,
35
- $pointerTestHack = false
36
- ) {
37
- $this->fileStream = $fileStream;
38
- $this->pointerBase = $pointerBase;
39
- $this->pointerTestHack = $pointerTestHack;
40
-
41
- $this->switchByteOrder = $this->isPlatformLittleEndian();
42
- }
43
-
44
- public function decode($offset)
45
- {
46
- list(, $ctrlByte) = unpack(
47
- 'C',
48
- Util::read($this->fileStream, $offset, 1)
49
- );
50
- $offset++;
51
-
52
- $type = $this->types[$ctrlByte >> 5];
53
-
54
- // Pointers are a special case, we don't read the next $size bytes, we
55
- // use the size to determine the length of the pointer and then follow
56
- // it.
57
- if ($type === 'pointer') {
58
- list($pointer, $offset) = $this->decodePointer($ctrlByte, $offset);
59
-
60
- // for unit testing
61
- if ($this->pointerTestHack) {
62
- return [$pointer];
63
- }
64
-
65
- list($result) = $this->decode($pointer);
66
-
67
- return [$result, $offset];
68
- }
69
-
70
- if ($type === 'extended') {
71
- list(, $nextByte) = unpack(
72
- 'C',
73
- Util::read($this->fileStream, $offset, 1)
74
- );
75
-
76
- $typeNum = $nextByte + 7;
77
-
78
- if ($typeNum < 8) {
79
- throw new InvalidDatabaseException(
80
- 'Something went horribly wrong in the decoder. An extended type '
81
- . 'resolved to a type number < 8 ('
82
- . $this->types[$typeNum]
83
- . ')'
84
- );
85
- }
86
-
87
- $type = $this->types[$typeNum];
88
- $offset++;
89
- }
90
-
91
- list($size, $offset) = $this->sizeFromCtrlByte($ctrlByte, $offset);
92
-
93
- return $this->decodeByType($type, $offset, $size);
94
- }
95
-
96
- private function decodeByType($type, $offset, $size)
97
- {
98
- switch ($type) {
99
- case 'map':
100
- return $this->decodeMap($size, $offset);
101
- case 'array':
102
- return $this->decodeArray($size, $offset);
103
- case 'boolean':
104
- return [$this->decodeBoolean($size), $offset];
105
- }
106
-
107
- $newOffset = $offset + $size;
108
- $bytes = Util::read($this->fileStream, $offset, $size);
109
- switch ($type) {
110
- case 'utf8_string':
111
- return [$this->decodeString($bytes), $newOffset];
112
- case 'double':
113
- $this->verifySize(8, $size);
114
-
115
- return [$this->decodeDouble($bytes), $newOffset];
116
- case 'float':
117
- $this->verifySize(4, $size);
118
-
119
- return [$this->decodeFloat($bytes), $newOffset];
120
- case 'bytes':
121
- return [$bytes, $newOffset];
122
- case 'uint16':
123
- case 'uint32':
124
- return [$this->decodeUint($bytes), $newOffset];
125
- case 'int32':
126
- return [$this->decodeInt32($bytes), $newOffset];
127
- case 'uint64':
128
- case 'uint128':
129
- return [$this->decodeBigUint($bytes, $size), $newOffset];
130
- default:
131
- throw new InvalidDatabaseException(
132
- 'Unknown or unexpected type: ' . $type
133
- );
134
- }
135
- }
136
-
137
- private function verifySize($expected, $actual)
138
- {
139
- if ($expected !== $actual) {
140
- throw new InvalidDatabaseException(
141
- "The MaxMind DB file's data section contains bad data (unknown data type or corrupt data)"
142
- );
143
- }
144
- }
145
-
146
- private function decodeArray($size, $offset)
147
- {
148
- $array = [];
149
-
150
- for ($i = 0; $i < $size; $i++) {
151
- list($value, $offset) = $this->decode($offset);
152
- array_push($array, $value);
153
- }
154
-
155
- return [$array, $offset];
156
- }
157
-
158
- private function decodeBoolean($size)
159
- {
160
- return $size === 0 ? false : true;
161
- }
162
-
163
- private function decodeDouble($bits)
164
- {
165
- // XXX - Assumes IEEE 754 double on platform
166
- list(, $double) = unpack('d', $this->maybeSwitchByteOrder($bits));
167
-
168
- return $double;
169
- }
170
-
171
- private function decodeFloat($bits)
172
- {
173
- // XXX - Assumes IEEE 754 floats on platform
174
- list(, $float) = unpack('f', $this->maybeSwitchByteOrder($bits));
175
-
176
- return $float;
177
- }
178
-
179
- private function decodeInt32($bytes)
180
- {
181
- $bytes = $this->zeroPadLeft($bytes, 4);
182
- list(, $int) = unpack('l', $this->maybeSwitchByteOrder($bytes));
183
-
184
- return $int;
185
- }
186
-
187
- private function decodeMap($size, $offset)
188
- {
189
- $map = [];
190
-
191
- for ($i = 0; $i < $size; $i++) {
192
- list($key, $offset) = $this->decode($offset);
193
- list($value, $offset) = $this->decode($offset);
194
- $map[$key] = $value;
195
- }
196
-
197
- return [$map, $offset];
198
- }
199
-
200
- private $pointerValueOffset = [
201
- 1 => 0,
202
- 2 => 2048,
203
- 3 => 526336,
204
- 4 => 0,
205
- ];
206
-
207
- private function decodePointer($ctrlByte, $offset)
208
- {
209
- $pointerSize = (($ctrlByte >> 3) & 0x3) + 1;
210
-
211
- $buffer = Util::read($this->fileStream, $offset, $pointerSize);
212
- $offset = $offset + $pointerSize;
213
-
214
- $packed = $pointerSize === 4
215
- ? $buffer
216
- : (pack('C', $ctrlByte & 0x7)) . $buffer;
217
-
218
- $unpacked = $this->decodeUint($packed);
219
- $pointer = $unpacked + $this->pointerBase
220
- + $this->pointerValueOffset[$pointerSize];
221
-
222
- return [$pointer, $offset];
223
- }
224
-
225
- private function decodeUint($bytes)
226
- {
227
- list(, $int) = unpack('N', $this->zeroPadLeft($bytes, 4));
228
-
229
- return $int;
230
- }
231
-
232
- private function decodeBigUint($bytes, $byteLength)
233
- {
234
- $maxUintBytes = log(PHP_INT_MAX, 2) / 8;
235
-
236
- if ($byteLength === 0) {
237
- return 0;
238
- }
239
-
240
- $numberOfLongs = ceil($byteLength / 4);
241
- $paddedLength = $numberOfLongs * 4;
242
- $paddedBytes = $this->zeroPadLeft($bytes, $paddedLength);
243
- $unpacked = array_merge(unpack("N$numberOfLongs", $paddedBytes));
244
-
245
- $integer = 0;
246
-
247
- // 2^32
248
- $twoTo32 = '4294967296';
249
-
250
- foreach ($unpacked as $part) {
251
- // We only use gmp or bcmath if the final value is too big
252
- if ($byteLength <= $maxUintBytes) {
253
- $integer = ($integer << 32) + $part;
254
- } elseif (extension_loaded('gmp')) {
255
- $integer = gmp_strval(gmp_add(gmp_mul($integer, $twoTo32), $part));
256
- } elseif (extension_loaded('bcmath')) {
257
- $integer = bcadd(bcmul($integer, $twoTo32), $part);
258
- } else {
259
- throw new \RuntimeException(
260
- 'The gmp or bcmath extension must be installed to read this database.'
261
- );
262
- }
263
- }
264
-
265
- return $integer;
266
- }
267
-
268
- private function decodeString($bytes)
269
- {
270
- // XXX - NOOP. As far as I know, the end user has to explicitly set the
271
- // encoding in PHP. Strings are just bytes.
272
- return $bytes;
273
- }
274
-
275
- private function sizeFromCtrlByte($ctrlByte, $offset)
276
- {
277
- $size = $ctrlByte & 0x1f;
278
- $bytesToRead = $size < 29 ? 0 : $size - 28;
279
- $bytes = Util::read($this->fileStream, $offset, $bytesToRead);
280
- $decoded = $this->decodeUint($bytes);
281
-
282
- if ($size === 29) {
283
- $size = 29 + $decoded;
284
- } elseif ($size === 30) {
285
- $size = 285 + $decoded;
286
- } elseif ($size > 30) {
287
- $size = ($decoded & (0x0FFFFFFF >> (32 - (8 * $bytesToRead))))
288
- + 65821;
289
- }
290
-
291
- return [$size, $offset + $bytesToRead];
292
- }
293
-
294
- private function zeroPadLeft($content, $desiredLength)
295
- {
296
- return str_pad($content, $desiredLength, "\x00", STR_PAD_LEFT);
297
- }
298
-
299
- private function maybeSwitchByteOrder($bytes)
300
- {
301
- return $this->switchByteOrder ? strrev($bytes) : $bytes;
302
- }
303
-
304
- private function isPlatformLittleEndian()
305
- {
306
- $testint = 0x00FF;
307
- $packed = pack('S', $testint);
308
-
309
- return $testint === current(unpack('v', $packed));
310
- }
311
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/libraries/geolite2/Reader/Metadata.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
-
3
- namespace MaxMind\Db\Reader;
4
-
5
- /**
6
- * This class provides the metadata for the MaxMind DB file.
7
- *
8
- * @property int nodeCount This is an unsigned 32-bit integer indicating
9
- * the number of nodes in the search tree.
10
- * @property int recordSize This is an unsigned 16-bit integer. It
11
- * indicates the number of bits in a record in the search tree. Note that each
12
- * node consists of two records.
13
- * @property int ipVersion This is an unsigned 16-bit integer which is
14
- * always 4 or 6. It indicates whether the database contains IPv4 or IPv6
15
- * address data.
16
- * @property string databaseType This is a string that indicates the structure
17
- * of each data record associated with an IP address. The actual definition of
18
- * these structures is left up to the database creator.
19
- * @property array languages An array of strings, each of which is a language
20
- * code. A given record may contain data items that have been localized to
21
- * some or all of these languages. This may be undefined.
22
- * @property int binaryFormatMajorVersion This is an unsigned 16-bit
23
- * integer indicating the major version number for the database's binary
24
- * format.
25
- * @property int binaryFormatMinorVersion This is an unsigned 16-bit
26
- * integer indicating the minor version number for the database's binary format.
27
- * @property int buildEpoch This is an unsigned 64-bit integer that
28
- * contains the database build timestamp as a Unix epoch value.
29
- * @property array description This key will always point to a map
30
- * (associative array). The keys of that map will be language codes, and the
31
- * values will be a description in that language as a UTF-8 string. May be
32
- * undefined for some databases.
33
- */
34
- class Metadata
35
- {
36
- private $binaryFormatMajorVersion;
37
- private $binaryFormatMinorVersion;
38
- private $buildEpoch;
39
- private $databaseType;
40
- private $description;
41
- private $ipVersion;
42
- private $languages;
43
- private $nodeByteSize;
44
- private $nodeCount;
45
- private $recordSize;
46
- private $searchTreeSize;
47
-
48
- public function __construct($metadata)
49
- {
50
- $this->binaryFormatMajorVersion =
51
- $metadata['binary_format_major_version'];
52
- $this->binaryFormatMinorVersion =
53
- $metadata['binary_format_minor_version'];
54
- $this->buildEpoch = $metadata['build_epoch'];
55
- $this->databaseType = $metadata['database_type'];
56
- $this->languages = $metadata['languages'];
57
- $this->description = $metadata['description'];
58
- $this->ipVersion = $metadata['ip_version'];
59
- $this->nodeCount = $metadata['node_count'];
60
- $this->recordSize = $metadata['record_size'];
61
- $this->nodeByteSize = $this->recordSize / 4;
62
- $this->searchTreeSize = $this->nodeCount * $this->nodeByteSize;
63
- }
64
-
65
- public function __get($var)
66
- {
67
- return $this->$var;
68
- }
69
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/wc-order-functions.php CHANGED
@@ -874,10 +874,11 @@ function wc_update_coupon_usage_counts( $order_id ) {
874
  $coupon->decrease_usage_count( $used_by );
875
  break;
876
  case 'increase':
877
- $coupon->increase_usage_count( $used_by );
878
  break;
879
  }
880
  }
 
881
  }
882
  }
883
  add_action( 'woocommerce_order_status_pending', 'wc_update_coupon_usage_counts' );
874
  $coupon->decrease_usage_count( $used_by );
875
  break;
876
  case 'increase':
877
+ $coupon->increase_usage_count( $used_by, $order );
878
  break;
879
  }
880
  }
881
+ $order->get_data_store()->release_held_coupons( $order, true );
882
  }
883
  }
884
  add_action( 'woocommerce_order_status_pending', 'wc_update_coupon_usage_counts' );
includes/wc-update-functions.php CHANGED
@@ -1839,7 +1839,7 @@ function wc_update_343_cleanup_foreign_keys() {
1839
 
1840
  if ( $results ) {
1841
  foreach ( $results as $fk ) {
1842
- $wpdb->query( "ALTER TABLE {$wpdb->prefix}wc_download_log DROP FOREIGN KEY {$fk->CONSTRAINT_NAME}" ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
1843
  }
1844
  }
1845
  }
@@ -2046,3 +2046,38 @@ function wc_update_370_mro_std_currency() {
2046
  function wc_update_370_db_version() {
2047
  WC_Install::update_db_version( '3.7.0' );
2048
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1839
 
1840
  if ( $results ) {
1841
  foreach ( $results as $fk ) {
1842
+ $wpdb->query( "ALTER TABLE {$wpdb->prefix}wc_download_log DROP FOREIGN KEY {$fk->CONSTRAINT_NAME}" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
1843
  }
1844
  }
1845
  }
2046
  function wc_update_370_db_version() {
2047
  WC_Install::update_db_version( '3.7.0' );
2048
  }
2049
+
2050
+ /**
2051
+ * We've moved the MaxMind database to a new location, as per the TOS' requirement that the database not
2052
+ * be publicly accessible.
2053
+ */
2054
+ function wc_update_390_move_maxmind_database() {
2055
+ // Make sure to use all of the correct filters to pull the local database path.
2056
+ $old_path = apply_filters( 'woocommerce_geolocation_local_database_path', WP_CONTENT_DIR . '/uploads/GeoLite2-Country.mmdb', 2 );
2057
+
2058
+ // Generate a prefix for the old file and store it in the integration as it would expect it.
2059
+ $prefix = wp_generate_password( 32, false );
2060
+ update_option( 'woocommerce_maxmind_geolocation_settings', array( 'database_prefix' => $prefix ) );
2061
+
2062
+ // Generate the new path in the same way that the integration will.
2063
+ $uploads_dir = wp_upload_dir();
2064
+ $new_path = trailingslashit( $uploads_dir['basedir'] ) . 'woocommerce_uploads/' . $prefix . '-GeoLite2-Country.mmdb';
2065
+ $new_path = apply_filters( 'woocommerce_geolocation_local_database_path', $new_path, 2 );
2066
+
2067
+ @rename( $old_path, $new_path ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
2068
+ }
2069
+
2070
+ /**
2071
+ * So that we can best meet MaxMind's TOS, the geolocation database update cron should run once per 15 days.
2072
+ */
2073
+ function wc_update_390_change_geolocation_database_update_cron() {
2074
+ wp_clear_scheduled_hook( 'woocommerce_geoip_updater' );
2075
+ wp_schedule_event( time() + ( DAY_IN_SECONDS * 15 ), 'fifteendays', 'woocommerce_geoip_updater' );
2076
+ }
2077
+
2078
+ /**
2079
+ * Update DB version.
2080
+ */
2081
+ function wc_update_390_db_version() {
2082
+ WC_Install::update_db_version( '3.9.0' );
2083
+ }
packages/woocommerce-blocks/assets/js/atomic/components/product/price/index.js CHANGED
@@ -13,6 +13,7 @@ const ProductPrice = ( { className, product } ) => {
13
  thousandSeparator: prices.thousand_separator,
14
  decimalSeparator: prices.decimal_separator,
15
  decimalScale: prices.decimals,
 
16
  prefix: prices.price_prefix,
17
  suffix: prices.price_suffix,
18
  };
@@ -22,6 +23,8 @@ const ProductPrice = ( { className, product } ) => {
22
  prices.price_range.min_amount &&
23
  prices.price_range.max_amount
24
  ) {
 
 
25
  return (
26
  <div
27
  className={ classnames(
@@ -32,15 +35,9 @@ const ProductPrice = ( { className, product } ) => {
32
  <span
33
  className={ `${ layoutStyleClassPrefix }__product-price__value` }
34
  >
35
- <NumberFormat
36
- value={ prices.price_range.min_amount }
37
- { ...numberFormatArgs }
38
- />
39
  &nbsp;&mdash;&nbsp;
40
- <NumberFormat
41
- value={ prices.price_range.max_amount }
42
- { ...numberFormatArgs }
43
- />
44
  </span>
45
  </div>
46
  );
13
  thousandSeparator: prices.thousand_separator,
14
  decimalSeparator: prices.decimal_separator,
15
  decimalScale: prices.decimals,
16
+ fixedDecimalScale: true,
17
  prefix: prices.price_prefix,
18
  suffix: prices.price_suffix,
19
  };
23
  prices.price_range.min_amount &&
24
  prices.price_range.max_amount
25
  ) {
26
+ const minAmount = parseFloat( prices.price_range.min_amount );
27
+ const maxAmount = parseFloat( prices.price_range.max_amount );
28
  return (
29
  <div
30
  className={ classnames(
35
  <span
36
  className={ `${ layoutStyleClassPrefix }__product-price__value` }
37
  >
38
+ <NumberFormat value={ minAmount } { ...numberFormatArgs } />
 
 
 
39
  &nbsp;&mdash;&nbsp;
40
+ <NumberFormat value={ maxAmount } { ...numberFormatArgs } />
 
 
 
41
  </span>
42
  </div>
43
  );
packages/woocommerce-blocks/assets/js/base/components/price-slider/{utils.js → constrain-range-slider-values.js} RENAMED
@@ -8,23 +8,37 @@
8
  * @param {boolean} isMin Whether we're currently interacting with the min range slider or not, so we update the correct values.
9
  * @returns {Array} Validated and updated min/max values that fit within the range slider constraints.
10
  */
11
- export const constrainRangeSliderValues = ( values, min, max, step, isMin ) => {
12
- let minValue = parseInt( values[ 0 ], 10 ) || min;
13
- let maxValue = parseInt( values[ 1 ], 10 ) || step; // Max should be one step above min if invalid or 0.
 
 
 
 
 
 
14
 
15
- if ( min > minValue ) {
 
 
 
 
 
 
 
 
16
  minValue = min;
17
  }
18
 
19
- if ( max <= minValue ) {
20
  minValue = max - step;
21
  }
22
 
23
- if ( min >= maxValue ) {
24
  maxValue = min + step;
25
  }
26
 
27
- if ( max < maxValue ) {
28
  maxValue = max;
29
  }
30
 
8
  * @param {boolean} isMin Whether we're currently interacting with the min range slider or not, so we update the correct values.
9
  * @returns {Array} Validated and updated min/max values that fit within the range slider constraints.
10
  */
11
+ export const constrainRangeSliderValues = (
12
+ values,
13
+ min,
14
+ max,
15
+ step = 1,
16
+ isMin = false
17
+ ) => {
18
+ let minValue = parseInt( values[ 0 ], 10 );
19
+ let maxValue = parseInt( values[ 1 ], 10 );
20
 
21
+ if ( ! Number.isFinite( minValue ) ) {
22
+ minValue = min || 0;
23
+ }
24
+
25
+ if ( ! Number.isFinite( maxValue ) ) {
26
+ maxValue = max || step;
27
+ }
28
+
29
+ if ( Number.isFinite( min ) && min > minValue ) {
30
  minValue = min;
31
  }
32
 
33
+ if ( Number.isFinite( max ) && max <= minValue ) {
34
  minValue = max - step;
35
  }
36
 
37
+ if ( Number.isFinite( min ) && min >= maxValue ) {
38
  maxValue = min + step;
39
  }
40
 
41
+ if ( Number.isFinite( max ) && max < maxValue ) {
42
  maxValue = max;
43
  }
44
 
packages/woocommerce-blocks/assets/js/base/components/price-slider/index.js CHANGED
@@ -17,7 +17,7 @@ import classnames from 'classnames';
17
  * Internal dependencies
18
  */
19
  import './style.scss';
20
- import { constrainRangeSliderValues } from './utils';
21
  import { formatPrice } from '../../utils/price';
22
  import SubmitButton from './submit-button';
23
  import PriceLabel from './price-label';
@@ -81,21 +81,16 @@ const PriceSlider = ( {
81
  };
82
  }
83
 
84
- // Normalize to whatever is the closest step (because range input will
85
- // only jump to the closest step in the range).
86
- const min = Math.round( minPrice / step ) * step;
87
- const max = Math.round( maxPrice / step ) * step;
88
-
89
  const low =
90
  Math.round(
91
  100 *
92
- ( ( min - minConstraint ) /
93
  ( maxConstraint - minConstraint ) )
94
  ) - 0.5;
95
  const high =
96
  Math.round(
97
  100 *
98
- ( ( max - minConstraint ) /
99
  ( maxConstraint - minConstraint ) )
100
  ) + 0.5;
101
 
@@ -162,8 +157,8 @@ const PriceSlider = ( {
162
  );
163
  const targetValue = event.target.value;
164
  const currentValues = isMin
165
- ? [ targetValue, maxPrice ]
166
- : [ minPrice, targetValue ];
167
  const values = constrainRangeSliderValues(
168
  currentValues,
169
  minConstraint,
@@ -194,8 +189,8 @@ const PriceSlider = ( {
194
  : [ minPrice, targetValue ];
195
  const values = constrainRangeSliderValues(
196
  currentValues,
197
- minConstraint,
198
- maxConstraint,
199
  step,
200
  isMin
201
  );
@@ -252,6 +247,11 @@ const PriceSlider = ( {
252
  ! hasValidConstraints && 'is-disabled'
253
  );
254
 
 
 
 
 
 
255
  return (
256
  <div className={ classes }>
257
  <div
@@ -272,9 +272,13 @@ const PriceSlider = ( {
272
  'Filter products by minimum price',
273
  'woocommerce'
274
  ) }
275
- value={ minPrice || 0 }
 
 
 
 
276
  onChange={ rangeInputOnChange }
277
- step={ step }
278
  min={ minConstraint }
279
  max={ maxConstraint }
280
  ref={ minRange }
@@ -287,9 +291,13 @@ const PriceSlider = ( {
287
  'Filter products by maximum price',
288
  'woocommerce'
289
  ) }
290
- value={ maxPrice || 0 }
 
 
 
 
291
  onChange={ rangeInputOnChange }
292
- step={ step }
293
  min={ minConstraint }
294
  max={ maxConstraint }
295
  ref={ maxRange }
17
  * Internal dependencies
18
  */
19
  import './style.scss';
20
+ import { constrainRangeSliderValues } from './constrain-range-slider-values';
21
  import { formatPrice } from '../../utils/price';
22
  import SubmitButton from './submit-button';
23
  import PriceLabel from './price-label';
81
  };
82
  }
83
 
 
 
 
 
 
84
  const low =
85
  Math.round(
86
  100 *
87
+ ( ( minPrice - minConstraint ) /
88
  ( maxConstraint - minConstraint ) )
89
  ) - 0.5;
90
  const high =
91
  Math.round(
92
  100 *
93
+ ( ( maxPrice - minConstraint ) /
94
  ( maxConstraint - minConstraint ) )
95
  ) + 0.5;
96
 
157
  );
158
  const targetValue = event.target.value;
159
  const currentValues = isMin
160
+ ? [ Math.round( targetValue / step ) * step, maxPrice ]
161
+ : [ minPrice, Math.round( targetValue / step ) * step ];
162
  const values = constrainRangeSliderValues(
163
  currentValues,
164
  minConstraint,
189
  : [ minPrice, targetValue ];
190
  const values = constrainRangeSliderValues(
191
  currentValues,
192
+ null,
193
+ null,
194
  step,
195
  isMin
196
  );
247
  ! hasValidConstraints && 'is-disabled'
248
  );
249
 
250
+ const minRangeStep =
251
+ minRange && document.activeElement === minRange.current ? step : 1;
252
+ const maxRangeStep =
253
+ maxRange && document.activeElement === maxRange.current ? step : 1;
254
+
255
  return (
256
  <div className={ classes }>
257
  <div
272
  'Filter products by minimum price',
273
  'woocommerce'
274
  ) }
275
+ value={
276
+ Number.isFinite( minPrice )
277
+ ? minPrice
278
+ : minConstraint
279
+ }
280
  onChange={ rangeInputOnChange }
281
+ step={ minRangeStep }
282
  min={ minConstraint }
283
  max={ maxConstraint }
284
  ref={ minRange }
291
  'Filter products by maximum price',
292
  'woocommerce'
293
  ) }
294
+ value={
295
+ Number.isFinite( maxPrice )
296
+ ? maxPrice
297
+ : maxConstraint
298
+ }
299
  onChange={ rangeInputOnChange }
300
+ step={ maxRangeStep }
301
  min={ minConstraint }
302
  max={ maxConstraint }
303
  ref={ maxRange }
packages/woocommerce-blocks/assets/js/base/components/price-slider/test/constrain-range-slider-values.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { constrainRangeSliderValues } from '../constrain-range-slider-values';
5
+
6
+ describe( 'constrainRangeSliderValues', () => {
7
+ test.each`
8
+ values | min | max | step | isMin | expected
9
+ ${[ 20, 60 ]} | ${0} | ${70} | ${10} | ${true} | ${[ 20, 60 ]}
10
+ ${[ 20, 60 ]} | ${20} | ${60} | ${10} | ${true} | ${[ 20, 60 ]}
11
+ ${[ 20, 60 ]} | ${30} | ${50} | ${10} | ${true} | ${[ 30, 50 ]}
12
+ ${[ 50, 50 ]} | ${20} | ${60} | ${10} | ${true} | ${[ 50, 60 ]}
13
+ ${[ 50, 50 ]} | ${20} | ${60} | ${10} | ${false} | ${[ 40, 50 ]}
14
+ ${[ 20, 60 ]} | ${null} | ${null} | ${10} | ${true} | ${[ 20, 60 ]}
15
+ ${[ null, null ]} | ${20} | ${60} | ${10} | ${true} | ${[ 20, 60 ]}
16
+ ${[ '20', '60' ]} | ${30} | ${50} | ${10} | ${true} | ${[ 30, 50 ]}
17
+ ${[ -60, -20 ]} | ${-70} | ${0} | ${10} | ${true} | ${[ -60, -20 ]}
18
+ ${[ -60, -20 ]} | ${-60} | ${-20} | ${10} | ${true} | ${[ -60, -20 ]}
19
+ ${[ -60, -20 ]} | ${-50} | ${-30} | ${10} | ${true} | ${[ -50, -30 ]}
20
+ ${[ -50, -50 ]} | ${-60} | ${-20} | ${10} | ${true} | ${[ -50, -40 ]}
21
+ ${[ -50, -50 ]} | ${-60} | ${-20} | ${10} | ${false} | ${[ -60, -50 ]}
22
+ ${[ -60, -20 ]} | ${null} | ${null} | ${10} | ${true} | ${[ -60, -20 ]}
23
+ ${[ null, null ]} | ${-60} | ${-20} | ${10} | ${true} | ${[ -60, -20 ]}
24
+ ${[ '-60', '-20' ]} | ${-50} | ${-30} | ${10} | ${true} | ${[ -50, -30 ]}
25
+ `(
26
+ `correctly sets prices to its constraints with arguments values: $values, min: $min, max: $max, step: $step and isMin: $isMin`,
27
+ ( { values, min, max, step, isMin, expected } ) => {
28
+ const constrainedValues = constrainRangeSliderValues(
29
+ values,
30
+ min,
31
+ max,
32
+ step,
33
+ isMin
34
+ );
35
+
36
+ expect( constrainedValues ).toEqual( expected );
37
+ }
38
+ );
39
+ } );
packages/woocommerce-blocks/assets/js/blocks/price-filter/block.js CHANGED
@@ -52,7 +52,7 @@ const PriceFilterBlock = ( { attributes, isEditor = false } ) => {
52
  setMaxPriceQuery( maxPrice === maxConstraint ? undefined : maxPrice );
53
  }, [ minPrice, maxPrice, minConstraint, maxConstraint ] );
54
 
55
- // Callback when slider is changed.
56
  const onChange = useCallback(
57
  ( prices ) => {
58
  if ( prices[ 0 ] !== minPrice ) {
@@ -96,14 +96,6 @@ const PriceFilterBlock = ( { attributes, isEditor = false } ) => {
96
  }
97
 
98
  const TagName = `h${ attributes.headingLevel }`;
99
- const min = Math.max(
100
- Number.isFinite( minPrice ) ? minPrice : -Infinity,
101
- Number.isFinite( minConstraint ) ? minConstraint : -Infinity
102
- );
103
- const max = Math.min(
104
- Number.isFinite( maxPrice ) ? maxPrice : Infinity,
105
- Number.isFinite( maxConstraint ) ? maxConstraint : Infinity
106
- );
107
 
108
  return (
109
  <Fragment>
@@ -114,8 +106,8 @@ const PriceFilterBlock = ( { attributes, isEditor = false } ) => {
114
  <PriceSlider
115
  minConstraint={ minConstraint }
116
  maxConstraint={ maxConstraint }
117
- minPrice={ min }
118
- maxPrice={ max }
119
  step={ 10 }
120
  currencySymbol={ CURRENCY.symbol }
121
  priceFormat={ CURRENCY.priceFormat }
52
  setMaxPriceQuery( maxPrice === maxConstraint ? undefined : maxPrice );
53
  }, [ minPrice, maxPrice, minConstraint, maxConstraint ] );
54
 
55
+ // Callback when slider or input fields are changed.
56
  const onChange = useCallback(
57
  ( prices ) => {
58
  if ( prices[ 0 ] !== minPrice ) {
96
  }
97
 
98
  const TagName = `h${ attributes.headingLevel }`;
 
 
 
 
 
 
 
 
99
 
100
  return (
101
  <Fragment>
106
  <PriceSlider
107
  minConstraint={ minConstraint }
108
  maxConstraint={ maxConstraint }
109
+ minPrice={ minPrice }
110
+ maxPrice={ maxPrice }
111
  step={ 10 }
112
  currencySymbol={ CURRENCY.symbol }
113
  priceFormat={ CURRENCY.priceFormat }
packages/woocommerce-blocks/assets/js/blocks/price-filter/test/use-price-constraints.js CHANGED
@@ -11,8 +11,8 @@ import { ROUND_UP, ROUND_DOWN } from '../constants';
11
 
12
  describe( 'usePriceConstraints', () => {
13
  const TestComponent = ( { price } ) => {
14
- const maxPriceConstraint = usePriceConstraint( price, 2, ROUND_UP );
15
- const minPriceConstraint = usePriceConstraint( price, 2, ROUND_DOWN );
16
  return (
17
  <div
18
  minPriceConstraint={ minPriceConstraint }
@@ -22,61 +22,61 @@ describe( 'usePriceConstraints', () => {
22
  };
23
 
24
  it( 'max price constraint should be updated when new price is set', () => {
25
- const renderer = TestRenderer.create( <TestComponent price={ 1000 } /> );
26
  const container = renderer.root.findByType( 'div' );
27
 
28
- expect( container.props.maxPriceConstraint ).toBe( 1000 );
29
 
30
- renderer.update( <TestComponent price={ 2000 } /> );
31
 
32
- expect( container.props.maxPriceConstraint ).toBe( 2000 );
33
  } );
34
 
35
  it( 'min price constraint should be updated when new price is set', () => {
36
- const renderer = TestRenderer.create( <TestComponent price={ 1000 } /> );
37
  const container = renderer.root.findByType( 'div' );
38
 
39
- expect( container.props.minPriceConstraint ).toBe( 1000 );
40
 
41
- renderer.update( <TestComponent price={ 2000 } /> );
42
 
43
- expect( container.props.minPriceConstraint ).toBe( 2000 );
44
  } );
45
 
46
  it( 'previous price constraint should be preserved when new price is not a infinite number', () => {
47
- const renderer = TestRenderer.create( <TestComponent price={ 1000 } /> );
48
  const container = renderer.root.findByType( 'div' );
49
 
50
- expect( container.props.maxPriceConstraint ).toBe( 1000 );
51
 
52
  renderer.update( <TestComponent price={ Infinity } /> );
53
 
54
- expect( container.props.maxPriceConstraint ).toBe( 1000 );
55
  } );
56
 
57
  it( 'max price constraint should be higher if the price is decimal', () => {
58
  const renderer = TestRenderer.create(
59
- <TestComponent price={ 1099 } />
60
  );
61
  const container = renderer.root.findByType( 'div' );
62
 
63
- expect( container.props.maxPriceConstraint ).toBe( 2000 );
64
 
65
- renderer.update( <TestComponent price={ 1999 } /> );
66
 
67
- expect( container.props.maxPriceConstraint ).toBe( 2000 );
68
  } );
69
 
70
  it( 'min price constraint should be lower if the price is decimal', () => {
71
  const renderer = TestRenderer.create(
72
- <TestComponent price={ 999 } />
73
  );
74
  const container = renderer.root.findByType( 'div' );
75
 
76
  expect( container.props.minPriceConstraint ).toBe( 0 );
77
 
78
- renderer.update( <TestComponent price={ 1999 } /> );
79
 
80
- expect( container.props.minPriceConstraint ).toBe( 1000 );
81
  } );
82
  } );
11
 
12
  describe( 'usePriceConstraints', () => {
13
  const TestComponent = ( { price } ) => {
14
+ const maxPriceConstraint = usePriceConstraint( price, ROUND_UP );
15
+ const minPriceConstraint = usePriceConstraint( price, ROUND_DOWN );
16
  return (
17
  <div
18
  minPriceConstraint={ minPriceConstraint }
22
  };
23
 
24
  it( 'max price constraint should be updated when new price is set', () => {
25
+ const renderer = TestRenderer.create( <TestComponent price={ 10 } /> );
26
  const container = renderer.root.findByType( 'div' );
27
 
28
+ expect( container.props.maxPriceConstraint ).toBe( 10 );
29
 
30
+ renderer.update( <TestComponent price={ 20 } /> );
31
 
32
+ expect( container.props.maxPriceConstraint ).toBe( 20 );
33
  } );
34
 
35
  it( 'min price constraint should be updated when new price is set', () => {
36
+ const renderer = TestRenderer.create( <TestComponent price={ 10 } /> );
37
  const container = renderer.root.findByType( 'div' );
38
 
39
+ expect( container.props.minPriceConstraint ).toBe( 10 );
40
 
41
+ renderer.update( <TestComponent price={ 20 } /> );
42
 
43
+ expect( container.props.minPriceConstraint ).toBe( 20 );
44
  } );
45
 
46
  it( 'previous price constraint should be preserved when new price is not a infinite number', () => {
47
+ const renderer = TestRenderer.create( <TestComponent price={ 10 } /> );
48
  const container = renderer.root.findByType( 'div' );
49
 
50
+ expect( container.props.maxPriceConstraint ).toBe( 10 );
51
 
52
  renderer.update( <TestComponent price={ Infinity } /> );
53
 
54
+ expect( container.props.maxPriceConstraint ).toBe( 10 );
55
  } );
56
 
57
  it( 'max price constraint should be higher if the price is decimal', () => {
58
  const renderer = TestRenderer.create(
59
+ <TestComponent price={ 10.99 } />
60
  );
61
  const container = renderer.root.findByType( 'div' );
62
 
63
+ expect( container.props.maxPriceConstraint ).toBe( 20 );
64
 
65
+ renderer.update( <TestComponent price={ 19.99 } /> );
66
 
67
+ expect( container.props.maxPriceConstraint ).toBe( 20 );
68
  } );
69
 
70
  it( 'min price constraint should be lower if the price is decimal', () => {
71
  const renderer = TestRenderer.create(
72
+ <TestComponent price={ 9.99 } />
73
  );
74
  const container = renderer.root.findByType( 'div' );
75
 
76
  expect( container.props.minPriceConstraint ).toBe( 0 );
77
 
78
+ renderer.update( <TestComponent price={ 19.99 } /> );
79
 
80
+ expect( container.props.minPriceConstraint ).toBe( 10 );
81
  } );
82
  } );
packages/woocommerce-blocks/assets/js/blocks/price-filter/use-price-constraints.js CHANGED
@@ -12,20 +12,18 @@ import { ROUND_UP, ROUND_DOWN } from './constants';
12
  * Return the price constraint.
13
  *
14
  * @param {number} price Price in minor unit, e.g. cents.
15
- * @param {number} minorUnit Price minor unit (number of digits after the decimal separator).
16
  * @param {ROUND_UP|ROUND_DOWN} direction Rounding flag whether we round up or down.
17
  */
18
- export const usePriceConstraint = ( price, minorUnit, direction ) => {
19
- const step = 10 * 10 ** minorUnit;
20
  let currentConstraint;
21
  if ( direction === ROUND_UP ) {
22
  currentConstraint = isNaN( price )
23
  ? null
24
- : Math.ceil( parseFloat( price, 10 ) / step ) * step;
25
  } else if ( direction === ROUND_DOWN ) {
26
  currentConstraint = isNaN( price )
27
  ? null
28
- : Math.floor( parseFloat( price, 10 ) / step ) * step;
29
  }
30
 
31
  const previousConstraint = usePrevious( currentConstraint, ( val ) =>
@@ -36,9 +34,9 @@ export const usePriceConstraint = ( price, minorUnit, direction ) => {
36
  : previousConstraint;
37
  };
38
 
39
- export default ( { minPrice, maxPrice, minorUnit } ) => {
40
  return {
41
- minConstraint: usePriceConstraint( minPrice, minorUnit, ROUND_DOWN ),
42
- maxConstraint: usePriceConstraint( maxPrice, minorUnit, ROUND_UP ),
43
  };
44
  };
12
  * Return the price constraint.
13
  *
14
  * @param {number} price Price in minor unit, e.g. cents.
 
15
  * @param {ROUND_UP|ROUND_DOWN} direction Rounding flag whether we round up or down.
16
  */
17
+ export const usePriceConstraint = ( price, direction ) => {
 
18
  let currentConstraint;
19
  if ( direction === ROUND_UP ) {
20
  currentConstraint = isNaN( price )
21
  ? null
22
+ : Math.ceil( parseFloat( price, 10 ) / 10 ) * 10;
23
  } else if ( direction === ROUND_DOWN ) {
24
  currentConstraint = isNaN( price )
25
  ? null
26
+ : Math.floor( parseFloat( price, 10 ) / 10 ) * 10;
27
  }
28
 
29
  const previousConstraint = usePrevious( currentConstraint, ( val ) =>
34
  : previousConstraint;
35
  };
36
 
37
+ export default ( { minPrice, maxPrice } ) => {
38
  return {
39
+ minConstraint: usePriceConstraint( minPrice, ROUND_DOWN ),
40
+ maxConstraint: usePriceConstraint( maxPrice, ROUND_UP ),
41
  };
42
  };
packages/woocommerce-blocks/build/all-products-frontend.js CHANGED
@@ -3,4 +3,4 @@
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
- */!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)&&n.length){var c=o.apply(null,n);c&&e.push(c)}else if("object"===a)for(var i in n)r.call(n,i)&&n[i]&&e.push(i)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t,r){e.exports=r(28)()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=r(22),a=r.n(o),c=function(e){var t=Object(n.useRef)();return a()(e,t.current)||(t.current=e),t.current}},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(20),o=r(10);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(27);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),o=Object(n.createContext)("page"),a=function(){return Object(n.useContext)(o)};o.Provider},function(e,t){!function(){e.exports=this.lodash}()},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,r){"use strict";var n=r(12),o=r.n(n),a=r(4),c=r.n(a),i=r(21),u=r(13),s=r.n(u),l=r(14),p=r.n(l),f=r(15),d=r.n(f),g=r(16),m=r.n(g),b=r(10),h=r.n(b),v=r(17),y=r.n(v),O=r(3),w=(r(8),r(2)),_=r(37),j=function(e){var t=e.imageUrl,r=void 0===t?"".concat(_.e,"img/block-error.svg"):t,n=e.header,o=void 0===n?Object(w.__)("Oops!",'woocommerce'):n,a=e.text,c=void 0===a?Object(w.__)("There was an error with loading this content.",'woocommerce'):a,i=e.errorMessage;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},o&&React.createElement("p",{className:"wc-block-error__header"},o),c&&React.createElement("p",{className:"wc-block-error__text"},c),i&&React.createElement("p",{className:"wc-block-error__message"},i)))},S=(r(30),function(e){function t(){var e,r;s()(this,t);for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return r=d()(this,(e=m()(t)).call.apply(e,[this].concat(o))),c()(h()(r),"state",{hasError:!1}),r}return y()(t,e),p()(t,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,a=this.state,c=a.errorMessage;return a.hasError?React.createElement(j,{errorMessage:n?c:null,header:t,imageUrl:r,text:o}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorMessage:e.message,hasError:!0}}}]),t}(O.Component));S.defaultProps={showErrorMessage:!1};var E=S;function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=document.querySelectorAll(e);n.length&&Array.prototype.forEach.call(n,(function(e,n){var a=r(e,n),c=x({},e.dataset,{},a.attributes);e.classList.remove("is-loading"),Object(i.render)(React.createElement(E,null,React.createElement(t,o()({},a,{attributes:c}))),e)}))}},,function(e,t,r){"use strict";var n=r(4),o=r.n(n),a=(r(8),r(3)),c=r(6),i=r.n(c);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var s=function(e){var t,r=e.label,n=e.screenReaderLabel,c=e.wrapperElement,s=e.wrapperProps;return!r&&n?(t=c||"span",s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},s,{className:i()(s.className,"screen-reader-text")}),React.createElement(t,s,n)):(t=c||a.Fragment,r&&n&&r!==n?React.createElement(t,s,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,s,r))};s.defaultProps={wrapperProps:{}},t.a=s},,function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";var n=r(29);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,a,c){if(c!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var c,i=e[Symbol.iterator]();!(n=(c=i.next()).done)&&(r.push(c.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){"use strict";var n=r(12),o=r.n(n),a=r(13),c=r.n(a),i=r(14),u=r.n(i),s=r(15),l=r.n(s),p=r(16),f=r.n(p),d=r(10),g=r.n(d),m=r(17),b=r.n(m),h=r(4),v=r.n(h),y=r(3);t.a=function(e){var t=0,r=function(r){function n(){var e,r;c()(this,n);for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=l()(this,(e=f()(n)).call.apply(e,[this].concat(a))),v()(g()(r),"instanceId",t++),r}return b()(n,r),u()(n,[{key:"render",value:function(){return React.createElement(e,o()({},this.props,{componentId:this.instanceId}))}}]),n}(y.Component);return r.displayName="withComponentId",r}},,function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"d",(function(){return a})),r.d(t,"c",(function(){return c})),r.d(t,"a",(function(){return i})),r.d(t,"e",(function(){return u}));var n=r(1),o=Object(n.getSetting)("enableReviewRating",!0),a=Object(n.getSetting)("showAvatars",!0),c=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",2),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),i=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),u=Object(n.getSetting)("wcBlocksAssetUrl","")},,function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(7),o=r(9),a=r(0),c=r(11),i=function(e){var t=e.namespace,r=e.resourceName,i=e.resourceValues,u=void 0===i?[]:i,s=e.query,l=void 0===s?{}:s,p=e.shouldSelect,f=void 0===p||p;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(a.useRef)({results:[],isLoading:!0}),g=Object(c.a)(l),m=Object(c.a)(u),b=Object(o.useSelect)((function(e){if(!f)return null;var o=e(n.COLLECTIONS_STORE_KEY),a=[t,r,g,m];return{results:o.getCollection.apply(o,a),isLoading:!o.hasFinishedResolution("getCollection",a)}}),[t,r,m,g,f]);return null!==b&&(d.current=b),d.current}},function(e,t,r){"use strict";r(8);var n=r(6),o=r.n(n),a=r(25),c=r(35);r(46);t.a=Object(c.a)((function(e){var t=e.className,r=e.componentId,n=e.defaultValue,c=e.label,i=e.onChange,u=e.options,s=e.screenReaderLabel,l=e.readOnly,p=e.value,f="wc-block-sort-select__select-".concat(r);return React.createElement("div",{className:o()("wc-block-sort-select",t)},React.createElement(a.a,{label:c,screenReaderLabel:s,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:f}}),React.createElement("select",{id:f,className:"wc-block-sort-select__select",defaultValue:n,onChange:i,readOnly:l,value:p},u.map((function(e){return React.createElement("option",{key:e.key,value:e.key},e.label)}))))}))},,,,,,function(e,t){},function(e,t,r){"use strict";var n=r(0),o=r(1),a=r(7),c=r(9);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(o.getSetting)("restApiRoutes")),Object(c.useSelect)((function(e,t){if(r.current){var n=e(a.SCHEMA_STORE_KEY),o=n.isResolving,c=n.hasFinishedResolution,i=t.dispatch(a.SCHEMA_STORE_KEY),u=i.receiveRoutes,s=i.startResolution,l=i.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];o("getRoutes",[e])||c("getRoutes",[e])||(s("getRoutes",[e]),u(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return g})),r.d(t,"c",(function(){return m}));var n=r(4),o=r.n(n),a=r(5),c=r.n(a),i=r(7),u=r(9),s=r(0),l=r(18),p=r(11);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var d=function(e){var t=Object(l.a)();e=e||t;var r=Object(u.useSelect)((function(t){return t(i.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(u.useDispatch)(i.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(s.useCallback)((function(t){n(e,t)}),[e])]},g=function(e,t,r){var n=Object(l.a)();r=r||n;var o=Object(u.useSelect)((function(n){return n(i.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),a=Object(u.useDispatch)(i.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(s.useCallback)((function(t){a(r,e,t)}),[r,e])]},m=function(e,t){var r=Object(l.a)(),n=d(t=t||r),a=c()(n,2),i=a[0],u=a[1],g=Object(p.a)(e),m=Object(s.useRef)(!1);return Object(s.useEffect)((function(){u(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},i,{},g)),m.current=!0}),[g]),m.current?[i,u]:[e,u]}},,,,,,,function(e,t,r){var n=r(62);e.exports=function(e,t){if(null==e)return{};var r,o,a=n(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)r=c[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},,,,,,function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}},function(e,t){},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(3),o=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},function(e,t){},function(e,t){},function(e,t){},,,,,function(e,t,r){"use strict";r.r(t);var n=r(47),o=r(13),a=r.n(o),c=r(14),i=r.n(c),u=r(15),s=r.n(u),l=r(16),p=r.n(l),f=r(17),d=r.n(f),g=r(3),m=r.n(g),b=(r(8),r(5)),h=r.n(b),v=r(0),y=r(20),O=r.n(y),w=r(55),_=r.n(w),j=r(4),S=r.n(j),E=r(19),P=r(6),x=r.n(P),R=r(2),k=r(25),N=(r(66),function(e){var t=e.currentPage,r=e.displayFirstAndLastPages,n=e.displayNextAndPreviousArrows,o=e.pagesToDisplay,a=e.onPageChange,c=e.totalPages,i=function(e,t,r){if(r<=2)return{minIndex:null,maxIndex:null};var n=e-1,o=Math.max(Math.floor(t-n/2),2),a=Math.min(Math.ceil(t+(n-(t-o))),r-1);return{minIndex:Math.max(Math.floor(t-(n-(a-t))),2),maxIndex:a}}(o,t,c),u=i.minIndex,s=i.maxIndex,l=r&&Boolean(1!==u),p=r&&Boolean(s!==c),f=r&&Boolean(u>3),d=r&&Boolean(s<c-2);l&&3===u&&(u-=1),p&&s===c-2&&(s+=1);var g=[];if(u&&s)for(var m=u;m<=s;m++)g.push(m);return React.createElement("div",{className:"wc-block-pagination"},React.createElement(k.a,{screenReaderLabel:Object(R.__)("Navigate to another page",'woocommerce')}),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t-1)},title:Object(R.__)("Previous page",'woocommerce'),disabled:t<=1},React.createElement(k.a,{label:"<",screenReaderLabel:Object(R.__)("Previous page",'woocommerce')})),l&&React.createElement("button",{className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return a(1)},disabled:1===t},"1"),f&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(R.__)("…",'woocommerce')),g.map((function(e){return React.createElement("button",{key:e,className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return a(e)},disabled:t===e},e)})),d&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(R.__)("…",'woocommerce')),p&&React.createElement("button",{className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===c}),onClick:function(){return a(c)},disabled:t===c},c),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t+1)},title:Object(R.__)("Next page",'woocommerce'),disabled:t>=c},React.createElement(k.a,{label:">",screenReaderLabel:Object(R.__)("Next page",'woocommerce')})))});N.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var C=N,T=r(40),D=(r(65),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,o=e.value;return React.createElement(T.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:r,options:[{key:"menu_order",label:Object(R.__)("Default sorting",'woocommerce')},{key:"popularity",label:Object(R.__)("Popularity",'woocommerce')},{key:"rating",label:Object(R.__)("Average rating",'woocommerce')},{key:"date",label:Object(R.__)("Latest",'woocommerce')},{key:"price",label:Object(R.__)("Price: low to high",'woocommerce')},{key:"price-desc",label:Object(R.__)("Price: high to low",'woocommerce')}],readOnly:n,screenReaderLabel:Object(R.__)("Order products by",'woocommerce'),value:o})}),F=function(e,t,r){if("object"!==O()(r))throw new Error("".concat(e," expects an object for its context value"));var n=[];for(var o in t)t[o].required&&void 0===r[o]?n.push("The ".concat(o," is required and is not present.")):void 0!==r[o]&&O()(r[o])!==t[o].type&&n.push("The ".concat(o," must be of ").concat(t[o].type," and instead was ").concat(O()(r[o])));if(n.length>0)throw new Error("There was a problem with the value passed in on ".concat(e,":\n ").concat(n.join("\n")))},A={parentName:{required:!0,type:"string"}},I=Object(v.createContext)({parentName:null}),V=function(e){var t=e.value,r=e.children;return Object(v.useEffect)((function(){F("InnerBlockConfigurationProvider",A,t)}),[t]),React.createElement(I.Provider,{value:t},r)},L={layoutStyleClassPrefix:{required:!0,type:"string"}},M=Object(v.createContext)({layoutStyleClassPrefix:""}),B=function(){return Object(v.useContext)(M)},U=function(e){var t=e.value,r=e.children;return Object(v.useEffect)((function(){F("ProductLayoutContextProvider",L,t)}),[t]),React.createElement(M.Provider,{value:t},r)},q=r(35),K=r(12),Y=r.n(K),Q=r(56);function H(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W(){return(W=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(e,t){return(z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var $="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";function J(){}function X(){}X.resetWarningCache=J;var ee=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,r,n,o,a){if(a!==$){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:X,resetWarningCache:J};return r.PropTypes=r,r}()}));function te(){}function re(e){return!!(e||"").match(/\d/)}function ne(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function oe(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r="-"===e[0],n=r&&t,o=(e=e.replace("-","")).split(".");return{beforeDecimal:o[0],afterDecimal:o[1]||"",hasNagation:r,addNegation:n}}function ae(e,t,r){for(var n="",o=r?"0":"",a=0;a<=t-1;a++)n+=e[a]||o;return n}function ce(e,t){if(e.value=e.value,null!==e){if(e.createTextRange){var r=e.createTextRange();return r.move("character",t),r.select(),!0}return e.selectionStart||0===e.selectionStart?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}function ie(e,t,r){return Math.min(Math.max(e,t),r)}function ue(e){return Math.max(e.selectionStart,e.selectionEnd)}var se={thousandSeparator:ee.oneOfType([ee.string,ee.oneOf([!0])]),decimalSeparator:ee.string,allowedDecimalSeparators:ee.arrayOf(ee.string),thousandsGroupStyle:ee.oneOf(["thousand","lakh","wan"]),decimalScale:ee.number,fixedDecimalScale:ee.bool,displayType:ee.oneOf(["input","text"]),prefix:ee.string,suffix:ee.string,format:ee.oneOfType([ee.string,ee.func]),removeFormatting:ee.func,mask:ee.oneOfType([ee.string,ee.arrayOf(ee.string)]),value:ee.oneOfType([ee.number,ee.string]),defaultValue:ee.oneOfType([ee.number,ee.string]),isNumericString:ee.bool,customInput:ee.elementType,allowNegative:ee.bool,allowEmptyFormatting:ee.bool,allowLeadingZeros:ee.bool,onValueChange:ee.func,onKeyDown:ee.func,onMouseUp:ee.func,onChange:ee.func,onFocus:ee.func,onBlur:ee.func,type:ee.oneOf(["text","tel","password"]),isAllowed:ee.func,renderText:ee.func,getInputRef:ee.func},le={displayType:"input",decimalSeparator:".",thousandsGroupStyle:"thousand",fixedDecimalScale:!1,prefix:"",suffix:"",allowNegative:!0,allowEmptyFormatting:!1,allowLeadingZeros:!1,isNumericString:!1,type:"text",onValueChange:te,onChange:te,onKeyDown:te,onMouseUp:te,onFocus:te,onBlur:te,isAllowed:function(){return!0}},pe=function(e){function t(e){var r,n,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,r=!(o=G(t).call(this,e))||"object"!=typeof o&&"function"!=typeof o?Z(n):o;var a=e.defaultValue;r.validateProps();var c=r.formatValueProp(a);return r.state={value:c,numAsString:r.removeFormatting(c)},r.selectionBeforeInput={selectionStart:0,selectionEnd:0},r.onChange=r.onChange.bind(Z(Z(r))),r.onKeyDown=r.onKeyDown.bind(Z(Z(r))),r.onMouseUp=r.onMouseUp.bind(Z(Z(r))),r.onFocus=r.onFocus.bind(Z(Z(r))),r.onBlur=r.onBlur.bind(Z(Z(r))),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&z(e,t)}(t,e),r=t,(n=[{key:"componentDidUpdate",value:function(e){this.updateValueIfRequired(e)}},{key:"updateValueIfRequired",value:function(e){var t=this.props,r=this.state,n=this.focusedElm,o=r.value,a=r.numAsString,c=void 0===a?"":a;if(e!==t){this.validateProps();var i=this.formatNumString(c),u=void 0===t.value?i:this.formatValueProp(),s=this.removeFormatting(u),l=parseFloat(s),p=parseFloat(c);(isNaN(l)&&isNaN(p)||l===p)&&i===o&&(null!==n||u===o)||this.updateValue({formattedValue:u,numAsString:s,input:n})}}},{key:"getFloatString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.decimalScale,r=this.getSeparators(),n=r.decimalSeparator,o=this.getNumberRegex(!0),a="-"===e[0];a&&(e=e.replace("-","")),n&&0===t&&(e=e.split(n)[0]);var c=(e=(e.match(o)||[]).join("").replace(n,".")).indexOf(".");return-1!==c&&(e="".concat(e.substring(0,c),".").concat(e.substring(c+1,e.length).replace(new RegExp(ne(n),"g"),""))),a&&(e="-"+e),e}},{key:"getNumberRegex",value:function(e,t){var r=this.props,n=r.format,o=r.decimalScale,a=this.getSeparators().decimalSeparator;return new RegExp("\\d"+(!a||0===o||t||n?"":"|"+ne(a)),e?"g":void 0)}},{key:"getSeparators",value:function(){var e=this.props.decimalSeparator,t=this.props,r=t.thousandSeparator,n=t.allowedDecimalSeparators;return!0===r&&(r=","),n||(n=[e,"."]),{decimalSeparator:e,thousandSeparator:r,allowedDecimalSeparators:n}}},{key:"getMaskAtIndex",value:function(e){var t=this.props.mask,r=void 0===t?" ":t;return"string"==typeof r?r:r[e]||" "}},{key:"getValueObject",value:function(e,t){var r=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(r)?void 0:r}}},{key:"validateProps",value:function(){var e=this.props.mask,t=this.getSeparators(),r=t.decimalSeparator,n=t.thousandSeparator;if(r===n)throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: ".concat(n,' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ').concat(r," (default value for decimalSeparator is .)\n "));if(e&&("string"===e?e:e.toString()).match(/\d/g))throw new Error("\n Mask ".concat(e," should not contain numeric character;\n "))}},{key:"setPatchedCaretPosition",value:function(e,t,r){ce(e,t),setTimeout((function(){e.value===r&&ce(e,t)}),0)}},{key:"correctCaretPosition",value:function(e,t,r){var n=this.props,o=n.prefix,a=n.suffix,c=n.format;if(""===e)return 0;if(t=ie(t,0,e.length),!c){var i="-"===e[0];return ie(t,o.length+(i?1:0),e.length-a.length)}if("function"==typeof c)return t;if("#"===c[t]&&re(e[t]))return t;if("#"===c[t-1]&&re(e[t-1]))return t;var u=c.indexOf("#");t=ie(t,u,c.lastIndexOf("#")+1);for(var s=c.substring(t,c.length).indexOf("#"),l=t,p=t+(-1===s?0:s);l>u&&("#"!==c[l]||!re(e[l]));)l-=1;return!re(e[p])||"left"===r&&t!==u||t-l<p-t?re(e[l])?l+1:l:p}},{key:"getCaretPosition",value:function(e,t,r){var n,o,a=this.props.format,c=this.state.value,i=this.getNumberRegex(!0),u=(e.match(i)||[]).join(""),s=(t.match(i)||[]).join("");for(n=0,o=0;o<r;o++){var l=e[o]||"",p=t[n]||"";if((l.match(i)||l===p)&&("0"!==l||!p.match(i)||"0"===p||u.length===s.length)){for(;l!==t[n]&&n<t.length;)n++;n++}}return"string"!=typeof a||c||(n=t.length),n=this.correctCaretPosition(t,n)}},{key:"removePrefixAndSuffix",value:function(e){var t=this.props,r=t.format,n=t.prefix,o=t.suffix;if(!r&&e){var a="-"===e[0];a&&(e=e.substring(1,e.length));var c=(e=n&&0===e.indexOf(n)?e.substring(n.length,e.length):e).lastIndexOf(o);e=o&&-1!==c&&c===e.length-o.length?e.substring(0,c):e,a&&(e="-"+e)}return e}},{key:"removePatternFormatting",value:function(e){for(var t=this.props.format.split("#").filter((function(e){return""!==e})),r=0,n="",o=0,a=t.length;o<=a;o++){var c=t[o]||"",i=o===a?e.length:e.indexOf(c,r);if(-1===i){n=e;break}n+=e.substring(r,i),r=i+c.length}return(n.match(/\d/g)||[]).join("")}},{key:"removeFormatting",value:function(e){var t=this.props,r=t.format,n=t.removeFormatting;return e?(r?e="string"==typeof r?this.removePatternFormatting(e):"function"==typeof n?n(e):(e.match(/\d/g)||[]).join(""):(e=this.removePrefixAndSuffix(e),e=this.getFloatString(e)),e):e}},{key:"formatWithPattern",value:function(e){for(var t=this.props.format,r=0,n=t.split(""),o=0,a=t.length;o<a;o++)"#"===t[o]&&(n[o]=e[r]||this.getMaskAtIndex(r),r+=1);return n.join("")}},{key:"formatAsNumber",value:function(e){var t=this.props,r=t.decimalScale,n=t.fixedDecimalScale,o=t.prefix,a=t.suffix,c=t.allowNegative,i=t.thousandsGroupStyle,u=this.getSeparators(),s=u.thousandSeparator,l=u.decimalSeparator,p=-1!==e.indexOf(".")||r&&n,f=oe(e,c),d=f.beforeDecimal,g=f.afterDecimal,m=f.addNegation;return void 0!==r&&(g=ae(g,r,n)),s&&(d=function(e,t,r){var n=function(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}(r),o=e.search(/[1-9]/);return o=-1===o?e.length:o,e.substring(0,o)+e.substring(o,e.length).replace(n,"$1"+t)}(d,s,i)),o&&(d=o+d),a&&(g+=a),m&&(d="-"+d),e=d+(p&&l||"")+g}},{key:"formatNumString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props,r=t.format,n=t.allowEmptyFormatting,o=e;return o=""!==e||n?"-"!==e||r?"string"==typeof r?this.formatWithPattern(o):"function"==typeof r?r(o):this.formatAsNumber(o):"-":""}},{key:"formatValueProp",value:function(e){var t=this.props,r=t.format,n=t.decimalScale,o=t.fixedDecimalScale,a=t.allowEmptyFormatting,c=this.props,i=c.value,u=void 0===i?e:i,s=c.isNumericString,l=!u&&0!==u;return l&&a&&(u=""),l&&!a?"":("number"==typeof u&&(u=u.toString(),s=!0),"Infinity"===u&&s&&(u=""),s&&!r&&"number"==typeof n&&(u=function(e,t,r){if(-1!==["","-"].indexOf(e))return e;var n=-1!==e.indexOf(".")&&t,o=oe(e),a=o.beforeDecimal,c=o.afterDecimal,i=o.hasNagation,u=parseFloat("0.".concat(c||"0")).toFixed(t).split("."),s=a.split("").reverse().reduce((function(e,t,r){return e.length>r?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e}),u[0]),l=ae(u[1]||"",Math.min(t,c.length),r),p=n?".":"";return"".concat(i?"-":"").concat(s).concat(p).concat(l)}(u,n,o)),s?this.formatNumString(u):this.formatInput(u))}},{key:"formatNegation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.allowNegative,r=new RegExp("(-)"),n=new RegExp("(-)(.)*(-)"),o=r.test(e),a=n.test(e);return e=e.replace(/-/g,""),o&&!a&&t&&(e="-"+e),e}},{key:"formatInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.format;return t||(e=this.removePrefixAndSuffix(e),e=this.formatNegation(e)),e=this.removeFormatting(e),this.formatNumString(e)}},{key:"isCharacterAFormat",value:function(e,t){var r=this.props,n=r.format,o=r.prefix,a=r.suffix,c=r.decimalScale,i=r.fixedDecimalScale,u=this.getSeparators().decimalSeparator;return"string"==typeof n&&"#"!==n[e]||!(n||!(e<o.length||e>=t.length-a.length||c&&i&&t[e]===u))}},{key:"checkIfFormatGotDeleted",value:function(e,t,r){for(var n=e;n<t;n++)if(this.isCharacterAFormat(n,r))return!0;return!1}},{key:"correctInputValue",value:function(e,t,r){var n=this.props,o=n.format,a=n.allowNegative,c=n.prefix,i=n.suffix,u=this.getSeparators(),s=u.allowedDecimalSeparators,l=u.decimalSeparator,p=this.state.numAsString||"",f=this.selectionBeforeInput,d=f.selectionStart,g=f.selectionEnd,m=function(e,t){for(var r=0,n=0,o=e.length,a=t.length;e[r]===t[r]&&r<o;)r++;for(;e[o-1-n]===t[a-1-n]&&a-n>r&&o-n>r;)n++;return{start:r,end:o-n}}(t,r),b=m.start,h=m.end;if(!o&&b===h&&-1!==s.indexOf(r[d]))return r.substr(0,d)+l+r.substr(d+1,r.length);var v=o?0:c.length,y=t.length-(o?0:i.length);if(r.length>t.length||!r.length||b===h||0===d&&g===t.length||d===v&&g===y)return r;if(this.checkIfFormatGotDeleted(b,h,t)&&(r=t),!o){var O=this.removeFormatting(r),w=oe(O,a),_=w.beforeDecimal,j=w.afterDecimal,S=w.addNegation,E=e<r.indexOf(l)+1;if(O.length<p.length&&E&&""===_&&!parseFloat(j))return S?"-":""}return r}},{key:"updateValue",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te,n=e.formattedValue,o=e.input,a=e.numAsString,c=e.caretPos,i=this.props.onValueChange,u=this.state.value;if(o){if(!c){var s=e.inputValue||o.value,l=ue(o);c=this.getCaretPosition(s,n,l)}o.value=n,this.setPatchedCaretPosition(o,c,n)}void 0===a&&(a=this.removeFormatting(n)),n!==u?this.setState({value:n,numAsString:a},(function(){i(t.getValueObject(n,a)),r()})):r()}},{key:"onChange",value:function(e){e.persist();var t=e.target,r=t.value,n=this.state,o=this.props,a=o.isAllowed,c=n.value||"",i=ue(t);r=this.correctInputValue(i,c,r);var u=this.formatInput(r)||"",s=this.removeFormatting(u);a(this.getValueObject(u,s))||(u=c),this.updateValue({formattedValue:u,numAsString:s,inputValue:r,input:t},(function(){o.onChange(e)}))}},{key:"onBlur",value:function(e){var t=this.props,r=this.state,n=t.format,o=t.onBlur,a=t.allowLeadingZeros,c=r.numAsString,i=r.value;if(this.focusedElm=null,this.focusTimeout&&clearTimeout(this.focusTimeout),!n){a||(c=function(e){if(!e)return e;var t="-"===e[0];t&&(e=e.substring(1,e.length));var r=e.split("."),n=r[0].replace(/^0+/,"")||"0",o=r[1]||"";return"".concat(t?"-":"").concat(n).concat(o?".".concat(o):"")}(c));var u=this.formatNumString(c);if(u!==i)return e.persist(),void this.updateValue({formattedValue:u,numAsString:c},(function(){o(e)}))}o(e)}},{key:"onKeyDown",value:function(e){var t,r=e.target,n=e.key,o=r.selectionStart,a=r.selectionEnd,c=r.value,i=void 0===c?"":c,u=this.props,s=u.decimalScale,l=u.fixedDecimalScale,p=u.prefix,f=u.suffix,d=u.format,g=u.onKeyDown,m=(u.onValueChange,void 0!==s&&l),b=this.getNumberRegex(!1,m),h=new RegExp("-"),v="string"==typeof d;if(this.selectionBeforeInput={selectionStart:o,selectionEnd:a},"ArrowLeft"===n||"Backspace"===n?t=o-1:"ArrowRight"===n?t=o+1:"Delete"===n&&(t=o),void 0!==t&&o===a){var y=t,O=v?d.indexOf("#"):p.length,w=v?d.lastIndexOf("#")+1:i.length-f.length;if("ArrowLeft"===n||"ArrowRight"===n){var _="ArrowLeft"===n?"left":"right";y=this.correctCaretPosition(i,t,_)}else if("Delete"!==n||b.test(i[t])||h.test(i[t])){if("Backspace"===n&&!b.test(i[t]))if(o<=O+1&&"-"===i[0]&&void 0===d){var j=i.substring(1);e.persist(),this.updateValue({formattedValue:j,caretPos:y,input:r})}else if(!h.test(i[t])){for(;!b.test(i[y-1])&&y>O;)y--;y=this.correctCaretPosition(i,y,"left")}}else for(;!b.test(i[y])&&y<w;)y++;(y!==t||t<O||t>w)&&(e.preventDefault(),this.setPatchedCaretPosition(r,y,i)),e.isUnitTestRun&&this.setPatchedCaretPosition(r,y,i),this.props.onKeyDown(e)}else g(e)}},{key:"onMouseUp",value:function(e){var t=e.target,r=t.selectionStart,n=t.selectionEnd,o=t.value,a=void 0===o?"":o;if(r===n){var c=this.correctCaretPosition(a,r);c!==r&&this.setPatchedCaretPosition(t,c,a)}this.props.onMouseUp(e)}},{key:"onFocus",value:function(e){var t=this;e.persist(),this.focusedElm=e.target,this.focusTimeout=setTimeout((function(){var r=e.target,n=r.selectionStart,o=r.selectionEnd,a=r.value,c=void 0===a?"":a,i=t.correctCaretPosition(c,n);i===n||0===n&&o===c.length||t.setPatchedCaretPosition(r,i,c),t.props.onFocus(e)}),0)}},{key:"render",value:function(){var e,t,r,n=this.props,o=n.type,a=n.displayType,c=n.customInput,i=n.renderText,u=n.getInputRef,s=this.state.value,l=(e=this.props,t=se,r={},Object.keys(e).forEach((function(n){t[n]||(r[n]=e[n])})),r),p=W({},l,{type:o,value:s,onChange:this.onChange,onKeyDown:this.onKeyDown,onMouseUp:this.onMouseUp,onFocus:this.onFocus,onBlur:this.onBlur});if("text"===a)return i?i(s)||null:m.a.createElement("span",W({},l,{ref:u}),s);if(c){var f=c;return m.a.createElement(f,W({},p,{ref:u}))}return m.a.createElement("input",W({},p,{ref:u}))}}])&&H(r.prototype,n),o&&H(r,o),t}(m.a.Component);pe.propTypes=se,pe.defaultProps=le;var fe=pe,de=function(e){var t=e.className,r=e.product,n=B().layoutStyleClassPrefix,o=r.prices||{},a={displayType:"text",thousandSeparator:o.thousand_separator,decimalSeparator:o.decimal_separator,decimalScale:o.decimals,prefix:o.price_prefix,suffix:o.price_suffix};return o.price_range&&o.price_range.min_amount&&o.price_range.max_amount?React.createElement("div",{className:x()(t,"".concat(n,"__product-price"))},React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(fe,Y()({value:o.price_range.min_amount},a))," — ",React.createElement(fe,Y()({value:o.price_range.max_amount},a)))):React.createElement("div",{className:x()(t,"".concat(n,"__product-price"))},o.regular_price!==o.price&&React.createElement("del",{className:"".concat(n,"__product-price__regular")},React.createElement(fe,Y()({value:o.regular_price},a))),React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(fe,Y()({value:o.price},a))))},ge=r(37),me=function(e){var t=e.className,r=e.product,n=e.align,o=B().layoutStyleClassPrefix,a="string"==typeof n?"".concat(o,"__product-onsale--align").concat(n):"";return r&&r.on_sale?React.createElement("div",{className:x()(t,a,"".concat(o,"__product-onsale"))},Object(R.__)("Sale",'woocommerce')):null},be=function(e){var t=e.product,r=e.saleBadgeAlign;return e.shouldRender?React.createElement(me,{product:t,align:r}):null},he=function(e){var t=e.layoutPrefix,r=e.loaded,n=e.image,o=e.onLoad,a=x()("".concat(t,"__product-image__image"),S()({},"".concat(t,"__product-image__image_placeholder"),!r&&!n)),c=n||{},i=c.thumbnail,u=c.srcset,s=c.sizes,l=c.alt;return React.createElement(v.Fragment,null,n&&React.createElement("img",{className:a,src:i,srcSet:u,sizes:s,alt:l,onLoad:o,hidden:!r}),!r&&React.createElement("img",{className:a,src:ge.c,alt:""}))},ve=function(e){var t=e.className,r=e.product,n=e.productLink,o=void 0===n||n,a=e.showSaleBadge,c=void 0===a||a,i=e.saleBadgeAlign,u=void 0===i?"right":i,s=Object(v.useState)(!1),l=h()(s,2),p=l[0],f=l[1],d=B().layoutStyleClassPrefix,g=r.images&&r.images.length?r.images[0]:null,m=React.createElement(v.Fragment,null,React.createElement(be,{product:r,saleBadgeAlign:u,shouldRender:c}),React.createElement(he,{layoutPrefix:d,loaded:p,image:g,onLoad:function(){return f(!0)}}));return React.createElement("div",{className:x()(t,"".concat(d,"__product-image"))},o?React.createElement("a",{href:r.permalink,rel:"nofollow"},m):{renderedSalesAndImage:m})},ye=function(e){var t=e.className,r=e.product,n=e.headingLevel,o=void 0===n?2:n,a=e.productLink,c=void 0===a||a,i=B().layoutStyleClassPrefix;if(!r.name)return null;var u=r.name,s="h".concat(o);return React.createElement(s,{className:x()(t,"".concat(i,"__product-title"))},c?React.createElement("a",{href:r.permalink,rel:"nofollow"},u):u)},Oe=function(e){var t=e.className,r=e.product,n=parseFloat(r.average_rating),o=B().layoutStyleClassPrefix;if(!Number.isFinite(n)||0===n)return null;var a={width:n/5*100+"%"};return React.createElement("div",{className:x()(t,"".concat(o,"__product-rating"))},React.createElement("div",{className:"".concat(o,"__product-rating__stars"),role:"img"},React.createElement("span",{style:a},Object(R.sprintf)(Object(R.__)("Rated %d out of 5",'woocommerce'),n))))},we=r(9),_e=r(39),je=r(7),Se=window.Event||{},Ee=function(e){var t=e.product,r=e.className,n=t.id,o=t.permalink,a=t.add_to_cart,c=t.has_options,i=t.is_purchasable,u=t.is_in_stock,s=function(e){var t=Object(_e.a)({namespace:"/wc/store",resourceName:"cart/items"}),r=t.results,n=t.isLoading,o=Object(v.useRef)(null),a=Object(we.useDispatch)(je.COLLECTIONS_STORE_KEY).__experimentalPersistItemToCollection,c=Object(v.useMemo)((function(){var t=Object(E.find)(r,{id:e});return t?t.quantity:0}),[r,e]),i=Object(v.useState)(!1),u=h()(i,2),s=u[0],l=u[1],p=Object(v.useCallback)((function(){l(!0);var t=r.filter((function(t){return t.id!==e}));a("/wc/store","cart/items",t,{id:e,quantity:1})}),[e,r]);return Object(v.useEffect)((function(){o.current!==r&&(s&&l(!1),o.current=r)}),[r,s]),{cartQuantity:c,addingToCart:s,cartIsLoading:n,addToCart:p}}(n),l=s.cartQuantity,p=s.addingToCart,f=s.cartIsLoading,d=s.addToCart,g=B().layoutStyleClassPrefix,m=l>0,b=Object(v.useRef)(!0),y=function(){return Number.isFinite(l)&&m?Object(R.sprintf)(Object(R._n)("%d in cart","%d in cart",l,'woocommerce'),l):a.text};Object(v.useEffect)((function(){if(b.current)b.current=!1;else if(0!==Object.entries(Se).length){var e=new Se("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}),[l]);var O=x()(r,"".concat(g,"__product-add-to-cart"),"wp-block-button"),w=x()("wp-block-button__link","add_to_cart_button",{loading:p,added:m});if(0===Object.keys(t).length||f)return React.createElement("div",{className:O},React.createElement("button",{className:w,disabled:!0}));var _=!c&&i&&u;return React.createElement("div",{className:O},_?React.createElement("button",{onClick:d,"aria-label":a.description,className:w,disabled:p},y()):React.createElement("a",{href:o,"aria-label":a.description,className:w,rel:"nofollow"},y()))},Pe=function(e){var t=e.className,r=e.product,n=B().layoutStyleClassPrefix;return r.description?React.createElement("div",{className:x()(t,"".concat(n,"__product-summary")),dangerouslySetInnerHTML:{__html:r.description}}):null};function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xe(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ke=function e(t,r,n,o){if(n){var a=function(e){return Re({"woocommerce/product-price":de,"woocommerce/product-image":ve,"woocommerce/product-title":ye,"woocommerce/product-rating":Oe,"woocommerce/product-button":Ee,"woocommerce/product-summary":Pe,"woocommerce/product-sale-badge":me},Object(Q.getRegisteredInnerBlocks)(e))}(t);return n.map((function(n,c){var i=h()(n,2),u=i[0],s=i[1],l=void 0===s?{}:s,p=[];l.children&&l.children.length>0&&(p=e(t,r,l.children,o));var f=a[u];if(!f)return null;var d=r.id||0,g=["layout",u,c,o,d];return React.createElement(f,Y()({key:g.join("_")},l,{children:p,product:r}))}))}},Ne=Object(q.a)((function(e){var t=e.product,r=e.attributes,n=e.componentId,o=r.layoutConfig,a=Object(v.useContext)(I).parentName,c=B().layoutStyleClassPrefix,i=!Object.keys(t).length>0,u=x()("".concat(c,"__product"),{"is-loading":i});return React.createElement("li",{className:u,"aria-hidden":i},ke(a,t,o,n))})),Ce=r(48),Te=r(11);function De(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Fe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?De(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):De(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ae=function(e){var t={namespace:"/wc/store",resourceName:"products"},r=Object(_e.a)(Fe({},t,{query:e})),n=r.results,o=r.isLoading;return{products:n,totalProducts:function(e,t){var r=t.namespace,n=t.resourceName,o=t.resourceValues,a=void 0===o?[]:o,c=t.query,i=void 0===c?{}:c;if(!r||!n)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var u=Object(Te.a)(i),s=Object(Te.a)(a),l=Object(we.useSelect)((function(t){var o=t(je.COLLECTIONS_STORE_KEY),a=[e,r,n,u,s];return{value:o.getCollectionHeader.apply(o,a),isLoading:o.hasFinishedResolution("getCollectionHeader",a)}}),[e,r,n,s,u]),p=l.value,f=l.isLoading;return{value:p,isLoading:void 0===f||f}}("x-wp-total",Fe({},t,{query:e})).value,productsLoading:o}},Ie=r(64),Ve=r(10),Le=r.n(Ve),Me=(r(67),function(e){var t=function(t){function r(){var e;return a()(this,r),e=s()(this,p()(r).call(this)),S()(Le()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),S()(Le()(e),"moveFocusToTop",(function(t){var r=e.scrollPointRef.current.parentElement.querySelectorAll(t);r.length&&r[0].focus()})),S()(Le()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(g.createRef)(),e}return d()(r,t),i()(r,[{key:"render",value:function(){return React.createElement(g.Fragment,null,React.createElement("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),React.createElement(e,Y()({},this.props,{scrollToTop:this.scrollToTop})))}}]),r}(g.Component);return t.displayName="withScrollToTop",t}),Be=(r(63),function(){var e=B().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(e,"__no-products")},React.createElement("img",{src:ge.e+"img/no-products.svg",alt:Object(R.__)("No products",'woocommerce'),className:"".concat(e,"__no-products-image")}),React.createElement("strong",{className:"".concat(e,"__no-products-title")},Object(R.__)("No products",'woocommerce')),React.createElement("p",{className:"".concat(e,"__no-products-description")},Object(R.__)("There are currently no products available to display.",'woocommerce')))}),Ue=function(e){var t=e.resetCallback,r=void 0===t?function(){}:t,n=B().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(n,"__no-products")},React.createElement("img",{src:ge.e+"img/no-matching-products.svg",alt:Object(R.__)("No products",'woocommerce'),className:"".concat(n,"__no-products-image")}),React.createElement("strong",{className:"".concat(n,"__no-products-title")},Object(R.__)("No products found",'woocommerce')),React.createElement("p",{className:"".concat(n,"__no-products-description")},Object(R.__)("We were unable to find any results based on your search.",'woocommerce')),React.createElement("button",{onClick:r},Object(R.__)("Reset Search",'woocommerce')))};function qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var Ke=function(e){var t=e.sortValue,r=e.currentPage,n=e.attributes,o=n.columns,a=n.rows;return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qe(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"date":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"}}}(t),{per_page:o*a,page:r})},Ye=Me((function(e){var t=e.attributes,r=e.currentPage,n=e.onPageChange,o=e.onSortChange,a=e.sortValue,c=e.scrollToTop,i=Object(Ce.c)(Ke({attributes:t,sortValue:a,currentPage:r})),u=h()(i,1)[0],s=Ae(u),l=s.products,p=s.productsLoading,f=parseInt(s.totalProducts),d=B().layoutStyleClassPrefix,g=function(e){e.order,e.orderby,e.page,e.per_page;return _()(e,["order","orderby","page","per_page"])}(u),m=Object(Ce.b)("attributes",[]),b=h()(m,2),y=b[0],w=b[1],j=Object(Ce.b)("min_price"),S=h()(j,2),P=S[0],R=S[1],k=Object(Ce.b)("max_price"),N=h()(k,2),T=N[0],F=N[1],A=Object(Ie.a)({totalQuery:g,totalProducts:f},(function(e){var t=e.totalQuery,r=e.totalProducts,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.totalQuery;return!Object(E.isEqual)(t,o)&&Number.isFinite(r)})),I="object"===O()(A)&&Object(E.isEqual)(g,A.totalQuery);Object(v.useEffect)((function(){I||n(1)}),[u]);var V,L,M,U,q,K=t.contentVisibility,Y=t.columns*t.rows,Q=!Number.isFinite(f)&&I?Math.ceil(A.totalProducts/Y):Math.ceil(f/Y),H=l.length?l:Array.from({length:Y}),W=0!==l.length||p,G=y.length>0||Number.isFinite(P)||Number.isFinite(T);return React.createElement("div",{className:(V=t.columns,L=t.rows,M=t.alignButtons,U=t.align,q=void 0!==U?"align"+U:"",x()(d,q,"has-"+V+"-columns",{"has-multiple-rows":L>1,"has-aligned-buttons":M}))},K.orderBy&&W&&React.createElement(D,{onChange:o,value:a}),!W&&G&&React.createElement(Ue,{resetCallback:function(){w([]),R(null),F(null)}}),!W&&!G&&React.createElement(Be,null),W&&React.createElement("ul",{className:"".concat(d,"__products")},H.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return React.createElement(Ne,{key:e.id||r,attributes:t,product:e})}))),Q>1&&React.createElement(C,{currentPage:r,onPageChange:function(e){c({focusableSelector:"a, button"}),n(e)},totalPages:Q}))})),Qe=function(e){var t=e.attributes,r=Object(v.useState)(1),n=h()(r,2),o=n[0],a=n[1],c=Object(v.useState)(t.orderby),i=h()(c,2),u=i[0],s=i[1];Object(v.useEffect)((function(){s(t.orderby)}),[t.orderby]);return React.createElement(Ye,{attributes:t,currentPage:o,onPageChange:function(e){a(e)},onSortChange:function(e){var t=e.target.value;s(t),a(1)},sortValue:u})},He=React.createElement("img",{src:ge.e+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}}),We={layoutStyleClassPrefix:"wc-block-grid"},Ge={parentName:"woocommerce/all-products"},ze=function(e){function t(){return a()(this,t),s()(this,p()(t).apply(this,arguments))}return d()(t,e),i()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.urlParameterSuffix;return t.isPreview?He:React.createElement(V,{value:Ge},React.createElement(U,{value:We},React.createElement(Qe,{attributes:t,urlParameterSuffix:r})))}}]),t}(g.Component),Ze=r(23);Object(Ze.a)(".wp-block-woocommerce-all-products",Object(n.a)(ze),(function(e){return{attributes:JSON.parse(e.dataset.attributes)}}))}]);
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)&&n.length){var c=o.apply(null,n);c&&e.push(c)}else if("object"===a)for(var i in n)r.call(n,i)&&n[i]&&e.push(i)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t,r){e.exports=r(28)()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=r(22),a=r.n(o),c=function(e){var t=Object(n.useRef)();return a()(e,t.current)||(t.current=e),t.current}},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(20),o=r(10);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(27);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),o=Object(n.createContext)("page"),a=function(){return Object(n.useContext)(o)};o.Provider},function(e,t){!function(){e.exports=this.lodash}()},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,r){"use strict";var n=r(12),o=r.n(n),a=r(4),c=r.n(a),i=r(21),u=r(13),s=r.n(u),l=r(14),p=r.n(l),f=r(15),d=r.n(f),g=r(16),m=r.n(g),b=r(10),h=r.n(b),v=r(17),y=r.n(v),O=r(3),w=(r(8),r(2)),_=r(37),j=function(e){var t=e.imageUrl,r=void 0===t?"".concat(_.e,"img/block-error.svg"):t,n=e.header,o=void 0===n?Object(w.__)("Oops!",'woocommerce'):n,a=e.text,c=void 0===a?Object(w.__)("There was an error with loading this content.",'woocommerce'):a,i=e.errorMessage;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},o&&React.createElement("p",{className:"wc-block-error__header"},o),c&&React.createElement("p",{className:"wc-block-error__text"},c),i&&React.createElement("p",{className:"wc-block-error__message"},i)))},S=(r(30),function(e){function t(){var e,r;s()(this,t);for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return r=d()(this,(e=m()(t)).call.apply(e,[this].concat(o))),c()(h()(r),"state",{hasError:!1}),r}return y()(t,e),p()(t,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,a=this.state,c=a.errorMessage;return a.hasError?React.createElement(j,{errorMessage:n?c:null,header:t,imageUrl:r,text:o}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorMessage:e.message,hasError:!0}}}]),t}(O.Component));S.defaultProps={showErrorMessage:!1};var E=S;function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=document.querySelectorAll(e);n.length&&Array.prototype.forEach.call(n,(function(e,n){var a=r(e,n),c=x({},e.dataset,{},a.attributes);e.classList.remove("is-loading"),Object(i.render)(React.createElement(E,null,React.createElement(t,o()({},a,{attributes:c}))),e)}))}},,function(e,t,r){"use strict";var n=r(4),o=r.n(n),a=(r(8),r(3)),c=r(6),i=r.n(c);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var s=function(e){var t,r=e.label,n=e.screenReaderLabel,c=e.wrapperElement,s=e.wrapperProps;return!r&&n?(t=c||"span",s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},s,{className:i()(s.className,"screen-reader-text")}),React.createElement(t,s,n)):(t=c||a.Fragment,r&&n&&r!==n?React.createElement(t,s,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,s,r))};s.defaultProps={wrapperProps:{}},t.a=s},,function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";var n=r(29);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,a,c){if(c!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var c,i=e[Symbol.iterator]();!(n=(c=i.next()).done)&&(r.push(c.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){"use strict";var n=r(12),o=r.n(n),a=r(13),c=r.n(a),i=r(14),u=r.n(i),s=r(15),l=r.n(s),p=r(16),f=r.n(p),d=r(10),g=r.n(d),m=r(17),b=r.n(m),h=r(4),v=r.n(h),y=r(3);t.a=function(e){var t=0,r=function(r){function n(){var e,r;c()(this,n);for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=l()(this,(e=f()(n)).call.apply(e,[this].concat(a))),v()(g()(r),"instanceId",t++),r}return b()(n,r),u()(n,[{key:"render",value:function(){return React.createElement(e,o()({},this.props,{componentId:this.instanceId}))}}]),n}(y.Component);return r.displayName="withComponentId",r}},,function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"d",(function(){return a})),r.d(t,"c",(function(){return c})),r.d(t,"a",(function(){return i})),r.d(t,"e",(function(){return u}));var n=r(1),o=Object(n.getSetting)("enableReviewRating",!0),a=Object(n.getSetting)("showAvatars",!0),c=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",2),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),i=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),u=Object(n.getSetting)("wcBlocksAssetUrl","")},,function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(7),o=r(9),a=r(0),c=r(11),i=function(e){var t=e.namespace,r=e.resourceName,i=e.resourceValues,u=void 0===i?[]:i,s=e.query,l=void 0===s?{}:s,p=e.shouldSelect,f=void 0===p||p;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(a.useRef)({results:[],isLoading:!0}),g=Object(c.a)(l),m=Object(c.a)(u),b=Object(o.useSelect)((function(e){if(!f)return null;var o=e(n.COLLECTIONS_STORE_KEY),a=[t,r,g,m];return{results:o.getCollection.apply(o,a),isLoading:!o.hasFinishedResolution("getCollection",a)}}),[t,r,m,g,f]);return null!==b&&(d.current=b),d.current}},function(e,t,r){"use strict";r(8);var n=r(6),o=r.n(n),a=r(25),c=r(35);r(46);t.a=Object(c.a)((function(e){var t=e.className,r=e.componentId,n=e.defaultValue,c=e.label,i=e.onChange,u=e.options,s=e.screenReaderLabel,l=e.readOnly,p=e.value,f="wc-block-sort-select__select-".concat(r);return React.createElement("div",{className:o()("wc-block-sort-select",t)},React.createElement(a.a,{label:c,screenReaderLabel:s,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:f}}),React.createElement("select",{id:f,className:"wc-block-sort-select__select",defaultValue:n,onChange:i,readOnly:l,value:p},u.map((function(e){return React.createElement("option",{key:e.key,value:e.key},e.label)}))))}))},,,,,,function(e,t){},function(e,t,r){"use strict";var n=r(0),o=r(1),a=r(7),c=r(9);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(o.getSetting)("restApiRoutes")),Object(c.useSelect)((function(e,t){if(r.current){var n=e(a.SCHEMA_STORE_KEY),o=n.isResolving,c=n.hasFinishedResolution,i=t.dispatch(a.SCHEMA_STORE_KEY),u=i.receiveRoutes,s=i.startResolution,l=i.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];o("getRoutes",[e])||c("getRoutes",[e])||(s("getRoutes",[e]),u(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return g})),r.d(t,"c",(function(){return m}));var n=r(4),o=r.n(n),a=r(5),c=r.n(a),i=r(7),u=r(9),s=r(0),l=r(18),p=r(11);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var d=function(e){var t=Object(l.a)();e=e||t;var r=Object(u.useSelect)((function(t){return t(i.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(u.useDispatch)(i.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(s.useCallback)((function(t){n(e,t)}),[e])]},g=function(e,t,r){var n=Object(l.a)();r=r||n;var o=Object(u.useSelect)((function(n){return n(i.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),a=Object(u.useDispatch)(i.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(s.useCallback)((function(t){a(r,e,t)}),[r,e])]},m=function(e,t){var r=Object(l.a)(),n=d(t=t||r),a=c()(n,2),i=a[0],u=a[1],g=Object(p.a)(e),m=Object(s.useRef)(!1);return Object(s.useEffect)((function(){u(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},i,{},g)),m.current=!0}),[g]),m.current?[i,u]:[e,u]}},,,,,,,function(e,t,r){var n=r(62);e.exports=function(e,t){if(null==e)return{};var r,o,a=n(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)r=c[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},,,,,,function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}},function(e,t){},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(3),o=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},function(e,t){},function(e,t){},function(e,t){},,,,,function(e,t,r){"use strict";r.r(t);var n=r(47),o=r(13),a=r.n(o),c=r(14),i=r.n(c),u=r(15),s=r.n(u),l=r(16),p=r.n(l),f=r(17),d=r.n(f),g=r(3),m=r.n(g),b=(r(8),r(5)),h=r.n(b),v=r(0),y=r(20),O=r.n(y),w=r(55),_=r.n(w),j=r(4),S=r.n(j),E=r(19),P=r(6),x=r.n(P),R=r(2),k=r(25),N=(r(66),function(e){var t=e.currentPage,r=e.displayFirstAndLastPages,n=e.displayNextAndPreviousArrows,o=e.pagesToDisplay,a=e.onPageChange,c=e.totalPages,i=function(e,t,r){if(r<=2)return{minIndex:null,maxIndex:null};var n=e-1,o=Math.max(Math.floor(t-n/2),2),a=Math.min(Math.ceil(t+(n-(t-o))),r-1);return{minIndex:Math.max(Math.floor(t-(n-(a-t))),2),maxIndex:a}}(o,t,c),u=i.minIndex,s=i.maxIndex,l=r&&Boolean(1!==u),p=r&&Boolean(s!==c),f=r&&Boolean(u>3),d=r&&Boolean(s<c-2);l&&3===u&&(u-=1),p&&s===c-2&&(s+=1);var g=[];if(u&&s)for(var m=u;m<=s;m++)g.push(m);return React.createElement("div",{className:"wc-block-pagination"},React.createElement(k.a,{screenReaderLabel:Object(R.__)("Navigate to another page",'woocommerce')}),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t-1)},title:Object(R.__)("Previous page",'woocommerce'),disabled:t<=1},React.createElement(k.a,{label:"<",screenReaderLabel:Object(R.__)("Previous page",'woocommerce')})),l&&React.createElement("button",{className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return a(1)},disabled:1===t},"1"),f&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(R.__)("…",'woocommerce')),g.map((function(e){return React.createElement("button",{key:e,className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return a(e)},disabled:t===e},e)})),d&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(R.__)("…",'woocommerce')),p&&React.createElement("button",{className:x()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===c}),onClick:function(){return a(c)},disabled:t===c},c),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t+1)},title:Object(R.__)("Next page",'woocommerce'),disabled:t>=c},React.createElement(k.a,{label:">",screenReaderLabel:Object(R.__)("Next page",'woocommerce')})))});N.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var C=N,T=r(40),D=(r(65),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,o=e.value;return React.createElement(T.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:r,options:[{key:"menu_order",label:Object(R.__)("Default sorting",'woocommerce')},{key:"popularity",label:Object(R.__)("Popularity",'woocommerce')},{key:"rating",label:Object(R.__)("Average rating",'woocommerce')},{key:"date",label:Object(R.__)("Latest",'woocommerce')},{key:"price",label:Object(R.__)("Price: low to high",'woocommerce')},{key:"price-desc",label:Object(R.__)("Price: high to low",'woocommerce')}],readOnly:n,screenReaderLabel:Object(R.__)("Order products by",'woocommerce'),value:o})}),F=function(e,t,r){if("object"!==O()(r))throw new Error("".concat(e," expects an object for its context value"));var n=[];for(var o in t)t[o].required&&void 0===r[o]?n.push("The ".concat(o," is required and is not present.")):void 0!==r[o]&&O()(r[o])!==t[o].type&&n.push("The ".concat(o," must be of ").concat(t[o].type," and instead was ").concat(O()(r[o])));if(n.length>0)throw new Error("There was a problem with the value passed in on ".concat(e,":\n ").concat(n.join("\n")))},A={parentName:{required:!0,type:"string"}},I=Object(v.createContext)({parentName:null}),V=function(e){var t=e.value,r=e.children;return Object(v.useEffect)((function(){F("InnerBlockConfigurationProvider",A,t)}),[t]),React.createElement(I.Provider,{value:t},r)},L={layoutStyleClassPrefix:{required:!0,type:"string"}},M=Object(v.createContext)({layoutStyleClassPrefix:""}),B=function(){return Object(v.useContext)(M)},U=function(e){var t=e.value,r=e.children;return Object(v.useEffect)((function(){F("ProductLayoutContextProvider",L,t)}),[t]),React.createElement(M.Provider,{value:t},r)},q=r(35),K=r(12),Y=r.n(K),Q=r(56);function H(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W(){return(W=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(e,t){return(z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var $="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";function J(){}function X(){}X.resetWarningCache=J;var ee=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,r,n,o,a){if(a!==$){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:X,resetWarningCache:J};return r.PropTypes=r,r}()}));function te(){}function re(e){return!!(e||"").match(/\d/)}function ne(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function oe(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r="-"===e[0],n=r&&t,o=(e=e.replace("-","")).split(".");return{beforeDecimal:o[0],afterDecimal:o[1]||"",hasNagation:r,addNegation:n}}function ae(e,t,r){for(var n="",o=r?"0":"",a=0;a<=t-1;a++)n+=e[a]||o;return n}function ce(e,t){if(e.value=e.value,null!==e){if(e.createTextRange){var r=e.createTextRange();return r.move("character",t),r.select(),!0}return e.selectionStart||0===e.selectionStart?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}function ie(e,t,r){return Math.min(Math.max(e,t),r)}function ue(e){return Math.max(e.selectionStart,e.selectionEnd)}var se={thousandSeparator:ee.oneOfType([ee.string,ee.oneOf([!0])]),decimalSeparator:ee.string,allowedDecimalSeparators:ee.arrayOf(ee.string),thousandsGroupStyle:ee.oneOf(["thousand","lakh","wan"]),decimalScale:ee.number,fixedDecimalScale:ee.bool,displayType:ee.oneOf(["input","text"]),prefix:ee.string,suffix:ee.string,format:ee.oneOfType([ee.string,ee.func]),removeFormatting:ee.func,mask:ee.oneOfType([ee.string,ee.arrayOf(ee.string)]),value:ee.oneOfType([ee.number,ee.string]),defaultValue:ee.oneOfType([ee.number,ee.string]),isNumericString:ee.bool,customInput:ee.elementType,allowNegative:ee.bool,allowEmptyFormatting:ee.bool,allowLeadingZeros:ee.bool,onValueChange:ee.func,onKeyDown:ee.func,onMouseUp:ee.func,onChange:ee.func,onFocus:ee.func,onBlur:ee.func,type:ee.oneOf(["text","tel","password"]),isAllowed:ee.func,renderText:ee.func,getInputRef:ee.func},le={displayType:"input",decimalSeparator:".",thousandsGroupStyle:"thousand",fixedDecimalScale:!1,prefix:"",suffix:"",allowNegative:!0,allowEmptyFormatting:!1,allowLeadingZeros:!1,isNumericString:!1,type:"text",onValueChange:te,onChange:te,onKeyDown:te,onMouseUp:te,onFocus:te,onBlur:te,isAllowed:function(){return!0}},pe=function(e){function t(e){var r,n,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,r=!(o=G(t).call(this,e))||"object"!=typeof o&&"function"!=typeof o?Z(n):o;var a=e.defaultValue;r.validateProps();var c=r.formatValueProp(a);return r.state={value:c,numAsString:r.removeFormatting(c)},r.selectionBeforeInput={selectionStart:0,selectionEnd:0},r.onChange=r.onChange.bind(Z(Z(r))),r.onKeyDown=r.onKeyDown.bind(Z(Z(r))),r.onMouseUp=r.onMouseUp.bind(Z(Z(r))),r.onFocus=r.onFocus.bind(Z(Z(r))),r.onBlur=r.onBlur.bind(Z(Z(r))),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&z(e,t)}(t,e),r=t,(n=[{key:"componentDidUpdate",value:function(e){this.updateValueIfRequired(e)}},{key:"updateValueIfRequired",value:function(e){var t=this.props,r=this.state,n=this.focusedElm,o=r.value,a=r.numAsString,c=void 0===a?"":a;if(e!==t){this.validateProps();var i=this.formatNumString(c),u=void 0===t.value?i:this.formatValueProp(),s=this.removeFormatting(u),l=parseFloat(s),p=parseFloat(c);(isNaN(l)&&isNaN(p)||l===p)&&i===o&&(null!==n||u===o)||this.updateValue({formattedValue:u,numAsString:s,input:n})}}},{key:"getFloatString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.decimalScale,r=this.getSeparators(),n=r.decimalSeparator,o=this.getNumberRegex(!0),a="-"===e[0];a&&(e=e.replace("-","")),n&&0===t&&(e=e.split(n)[0]);var c=(e=(e.match(o)||[]).join("").replace(n,".")).indexOf(".");return-1!==c&&(e="".concat(e.substring(0,c),".").concat(e.substring(c+1,e.length).replace(new RegExp(ne(n),"g"),""))),a&&(e="-"+e),e}},{key:"getNumberRegex",value:function(e,t){var r=this.props,n=r.format,o=r.decimalScale,a=this.getSeparators().decimalSeparator;return new RegExp("\\d"+(!a||0===o||t||n?"":"|"+ne(a)),e?"g":void 0)}},{key:"getSeparators",value:function(){var e=this.props.decimalSeparator,t=this.props,r=t.thousandSeparator,n=t.allowedDecimalSeparators;return!0===r&&(r=","),n||(n=[e,"."]),{decimalSeparator:e,thousandSeparator:r,allowedDecimalSeparators:n}}},{key:"getMaskAtIndex",value:function(e){var t=this.props.mask,r=void 0===t?" ":t;return"string"==typeof r?r:r[e]||" "}},{key:"getValueObject",value:function(e,t){var r=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(r)?void 0:r}}},{key:"validateProps",value:function(){var e=this.props.mask,t=this.getSeparators(),r=t.decimalSeparator,n=t.thousandSeparator;if(r===n)throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: ".concat(n,' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ').concat(r," (default value for decimalSeparator is .)\n "));if(e&&("string"===e?e:e.toString()).match(/\d/g))throw new Error("\n Mask ".concat(e," should not contain numeric character;\n "))}},{key:"setPatchedCaretPosition",value:function(e,t,r){ce(e,t),setTimeout((function(){e.value===r&&ce(e,t)}),0)}},{key:"correctCaretPosition",value:function(e,t,r){var n=this.props,o=n.prefix,a=n.suffix,c=n.format;if(""===e)return 0;if(t=ie(t,0,e.length),!c){var i="-"===e[0];return ie(t,o.length+(i?1:0),e.length-a.length)}if("function"==typeof c)return t;if("#"===c[t]&&re(e[t]))return t;if("#"===c[t-1]&&re(e[t-1]))return t;var u=c.indexOf("#");t=ie(t,u,c.lastIndexOf("#")+1);for(var s=c.substring(t,c.length).indexOf("#"),l=t,p=t+(-1===s?0:s);l>u&&("#"!==c[l]||!re(e[l]));)l-=1;return!re(e[p])||"left"===r&&t!==u||t-l<p-t?re(e[l])?l+1:l:p}},{key:"getCaretPosition",value:function(e,t,r){var n,o,a=this.props.format,c=this.state.value,i=this.getNumberRegex(!0),u=(e.match(i)||[]).join(""),s=(t.match(i)||[]).join("");for(n=0,o=0;o<r;o++){var l=e[o]||"",p=t[n]||"";if((l.match(i)||l===p)&&("0"!==l||!p.match(i)||"0"===p||u.length===s.length)){for(;l!==t[n]&&n<t.length;)n++;n++}}return"string"!=typeof a||c||(n=t.length),n=this.correctCaretPosition(t,n)}},{key:"removePrefixAndSuffix",value:function(e){var t=this.props,r=t.format,n=t.prefix,o=t.suffix;if(!r&&e){var a="-"===e[0];a&&(e=e.substring(1,e.length));var c=(e=n&&0===e.indexOf(n)?e.substring(n.length,e.length):e).lastIndexOf(o);e=o&&-1!==c&&c===e.length-o.length?e.substring(0,c):e,a&&(e="-"+e)}return e}},{key:"removePatternFormatting",value:function(e){for(var t=this.props.format.split("#").filter((function(e){return""!==e})),r=0,n="",o=0,a=t.length;o<=a;o++){var c=t[o]||"",i=o===a?e.length:e.indexOf(c,r);if(-1===i){n=e;break}n+=e.substring(r,i),r=i+c.length}return(n.match(/\d/g)||[]).join("")}},{key:"removeFormatting",value:function(e){var t=this.props,r=t.format,n=t.removeFormatting;return e?(r?e="string"==typeof r?this.removePatternFormatting(e):"function"==typeof n?n(e):(e.match(/\d/g)||[]).join(""):(e=this.removePrefixAndSuffix(e),e=this.getFloatString(e)),e):e}},{key:"formatWithPattern",value:function(e){for(var t=this.props.format,r=0,n=t.split(""),o=0,a=t.length;o<a;o++)"#"===t[o]&&(n[o]=e[r]||this.getMaskAtIndex(r),r+=1);return n.join("")}},{key:"formatAsNumber",value:function(e){var t=this.props,r=t.decimalScale,n=t.fixedDecimalScale,o=t.prefix,a=t.suffix,c=t.allowNegative,i=t.thousandsGroupStyle,u=this.getSeparators(),s=u.thousandSeparator,l=u.decimalSeparator,p=-1!==e.indexOf(".")||r&&n,f=oe(e,c),d=f.beforeDecimal,g=f.afterDecimal,m=f.addNegation;return void 0!==r&&(g=ae(g,r,n)),s&&(d=function(e,t,r){var n=function(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}(r),o=e.search(/[1-9]/);return o=-1===o?e.length:o,e.substring(0,o)+e.substring(o,e.length).replace(n,"$1"+t)}(d,s,i)),o&&(d=o+d),a&&(g+=a),m&&(d="-"+d),e=d+(p&&l||"")+g}},{key:"formatNumString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props,r=t.format,n=t.allowEmptyFormatting,o=e;return o=""!==e||n?"-"!==e||r?"string"==typeof r?this.formatWithPattern(o):"function"==typeof r?r(o):this.formatAsNumber(o):"-":""}},{key:"formatValueProp",value:function(e){var t=this.props,r=t.format,n=t.decimalScale,o=t.fixedDecimalScale,a=t.allowEmptyFormatting,c=this.props,i=c.value,u=void 0===i?e:i,s=c.isNumericString,l=!u&&0!==u;return l&&a&&(u=""),l&&!a?"":("number"==typeof u&&(u=u.toString(),s=!0),"Infinity"===u&&s&&(u=""),s&&!r&&"number"==typeof n&&(u=function(e,t,r){if(-1!==["","-"].indexOf(e))return e;var n=-1!==e.indexOf(".")&&t,o=oe(e),a=o.beforeDecimal,c=o.afterDecimal,i=o.hasNagation,u=parseFloat("0.".concat(c||"0")).toFixed(t).split("."),s=a.split("").reverse().reduce((function(e,t,r){return e.length>r?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e}),u[0]),l=ae(u[1]||"",Math.min(t,c.length),r),p=n?".":"";return"".concat(i?"-":"").concat(s).concat(p).concat(l)}(u,n,o)),s?this.formatNumString(u):this.formatInput(u))}},{key:"formatNegation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.allowNegative,r=new RegExp("(-)"),n=new RegExp("(-)(.)*(-)"),o=r.test(e),a=n.test(e);return e=e.replace(/-/g,""),o&&!a&&t&&(e="-"+e),e}},{key:"formatInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.format;return t||(e=this.removePrefixAndSuffix(e),e=this.formatNegation(e)),e=this.removeFormatting(e),this.formatNumString(e)}},{key:"isCharacterAFormat",value:function(e,t){var r=this.props,n=r.format,o=r.prefix,a=r.suffix,c=r.decimalScale,i=r.fixedDecimalScale,u=this.getSeparators().decimalSeparator;return"string"==typeof n&&"#"!==n[e]||!(n||!(e<o.length||e>=t.length-a.length||c&&i&&t[e]===u))}},{key:"checkIfFormatGotDeleted",value:function(e,t,r){for(var n=e;n<t;n++)if(this.isCharacterAFormat(n,r))return!0;return!1}},{key:"correctInputValue",value:function(e,t,r){var n=this.props,o=n.format,a=n.allowNegative,c=n.prefix,i=n.suffix,u=this.getSeparators(),s=u.allowedDecimalSeparators,l=u.decimalSeparator,p=this.state.numAsString||"",f=this.selectionBeforeInput,d=f.selectionStart,g=f.selectionEnd,m=function(e,t){for(var r=0,n=0,o=e.length,a=t.length;e[r]===t[r]&&r<o;)r++;for(;e[o-1-n]===t[a-1-n]&&a-n>r&&o-n>r;)n++;return{start:r,end:o-n}}(t,r),b=m.start,h=m.end;if(!o&&b===h&&-1!==s.indexOf(r[d]))return r.substr(0,d)+l+r.substr(d+1,r.length);var v=o?0:c.length,y=t.length-(o?0:i.length);if(r.length>t.length||!r.length||b===h||0===d&&g===t.length||d===v&&g===y)return r;if(this.checkIfFormatGotDeleted(b,h,t)&&(r=t),!o){var O=this.removeFormatting(r),w=oe(O,a),_=w.beforeDecimal,j=w.afterDecimal,S=w.addNegation,E=e<r.indexOf(l)+1;if(O.length<p.length&&E&&""===_&&!parseFloat(j))return S?"-":""}return r}},{key:"updateValue",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te,n=e.formattedValue,o=e.input,a=e.numAsString,c=e.caretPos,i=this.props.onValueChange,u=this.state.value;if(o){if(!c){var s=e.inputValue||o.value,l=ue(o);c=this.getCaretPosition(s,n,l)}o.value=n,this.setPatchedCaretPosition(o,c,n)}void 0===a&&(a=this.removeFormatting(n)),n!==u?this.setState({value:n,numAsString:a},(function(){i(t.getValueObject(n,a)),r()})):r()}},{key:"onChange",value:function(e){e.persist();var t=e.target,r=t.value,n=this.state,o=this.props,a=o.isAllowed,c=n.value||"",i=ue(t);r=this.correctInputValue(i,c,r);var u=this.formatInput(r)||"",s=this.removeFormatting(u);a(this.getValueObject(u,s))||(u=c),this.updateValue({formattedValue:u,numAsString:s,inputValue:r,input:t},(function(){o.onChange(e)}))}},{key:"onBlur",value:function(e){var t=this.props,r=this.state,n=t.format,o=t.onBlur,a=t.allowLeadingZeros,c=r.numAsString,i=r.value;if(this.focusedElm=null,this.focusTimeout&&clearTimeout(this.focusTimeout),!n){a||(c=function(e){if(!e)return e;var t="-"===e[0];t&&(e=e.substring(1,e.length));var r=e.split("."),n=r[0].replace(/^0+/,"")||"0",o=r[1]||"";return"".concat(t?"-":"").concat(n).concat(o?".".concat(o):"")}(c));var u=this.formatNumString(c);if(u!==i)return e.persist(),void this.updateValue({formattedValue:u,numAsString:c},(function(){o(e)}))}o(e)}},{key:"onKeyDown",value:function(e){var t,r=e.target,n=e.key,o=r.selectionStart,a=r.selectionEnd,c=r.value,i=void 0===c?"":c,u=this.props,s=u.decimalScale,l=u.fixedDecimalScale,p=u.prefix,f=u.suffix,d=u.format,g=u.onKeyDown,m=(u.onValueChange,void 0!==s&&l),b=this.getNumberRegex(!1,m),h=new RegExp("-"),v="string"==typeof d;if(this.selectionBeforeInput={selectionStart:o,selectionEnd:a},"ArrowLeft"===n||"Backspace"===n?t=o-1:"ArrowRight"===n?t=o+1:"Delete"===n&&(t=o),void 0!==t&&o===a){var y=t,O=v?d.indexOf("#"):p.length,w=v?d.lastIndexOf("#")+1:i.length-f.length;if("ArrowLeft"===n||"ArrowRight"===n){var _="ArrowLeft"===n?"left":"right";y=this.correctCaretPosition(i,t,_)}else if("Delete"!==n||b.test(i[t])||h.test(i[t])){if("Backspace"===n&&!b.test(i[t]))if(o<=O+1&&"-"===i[0]&&void 0===d){var j=i.substring(1);e.persist(),this.updateValue({formattedValue:j,caretPos:y,input:r})}else if(!h.test(i[t])){for(;!b.test(i[y-1])&&y>O;)y--;y=this.correctCaretPosition(i,y,"left")}}else for(;!b.test(i[y])&&y<w;)y++;(y!==t||t<O||t>w)&&(e.preventDefault(),this.setPatchedCaretPosition(r,y,i)),e.isUnitTestRun&&this.setPatchedCaretPosition(r,y,i),this.props.onKeyDown(e)}else g(e)}},{key:"onMouseUp",value:function(e){var t=e.target,r=t.selectionStart,n=t.selectionEnd,o=t.value,a=void 0===o?"":o;if(r===n){var c=this.correctCaretPosition(a,r);c!==r&&this.setPatchedCaretPosition(t,c,a)}this.props.onMouseUp(e)}},{key:"onFocus",value:function(e){var t=this;e.persist(),this.focusedElm=e.target,this.focusTimeout=setTimeout((function(){var r=e.target,n=r.selectionStart,o=r.selectionEnd,a=r.value,c=void 0===a?"":a,i=t.correctCaretPosition(c,n);i===n||0===n&&o===c.length||t.setPatchedCaretPosition(r,i,c),t.props.onFocus(e)}),0)}},{key:"render",value:function(){var e,t,r,n=this.props,o=n.type,a=n.displayType,c=n.customInput,i=n.renderText,u=n.getInputRef,s=this.state.value,l=(e=this.props,t=se,r={},Object.keys(e).forEach((function(n){t[n]||(r[n]=e[n])})),r),p=W({},l,{type:o,value:s,onChange:this.onChange,onKeyDown:this.onKeyDown,onMouseUp:this.onMouseUp,onFocus:this.onFocus,onBlur:this.onBlur});if("text"===a)return i?i(s)||null:m.a.createElement("span",W({},l,{ref:u}),s);if(c){var f=c;return m.a.createElement(f,W({},p,{ref:u}))}return m.a.createElement("input",W({},p,{ref:u}))}}])&&H(r.prototype,n),o&&H(r,o),t}(m.a.Component);pe.propTypes=se,pe.defaultProps=le;var fe=pe,de=function(e){var t=e.className,r=e.product,n=B().layoutStyleClassPrefix,o=r.prices||{},a={displayType:"text",thousandSeparator:o.thousand_separator,decimalSeparator:o.decimal_separator,decimalScale:o.decimals,fixedDecimalScale:!0,prefix:o.price_prefix,suffix:o.price_suffix};if(o.price_range&&o.price_range.min_amount&&o.price_range.max_amount){var c=parseFloat(o.price_range.min_amount),i=parseFloat(o.price_range.max_amount);return React.createElement("div",{className:x()(t,"".concat(n,"__product-price"))},React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(fe,Y()({value:c},a))," — ",React.createElement(fe,Y()({value:i},a))))}return React.createElement("div",{className:x()(t,"".concat(n,"__product-price"))},o.regular_price!==o.price&&React.createElement("del",{className:"".concat(n,"__product-price__regular")},React.createElement(fe,Y()({value:o.regular_price},a))),React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(fe,Y()({value:o.price},a))))},ge=r(37),me=function(e){var t=e.className,r=e.product,n=e.align,o=B().layoutStyleClassPrefix,a="string"==typeof n?"".concat(o,"__product-onsale--align").concat(n):"";return r&&r.on_sale?React.createElement("div",{className:x()(t,a,"".concat(o,"__product-onsale"))},Object(R.__)("Sale",'woocommerce')):null},be=function(e){var t=e.product,r=e.saleBadgeAlign;return e.shouldRender?React.createElement(me,{product:t,align:r}):null},he=function(e){var t=e.layoutPrefix,r=e.loaded,n=e.image,o=e.onLoad,a=x()("".concat(t,"__product-image__image"),S()({},"".concat(t,"__product-image__image_placeholder"),!r&&!n)),c=n||{},i=c.thumbnail,u=c.srcset,s=c.sizes,l=c.alt;return React.createElement(v.Fragment,null,n&&React.createElement("img",{className:a,src:i,srcSet:u,sizes:s,alt:l,onLoad:o,hidden:!r}),!r&&React.createElement("img",{className:a,src:ge.c,alt:""}))},ve=function(e){var t=e.className,r=e.product,n=e.productLink,o=void 0===n||n,a=e.showSaleBadge,c=void 0===a||a,i=e.saleBadgeAlign,u=void 0===i?"right":i,s=Object(v.useState)(!1),l=h()(s,2),p=l[0],f=l[1],d=B().layoutStyleClassPrefix,g=r.images&&r.images.length?r.images[0]:null,m=React.createElement(v.Fragment,null,React.createElement(be,{product:r,saleBadgeAlign:u,shouldRender:c}),React.createElement(he,{layoutPrefix:d,loaded:p,image:g,onLoad:function(){return f(!0)}}));return React.createElement("div",{className:x()(t,"".concat(d,"__product-image"))},o?React.createElement("a",{href:r.permalink,rel:"nofollow"},m):{renderedSalesAndImage:m})},ye=function(e){var t=e.className,r=e.product,n=e.headingLevel,o=void 0===n?2:n,a=e.productLink,c=void 0===a||a,i=B().layoutStyleClassPrefix;if(!r.name)return null;var u=r.name,s="h".concat(o);return React.createElement(s,{className:x()(t,"".concat(i,"__product-title"))},c?React.createElement("a",{href:r.permalink,rel:"nofollow"},u):u)},Oe=function(e){var t=e.className,r=e.product,n=parseFloat(r.average_rating),o=B().layoutStyleClassPrefix;if(!Number.isFinite(n)||0===n)return null;var a={width:n/5*100+"%"};return React.createElement("div",{className:x()(t,"".concat(o,"__product-rating"))},React.createElement("div",{className:"".concat(o,"__product-rating__stars"),role:"img"},React.createElement("span",{style:a},Object(R.sprintf)(Object(R.__)("Rated %d out of 5",'woocommerce'),n))))},we=r(9),_e=r(39),je=r(7),Se=window.Event||{},Ee=function(e){var t=e.product,r=e.className,n=t.id,o=t.permalink,a=t.add_to_cart,c=t.has_options,i=t.is_purchasable,u=t.is_in_stock,s=function(e){var t=Object(_e.a)({namespace:"/wc/store",resourceName:"cart/items"}),r=t.results,n=t.isLoading,o=Object(v.useRef)(null),a=Object(we.useDispatch)(je.COLLECTIONS_STORE_KEY).__experimentalPersistItemToCollection,c=Object(v.useMemo)((function(){var t=Object(E.find)(r,{id:e});return t?t.quantity:0}),[r,e]),i=Object(v.useState)(!1),u=h()(i,2),s=u[0],l=u[1],p=Object(v.useCallback)((function(){l(!0);var t=r.filter((function(t){return t.id!==e}));a("/wc/store","cart/items",t,{id:e,quantity:1})}),[e,r]);return Object(v.useEffect)((function(){o.current!==r&&(s&&l(!1),o.current=r)}),[r,s]),{cartQuantity:c,addingToCart:s,cartIsLoading:n,addToCart:p}}(n),l=s.cartQuantity,p=s.addingToCart,f=s.cartIsLoading,d=s.addToCart,g=B().layoutStyleClassPrefix,m=l>0,b=Object(v.useRef)(!0),y=function(){return Number.isFinite(l)&&m?Object(R.sprintf)(Object(R._n)("%d in cart","%d in cart",l,'woocommerce'),l):a.text};Object(v.useEffect)((function(){if(b.current)b.current=!1;else if(0!==Object.entries(Se).length){var e=new Se("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}),[l]);var O=x()(r,"".concat(g,"__product-add-to-cart"),"wp-block-button"),w=x()("wp-block-button__link","add_to_cart_button",{loading:p,added:m});if(0===Object.keys(t).length||f)return React.createElement("div",{className:O},React.createElement("button",{className:w,disabled:!0}));var _=!c&&i&&u;return React.createElement("div",{className:O},_?React.createElement("button",{onClick:d,"aria-label":a.description,className:w,disabled:p},y()):React.createElement("a",{href:o,"aria-label":a.description,className:w,rel:"nofollow"},y()))},Pe=function(e){var t=e.className,r=e.product,n=B().layoutStyleClassPrefix;return r.description?React.createElement("div",{className:x()(t,"".concat(n,"__product-summary")),dangerouslySetInnerHTML:{__html:r.description}}):null};function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xe(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ke=function e(t,r,n,o){if(n){var a=function(e){return Re({"woocommerce/product-price":de,"woocommerce/product-image":ve,"woocommerce/product-title":ye,"woocommerce/product-rating":Oe,"woocommerce/product-button":Ee,"woocommerce/product-summary":Pe,"woocommerce/product-sale-badge":me},Object(Q.getRegisteredInnerBlocks)(e))}(t);return n.map((function(n,c){var i=h()(n,2),u=i[0],s=i[1],l=void 0===s?{}:s,p=[];l.children&&l.children.length>0&&(p=e(t,r,l.children,o));var f=a[u];if(!f)return null;var d=r.id||0,g=["layout",u,c,o,d];return React.createElement(f,Y()({key:g.join("_")},l,{children:p,product:r}))}))}},Ne=Object(q.a)((function(e){var t=e.product,r=e.attributes,n=e.componentId,o=r.layoutConfig,a=Object(v.useContext)(I).parentName,c=B().layoutStyleClassPrefix,i=!Object.keys(t).length>0,u=x()("".concat(c,"__product"),{"is-loading":i});return React.createElement("li",{className:u,"aria-hidden":i},ke(a,t,o,n))})),Ce=r(48),Te=r(11);function De(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Fe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?De(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):De(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ae=function(e){var t={namespace:"/wc/store",resourceName:"products"},r=Object(_e.a)(Fe({},t,{query:e})),n=r.results,o=r.isLoading;return{products:n,totalProducts:function(e,t){var r=t.namespace,n=t.resourceName,o=t.resourceValues,a=void 0===o?[]:o,c=t.query,i=void 0===c?{}:c;if(!r||!n)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var u=Object(Te.a)(i),s=Object(Te.a)(a),l=Object(we.useSelect)((function(t){var o=t(je.COLLECTIONS_STORE_KEY),a=[e,r,n,u,s];return{value:o.getCollectionHeader.apply(o,a),isLoading:o.hasFinishedResolution("getCollectionHeader",a)}}),[e,r,n,s,u]),p=l.value,f=l.isLoading;return{value:p,isLoading:void 0===f||f}}("x-wp-total",Fe({},t,{query:e})).value,productsLoading:o}},Ie=r(64),Ve=r(10),Le=r.n(Ve),Me=(r(67),function(e){var t=function(t){function r(){var e;return a()(this,r),e=s()(this,p()(r).call(this)),S()(Le()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),S()(Le()(e),"moveFocusToTop",(function(t){var r=e.scrollPointRef.current.parentElement.querySelectorAll(t);r.length&&r[0].focus()})),S()(Le()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(g.createRef)(),e}return d()(r,t),i()(r,[{key:"render",value:function(){return React.createElement(g.Fragment,null,React.createElement("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),React.createElement(e,Y()({},this.props,{scrollToTop:this.scrollToTop})))}}]),r}(g.Component);return t.displayName="withScrollToTop",t}),Be=(r(63),function(){var e=B().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(e,"__no-products")},React.createElement("img",{src:ge.e+"img/no-products.svg",alt:Object(R.__)("No products",'woocommerce'),className:"".concat(e,"__no-products-image")}),React.createElement("strong",{className:"".concat(e,"__no-products-title")},Object(R.__)("No products",'woocommerce')),React.createElement("p",{className:"".concat(e,"__no-products-description")},Object(R.__)("There are currently no products available to display.",'woocommerce')))}),Ue=function(e){var t=e.resetCallback,r=void 0===t?function(){}:t,n=B().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(n,"__no-products")},React.createElement("img",{src:ge.e+"img/no-matching-products.svg",alt:Object(R.__)("No products",'woocommerce'),className:"".concat(n,"__no-products-image")}),React.createElement("strong",{className:"".concat(n,"__no-products-title")},Object(R.__)("No products found",'woocommerce')),React.createElement("p",{className:"".concat(n,"__no-products-description")},Object(R.__)("We were unable to find any results based on your search.",'woocommerce')),React.createElement("button",{onClick:r},Object(R.__)("Reset Search",'woocommerce')))};function qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var Ke=function(e){var t=e.sortValue,r=e.currentPage,n=e.attributes,o=n.columns,a=n.rows;return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qe(Object(r),!0).forEach((function(t){S()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"date":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"}}}(t),{per_page:o*a,page:r})},Ye=Me((function(e){var t=e.attributes,r=e.currentPage,n=e.onPageChange,o=e.onSortChange,a=e.sortValue,c=e.scrollToTop,i=Object(Ce.c)(Ke({attributes:t,sortValue:a,currentPage:r})),u=h()(i,1)[0],s=Ae(u),l=s.products,p=s.productsLoading,f=parseInt(s.totalProducts),d=B().layoutStyleClassPrefix,g=function(e){e.order,e.orderby,e.page,e.per_page;return _()(e,["order","orderby","page","per_page"])}(u),m=Object(Ce.b)("attributes",[]),b=h()(m,2),y=b[0],w=b[1],j=Object(Ce.b)("min_price"),S=h()(j,2),P=S[0],R=S[1],k=Object(Ce.b)("max_price"),N=h()(k,2),T=N[0],F=N[1],A=Object(Ie.a)({totalQuery:g,totalProducts:f},(function(e){var t=e.totalQuery,r=e.totalProducts,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.totalQuery;return!Object(E.isEqual)(t,o)&&Number.isFinite(r)})),I="object"===O()(A)&&Object(E.isEqual)(g,A.totalQuery);Object(v.useEffect)((function(){I||n(1)}),[u]);var V,L,M,U,q,K=t.contentVisibility,Y=t.columns*t.rows,Q=!Number.isFinite(f)&&I?Math.ceil(A.totalProducts/Y):Math.ceil(f/Y),H=l.length?l:Array.from({length:Y}),W=0!==l.length||p,G=y.length>0||Number.isFinite(P)||Number.isFinite(T);return React.createElement("div",{className:(V=t.columns,L=t.rows,M=t.alignButtons,U=t.align,q=void 0!==U?"align"+U:"",x()(d,q,"has-"+V+"-columns",{"has-multiple-rows":L>1,"has-aligned-buttons":M}))},K.orderBy&&W&&React.createElement(D,{onChange:o,value:a}),!W&&G&&React.createElement(Ue,{resetCallback:function(){w([]),R(null),F(null)}}),!W&&!G&&React.createElement(Be,null),W&&React.createElement("ul",{className:"".concat(d,"__products")},H.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return React.createElement(Ne,{key:e.id||r,attributes:t,product:e})}))),Q>1&&React.createElement(C,{currentPage:r,onPageChange:function(e){c({focusableSelector:"a, button"}),n(e)},totalPages:Q}))})),Qe=function(e){var t=e.attributes,r=Object(v.useState)(1),n=h()(r,2),o=n[0],a=n[1],c=Object(v.useState)(t.orderby),i=h()(c,2),u=i[0],s=i[1];Object(v.useEffect)((function(){s(t.orderby)}),[t.orderby]);return React.createElement(Ye,{attributes:t,currentPage:o,onPageChange:function(e){a(e)},onSortChange:function(e){var t=e.target.value;s(t),a(1)},sortValue:u})},He=React.createElement("img",{src:ge.e+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}}),We={layoutStyleClassPrefix:"wc-block-grid"},Ge={parentName:"woocommerce/all-products"},ze=function(e){function t(){return a()(this,t),s()(this,p()(t).apply(this,arguments))}return d()(t,e),i()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.urlParameterSuffix;return t.isPreview?He:React.createElement(V,{value:Ge},React.createElement(U,{value:We},React.createElement(Qe,{attributes:t,urlParameterSuffix:r})))}}]),t}(g.Component),Ze=r(23);Object(Ze.a)(".wp-block-woocommerce-all-products",Object(n.a)(ze),(function(e){return{attributes:JSON.parse(e.dataset.attributes)}}))}]);
packages/woocommerce-blocks/build/all-products.js CHANGED
@@ -1 +1 @@
1
- this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-products"]=function(o){function e(e){for(var i,A,n=e[0],c=e[1],a=e[2],l=0,g=[];l<n.length;l++)A=n[l],Object.prototype.hasOwnProperty.call(r,A)&&r[A]&&g.push(r[A][0]),r[A]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(o[i]=c[i]);for(f&&f(e);g.length;)g.shift()();return K.push.apply(K,a||[]),t()}function t(){for(var o,e=0;e<K.length;e++){for(var t=K[e],i=!0,n=1;n<t.length;n++){var c=t[n];0!==r[c]&&(i=!1)}i&&(K.splice(e--,1),o=A(A.s=t[0]))}return o}var i={},r={4:0},K=[];function A(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return o[e].call(t.exports,t,t.exports,A),t.l=!0,t.exports}A.m=o,A.c=i,A.d=function(o,e,t){A.o(o,e)||Object.defineProperty(o,e,{enumerable:!0,get:t})},A.r=function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},A.t=function(o,e){if(1&e&&(o=A(o)),8&e)return o;if(4&e&&"object"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(A.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:o}),2&e&&"string"!=typeof o)for(var i in o)A.d(t,i,function(e){return o[e]}.bind(null,i));return t},A.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return A.d(e,"a",e),e},A.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},A.p="";var n=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],c=n.push.bind(n);n.push=e,n=n.slice();for(var a=0;a<n.length;a++)e(n[a]);var f=c;return K.push([642,2,1,0]),t()}({0:function(o,e){!function(){o.exports=this.wp.element}()},1:function(o,e){!function(){o.exports=this.wp.i18n}()},10:function(o,e){!function(){o.exports=this.React}()},109:function(o,e,t){"use strict";t.d(e,"a",(function(){return n}));var i=t(35),r=t(34),K=t(0),A=t(38),n=function(o){var e=o.namespace,t=o.resourceName,n=o.resourceValues,c=void 0===n?[]:n,a=o.query,f=void 0===a?{}:a,l=o.shouldSelect,g=void 0===l||l;if(!e||!t)throw new Error("The options object must have valid values for the namespace and the resource properties.");var u=Object(K.useRef)({results:[],isLoading:!0}),s=Object(A.a)(f),b=Object(A.a)(c),C=Object(r.useSelect)((function(o){if(!g)return null;var r=o(i.COLLECTIONS_STORE_KEY),K=[e,t,s,b];return{results:r.getCollection.apply(r,K),isLoading:!r.hasFinishedResolution("getCollection",K)}}),[e,t,b,s,g]);return null!==C&&(u.current=C),u.current}},18:function(o,e,t){"use strict";t.d(e,"e",(function(){return r})),t.d(e,"r",(function(){return K})),t.d(e,"k",(function(){return A})),t.d(e,"m",(function(){return n})),t.d(e,"b",(function(){return c})),t.d(e,"l",(function(){return a})),t.d(e,"o",(function(){return f})),t.d(e,"d",(function(){return l})),t.d(e,"n",(function(){return g})),t.d(e,"c",(function(){return u})),t.d(e,"p",(function(){return s})),t.d(e,"i",(function(){return b})),t.d(e,"j",(function(){return C})),t.d(e,"f",(function(){return w})),t.d(e,"g",(function(){return v})),t.d(e,"h",(function(){return p})),t.d(e,"q",(function(){return P})),t.d(e,"a",(function(){return d})),t.d(e,"s",(function(){return j}));var i=t(4),r=Object(i.getSetting)("enableReviewRating",!0),K=Object(i.getSetting)("showAvatars",!0),A=Object(i.getSetting)("max_columns",6),n=Object(i.getSetting)("min_columns",1),c=Object(i.getSetting)("default_columns",3),a=Object(i.getSetting)("max_rows",6),f=Object(i.getSetting)("min_rows",1),l=Object(i.getSetting)("default_rows",2),g=Object(i.getSetting)("min_height",500),u=Object(i.getSetting)("default_height",500),s=Object(i.getSetting)("placeholderImgSrc",""),b=(Object(i.getSetting)("thumbnail_size",300),Object(i.getSetting)("isLargeCatalog")),C=Object(i.getSetting)("limitTags"),w=Object(i.getSetting)("hasProducts",!0),v=Object(i.getSetting)("hasTags",!0),p=Object(i.getSetting)("homeUrl",""),P=Object(i.getSetting)("productCount",0),d=Object(i.getSetting)("attributes",[]),j=Object(i.getSetting)("wcBlocksAssetUrl","")},21:function(o,e){!function(){o.exports=this.wp.compose}()},23:function(o,e){!function(){o.exports=this.wp.blocks}()},3:function(o,e){!function(){o.exports=this.wp.components}()},339:function(o,e,t){"use strict";var i=t(0),r=t(3);e.a=function(){return Object(i.createElement)(r.Icon,{icon:Object(i.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(i.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(i.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(i.createElement)("g",{mask:"url(#external-mask)"},Object(i.createElement)("path",{d:"M0 0h24v24H0z"})))})}},34:function(o,e){!function(){o.exports=this.wp.data}()},345:function(o,e){!function(){o.exports=this.wc.wcBlocksRegistry}()},35:function(o,e){!function(){o.exports=this.wc.wcBlocksData}()},38:function(o,e,t){"use strict";t.d(e,"a",(function(){return A}));var i=t(0),r=t(43),K=t.n(r),A=function(o){var e=Object(i.useRef)();return K()(o,e.current)||(e.current=o),e.current}},4:function(o,e){!function(){o.exports=this.wc.wcSettings}()},42:function(o,e){!function(){o.exports=this.wp.blockEditor}()},43:function(o,e){!function(){o.exports=this.wp.isShallowEqual}()},46:function(o,e,t){"use strict";var i=t(0),r=t(1),K=t(5),A=(t(2),t(3)),n=t(18);e.a=function(o){var e=o.columns,t=o.rows,c=o.setAttributes,a=o.alignButtons;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(A.RangeControl,{label:Object(r.__)("Columns",'woocommerce'),value:e,onChange:function(o){var e=Object(K.clamp)(o,n.m,n.k);c({columns:Object(K.isNaN)(e)?"":e})},min:n.m,max:n.k}),Object(i.createElement)(A.RangeControl,{label:Object(r.__)("Rows",'woocommerce'),value:t,onChange:function(o){var e=Object(K.clamp)(o,n.o,n.l);c({rows:Object(K.isNaN)(e)?"":e})},min:n.o,max:n.l}),Object(i.createElement)(A.ToggleControl,{label:Object(r.__)("Align Buttons",'woocommerce'),help:a?Object(r.__)("Buttons are aligned vertically.",'woocommerce'):Object(r.__)("Buttons follow content.",'woocommerce'),checked:a,onChange:function(){return c({alignButtons:!a})}}))}},47:function(o,e,t){"use strict";var i=t(11),r=t.n(i),K=t(13),A=t.n(K),n=t(17),c=t.n(n),a=t(14),f=t.n(a),l=t(15),g=t.n(l),u=t(12),s=t.n(u),b=t(16),C=t.n(b),w=t(0),v=t(5),p=t(6),P=t.n(p),d=t(3),j=t(21),O=(t(98),function(o){function e(){var o;return A()(this,e),(o=f()(this,g()(e).apply(this,arguments))).onClick=o.onClick.bind(s()(o)),o}return C()(e,o),c()(e,[{key:"onClick",value:function(o){this.props.onChange&&this.props.onChange(o.target.value)}},{key:"render",value:function(){var o,e=this,t=this.props,i=t.label,K=t.checked,A=t.instanceId,n=t.className,c=t.help,a=t.options,f=t.value,l="inspector-toggle-button-control-".concat(A);return c&&(o=Object(v.isFunction)(c)?c(K):c),Object(w.createElement)(d.BaseControl,{id:l,help:o,className:P()("components-toggle-button-control",n)},Object(w.createElement)("label",{id:l+"__label",htmlFor:l,className:"components-toggle-button-control__label"},i),Object(w.createElement)(d.ButtonGroup,{"aria-labelledby":l+"__label"},a.map((function(o,t){var K={};return f===o.value?(K.isPrimary=!0,K["aria-pressed"]=!0):(K.isDefault=!0,K["aria-pressed"]=!1),Object(w.createElement)(d.Button,r()({key:"".concat(o.label,"-").concat(o.value,"-").concat(t),value:o.value,onClick:e.onClick,"aria-label":i+": "+o.label},K),o.label)}))))}}]),e}(w.Component));e.a=Object(j.withInstanceId)(O)},49:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(0),r=Object(i.createContext)("page"),K=function(){return Object(i.useContext)(r)};r.Provider},5:function(o,e){!function(){o.exports=this.lodash}()},53:function(o,e,t){"use strict";var i=t(7),r=t.n(i),K=t(0),A=(t(2),t(10)),n=t(6),c=t.n(n);function a(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var f=function(o){var e,t=o.label,i=o.screenReaderLabel,n=o.wrapperElement,f=o.wrapperProps;return!t&&i?(e=n||"span",f=function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?a(Object(t),!0).forEach((function(e){r()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},f,{className:c()(f.className,"screen-reader-text")}),Object(K.createElement)(e,f,i)):(e=n||A.Fragment,t&&i&&t!==i?Object(K.createElement)(e,f,Object(K.createElement)("span",{"aria-hidden":"true"},t),Object(K.createElement)("span",{className:"screen-reader-text"},i)):Object(K.createElement)(e,f,t))};f.defaultProps={wrapperProps:{}},e.a=f},588:function(o,e,t){"use strict";var i=t(0),r=t(3);e.a=function(o){var e=o.className;return Object(i.createElement)(r.Icon,{className:e,icon:Object(i.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(i.createElement)("path",{d:"M21.5,0h-9.3L0.8,11.4c-1,1-1,2.6,0,3.6L9,23.2c1,1,2.6,1,3.6,0c0,0,0,0,0,0L24,11.9V2.5C24,1.1,22.9,0,21.5,0z"}),Object(i.createElement)("circle",{fill:"#fff",cx:"18.1",cy:"5.8",r:"2.5"}),Object(i.createElement)("path",{fill:"#fff",d:"M5.8,10.5C5.8,10,6,9.6,6.3,9.2s0.8-0.5,1.3-0.5c0.6,0,1,0.2,1.3,0.5s0.5,0.8,0.5,1.3V11 c0,0.5-0.2,1-0.5,1.3s-0.8,0.5-1.3,0.5c-0.6,0-1-0.2-1.3-0.5s-0.5-0.8-0.5-1.3V10.5z M7,11c0,0.2,0.1,0.4,0.2,0.6 s0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.6v-0.4c0-0.2-0.1-0.4-0.2-0.6S7.9,9.7,7.7,9.7c-0.2,0-0.4,0.1-0.5,0.2 S7,10.3,7,10.5V11z M8,16.8l-0.8-0.4l4.2-6.7l0.8,0.4L8,16.8z M9.9,15.3c0-0.5,0.2-1,0.5-1.3s0.8-0.5,1.3-0.5 c0.6,0,1,0.2,1.3,0.5s0.5,0.8,0.5,1.3v0.4c0,0.5-0.2,0.9-0.5,1.3s-0.8,0.5-1.3,0.5c-0.6,0-1-0.2-1.4-0.5s-0.5-0.8-0.5-1.3V15.3z M11,15.8c0,0.2,0.1,0.4,0.2,0.6s0.3,0.2,0.5,0.2c0.5,0,0.7-0.3,0.7-0.8v-0.4c0-0.2-0.1-0.4-0.2-0.6s-0.3-0.2-0.5-0.2 s-0.4,0.1-0.5,0.2S11,15.1,11,15.3V15.8z"}))})}},597:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(1),r="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAADIKADAAQAAAABAAADIAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgDIAMgAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAQEBAQEBAQEBAQIBAQECAwICAgIDBAMDAwMDBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQYGBgYGBwcHBwcHBwcHB//bAEMBAQEBAgICAwICAwcFBAUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB//dAAQAMv/aAAwDAQACEQMRAD8A/ts8z2/z+VR0UV7B4DbCiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CpPM9v8/lUdFAJs//0P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//R/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9L+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//U/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9X+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//X/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9D+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0f7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//S/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9P+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//V/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9b+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//Q/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9H+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0v7aKKKK9g8B7hRRRQIKKKKACiiigAoor4C/4KX/ALaNr+wb+yd4/wDj01tBea5YR/2fodvORifVbkFbSLZnc4Z/nkx92NHNJuyuwS6I+/aK/gY0rxn/AMFZbjRPDvx7l/4KS+KfC3xb8ZxjXG8J6g00mkWv2omRLd7cvNZIPKZT5IsikZOwdM1+gvwD/wCDiP46/BafTPCH/BSP9mCePQogIG+I/gECa2faSDLc2JYxqXA3Hypoj/dg7VPM0ryi0gU4OXLGab/rvuf1xUV81fszfthfs0/tieC4/Hn7OHxf0j4n6KEVrmKzl23loW/hurSQJc27Z4HmRqGx8pI5r6Vqk76obVtGFFFFMQUUUUAc94u8T6T4J8KeJvGWvTi10TwnYXGpXkjMqhYbaNpXOWIUYVTySB6mv5c/gn/wc0+HrvVU8VftQfsxax8LP2evGtxeReF/GHh/ztTBa1cr5N1E8cSu+MK7QPlX6Rlcsv7N/wDBWrx7e/DX/gmz+2b4tsba0u3h8CalYyJeMFTy9Qj+xsVzw0oE/wC7UkZfGMnAP8iP7EnhPxPpn7I3wd8N6pItxYajpr6k1nMiyxEX00lyu5GDKTtlB5HelGnKcuVOxnXxMaULuN7u35n9OXwv/wCC9/8AwS6+Keq22j2H7Qx8IT3fCTeItLvtPt939155IPJjPvI6r71+unh3xH4e8X6FpPijwnrtn4m8Na/Al1Y6hp8yXFtcQyDKSRSxsySIw5DKxBr/AD+/23fBfgSH9nPxjrni/wAGQxL8PFGr2MuiRwafO9x/qEilkWBi1u5lBdcZ4BGCM19y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ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//Q/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9H+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//T/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9T+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1f7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//W/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9f+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//R/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9L+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//U/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9X+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//X/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9D+2iipPL9/8/nUdeweA0wooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooqTy/f8Az+dAJM//2Q==",K=[{id:1,name:"WordPress Pennant",variation:"",permalink:"https://example.org",sku:"wp-pennant",description:Object(i.__)("Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!",'woocommerce'),price:"7.99",price_html:'<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',images:[{id:1,src:r,thumbnail:r,name:"pennant-1.jpg",alt:"WordPress Pennant",srcset:"",sizes:""}],average_rating:5,review_count:1,prices:{currency_code:"GBP",decimal_separator:".",thousand_separator:",",decimals:2,price_prefix:"£",price_suffix:"",price:"7.99",regular_price:"9.99",sale_price:"7.99",price_range:null},add_to_cart:{text:Object(i.__)("Add to cart",'woocommerce'),description:Object(i.__)("Add to cart",'woocommerce')},has_options:!1,is_purchasable:!0,is_in_stock:!0,on_sale:!0}]},616:function(o,e,t){var i=t(617);"string"==typeof i&&(i=[[o.i,i,""]]);var r={insert:"head",singleton:!1};t(30)(i,r);i.locals&&(o.exports=i.locals)},617:function(o,e,t){},621:function(o,e,t){"use strict";t.d(e,"a",(function(){return r}));var i=t(10),r=function(o,e){var t=Object(i.useRef)();return Object(i.useEffect)((function(){t.current===o||e&&!e(o,t.current)||(t.current=o)}),[o,t.current]),t.current}},642:function(o,e,t){"use strict";t.r(e);var i=t(11),r=t.n(i),K=t(7),A=t.n(K),n=t(0),c=t(1),a=t(42),f=t(23),l=t(26),g=t.n(l),u=t(25),s=t.n(u),b=t(13),C=t.n(b),w=t(14),v=t.n(w),p=t(15),P=t.n(p),d=t(12),j=t.n(d),O=t(16),m=t.n(O),h=t(34),y=t(3),F=t(21),B=(t(2),t(46)),X=t(18),k=t(85),x=t.n(k),H=function(o,e,t){if("object"!==x()(t))throw new Error("".concat(o," expects an object for its context value"));var i=[];for(var r in e)e[r].required&&void 0===t[r]?i.push("The ".concat(r," is required and is not present.")):void 0!==t[r]&&x()(t[r])!==e[r].type&&i.push("The ".concat(r," must be of ").concat(e[r].type," and instead was ").concat(x()(t[r])));if(i.length>0)throw new Error("There was a problem with the value passed in on ".concat(o,":\n ").concat(i.join("\n")))},D={parentName:{required:!0,type:"string"}},R=Object(n.createContext)({parentName:null}),E=function(o){var e=o.value,t=o.children;return Object(n.useEffect)((function(){H("InnerBlockConfigurationProvider",D,e)}),[e]),Object(n.createElement)(R.Provider,{value:e},t)},S={layoutStyleClassPrefix:{required:!0,type:"string"}},L=Object(n.createContext)({layoutStyleClassPrefix:""}),N=function(){return Object(n.useContext)(L)},T=function(o){var e=o.value,t=o.children;return Object(n.useEffect)((function(){H("ProductLayoutContextProvider",S,e)}),[e]),Object(n.createElement)(L.Provider,{value:e},t)},U=t(6),J=t.n(U),W=t(4),z=t(339),Z=function(o,e){var t=e.className,i=e.contentVisibility;return J()(o,t,{"has-image":i.image,"has-title":i.title,"has-rating":i.rating,"has-price":i.price,"has-button":i.button})},G=function(o,e){return Object(n.createElement)(y.Placeholder,{className:"wc-block-products",icon:e,label:o},Object(n.createElement)("p",null,Object(c.__)("You haven't published any products to list here yet.",'woocommerce')),Object(n.createElement)(y.Button,{className:"wc-block-products__add_product_button",isDefault:!0,isLarge:!0,href:W.adminUrl+"post-new.php?post_type=product"},Object(c.__)("Add new product",'woocommerce')+" ",Object(n.createElement)(z.a,null)),Object(n.createElement)(y.Button,{className:"wc-block-products__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(c.__)("Learn more",'woocommerce')))},V=function(o,e){return Object(n.createElement)(y.Placeholder,{className:"wc-block-products",icon:e,label:o},Object(c.__)("The content for this block is hidden due to block settings.",'woocommerce'))},I=t(345),M=t(141),q=function(o){var e=o.className,t=o.product,i=N().layoutStyleClassPrefix,K=t.prices||{},A={displayType:"text",thousandSeparator:K.thousand_separator,decimalSeparator:K.decimal_separator,decimalScale:K.decimals,prefix:K.price_prefix,suffix:K.price_suffix};return K.price_range&&K.price_range.min_amount&&K.price_range.max_amount?Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-price"))},Object(n.createElement)("span",{className:"".concat(i,"__product-price__value")},Object(n.createElement)(M.a,r()({value:K.price_range.min_amount},A))," — ",Object(n.createElement)(M.a,r()({value:K.price_range.max_amount},A)))):Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-price"))},K.regular_price!==K.price&&Object(n.createElement)("del",{className:"".concat(i,"__product-price__regular")},Object(n.createElement)(M.a,r()({value:K.regular_price},A))),Object(n.createElement)("span",{className:"".concat(i,"__product-price__value")},Object(n.createElement)(M.a,r()({value:K.price},A))))},Q=function(o){var e=o.className,t=o.product,i=o.align,r=N().layoutStyleClassPrefix,K="string"==typeof i?"".concat(r,"__product-onsale--align").concat(i):"";return t&&t.on_sale?Object(n.createElement)("div",{className:J()(e,K,"".concat(r,"__product-onsale"))},Object(c.__)("Sale",'woocommerce')):null},Y=function(o){var e=o.product,t=o.saleBadgeAlign;return o.shouldRender?Object(n.createElement)(Q,{product:e,align:t}):null},_=function(o){var e=o.layoutPrefix,t=o.loaded,i=o.image,r=o.onLoad,K=J()("".concat(e,"__product-image__image"),A()({},"".concat(e,"__product-image__image_placeholder"),!t&&!i)),c=i||{},a=c.thumbnail,f=c.srcset,l=c.sizes,g=c.alt;return Object(n.createElement)(n.Fragment,null,i&&Object(n.createElement)("img",{className:K,src:a,srcSet:f,sizes:l,alt:g,onLoad:r,hidden:!t}),!t&&Object(n.createElement)("img",{className:K,src:X.p,alt:""}))},$=function(o){var e=o.className,t=o.product,i=o.productLink,r=void 0===i||i,K=o.showSaleBadge,A=void 0===K||K,c=o.saleBadgeAlign,a=void 0===c?"right":c,f=Object(n.useState)(!1),l=s()(f,2),g=l[0],u=l[1],b=N().layoutStyleClassPrefix,C=t.images&&t.images.length?t.images[0]:null,w=Object(n.createElement)(n.Fragment,null,Object(n.createElement)(Y,{product:t,saleBadgeAlign:a,shouldRender:A}),Object(n.createElement)(_,{layoutPrefix:b,loaded:g,image:C,onLoad:function(){return u(!0)}}));return Object(n.createElement)("div",{className:J()(e,"".concat(b,"__product-image"))},r?Object(n.createElement)("a",{href:t.permalink,rel:"nofollow"},w):{renderedSalesAndImage:w})},oo=function(o){var e=o.className,t=o.product,i=o.headingLevel,r=void 0===i?2:i,K=o.productLink,A=void 0===K||K,c=N().layoutStyleClassPrefix;if(!t.name)return null;var a=t.name,f="h".concat(r);return Object(n.createElement)(f,{className:J()(e,"".concat(c,"__product-title"))},A?Object(n.createElement)("a",{href:t.permalink,rel:"nofollow"},a):a)},eo=function(o){var e=o.className,t=o.product,i=parseFloat(t.average_rating),r=N().layoutStyleClassPrefix;if(!Number.isFinite(i)||0===i)return null;var K={width:i/5*100+"%"};return Object(n.createElement)("div",{className:J()(e,"".concat(r,"__product-rating"))},Object(n.createElement)("div",{className:"".concat(r,"__product-rating__stars"),role:"img"},Object(n.createElement)("span",{style:K},Object(c.sprintf)(Object(c.__)("Rated %d out of 5",'woocommerce'),i))))},to=t(5),io=t(109),ro=t(35),Ko=window.Event||{},Ao=function(o){var e=o.product,t=o.className,i=e.id,r=e.permalink,K=e.add_to_cart,A=e.has_options,a=e.is_purchasable,f=e.is_in_stock,l=function(o){var e=Object(io.a)({namespace:"/wc/store",resourceName:"cart/items"}),t=e.results,i=e.isLoading,r=Object(n.useRef)(null),K=Object(h.useDispatch)(ro.COLLECTIONS_STORE_KEY).__experimentalPersistItemToCollection,A=Object(n.useMemo)((function(){var e=Object(to.find)(t,{id:o});return e?e.quantity:0}),[t,o]),c=Object(n.useState)(!1),a=s()(c,2),f=a[0],l=a[1],g=Object(n.useCallback)((function(){l(!0);var e=t.filter((function(e){return e.id!==o}));K("/wc/store","cart/items",e,{id:o,quantity:1})}),[o,t]);return Object(n.useEffect)((function(){r.current!==t&&(f&&l(!1),r.current=t)}),[t,f]),{cartQuantity:A,addingToCart:f,cartIsLoading:i,addToCart:g}}(i),g=l.cartQuantity,u=l.addingToCart,b=l.cartIsLoading,C=l.addToCart,w=N().layoutStyleClassPrefix,v=g>0,p=Object(n.useRef)(!0),P=function(){return Number.isFinite(g)&&v?Object(c.sprintf)(Object(c._n)("%d in cart","%d in cart",g,'woocommerce'),g):K.text};Object(n.useEffect)((function(){if(p.current)p.current=!1;else if(0!==Object.entries(Ko).length){var o=new Ko("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(o)}else{var e=document.createEvent("Event");e.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(e)}}),[g]);var d=J()(t,"".concat(w,"__product-add-to-cart"),"wp-block-button"),j=J()("wp-block-button__link","add_to_cart_button",{loading:u,added:v});if(0===Object.keys(e).length||b)return Object(n.createElement)("div",{className:d},Object(n.createElement)("button",{className:j,disabled:!0}));var O=!A&&a&&f;return Object(n.createElement)("div",{className:d},O?Object(n.createElement)("button",{onClick:C,"aria-label":K.description,className:j,disabled:u},P()):Object(n.createElement)("a",{href:r,"aria-label":K.description,className:j,rel:"nofollow"},P()))},no=function(o){var e=o.className,t=o.product,i=N().layoutStyleClassPrefix;return t.description?Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-summary")),dangerouslySetInnerHTML:{__html:t.description}}):null};function co(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function ao(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?co(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):co(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var fo=function(o){return ao({"woocommerce/product-price":q,"woocommerce/product-image":$,"woocommerce/product-title":oo,"woocommerce/product-rating":eo,"woocommerce/product-button":Ao,"woocommerce/product-summary":no,"woocommerce/product-sale-badge":Q},Object(I.getRegisteredInnerBlocks)(o))},lo=[["woocommerce/product-image"],["woocommerce/product-title"],["woocommerce/product-price"],["woocommerce/product-rating"],["woocommerce/product-button"]],go=function o(e){return e&&0!==e.length?e.map((function(e){return[e.name,ao({},e.attributes,{product:void 0,children:e.innerBlocks.length>0?o(e.innerBlocks):[]})]})):[]};t(616);function uo(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function so(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?uo(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):uo(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var bo=function(o,e){var t=o.contentVisibility;return Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Show Sorting Dropdown",'woocommerce'),checked:t.orderBy,onChange:function(){return e({contentVisibility:so({},t,{orderBy:!t.orderBy})})}})},Co=function(o,e){return Object(n.createElement)(y.SelectControl,{label:Object(c.__)("Order Products By",'woocommerce'),value:o.orderby,options:[{label:Object(c.__)("Newness - newest first",'woocommerce'),value:"date"},{label:Object(c.__)("Price - low to high",'woocommerce'),value:"price"},{label:Object(c.__)("Price - high to low",'woocommerce'),value:"price-desc"},{label:Object(c.__)("Rating - highest first",'woocommerce'),value:"rating"},{label:Object(c.__)("Sales - most first",'woocommerce'),value:"popularity"},{label:Object(c.__)("Menu Order",'woocommerce'),value:"menu_order"}],onChange:function(o){return e({orderby:o})}})},wo=t(17),vo=t.n(wo),po=t(10),Po=t(346),jo=t.n(Po),Oo=t(53),mo=(t(624),function(o){var e=o.currentPage,t=o.displayFirstAndLastPages,i=o.displayNextAndPreviousArrows,r=o.pagesToDisplay,K=o.onPageChange,A=o.totalPages,a=function(o,e,t){if(t<=2)return{minIndex:null,maxIndex:null};var i=o-1,r=Math.max(Math.floor(e-i/2),2),K=Math.min(Math.ceil(e+(i-(e-r))),t-1);return{minIndex:Math.max(Math.floor(e-(i-(K-e))),2),maxIndex:K}}(r,e,A),f=a.minIndex,l=a.maxIndex,g=t&&Boolean(1!==f),u=t&&Boolean(l!==A),s=t&&Boolean(f>3),b=t&&Boolean(l<A-2);g&&3===f&&(f-=1),u&&l===A-2&&(l+=1);var C=[];if(f&&l)for(var w=f;w<=l;w++)C.push(w);return Object(n.createElement)("div",{className:"wc-block-pagination"},Object(n.createElement)(Oo.a,{screenReaderLabel:Object(c.__)("Navigate to another page",'woocommerce')}),i&&Object(n.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return K(e-1)},title:Object(c.__)("Previous page",'woocommerce'),disabled:e<=1},Object(n.createElement)(Oo.a,{label:"<",screenReaderLabel:Object(c.__)("Previous page",'woocommerce')})),g&&Object(n.createElement)("button",{className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===e}),onClick:function(){return K(1)},disabled:1===e},"1"),s&&Object(n.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(c.__)("…",'woocommerce')),C.map((function(o){return Object(n.createElement)("button",{key:o,className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":e===o}),onClick:e===o?null:function(){return K(o)},disabled:e===o},o)})),b&&Object(n.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(c.__)("…",'woocommerce')),u&&Object(n.createElement)("button",{className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":e===A}),onClick:function(){return K(A)},disabled:e===A},A),i&&Object(n.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return K(e+1)},title:Object(c.__)("Next page",'woocommerce'),disabled:e>=A},Object(n.createElement)(Oo.a,{label:">",screenReaderLabel:Object(c.__)("Next page",'woocommerce')})))});mo.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var ho=mo,yo=t(83),Fo=(t(622),function(o){var e=o.defaultValue,t=o.onChange,i=o.readOnly,r=o.value;return Object(n.createElement)(yo.a,{className:"wc-block-product-sort-select",defaultValue:e,name:"orderby",onChange:t,options:[{key:"menu_order",label:Object(c.__)("Default sorting",'woocommerce')},{key:"popularity",label:Object(c.__)("Popularity",'woocommerce')},{key:"rating",label:Object(c.__)("Average rating",'woocommerce')},{key:"date",label:Object(c.__)("Latest",'woocommerce')},{key:"price",label:Object(c.__)("Price: low to high",'woocommerce')},{key:"price-desc",label:Object(c.__)("Price: high to low",'woocommerce')}],readOnly:i,screenReaderLabel:Object(c.__)("Order products by",'woocommerce'),value:r})}),Bo=t(79),Xo=Object(Bo.a)((function(o){var e=o.product,t=o.attributes,i=o.componentId,K=t.layoutConfig,A=Object(n.useContext)(R).parentName,c=N().layoutStyleClassPrefix,a=!Object.keys(e).length>0,f=J()("".concat(c,"__product"),{"is-loading":a});return Object(n.createElement)("li",{className:f,"aria-hidden":a},function o(e,t,i,K){if(i){var A=fo(e);return i.map((function(i,c){var a=s()(i,2),f=a[0],l=a[1],g=void 0===l?{}:l,u=[];g.children&&g.children.length>0&&(u=o(e,t,g.children,K));var b=A[f];if(!b)return null;var C=t.id||0,w=["layout",f,c,K,C];return Object(n.createElement)(b,r()({key:w.join("_")},g,{children:u,product:t}))}))}}(A,e,K,i))})),ko=t(91),xo=t(38);function Ho(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function Do(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ho(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Ho(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var Ro=function(o){var e={namespace:"/wc/store",resourceName:"products"},t=Object(io.a)(Do({},e,{query:o})),i=t.results,r=t.isLoading;return{products:i,totalProducts:function(o,e){var t=e.namespace,i=e.resourceName,r=e.resourceValues,K=void 0===r?[]:r,A=e.query,n=void 0===A?{}:A;if(!t||!i)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var c=Object(xo.a)(n),a=Object(xo.a)(K),f=Object(h.useSelect)((function(e){var r=e(ro.COLLECTIONS_STORE_KEY),K=[o,t,i,c,a];return{value:r.getCollectionHeader.apply(r,K),isLoading:r.hasFinishedResolution("getCollectionHeader",K)}}),[o,t,i,a,c]),l=f.value,g=f.isLoading;return{value:l,isLoading:void 0===g||g}}("x-wp-total",Do({},e,{query:o})).value,productsLoading:r}},Eo=t(621),So=(t(626),function(o){var e=function(e){function t(){var o;return C()(this,t),o=v()(this,P()(t).call(this)),A()(j()(o),"scrollToTopIfNeeded",(function(){var e=o.scrollPointRef.current.getBoundingClientRect().bottom;e>=0&&e<=window.innerHeight||o.scrollPointRef.current.scrollIntoView()})),A()(j()(o),"moveFocusToTop",(function(e){var t=o.scrollPointRef.current.parentElement.querySelectorAll(e);t.length&&t[0].focus()})),A()(j()(o),"scrollToTop",(function(e){window&&Number.isFinite(window.innerHeight)&&(o.scrollToTopIfNeeded(),e&&e.focusableSelector&&o.moveFocusToTop(e.focusableSelector))})),o.scrollPointRef=Object(po.createRef)(),o}return m()(t,e),vo()(t,[{key:"render",value:function(){return Object(n.createElement)(po.Fragment,null,Object(n.createElement)("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),Object(n.createElement)(o,r()({},this.props,{scrollToTop:this.scrollToTop})))}}]),t}(po.Component);return e.displayName="withScrollToTop",e}),Lo=(t(619),function(){var o=N().layoutStyleClassPrefix;return Object(n.createElement)("div",{className:"".concat(o,"__no-products")},Object(n.createElement)("img",{src:X.s+"img/no-products.svg",alt:Object(c.__)("No products",'woocommerce'),className:"".concat(o,"__no-products-image")}),Object(n.createElement)("strong",{className:"".concat(o,"__no-products-title")},Object(c.__)("No products",'woocommerce')),Object(n.createElement)("p",{className:"".concat(o,"__no-products-description")},Object(c.__)("There are currently no products available to display.",'woocommerce')))}),No=function(o){var e=o.resetCallback,t=void 0===e?function(){}:e,i=N().layoutStyleClassPrefix;return Object(n.createElement)("div",{className:"".concat(i,"__no-products")},Object(n.createElement)("img",{src:X.s+"img/no-matching-products.svg",alt:Object(c.__)("No products",'woocommerce'),className:"".concat(i,"__no-products-image")}),Object(n.createElement)("strong",{className:"".concat(i,"__no-products-title")},Object(c.__)("No products found",'woocommerce')),Object(n.createElement)("p",{className:"".concat(i,"__no-products-description")},Object(c.__)("We were unable to find any results based on your search.",'woocommerce')),Object(n.createElement)("button",{onClick:t},Object(c.__)("Reset Search",'woocommerce')))};function To(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var Uo=function(o){var e=o.sortValue,t=o.currentPage,i=o.attributes,r=i.columns,K=i.rows;return function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?To(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):To(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},function(o){switch(o){case"menu_order":case"popularity":case"rating":case"date":case"price":return{orderby:o,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"}}}(e),{per_page:r*K,page:t})},Jo=So((function(o){var e=o.attributes,t=o.currentPage,i=o.onPageChange,r=o.onSortChange,K=o.sortValue,A=o.scrollToTop,c=Object(ko.c)(Uo({attributes:e,sortValue:K,currentPage:t})),a=s()(c,1)[0],f=Ro(a),l=f.products,g=f.productsLoading,u=parseInt(f.totalProducts),b=N().layoutStyleClassPrefix,C=function(o){o.order,o.orderby,o.page,o.per_page;return jo()(o,["order","orderby","page","per_page"])}(a),w=Object(ko.b)("attributes",[]),v=s()(w,2),p=v[0],P=v[1],d=Object(ko.b)("min_price"),j=s()(d,2),O=j[0],m=j[1],h=Object(ko.b)("max_price"),y=s()(h,2),F=y[0],B=y[1],X=Object(Eo.a)({totalQuery:C,totalProducts:u},(function(o){var e=o.totalQuery,t=o.totalProducts,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.totalQuery;return!Object(to.isEqual)(e,r)&&Number.isFinite(t)})),k="object"===x()(X)&&Object(to.isEqual)(C,X.totalQuery);Object(n.useEffect)((function(){k||i(1)}),[a]);var H,D,R,E,S,L=e.contentVisibility,T=e.columns*e.rows,U=!Number.isFinite(u)&&k?Math.ceil(X.totalProducts/T):Math.ceil(u/T),W=l.length?l:Array.from({length:T}),z=0!==l.length||g,Z=p.length>0||Number.isFinite(O)||Number.isFinite(F);return Object(n.createElement)("div",{className:(H=e.columns,D=e.rows,R=e.alignButtons,E=e.align,S=void 0!==E?"align"+E:"",J()(b,S,"has-"+H+"-columns",{"has-multiple-rows":D>1,"has-aligned-buttons":R}))},L.orderBy&&z&&Object(n.createElement)(Fo,{onChange:r,value:K}),!z&&Z&&Object(n.createElement)(No,{resetCallback:function(){P([]),m(null),B(null)}}),!z&&!Z&&Object(n.createElement)(Lo,null),z&&Object(n.createElement)("ul",{className:"".concat(b,"__products")},W.map((function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return Object(n.createElement)(Xo,{key:o.id||t,attributes:e,product:o})}))),U>1&&Object(n.createElement)(ho,{currentPage:t,onPageChange:function(o){A({focusableSelector:"a, button"}),i(o)},totalPages:U}))})),Wo=function(o){var e=o.attributes,t=Object(n.useState)(1),i=s()(t,2),r=i[0],K=i[1],A=Object(n.useState)(e.orderby),c=s()(A,2),a=c[0],f=c[1];Object(n.useEffect)((function(){f(e.orderby)}),[e.orderby]);return Object(n.createElement)(Jo,{attributes:e,currentPage:r,onPageChange:function(o){K(o)},onSortChange:function(o){var e=o.target.value;f(e),K(1)},sortValue:a})},zo=t(97),Zo={layoutStyleClassPrefix:"wc-block-grid"},Go={parentName:"woocommerce/all-products"},Vo=function(o){function e(){return C()(this,e),v()(this,P()(e).apply(this,arguments))}return m()(e,o),vo()(e,[{key:"render",value:function(){var o=this.props,e=o.attributes,t=o.urlParameterSuffix;return e.isPreview?zo.a:Object(n.createElement)(E,{value:Go},Object(n.createElement)(T,{value:Zo},Object(n.createElement)(Wo,{attributes:e,urlParameterSuffix:t})))}}]),e}(po.Component),Io={layoutStyleClassPrefix:"wc-block-grid"},Mo={parentName:"woocommerce/all-products"},qo=function(o){function e(){var o,t;C()(this,e);for(var i=arguments.length,r=new Array(i),K=0;K<i;K++)r[K]=arguments[K];return t=v()(this,(o=P()(e)).call.apply(o,[this].concat(r))),A()(j()(t),"state",{isEditing:!1,innerBlocks:[]}),A()(j()(t),"blockMap",fo("woocommerce/all-products")),A()(j()(t),"componentDidMount",(function(){var o=t.props.block;t.setState({innerBlocks:o.innerBlocks})})),A()(j()(t),"getTitle",(function(){return Object(c.__)("All Products",'woocommerce')})),A()(j()(t),"getIcon",(function(){return Object(n.createElement)(g.a,{icon:"grid"})})),A()(j()(t),"togglePreview",(function(){var o=t.props.debouncedSpeak;t.setState({isEditing:!t.state.isEditing}),t.state.isEditing||o(Object(c.__)("Showing All Products block preview.",'woocommerce'))})),A()(j()(t),"getInspectorControls",(function(){var o=t.props,e=o.attributes,i=o.setAttributes,r=e.columns,K=e.rows,A=e.alignButtons;return Object(n.createElement)(a.InspectorControls,{key:"inspector"},Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Layout Settings",'woocommerce'),initialOpen:!0},Object(n.createElement)(B.a,{columns:r,rows:K,alignButtons:A,setAttributes:i})),Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content Settings",'woocommerce')},bo(e,i),Co(e,i)))})),A()(j()(t),"getBlockControls",(function(){var o=t.state.isEditing;return Object(n.createElement)(a.BlockControls,null,Object(n.createElement)(y.Toolbar,{controls:[{icon:"edit",title:Object(c.__)("Edit",'woocommerce'),onClick:function(){return t.togglePreview()},isActive:o}]}))})),A()(j()(t),"renderEditMode",(function(){var o={template:t.props.attributes.layoutConfig,templateLock:!1,allowedBlocks:Object.keys(t.blockMap)};return 0!==t.props.attributes.layoutConfig.length&&(o.renderAppender=!1),Object(n.createElement)(y.Placeholder,{icon:t.getIcon(),label:t.getTitle()},Object(c.__)("Display all products from your store as a grid.",'woocommerce'),Object(n.createElement)("div",{className:"wc-block-all-products-grid-item-template"},Object(n.createElement)(y.Tip,null,Object(c.__)("Edit the blocks inside the preview below to change the content displayed for each product within the product grid.",'woocommerce')),Object(n.createElement)("div",{className:"wc-block-grid has-1-columns"},Object(n.createElement)("ul",{className:"wc-block-grid__products"},Object(n.createElement)("li",{className:"wc-block-grid__product"},Object(n.createElement)(a.InnerBlocks,o)))),Object(n.createElement)("div",{className:"wc-block-all-products__actions"},Object(n.createElement)(y.Button,{className:"wc-block-all-products__done-button",isPrimary:!0,isLarge:!0,onClick:function(){var o=t.props,e=o.block;(0,o.setAttributes)({layoutConfig:go(e.innerBlocks)}),t.setState({innerBlocks:e.innerBlocks}),t.togglePreview()}},Object(c.__)("Done",'woocommerce')),Object(n.createElement)(y.Button,{className:"wc-block-all-products__cancel-button",isTertiary:!0,onClick:function(){var o=t.props,e=o.block,i=o.replaceInnerBlocks,r=t.state.innerBlocks;i(e.clientId,r,!1),t.togglePreview()}},Object(c.__)("Cancel",'woocommerce')),Object(n.createElement)(y.IconButton,{className:"wc-block-all-products__reset-button",icon:Object(n.createElement)(g.a,{icon:"grid"}),label:Object(c.__)("Reset layout to default",'woocommerce'),onClick:function(){var o=t.props,e=o.block,i=o.replaceInnerBlocks,r=[];lo.map((function(o){var e=s()(o,2),t=e[0],i=e[1];return r.push(Object(f.createBlock)(t,i)),!0})),i(e.clientId,r,!1),t.setState({innerBlocks:e.innerBlocks})}},Object(c.__)("Reset Layout",'woocommerce')))))})),A()(j()(t),"renderViewMode",(function(){var o=t.props.attributes,e=o.layoutConfig,i=e&&0!==e.length,r=t.getTitle(),K=t.getIcon();return i?Object(n.createElement)(y.Disabled,null,Object(n.createElement)(Vo,{attributes:o})):V(r,K)})),A()(j()(t),"render",(function(){var o=t.props.attributes,e=t.state.isEditing,i=t.getTitle(),r=t.getIcon();return X.f?Object(n.createElement)(E,{value:Mo},Object(n.createElement)(T,{value:Io},Object(n.createElement)("div",{className:Z("wc-block-all-products",o)},t.getBlockControls(),t.getInspectorControls(),e?t.renderEditMode():t.renderViewMode()))):G(i,r)})),t}return m()(e,o),e}(n.Component),Qo=Object(F.compose)(y.withSpokenMessages,Object(h.withSelect)((function(o,e){var t=e.clientId;return{block:(0,o("core/block-editor").getBlock)(t)}})),Object(h.withDispatch)((function(o){return{replaceInnerBlocks:o("core/block-editor").replaceInnerBlocks}})))(qo),Yo={columns:{type:"number",default:X.b},rows:{type:"number",default:X.d},alignButtons:{type:"boolean",default:!1},contentVisibility:{type:"object",default:{orderBy:!0}},orderby:{type:"string",default:"date"},layoutConfig:{type:"array",default:lo},isPreview:{type:"boolean",default:!1}},_o=t(597),$o=t(84),oe={category:"woocommerce",keywords:[Object(c.__)("WooCommerce",'woocommerce')],icon:{src:Object(n.createElement)(g.a,{icon:"grid"}),foreground:"#96588a"},supports:{html:!1},parent:["woocommerce/all-products"],attributes:{product:{type:"object",default:_o.a[0]}},save:function(){}};function ee(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var te={title:Object(c.__)("Product Title",'woocommerce'),description:Object(c.__)("Display the name of a product.",'woocommerce'),icon:{src:"heading",foreground:"#96588a"},attributes:{product:{type:"object",default:_o.a[0]},headingLevel:{type:"number",default:2},productLink:{type:"boolean",default:!0}},edit:function(o){var e=o.attributes,t=o.setAttributes,i=e.headingLevel,r=e.productLink;return Object(n.createElement)(po.Fragment,null,Object(n.createElement)(a.InspectorControls,null,Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content",'woocommerce')},Object(n.createElement)("p",null,Object(c.__)("Level",'woocommerce')),Object(n.createElement)($o.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:i,onChange:function(o){return t({headingLevel:o})}}),Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Link to Product Page",'woocommerce'),help:Object(c.__)("Links the image to the single product listing.",'woocommerce'),checked:r,onChange:function(){return t({productLink:!r})}}))),Object(n.createElement)(y.Disabled,null,Object(n.createElement)(oo,{headingLevel:i,productLink:r,product:e.product})))}};function ie(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-title",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ee(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ee(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},te));var re={title:Object(c.__)("Product Price",'woocommerce'),description:Object(c.__)("Display the price of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"money"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(q,{product:e.product})}};Object(f.registerBlockType)("woocommerce/product-price",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ie(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ie(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},re));var Ke=t(47);function Ae(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var ne={title:Object(c.__)("Product Image",'woocommerce'),description:Object(c.__)("Display the main product image",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"image"}),foreground:"#96588a"},attributes:{product:{type:"object",default:_o.a[0]},productLink:{type:"boolean",default:!0},showSaleBadge:{type:"boolean",default:!0},saleBadgeAlign:{type:"string",default:"right"}},edit:function(o){var e=o.attributes,t=o.setAttributes,i=e.productLink,r=e.showSaleBadge,K=e.saleBadgeAlign;return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.InspectorControls,null,Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content",'woocommerce')},Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Link to Product Page",'woocommerce'),help:Object(c.__)("Links the image to the single product listing.",'woocommerce'),checked:i,onChange:function(){return t({productLink:!i})}}),Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Show On-Sale Badge",'woocommerce'),help:Object(c.__)('Overlay a "sale" badge if the product is on-sale.','woocommerce'),checked:r,onChange:function(){return t({showSaleBadge:!r})}}),r&&Object(n.createElement)(Ke.a,{label:Object(c.__)("Sale Badge Alignment",'woocommerce'),value:K,options:[{label:Object(c.__)("Left",'woocommerce'),value:"left"},{label:Object(c.__)("Center",'woocommerce'),value:"center"},{label:Object(c.__)("Right",'woocommerce'),value:"right"}],onChange:function(o){return t({saleBadgeAlign:o})}}))),Object(n.createElement)(y.Disabled,null,Object(n.createElement)($,{product:e.product,productLink:i,showSaleBadge:r,saleBadgeAlign:K})))}};function ce(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-image",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ae(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Ae(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ne));var ae={title:Object(c.__)("Product Rating",'woocommerce'),description:Object(c.__)("Display the average rating of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"star-outline"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(eo,{product:e.product})}};function fe(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-rating",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ce(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ce(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ae));var le={title:Object(c.__)("Product Button",'woocommerce'),description:Object(c.__)("Display a call to action button which either adds the product to the cart, or links to the product page.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"cart"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(y.Disabled,null,Object(n.createElement)(Ao,{product:e.product}))}};function ge(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-button",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?fe(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},le));var ue={title:Object(c.__)("Product Summary",'woocommerce'),description:Object(c.__)("Display the short description of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"aside"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(no,{product:e.product})}};Object(f.registerBlockType)("woocommerce/product-summary",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ge(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ge(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ue));var se=t(588);function be(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var Ce={title:Object(c.__)("On-Sale Badge",'woocommerce'),description:Object(c.__)("Displays an on-sale badge if the product is on-sale.",'woocommerce'),icon:{src:Object(n.createElement)(se.a,null),foreground:"#96588a"},supports:{html:!1},edit:function(o){var e=o.attributes,t=e.align,i=e.product;return Object(n.createElement)(Q,{product:i,align:t})}};function we(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-sale-badge",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?be(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):be(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},Ce)),Object(f.registerBlockType)("woocommerce/all-products",{title:Object(c.__)("All Products",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"grid"}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(c.__)("WooCommerce",'woocommerce')],description:Object(c.__)("Display all products from your store as a grid.",'woocommerce'),supports:{align:["wide","full"],html:!1,multiple:!1},example:{attributes:{isPreview:!0}},attributes:function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?we(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):we(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},Yo),edit:function(o){return Object(n.createElement)(Qo,o)},save:function(o){var e=o.attributes,t={"data-attributes":JSON.stringify(e)};return Object(n.createElement)("div",r()({className:Z("wc-block-all-products",e)},t),Object(n.createElement)(a.InnerBlocks.Content,null))}})},79:function(o,e,t){"use strict";var i=t(11),r=t.n(i),K=t(13),A=t.n(K),n=t(17),c=t.n(n),a=t(14),f=t.n(a),l=t(15),g=t.n(l),u=t(12),s=t.n(u),b=t(16),C=t.n(b),w=t(7),v=t.n(w),p=t(0),P=t(10);e.a=function(o){var e=0,t=function(t){function i(){var o,t;A()(this,i);for(var r=arguments.length,K=new Array(r),n=0;n<r;n++)K[n]=arguments[n];return t=f()(this,(o=g()(i)).call.apply(o,[this].concat(K))),v()(s()(t),"instanceId",e++),t}return C()(i,t),c()(i,[{key:"render",value:function(){return Object(p.createElement)(o,r()({},this.props,{componentId:this.instanceId}))}}]),i}(P.Component);return t.displayName="withComponentId",t}},83:function(o,e,t){"use strict";var i=t(0),r=(t(2),t(6)),K=t.n(r),A=t(53),n=t(79);t(161);e.a=Object(n.a)((function(o){var e=o.className,t=o.componentId,r=o.defaultValue,n=o.label,c=o.onChange,a=o.options,f=o.screenReaderLabel,l=o.readOnly,g=o.value,u="wc-block-sort-select__select-".concat(t);return Object(i.createElement)("div",{className:K()("wc-block-sort-select",e)},Object(i.createElement)(A.a,{label:n,screenReaderLabel:f,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:u}}),Object(i.createElement)("select",{id:u,className:"wc-block-sort-select__select",defaultValue:r,onChange:c,readOnly:l,value:g},a.map((function(o){return Object(i.createElement)("option",{key:o.key,value:o.key},o.label)}))))}))},84:function(o,e,t){"use strict";var i=t(13),r=t.n(i),K=t(17),A=t.n(K),n=t(14),c=t.n(n),a=t(15),f=t.n(a),l=t(16),g=t.n(l),u=t(0),s=t(5),b=t(1),C=t(3);function w(o){var e=o.level,t={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return t.hasOwnProperty(e)?Object(u.createElement)(C.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(u.createElement)(C.Path,{d:t[e]})):null}var v=function(o){function e(){return r()(this,e),c()(this,f()(e).apply(this,arguments))}return g()(e,o),A()(e,[{key:"createLevelControl",value:function(o,e,t){var i=o===e;return{icon:Object(u.createElement)(w,{level:o}),title:Object(b.sprintf)(Object(b.__)("Heading %d"),o),isActive:i,onClick:function(){return t(o)}}}},{key:"render",value:function(){var o=this,e=this.props,t=e.isCollapsed,i=void 0===t||t,r=e.minLevel,K=e.maxLevel,A=e.selectedLevel,n=e.onChange;return Object(u.createElement)(C.Toolbar,{isCollapsed:i,icon:Object(u.createElement)(w,{level:A}),controls:Object(s.range)(r,K).map((function(e){return o.createLevelControl(e,A,n)}))})}}]),e}(u.Component);e.a=v},91:function(o,e,t){"use strict";t.d(e,"a",(function(){return u})),t.d(e,"b",(function(){return s})),t.d(e,"c",(function(){return b}));var i=t(7),r=t.n(i),K=t(25),A=t.n(K),n=t(35),c=t(34),a=t(0),f=t(49),l=t(38);function g(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var u=function(o){var e=Object(f.a)();o=o||e;var t=Object(c.useSelect)((function(e){return e(n.QUERY_STATE_STORE_KEY).getValueForQueryContext(o,void 0)}),[o]),i=Object(c.useDispatch)(n.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[t,Object(a.useCallback)((function(e){i(o,e)}),[o])]},s=function(o,e,t){var i=Object(f.a)();t=t||i;var r=Object(c.useSelect)((function(i){return i(n.QUERY_STATE_STORE_KEY).getValueForQueryKey(t,o,e)}),[t,o]),K=Object(c.useDispatch)(n.QUERY_STATE_STORE_KEY).setQueryValue;return[r,Object(a.useCallback)((function(e){K(t,o,e)}),[t,o])]},b=function(o,e){var t=Object(f.a)(),i=u(e=e||t),K=A()(i,2),n=K[0],c=K[1],s=Object(l.a)(o),b=Object(a.useRef)(!1);return Object(a.useEffect)((function(){c(function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?g(Object(t),!0).forEach((function(e){r()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):g(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},n,{},s)),b.current=!0}),[s]),b.current?[n,c]:[o,c]}},97:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(0),r=t(18),K=Object(i.createElement)("img",{src:r.s+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}})}});
1
+ this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-products"]=function(o){function e(e){for(var i,A,n=e[0],c=e[1],a=e[2],l=0,g=[];l<n.length;l++)A=n[l],Object.prototype.hasOwnProperty.call(r,A)&&r[A]&&g.push(r[A][0]),r[A]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(o[i]=c[i]);for(f&&f(e);g.length;)g.shift()();return K.push.apply(K,a||[]),t()}function t(){for(var o,e=0;e<K.length;e++){for(var t=K[e],i=!0,n=1;n<t.length;n++){var c=t[n];0!==r[c]&&(i=!1)}i&&(K.splice(e--,1),o=A(A.s=t[0]))}return o}var i={},r={4:0},K=[];function A(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return o[e].call(t.exports,t,t.exports,A),t.l=!0,t.exports}A.m=o,A.c=i,A.d=function(o,e,t){A.o(o,e)||Object.defineProperty(o,e,{enumerable:!0,get:t})},A.r=function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},A.t=function(o,e){if(1&e&&(o=A(o)),8&e)return o;if(4&e&&"object"==typeof o&&o&&o.__esModule)return o;var t=Object.create(null);if(A.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:o}),2&e&&"string"!=typeof o)for(var i in o)A.d(t,i,function(e){return o[e]}.bind(null,i));return t},A.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return A.d(e,"a",e),e},A.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},A.p="";var n=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],c=n.push.bind(n);n.push=e,n=n.slice();for(var a=0;a<n.length;a++)e(n[a]);var f=c;return K.push([642,2,1,0]),t()}({0:function(o,e){!function(){o.exports=this.wp.element}()},1:function(o,e){!function(){o.exports=this.wp.i18n}()},10:function(o,e){!function(){o.exports=this.React}()},109:function(o,e,t){"use strict";t.d(e,"a",(function(){return n}));var i=t(35),r=t(34),K=t(0),A=t(38),n=function(o){var e=o.namespace,t=o.resourceName,n=o.resourceValues,c=void 0===n?[]:n,a=o.query,f=void 0===a?{}:a,l=o.shouldSelect,g=void 0===l||l;if(!e||!t)throw new Error("The options object must have valid values for the namespace and the resource properties.");var u=Object(K.useRef)({results:[],isLoading:!0}),s=Object(A.a)(f),b=Object(A.a)(c),C=Object(r.useSelect)((function(o){if(!g)return null;var r=o(i.COLLECTIONS_STORE_KEY),K=[e,t,s,b];return{results:r.getCollection.apply(r,K),isLoading:!r.hasFinishedResolution("getCollection",K)}}),[e,t,b,s,g]);return null!==C&&(u.current=C),u.current}},18:function(o,e,t){"use strict";t.d(e,"e",(function(){return r})),t.d(e,"r",(function(){return K})),t.d(e,"k",(function(){return A})),t.d(e,"m",(function(){return n})),t.d(e,"b",(function(){return c})),t.d(e,"l",(function(){return a})),t.d(e,"o",(function(){return f})),t.d(e,"d",(function(){return l})),t.d(e,"n",(function(){return g})),t.d(e,"c",(function(){return u})),t.d(e,"p",(function(){return s})),t.d(e,"i",(function(){return b})),t.d(e,"j",(function(){return C})),t.d(e,"f",(function(){return w})),t.d(e,"g",(function(){return v})),t.d(e,"h",(function(){return p})),t.d(e,"q",(function(){return P})),t.d(e,"a",(function(){return d})),t.d(e,"s",(function(){return j}));var i=t(4),r=Object(i.getSetting)("enableReviewRating",!0),K=Object(i.getSetting)("showAvatars",!0),A=Object(i.getSetting)("max_columns",6),n=Object(i.getSetting)("min_columns",1),c=Object(i.getSetting)("default_columns",3),a=Object(i.getSetting)("max_rows",6),f=Object(i.getSetting)("min_rows",1),l=Object(i.getSetting)("default_rows",2),g=Object(i.getSetting)("min_height",500),u=Object(i.getSetting)("default_height",500),s=Object(i.getSetting)("placeholderImgSrc",""),b=(Object(i.getSetting)("thumbnail_size",300),Object(i.getSetting)("isLargeCatalog")),C=Object(i.getSetting)("limitTags"),w=Object(i.getSetting)("hasProducts",!0),v=Object(i.getSetting)("hasTags",!0),p=Object(i.getSetting)("homeUrl",""),P=Object(i.getSetting)("productCount",0),d=Object(i.getSetting)("attributes",[]),j=Object(i.getSetting)("wcBlocksAssetUrl","")},21:function(o,e){!function(){o.exports=this.wp.compose}()},23:function(o,e){!function(){o.exports=this.wp.blocks}()},3:function(o,e){!function(){o.exports=this.wp.components}()},339:function(o,e,t){"use strict";var i=t(0),r=t(3);e.a=function(){return Object(i.createElement)(r.Icon,{icon:Object(i.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(i.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(i.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(i.createElement)("g",{mask:"url(#external-mask)"},Object(i.createElement)("path",{d:"M0 0h24v24H0z"})))})}},34:function(o,e){!function(){o.exports=this.wp.data}()},345:function(o,e){!function(){o.exports=this.wc.wcBlocksRegistry}()},35:function(o,e){!function(){o.exports=this.wc.wcBlocksData}()},38:function(o,e,t){"use strict";t.d(e,"a",(function(){return A}));var i=t(0),r=t(43),K=t.n(r),A=function(o){var e=Object(i.useRef)();return K()(o,e.current)||(e.current=o),e.current}},4:function(o,e){!function(){o.exports=this.wc.wcSettings}()},42:function(o,e){!function(){o.exports=this.wp.blockEditor}()},43:function(o,e){!function(){o.exports=this.wp.isShallowEqual}()},46:function(o,e,t){"use strict";var i=t(0),r=t(1),K=t(5),A=(t(2),t(3)),n=t(18);e.a=function(o){var e=o.columns,t=o.rows,c=o.setAttributes,a=o.alignButtons;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(A.RangeControl,{label:Object(r.__)("Columns",'woocommerce'),value:e,onChange:function(o){var e=Object(K.clamp)(o,n.m,n.k);c({columns:Object(K.isNaN)(e)?"":e})},min:n.m,max:n.k}),Object(i.createElement)(A.RangeControl,{label:Object(r.__)("Rows",'woocommerce'),value:t,onChange:function(o){var e=Object(K.clamp)(o,n.o,n.l);c({rows:Object(K.isNaN)(e)?"":e})},min:n.o,max:n.l}),Object(i.createElement)(A.ToggleControl,{label:Object(r.__)("Align Buttons",'woocommerce'),help:a?Object(r.__)("Buttons are aligned vertically.",'woocommerce'):Object(r.__)("Buttons follow content.",'woocommerce'),checked:a,onChange:function(){return c({alignButtons:!a})}}))}},47:function(o,e,t){"use strict";var i=t(11),r=t.n(i),K=t(13),A=t.n(K),n=t(17),c=t.n(n),a=t(14),f=t.n(a),l=t(15),g=t.n(l),u=t(12),s=t.n(u),b=t(16),C=t.n(b),w=t(0),v=t(5),p=t(6),P=t.n(p),d=t(3),j=t(21),O=(t(98),function(o){function e(){var o;return A()(this,e),(o=f()(this,g()(e).apply(this,arguments))).onClick=o.onClick.bind(s()(o)),o}return C()(e,o),c()(e,[{key:"onClick",value:function(o){this.props.onChange&&this.props.onChange(o.target.value)}},{key:"render",value:function(){var o,e=this,t=this.props,i=t.label,K=t.checked,A=t.instanceId,n=t.className,c=t.help,a=t.options,f=t.value,l="inspector-toggle-button-control-".concat(A);return c&&(o=Object(v.isFunction)(c)?c(K):c),Object(w.createElement)(d.BaseControl,{id:l,help:o,className:P()("components-toggle-button-control",n)},Object(w.createElement)("label",{id:l+"__label",htmlFor:l,className:"components-toggle-button-control__label"},i),Object(w.createElement)(d.ButtonGroup,{"aria-labelledby":l+"__label"},a.map((function(o,t){var K={};return f===o.value?(K.isPrimary=!0,K["aria-pressed"]=!0):(K.isDefault=!0,K["aria-pressed"]=!1),Object(w.createElement)(d.Button,r()({key:"".concat(o.label,"-").concat(o.value,"-").concat(t),value:o.value,onClick:e.onClick,"aria-label":i+": "+o.label},K),o.label)}))))}}]),e}(w.Component));e.a=Object(j.withInstanceId)(O)},49:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(0),r=Object(i.createContext)("page"),K=function(){return Object(i.useContext)(r)};r.Provider},5:function(o,e){!function(){o.exports=this.lodash}()},53:function(o,e,t){"use strict";var i=t(7),r=t.n(i),K=t(0),A=(t(2),t(10)),n=t(6),c=t.n(n);function a(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var f=function(o){var e,t=o.label,i=o.screenReaderLabel,n=o.wrapperElement,f=o.wrapperProps;return!t&&i?(e=n||"span",f=function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?a(Object(t),!0).forEach((function(e){r()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},f,{className:c()(f.className,"screen-reader-text")}),Object(K.createElement)(e,f,i)):(e=n||A.Fragment,t&&i&&t!==i?Object(K.createElement)(e,f,Object(K.createElement)("span",{"aria-hidden":"true"},t),Object(K.createElement)("span",{className:"screen-reader-text"},i)):Object(K.createElement)(e,f,t))};f.defaultProps={wrapperProps:{}},e.a=f},588:function(o,e,t){"use strict";var i=t(0),r=t(3);e.a=function(o){var e=o.className;return Object(i.createElement)(r.Icon,{className:e,icon:Object(i.createElement)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(i.createElement)("path",{d:"M21.5,0h-9.3L0.8,11.4c-1,1-1,2.6,0,3.6L9,23.2c1,1,2.6,1,3.6,0c0,0,0,0,0,0L24,11.9V2.5C24,1.1,22.9,0,21.5,0z"}),Object(i.createElement)("circle",{fill:"#fff",cx:"18.1",cy:"5.8",r:"2.5"}),Object(i.createElement)("path",{fill:"#fff",d:"M5.8,10.5C5.8,10,6,9.6,6.3,9.2s0.8-0.5,1.3-0.5c0.6,0,1,0.2,1.3,0.5s0.5,0.8,0.5,1.3V11 c0,0.5-0.2,1-0.5,1.3s-0.8,0.5-1.3,0.5c-0.6,0-1-0.2-1.3-0.5s-0.5-0.8-0.5-1.3V10.5z M7,11c0,0.2,0.1,0.4,0.2,0.6 s0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.6v-0.4c0-0.2-0.1-0.4-0.2-0.6S7.9,9.7,7.7,9.7c-0.2,0-0.4,0.1-0.5,0.2 S7,10.3,7,10.5V11z M8,16.8l-0.8-0.4l4.2-6.7l0.8,0.4L8,16.8z M9.9,15.3c0-0.5,0.2-1,0.5-1.3s0.8-0.5,1.3-0.5 c0.6,0,1,0.2,1.3,0.5s0.5,0.8,0.5,1.3v0.4c0,0.5-0.2,0.9-0.5,1.3s-0.8,0.5-1.3,0.5c-0.6,0-1-0.2-1.4-0.5s-0.5-0.8-0.5-1.3V15.3z M11,15.8c0,0.2,0.1,0.4,0.2,0.6s0.3,0.2,0.5,0.2c0.5,0,0.7-0.3,0.7-0.8v-0.4c0-0.2-0.1-0.4-0.2-0.6s-0.3-0.2-0.5-0.2 s-0.4,0.1-0.5,0.2S11,15.1,11,15.3V15.8z"}))})}},597:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(1),r="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAADIKADAAQAAAABAAADIAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgDIAMgAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAQEBAQEBAQEBAQIBAQECAwICAgIDBAMDAwMDBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQYGBgYGBwcHBwcHBwcHB//bAEMBAQEBAgICAwICAwcFBAUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB//dAAQAMv/aAAwDAQACEQMRAD8A/ts8z2/z+VR0UV7B4DbCiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CiiigLsKKKKAuwooooC7CpPM9v8/lUdFAJs//0P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//R/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9L+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//U/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9X+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//X/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9D+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0f7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//S/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9P+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//V/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9b+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//Q/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9H+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0v7aKKKK9g8B7hRRRQIKKKKACiiigAoor4C/4KX/ALaNr+wb+yd4/wDj01tBea5YR/2fodvORifVbkFbSLZnc4Z/nkx92NHNJuyuwS6I+/aK/gY0rxn/AMFZbjRPDvx7l/4KS+KfC3xb8ZxjXG8J6g00mkWv2omRLd7cvNZIPKZT5IsikZOwdM1+gvwD/wCDiP46/BafTPCH/BSP9mCePQogIG+I/gECa2faSDLc2JYxqXA3Hypoj/dg7VPM0ryi0gU4OXLGab/rvuf1xUV81fszfthfs0/tieC4/Hn7OHxf0j4n6KEVrmKzl23loW/hurSQJc27Z4HmRqGx8pI5r6Vqk76obVtGFFFFMQUUUUAc94u8T6T4J8KeJvGWvTi10TwnYXGpXkjMqhYbaNpXOWIUYVTySB6mv5c/gn/wc0+HrvVU8VftQfsxax8LP2evGtxeReF/GHh/ztTBa1cr5N1E8cSu+MK7QPlX6Rlcsv7N/wDBWrx7e/DX/gmz+2b4tsba0u3h8CalYyJeMFTy9Qj+xsVzw0oE/wC7UkZfGMnAP8iP7EnhPxPpn7I3wd8N6pItxYajpr6k1nMiyxEX00lyu5GDKTtlB5HelGnKcuVOxnXxMaULuN7u35n9OXwv/wCC9/8AwS6+Keq22j2H7Qx8IT3fCTeItLvtPt939155IPJjPvI6r71+unh3xH4e8X6FpPijwnrtn4m8Na/Al1Y6hp8yXFtcQyDKSRSxsySIw5DKxBr/AD+/23fBfgSH9nPxjrni/wAGQxL8PFGr2MuiRwafO9x/qEilkWBi1u5lBdcZ4BGCM19y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ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//Q/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9H+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//T/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9T+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1f7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//W/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9f+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0P7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//R/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9L+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//0/7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//U/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9X+2iiiivYPAe4UUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBrc//1v7aKKKK9g8B7hRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz//X/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiiga3P/9D+2iipPL9/8/nUdeweA0wooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooqTy/f8Az+dAJM//2Q==",K=[{id:1,name:"WordPress Pennant",variation:"",permalink:"https://example.org",sku:"wp-pennant",description:Object(i.__)("Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!",'woocommerce'),price:"7.99",price_html:'<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',images:[{id:1,src:r,thumbnail:r,name:"pennant-1.jpg",alt:"WordPress Pennant",srcset:"",sizes:""}],average_rating:5,review_count:1,prices:{currency_code:"GBP",decimal_separator:".",thousand_separator:",",decimals:2,price_prefix:"£",price_suffix:"",price:"7.99",regular_price:"9.99",sale_price:"7.99",price_range:null},add_to_cart:{text:Object(i.__)("Add to cart",'woocommerce'),description:Object(i.__)("Add to cart",'woocommerce')},has_options:!1,is_purchasable:!0,is_in_stock:!0,on_sale:!0}]},616:function(o,e,t){var i=t(617);"string"==typeof i&&(i=[[o.i,i,""]]);var r={insert:"head",singleton:!1};t(30)(i,r);i.locals&&(o.exports=i.locals)},617:function(o,e,t){},621:function(o,e,t){"use strict";t.d(e,"a",(function(){return r}));var i=t(10),r=function(o,e){var t=Object(i.useRef)();return Object(i.useEffect)((function(){t.current===o||e&&!e(o,t.current)||(t.current=o)}),[o,t.current]),t.current}},642:function(o,e,t){"use strict";t.r(e);var i=t(11),r=t.n(i),K=t(7),A=t.n(K),n=t(0),c=t(1),a=t(42),f=t(23),l=t(26),g=t.n(l),u=t(25),s=t.n(u),b=t(13),C=t.n(b),w=t(14),v=t.n(w),p=t(15),P=t.n(p),d=t(12),j=t.n(d),O=t(16),m=t.n(O),h=t(34),y=t(3),F=t(21),B=(t(2),t(46)),X=t(18),k=t(85),x=t.n(k),H=function(o,e,t){if("object"!==x()(t))throw new Error("".concat(o," expects an object for its context value"));var i=[];for(var r in e)e[r].required&&void 0===t[r]?i.push("The ".concat(r," is required and is not present.")):void 0!==t[r]&&x()(t[r])!==e[r].type&&i.push("The ".concat(r," must be of ").concat(e[r].type," and instead was ").concat(x()(t[r])));if(i.length>0)throw new Error("There was a problem with the value passed in on ".concat(o,":\n ").concat(i.join("\n")))},D={parentName:{required:!0,type:"string"}},R=Object(n.createContext)({parentName:null}),E=function(o){var e=o.value,t=o.children;return Object(n.useEffect)((function(){H("InnerBlockConfigurationProvider",D,e)}),[e]),Object(n.createElement)(R.Provider,{value:e},t)},S={layoutStyleClassPrefix:{required:!0,type:"string"}},L=Object(n.createContext)({layoutStyleClassPrefix:""}),N=function(){return Object(n.useContext)(L)},T=function(o){var e=o.value,t=o.children;return Object(n.useEffect)((function(){H("ProductLayoutContextProvider",S,e)}),[e]),Object(n.createElement)(L.Provider,{value:e},t)},U=t(6),J=t.n(U),W=t(4),z=t(339),Z=function(o,e){var t=e.className,i=e.contentVisibility;return J()(o,t,{"has-image":i.image,"has-title":i.title,"has-rating":i.rating,"has-price":i.price,"has-button":i.button})},G=function(o,e){return Object(n.createElement)(y.Placeholder,{className:"wc-block-products",icon:e,label:o},Object(n.createElement)("p",null,Object(c.__)("You haven't published any products to list here yet.",'woocommerce')),Object(n.createElement)(y.Button,{className:"wc-block-products__add_product_button",isDefault:!0,isLarge:!0,href:W.adminUrl+"post-new.php?post_type=product"},Object(c.__)("Add new product",'woocommerce')+" ",Object(n.createElement)(z.a,null)),Object(n.createElement)(y.Button,{className:"wc-block-products__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(c.__)("Learn more",'woocommerce')))},V=function(o,e){return Object(n.createElement)(y.Placeholder,{className:"wc-block-products",icon:e,label:o},Object(c.__)("The content for this block is hidden due to block settings.",'woocommerce'))},I=t(345),M=t(141),q=function(o){var e=o.className,t=o.product,i=N().layoutStyleClassPrefix,K=t.prices||{},A={displayType:"text",thousandSeparator:K.thousand_separator,decimalSeparator:K.decimal_separator,decimalScale:K.decimals,fixedDecimalScale:!0,prefix:K.price_prefix,suffix:K.price_suffix};if(K.price_range&&K.price_range.min_amount&&K.price_range.max_amount){var c=parseFloat(K.price_range.min_amount),a=parseFloat(K.price_range.max_amount);return Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-price"))},Object(n.createElement)("span",{className:"".concat(i,"__product-price__value")},Object(n.createElement)(M.a,r()({value:c},A))," — ",Object(n.createElement)(M.a,r()({value:a},A))))}return Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-price"))},K.regular_price!==K.price&&Object(n.createElement)("del",{className:"".concat(i,"__product-price__regular")},Object(n.createElement)(M.a,r()({value:K.regular_price},A))),Object(n.createElement)("span",{className:"".concat(i,"__product-price__value")},Object(n.createElement)(M.a,r()({value:K.price},A))))},Q=function(o){var e=o.className,t=o.product,i=o.align,r=N().layoutStyleClassPrefix,K="string"==typeof i?"".concat(r,"__product-onsale--align").concat(i):"";return t&&t.on_sale?Object(n.createElement)("div",{className:J()(e,K,"".concat(r,"__product-onsale"))},Object(c.__)("Sale",'woocommerce')):null},Y=function(o){var e=o.product,t=o.saleBadgeAlign;return o.shouldRender?Object(n.createElement)(Q,{product:e,align:t}):null},_=function(o){var e=o.layoutPrefix,t=o.loaded,i=o.image,r=o.onLoad,K=J()("".concat(e,"__product-image__image"),A()({},"".concat(e,"__product-image__image_placeholder"),!t&&!i)),c=i||{},a=c.thumbnail,f=c.srcset,l=c.sizes,g=c.alt;return Object(n.createElement)(n.Fragment,null,i&&Object(n.createElement)("img",{className:K,src:a,srcSet:f,sizes:l,alt:g,onLoad:r,hidden:!t}),!t&&Object(n.createElement)("img",{className:K,src:X.p,alt:""}))},$=function(o){var e=o.className,t=o.product,i=o.productLink,r=void 0===i||i,K=o.showSaleBadge,A=void 0===K||K,c=o.saleBadgeAlign,a=void 0===c?"right":c,f=Object(n.useState)(!1),l=s()(f,2),g=l[0],u=l[1],b=N().layoutStyleClassPrefix,C=t.images&&t.images.length?t.images[0]:null,w=Object(n.createElement)(n.Fragment,null,Object(n.createElement)(Y,{product:t,saleBadgeAlign:a,shouldRender:A}),Object(n.createElement)(_,{layoutPrefix:b,loaded:g,image:C,onLoad:function(){return u(!0)}}));return Object(n.createElement)("div",{className:J()(e,"".concat(b,"__product-image"))},r?Object(n.createElement)("a",{href:t.permalink,rel:"nofollow"},w):{renderedSalesAndImage:w})},oo=function(o){var e=o.className,t=o.product,i=o.headingLevel,r=void 0===i?2:i,K=o.productLink,A=void 0===K||K,c=N().layoutStyleClassPrefix;if(!t.name)return null;var a=t.name,f="h".concat(r);return Object(n.createElement)(f,{className:J()(e,"".concat(c,"__product-title"))},A?Object(n.createElement)("a",{href:t.permalink,rel:"nofollow"},a):a)},eo=function(o){var e=o.className,t=o.product,i=parseFloat(t.average_rating),r=N().layoutStyleClassPrefix;if(!Number.isFinite(i)||0===i)return null;var K={width:i/5*100+"%"};return Object(n.createElement)("div",{className:J()(e,"".concat(r,"__product-rating"))},Object(n.createElement)("div",{className:"".concat(r,"__product-rating__stars"),role:"img"},Object(n.createElement)("span",{style:K},Object(c.sprintf)(Object(c.__)("Rated %d out of 5",'woocommerce'),i))))},to=t(5),io=t(109),ro=t(35),Ko=window.Event||{},Ao=function(o){var e=o.product,t=o.className,i=e.id,r=e.permalink,K=e.add_to_cart,A=e.has_options,a=e.is_purchasable,f=e.is_in_stock,l=function(o){var e=Object(io.a)({namespace:"/wc/store",resourceName:"cart/items"}),t=e.results,i=e.isLoading,r=Object(n.useRef)(null),K=Object(h.useDispatch)(ro.COLLECTIONS_STORE_KEY).__experimentalPersistItemToCollection,A=Object(n.useMemo)((function(){var e=Object(to.find)(t,{id:o});return e?e.quantity:0}),[t,o]),c=Object(n.useState)(!1),a=s()(c,2),f=a[0],l=a[1],g=Object(n.useCallback)((function(){l(!0);var e=t.filter((function(e){return e.id!==o}));K("/wc/store","cart/items",e,{id:o,quantity:1})}),[o,t]);return Object(n.useEffect)((function(){r.current!==t&&(f&&l(!1),r.current=t)}),[t,f]),{cartQuantity:A,addingToCart:f,cartIsLoading:i,addToCart:g}}(i),g=l.cartQuantity,u=l.addingToCart,b=l.cartIsLoading,C=l.addToCart,w=N().layoutStyleClassPrefix,v=g>0,p=Object(n.useRef)(!0),P=function(){return Number.isFinite(g)&&v?Object(c.sprintf)(Object(c._n)("%d in cart","%d in cart",g,'woocommerce'),g):K.text};Object(n.useEffect)((function(){if(p.current)p.current=!1;else if(0!==Object.entries(Ko).length){var o=new Ko("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(o)}else{var e=document.createEvent("Event");e.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(e)}}),[g]);var d=J()(t,"".concat(w,"__product-add-to-cart"),"wp-block-button"),j=J()("wp-block-button__link","add_to_cart_button",{loading:u,added:v});if(0===Object.keys(e).length||b)return Object(n.createElement)("div",{className:d},Object(n.createElement)("button",{className:j,disabled:!0}));var O=!A&&a&&f;return Object(n.createElement)("div",{className:d},O?Object(n.createElement)("button",{onClick:C,"aria-label":K.description,className:j,disabled:u},P()):Object(n.createElement)("a",{href:r,"aria-label":K.description,className:j,rel:"nofollow"},P()))},no=function(o){var e=o.className,t=o.product,i=N().layoutStyleClassPrefix;return t.description?Object(n.createElement)("div",{className:J()(e,"".concat(i,"__product-summary")),dangerouslySetInnerHTML:{__html:t.description}}):null};function co(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function ao(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?co(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):co(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var fo=function(o){return ao({"woocommerce/product-price":q,"woocommerce/product-image":$,"woocommerce/product-title":oo,"woocommerce/product-rating":eo,"woocommerce/product-button":Ao,"woocommerce/product-summary":no,"woocommerce/product-sale-badge":Q},Object(I.getRegisteredInnerBlocks)(o))},lo=[["woocommerce/product-image"],["woocommerce/product-title"],["woocommerce/product-price"],["woocommerce/product-rating"],["woocommerce/product-button"]],go=function o(e){return e&&0!==e.length?e.map((function(e){return[e.name,ao({},e.attributes,{product:void 0,children:e.innerBlocks.length>0?o(e.innerBlocks):[]})]})):[]};t(616);function uo(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function so(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?uo(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):uo(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var bo=function(o,e){var t=o.contentVisibility;return Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Show Sorting Dropdown",'woocommerce'),checked:t.orderBy,onChange:function(){return e({contentVisibility:so({},t,{orderBy:!t.orderBy})})}})},Co=function(o,e){return Object(n.createElement)(y.SelectControl,{label:Object(c.__)("Order Products By",'woocommerce'),value:o.orderby,options:[{label:Object(c.__)("Newness - newest first",'woocommerce'),value:"date"},{label:Object(c.__)("Price - low to high",'woocommerce'),value:"price"},{label:Object(c.__)("Price - high to low",'woocommerce'),value:"price-desc"},{label:Object(c.__)("Rating - highest first",'woocommerce'),value:"rating"},{label:Object(c.__)("Sales - most first",'woocommerce'),value:"popularity"},{label:Object(c.__)("Menu Order",'woocommerce'),value:"menu_order"}],onChange:function(o){return e({orderby:o})}})},wo=t(17),vo=t.n(wo),po=t(10),Po=t(346),jo=t.n(Po),Oo=t(53),mo=(t(624),function(o){var e=o.currentPage,t=o.displayFirstAndLastPages,i=o.displayNextAndPreviousArrows,r=o.pagesToDisplay,K=o.onPageChange,A=o.totalPages,a=function(o,e,t){if(t<=2)return{minIndex:null,maxIndex:null};var i=o-1,r=Math.max(Math.floor(e-i/2),2),K=Math.min(Math.ceil(e+(i-(e-r))),t-1);return{minIndex:Math.max(Math.floor(e-(i-(K-e))),2),maxIndex:K}}(r,e,A),f=a.minIndex,l=a.maxIndex,g=t&&Boolean(1!==f),u=t&&Boolean(l!==A),s=t&&Boolean(f>3),b=t&&Boolean(l<A-2);g&&3===f&&(f-=1),u&&l===A-2&&(l+=1);var C=[];if(f&&l)for(var w=f;w<=l;w++)C.push(w);return Object(n.createElement)("div",{className:"wc-block-pagination"},Object(n.createElement)(Oo.a,{screenReaderLabel:Object(c.__)("Navigate to another page",'woocommerce')}),i&&Object(n.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return K(e-1)},title:Object(c.__)("Previous page",'woocommerce'),disabled:e<=1},Object(n.createElement)(Oo.a,{label:"<",screenReaderLabel:Object(c.__)("Previous page",'woocommerce')})),g&&Object(n.createElement)("button",{className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===e}),onClick:function(){return K(1)},disabled:1===e},"1"),s&&Object(n.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(c.__)("…",'woocommerce')),C.map((function(o){return Object(n.createElement)("button",{key:o,className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":e===o}),onClick:e===o?null:function(){return K(o)},disabled:e===o},o)})),b&&Object(n.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(c.__)("…",'woocommerce')),u&&Object(n.createElement)("button",{className:J()("wc-block-pagination-page",{"wc-block-pagination-page--active":e===A}),onClick:function(){return K(A)},disabled:e===A},A),i&&Object(n.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return K(e+1)},title:Object(c.__)("Next page",'woocommerce'),disabled:e>=A},Object(n.createElement)(Oo.a,{label:">",screenReaderLabel:Object(c.__)("Next page",'woocommerce')})))});mo.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var ho=mo,yo=t(83),Fo=(t(622),function(o){var e=o.defaultValue,t=o.onChange,i=o.readOnly,r=o.value;return Object(n.createElement)(yo.a,{className:"wc-block-product-sort-select",defaultValue:e,name:"orderby",onChange:t,options:[{key:"menu_order",label:Object(c.__)("Default sorting",'woocommerce')},{key:"popularity",label:Object(c.__)("Popularity",'woocommerce')},{key:"rating",label:Object(c.__)("Average rating",'woocommerce')},{key:"date",label:Object(c.__)("Latest",'woocommerce')},{key:"price",label:Object(c.__)("Price: low to high",'woocommerce')},{key:"price-desc",label:Object(c.__)("Price: high to low",'woocommerce')}],readOnly:i,screenReaderLabel:Object(c.__)("Order products by",'woocommerce'),value:r})}),Bo=t(79),Xo=Object(Bo.a)((function(o){var e=o.product,t=o.attributes,i=o.componentId,K=t.layoutConfig,A=Object(n.useContext)(R).parentName,c=N().layoutStyleClassPrefix,a=!Object.keys(e).length>0,f=J()("".concat(c,"__product"),{"is-loading":a});return Object(n.createElement)("li",{className:f,"aria-hidden":a},function o(e,t,i,K){if(i){var A=fo(e);return i.map((function(i,c){var a=s()(i,2),f=a[0],l=a[1],g=void 0===l?{}:l,u=[];g.children&&g.children.length>0&&(u=o(e,t,g.children,K));var b=A[f];if(!b)return null;var C=t.id||0,w=["layout",f,c,K,C];return Object(n.createElement)(b,r()({key:w.join("_")},g,{children:u,product:t}))}))}}(A,e,K,i))})),ko=t(91),xo=t(38);function Ho(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}function Do(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ho(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Ho(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}var Ro=function(o){var e={namespace:"/wc/store",resourceName:"products"},t=Object(io.a)(Do({},e,{query:o})),i=t.results,r=t.isLoading;return{products:i,totalProducts:function(o,e){var t=e.namespace,i=e.resourceName,r=e.resourceValues,K=void 0===r?[]:r,A=e.query,n=void 0===A?{}:A;if(!t||!i)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var c=Object(xo.a)(n),a=Object(xo.a)(K),f=Object(h.useSelect)((function(e){var r=e(ro.COLLECTIONS_STORE_KEY),K=[o,t,i,c,a];return{value:r.getCollectionHeader.apply(r,K),isLoading:r.hasFinishedResolution("getCollectionHeader",K)}}),[o,t,i,a,c]),l=f.value,g=f.isLoading;return{value:l,isLoading:void 0===g||g}}("x-wp-total",Do({},e,{query:o})).value,productsLoading:r}},Eo=t(621),So=(t(626),function(o){var e=function(e){function t(){var o;return C()(this,t),o=v()(this,P()(t).call(this)),A()(j()(o),"scrollToTopIfNeeded",(function(){var e=o.scrollPointRef.current.getBoundingClientRect().bottom;e>=0&&e<=window.innerHeight||o.scrollPointRef.current.scrollIntoView()})),A()(j()(o),"moveFocusToTop",(function(e){var t=o.scrollPointRef.current.parentElement.querySelectorAll(e);t.length&&t[0].focus()})),A()(j()(o),"scrollToTop",(function(e){window&&Number.isFinite(window.innerHeight)&&(o.scrollToTopIfNeeded(),e&&e.focusableSelector&&o.moveFocusToTop(e.focusableSelector))})),o.scrollPointRef=Object(po.createRef)(),o}return m()(t,e),vo()(t,[{key:"render",value:function(){return Object(n.createElement)(po.Fragment,null,Object(n.createElement)("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),Object(n.createElement)(o,r()({},this.props,{scrollToTop:this.scrollToTop})))}}]),t}(po.Component);return e.displayName="withScrollToTop",e}),Lo=(t(619),function(){var o=N().layoutStyleClassPrefix;return Object(n.createElement)("div",{className:"".concat(o,"__no-products")},Object(n.createElement)("img",{src:X.s+"img/no-products.svg",alt:Object(c.__)("No products",'woocommerce'),className:"".concat(o,"__no-products-image")}),Object(n.createElement)("strong",{className:"".concat(o,"__no-products-title")},Object(c.__)("No products",'woocommerce')),Object(n.createElement)("p",{className:"".concat(o,"__no-products-description")},Object(c.__)("There are currently no products available to display.",'woocommerce')))}),No=function(o){var e=o.resetCallback,t=void 0===e?function(){}:e,i=N().layoutStyleClassPrefix;return Object(n.createElement)("div",{className:"".concat(i,"__no-products")},Object(n.createElement)("img",{src:X.s+"img/no-matching-products.svg",alt:Object(c.__)("No products",'woocommerce'),className:"".concat(i,"__no-products-image")}),Object(n.createElement)("strong",{className:"".concat(i,"__no-products-title")},Object(c.__)("No products found",'woocommerce')),Object(n.createElement)("p",{className:"".concat(i,"__no-products-description")},Object(c.__)("We were unable to find any results based on your search.",'woocommerce')),Object(n.createElement)("button",{onClick:t},Object(c.__)("Reset Search",'woocommerce')))};function To(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var Uo=function(o){var e=o.sortValue,t=o.currentPage,i=o.attributes,r=i.columns,K=i.rows;return function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?To(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):To(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},function(o){switch(o){case"menu_order":case"popularity":case"rating":case"date":case"price":return{orderby:o,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"}}}(e),{per_page:r*K,page:t})},Jo=So((function(o){var e=o.attributes,t=o.currentPage,i=o.onPageChange,r=o.onSortChange,K=o.sortValue,A=o.scrollToTop,c=Object(ko.c)(Uo({attributes:e,sortValue:K,currentPage:t})),a=s()(c,1)[0],f=Ro(a),l=f.products,g=f.productsLoading,u=parseInt(f.totalProducts),b=N().layoutStyleClassPrefix,C=function(o){o.order,o.orderby,o.page,o.per_page;return jo()(o,["order","orderby","page","per_page"])}(a),w=Object(ko.b)("attributes",[]),v=s()(w,2),p=v[0],P=v[1],d=Object(ko.b)("min_price"),j=s()(d,2),O=j[0],m=j[1],h=Object(ko.b)("max_price"),y=s()(h,2),F=y[0],B=y[1],X=Object(Eo.a)({totalQuery:C,totalProducts:u},(function(o){var e=o.totalQuery,t=o.totalProducts,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.totalQuery;return!Object(to.isEqual)(e,r)&&Number.isFinite(t)})),k="object"===x()(X)&&Object(to.isEqual)(C,X.totalQuery);Object(n.useEffect)((function(){k||i(1)}),[a]);var H,D,R,E,S,L=e.contentVisibility,T=e.columns*e.rows,U=!Number.isFinite(u)&&k?Math.ceil(X.totalProducts/T):Math.ceil(u/T),W=l.length?l:Array.from({length:T}),z=0!==l.length||g,Z=p.length>0||Number.isFinite(O)||Number.isFinite(F);return Object(n.createElement)("div",{className:(H=e.columns,D=e.rows,R=e.alignButtons,E=e.align,S=void 0!==E?"align"+E:"",J()(b,S,"has-"+H+"-columns",{"has-multiple-rows":D>1,"has-aligned-buttons":R}))},L.orderBy&&z&&Object(n.createElement)(Fo,{onChange:r,value:K}),!z&&Z&&Object(n.createElement)(No,{resetCallback:function(){P([]),m(null),B(null)}}),!z&&!Z&&Object(n.createElement)(Lo,null),z&&Object(n.createElement)("ul",{className:"".concat(b,"__products")},W.map((function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return Object(n.createElement)(Xo,{key:o.id||t,attributes:e,product:o})}))),U>1&&Object(n.createElement)(ho,{currentPage:t,onPageChange:function(o){A({focusableSelector:"a, button"}),i(o)},totalPages:U}))})),Wo=function(o){var e=o.attributes,t=Object(n.useState)(1),i=s()(t,2),r=i[0],K=i[1],A=Object(n.useState)(e.orderby),c=s()(A,2),a=c[0],f=c[1];Object(n.useEffect)((function(){f(e.orderby)}),[e.orderby]);return Object(n.createElement)(Jo,{attributes:e,currentPage:r,onPageChange:function(o){K(o)},onSortChange:function(o){var e=o.target.value;f(e),K(1)},sortValue:a})},zo=t(97),Zo={layoutStyleClassPrefix:"wc-block-grid"},Go={parentName:"woocommerce/all-products"},Vo=function(o){function e(){return C()(this,e),v()(this,P()(e).apply(this,arguments))}return m()(e,o),vo()(e,[{key:"render",value:function(){var o=this.props,e=o.attributes,t=o.urlParameterSuffix;return e.isPreview?zo.a:Object(n.createElement)(E,{value:Go},Object(n.createElement)(T,{value:Zo},Object(n.createElement)(Wo,{attributes:e,urlParameterSuffix:t})))}}]),e}(po.Component),Io={layoutStyleClassPrefix:"wc-block-grid"},Mo={parentName:"woocommerce/all-products"},qo=function(o){function e(){var o,t;C()(this,e);for(var i=arguments.length,r=new Array(i),K=0;K<i;K++)r[K]=arguments[K];return t=v()(this,(o=P()(e)).call.apply(o,[this].concat(r))),A()(j()(t),"state",{isEditing:!1,innerBlocks:[]}),A()(j()(t),"blockMap",fo("woocommerce/all-products")),A()(j()(t),"componentDidMount",(function(){var o=t.props.block;t.setState({innerBlocks:o.innerBlocks})})),A()(j()(t),"getTitle",(function(){return Object(c.__)("All Products",'woocommerce')})),A()(j()(t),"getIcon",(function(){return Object(n.createElement)(g.a,{icon:"grid"})})),A()(j()(t),"togglePreview",(function(){var o=t.props.debouncedSpeak;t.setState({isEditing:!t.state.isEditing}),t.state.isEditing||o(Object(c.__)("Showing All Products block preview.",'woocommerce'))})),A()(j()(t),"getInspectorControls",(function(){var o=t.props,e=o.attributes,i=o.setAttributes,r=e.columns,K=e.rows,A=e.alignButtons;return Object(n.createElement)(a.InspectorControls,{key:"inspector"},Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Layout Settings",'woocommerce'),initialOpen:!0},Object(n.createElement)(B.a,{columns:r,rows:K,alignButtons:A,setAttributes:i})),Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content Settings",'woocommerce')},bo(e,i),Co(e,i)))})),A()(j()(t),"getBlockControls",(function(){var o=t.state.isEditing;return Object(n.createElement)(a.BlockControls,null,Object(n.createElement)(y.Toolbar,{controls:[{icon:"edit",title:Object(c.__)("Edit",'woocommerce'),onClick:function(){return t.togglePreview()},isActive:o}]}))})),A()(j()(t),"renderEditMode",(function(){var o={template:t.props.attributes.layoutConfig,templateLock:!1,allowedBlocks:Object.keys(t.blockMap)};return 0!==t.props.attributes.layoutConfig.length&&(o.renderAppender=!1),Object(n.createElement)(y.Placeholder,{icon:t.getIcon(),label:t.getTitle()},Object(c.__)("Display all products from your store as a grid.",'woocommerce'),Object(n.createElement)("div",{className:"wc-block-all-products-grid-item-template"},Object(n.createElement)(y.Tip,null,Object(c.__)("Edit the blocks inside the preview below to change the content displayed for each product within the product grid.",'woocommerce')),Object(n.createElement)("div",{className:"wc-block-grid has-1-columns"},Object(n.createElement)("ul",{className:"wc-block-grid__products"},Object(n.createElement)("li",{className:"wc-block-grid__product"},Object(n.createElement)(a.InnerBlocks,o)))),Object(n.createElement)("div",{className:"wc-block-all-products__actions"},Object(n.createElement)(y.Button,{className:"wc-block-all-products__done-button",isPrimary:!0,isLarge:!0,onClick:function(){var o=t.props,e=o.block;(0,o.setAttributes)({layoutConfig:go(e.innerBlocks)}),t.setState({innerBlocks:e.innerBlocks}),t.togglePreview()}},Object(c.__)("Done",'woocommerce')),Object(n.createElement)(y.Button,{className:"wc-block-all-products__cancel-button",isTertiary:!0,onClick:function(){var o=t.props,e=o.block,i=o.replaceInnerBlocks,r=t.state.innerBlocks;i(e.clientId,r,!1),t.togglePreview()}},Object(c.__)("Cancel",'woocommerce')),Object(n.createElement)(y.IconButton,{className:"wc-block-all-products__reset-button",icon:Object(n.createElement)(g.a,{icon:"grid"}),label:Object(c.__)("Reset layout to default",'woocommerce'),onClick:function(){var o=t.props,e=o.block,i=o.replaceInnerBlocks,r=[];lo.map((function(o){var e=s()(o,2),t=e[0],i=e[1];return r.push(Object(f.createBlock)(t,i)),!0})),i(e.clientId,r,!1),t.setState({innerBlocks:e.innerBlocks})}},Object(c.__)("Reset Layout",'woocommerce')))))})),A()(j()(t),"renderViewMode",(function(){var o=t.props.attributes,e=o.layoutConfig,i=e&&0!==e.length,r=t.getTitle(),K=t.getIcon();return i?Object(n.createElement)(y.Disabled,null,Object(n.createElement)(Vo,{attributes:o})):V(r,K)})),A()(j()(t),"render",(function(){var o=t.props.attributes,e=t.state.isEditing,i=t.getTitle(),r=t.getIcon();return X.f?Object(n.createElement)(E,{value:Mo},Object(n.createElement)(T,{value:Io},Object(n.createElement)("div",{className:Z("wc-block-all-products",o)},t.getBlockControls(),t.getInspectorControls(),e?t.renderEditMode():t.renderViewMode()))):G(i,r)})),t}return m()(e,o),e}(n.Component),Qo=Object(F.compose)(y.withSpokenMessages,Object(h.withSelect)((function(o,e){var t=e.clientId;return{block:(0,o("core/block-editor").getBlock)(t)}})),Object(h.withDispatch)((function(o){return{replaceInnerBlocks:o("core/block-editor").replaceInnerBlocks}})))(qo),Yo={columns:{type:"number",default:X.b},rows:{type:"number",default:X.d},alignButtons:{type:"boolean",default:!1},contentVisibility:{type:"object",default:{orderBy:!0}},orderby:{type:"string",default:"date"},layoutConfig:{type:"array",default:lo},isPreview:{type:"boolean",default:!1}},_o=t(597),$o=t(84),oe={category:"woocommerce",keywords:[Object(c.__)("WooCommerce",'woocommerce')],icon:{src:Object(n.createElement)(g.a,{icon:"grid"}),foreground:"#96588a"},supports:{html:!1},parent:["woocommerce/all-products"],attributes:{product:{type:"object",default:_o.a[0]}},save:function(){}};function ee(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var te={title:Object(c.__)("Product Title",'woocommerce'),description:Object(c.__)("Display the name of a product.",'woocommerce'),icon:{src:"heading",foreground:"#96588a"},attributes:{product:{type:"object",default:_o.a[0]},headingLevel:{type:"number",default:2},productLink:{type:"boolean",default:!0}},edit:function(o){var e=o.attributes,t=o.setAttributes,i=e.headingLevel,r=e.productLink;return Object(n.createElement)(po.Fragment,null,Object(n.createElement)(a.InspectorControls,null,Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content",'woocommerce')},Object(n.createElement)("p",null,Object(c.__)("Level",'woocommerce')),Object(n.createElement)($o.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:i,onChange:function(o){return t({headingLevel:o})}}),Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Link to Product Page",'woocommerce'),help:Object(c.__)("Links the image to the single product listing.",'woocommerce'),checked:r,onChange:function(){return t({productLink:!r})}}))),Object(n.createElement)(y.Disabled,null,Object(n.createElement)(oo,{headingLevel:i,productLink:r,product:e.product})))}};function ie(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-title",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ee(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ee(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},te));var re={title:Object(c.__)("Product Price",'woocommerce'),description:Object(c.__)("Display the price of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"money"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(q,{product:e.product})}};Object(f.registerBlockType)("woocommerce/product-price",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ie(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ie(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},re));var Ke=t(47);function Ae(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var ne={title:Object(c.__)("Product Image",'woocommerce'),description:Object(c.__)("Display the main product image",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"image"}),foreground:"#96588a"},attributes:{product:{type:"object",default:_o.a[0]},productLink:{type:"boolean",default:!0},showSaleBadge:{type:"boolean",default:!0},saleBadgeAlign:{type:"string",default:"right"}},edit:function(o){var e=o.attributes,t=o.setAttributes,i=e.productLink,r=e.showSaleBadge,K=e.saleBadgeAlign;return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.InspectorControls,null,Object(n.createElement)(y.PanelBody,{title:Object(c.__)("Content",'woocommerce')},Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Link to Product Page",'woocommerce'),help:Object(c.__)("Links the image to the single product listing.",'woocommerce'),checked:i,onChange:function(){return t({productLink:!i})}}),Object(n.createElement)(y.ToggleControl,{label:Object(c.__)("Show On-Sale Badge",'woocommerce'),help:Object(c.__)('Overlay a "sale" badge if the product is on-sale.','woocommerce'),checked:r,onChange:function(){return t({showSaleBadge:!r})}}),r&&Object(n.createElement)(Ke.a,{label:Object(c.__)("Sale Badge Alignment",'woocommerce'),value:K,options:[{label:Object(c.__)("Left",'woocommerce'),value:"left"},{label:Object(c.__)("Center",'woocommerce'),value:"center"},{label:Object(c.__)("Right",'woocommerce'),value:"right"}],onChange:function(o){return t({saleBadgeAlign:o})}}))),Object(n.createElement)(y.Disabled,null,Object(n.createElement)($,{product:e.product,productLink:i,showSaleBadge:r,saleBadgeAlign:K})))}};function ce(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-image",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ae(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Ae(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ne));var ae={title:Object(c.__)("Product Rating",'woocommerce'),description:Object(c.__)("Display the average rating of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"star-outline"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(eo,{product:e.product})}};function fe(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-rating",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ce(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ce(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ae));var le={title:Object(c.__)("Product Button",'woocommerce'),description:Object(c.__)("Display a call to action button which either adds the product to the cart, or links to the product page.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"cart"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(y.Disabled,null,Object(n.createElement)(Ao,{product:e.product}))}};function ge(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-button",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?fe(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},le));var ue={title:Object(c.__)("Product Summary",'woocommerce'),description:Object(c.__)("Display the short description of a product.",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"aside"}),foreground:"#96588a"},edit:function(o){var e=o.attributes;return Object(n.createElement)(no,{product:e.product})}};Object(f.registerBlockType)("woocommerce/product-summary",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ge(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ge(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},ue));var se=t(588);function be(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var Ce={title:Object(c.__)("On-Sale Badge",'woocommerce'),description:Object(c.__)("Displays an on-sale badge if the product is on-sale.",'woocommerce'),icon:{src:Object(n.createElement)(se.a,null),foreground:"#96588a"},supports:{html:!1},edit:function(o){var e=o.attributes,t=e.align,i=e.product;return Object(n.createElement)(Q,{product:i,align:t})}};function we(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}Object(f.registerBlockType)("woocommerce/product-sale-badge",function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?be(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):be(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},oe,{},Ce)),Object(f.registerBlockType)("woocommerce/all-products",{title:Object(c.__)("All Products",'woocommerce'),icon:{src:Object(n.createElement)(g.a,{icon:"grid"}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(c.__)("WooCommerce",'woocommerce')],description:Object(c.__)("Display all products from your store as a grid.",'woocommerce'),supports:{align:["wide","full"],html:!1,multiple:!1},example:{attributes:{isPreview:!0}},attributes:function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?we(Object(t),!0).forEach((function(e){A()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):we(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},Yo),edit:function(o){return Object(n.createElement)(Qo,o)},save:function(o){var e=o.attributes,t={"data-attributes":JSON.stringify(e)};return Object(n.createElement)("div",r()({className:Z("wc-block-all-products",e)},t),Object(n.createElement)(a.InnerBlocks.Content,null))}})},79:function(o,e,t){"use strict";var i=t(11),r=t.n(i),K=t(13),A=t.n(K),n=t(17),c=t.n(n),a=t(14),f=t.n(a),l=t(15),g=t.n(l),u=t(12),s=t.n(u),b=t(16),C=t.n(b),w=t(7),v=t.n(w),p=t(0),P=t(10);e.a=function(o){var e=0,t=function(t){function i(){var o,t;A()(this,i);for(var r=arguments.length,K=new Array(r),n=0;n<r;n++)K[n]=arguments[n];return t=f()(this,(o=g()(i)).call.apply(o,[this].concat(K))),v()(s()(t),"instanceId",e++),t}return C()(i,t),c()(i,[{key:"render",value:function(){return Object(p.createElement)(o,r()({},this.props,{componentId:this.instanceId}))}}]),i}(P.Component);return t.displayName="withComponentId",t}},83:function(o,e,t){"use strict";var i=t(0),r=(t(2),t(6)),K=t.n(r),A=t(53),n=t(79);t(161);e.a=Object(n.a)((function(o){var e=o.className,t=o.componentId,r=o.defaultValue,n=o.label,c=o.onChange,a=o.options,f=o.screenReaderLabel,l=o.readOnly,g=o.value,u="wc-block-sort-select__select-".concat(t);return Object(i.createElement)("div",{className:K()("wc-block-sort-select",e)},Object(i.createElement)(A.a,{label:n,screenReaderLabel:f,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:u}}),Object(i.createElement)("select",{id:u,className:"wc-block-sort-select__select",defaultValue:r,onChange:c,readOnly:l,value:g},a.map((function(o){return Object(i.createElement)("option",{key:o.key,value:o.key},o.label)}))))}))},84:function(o,e,t){"use strict";var i=t(13),r=t.n(i),K=t(17),A=t.n(K),n=t(14),c=t.n(n),a=t(15),f=t.n(a),l=t(16),g=t.n(l),u=t(0),s=t(5),b=t(1),C=t(3);function w(o){var e=o.level,t={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return t.hasOwnProperty(e)?Object(u.createElement)(C.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(u.createElement)(C.Path,{d:t[e]})):null}var v=function(o){function e(){return r()(this,e),c()(this,f()(e).apply(this,arguments))}return g()(e,o),A()(e,[{key:"createLevelControl",value:function(o,e,t){var i=o===e;return{icon:Object(u.createElement)(w,{level:o}),title:Object(b.sprintf)(Object(b.__)("Heading %d"),o),isActive:i,onClick:function(){return t(o)}}}},{key:"render",value:function(){var o=this,e=this.props,t=e.isCollapsed,i=void 0===t||t,r=e.minLevel,K=e.maxLevel,A=e.selectedLevel,n=e.onChange;return Object(u.createElement)(C.Toolbar,{isCollapsed:i,icon:Object(u.createElement)(w,{level:A}),controls:Object(s.range)(r,K).map((function(e){return o.createLevelControl(e,A,n)}))})}}]),e}(u.Component);e.a=v},91:function(o,e,t){"use strict";t.d(e,"a",(function(){return u})),t.d(e,"b",(function(){return s})),t.d(e,"c",(function(){return b}));var i=t(7),r=t.n(i),K=t(25),A=t.n(K),n=t(35),c=t(34),a=t(0),f=t(49),l=t(38);function g(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.push.apply(t,i)}return t}var u=function(o){var e=Object(f.a)();o=o||e;var t=Object(c.useSelect)((function(e){return e(n.QUERY_STATE_STORE_KEY).getValueForQueryContext(o,void 0)}),[o]),i=Object(c.useDispatch)(n.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[t,Object(a.useCallback)((function(e){i(o,e)}),[o])]},s=function(o,e,t){var i=Object(f.a)();t=t||i;var r=Object(c.useSelect)((function(i){return i(n.QUERY_STATE_STORE_KEY).getValueForQueryKey(t,o,e)}),[t,o]),K=Object(c.useDispatch)(n.QUERY_STATE_STORE_KEY).setQueryValue;return[r,Object(a.useCallback)((function(e){K(t,o,e)}),[t,o])]},b=function(o,e){var t=Object(f.a)(),i=u(e=e||t),K=A()(i,2),n=K[0],c=K[1],s=Object(l.a)(o),b=Object(a.useRef)(!1);return Object(a.useEffect)((function(){c(function(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?g(Object(t),!0).forEach((function(e){r()(o,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):g(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))}))}return o}({},n,{},s)),b.current=!0}),[s]),b.current?[n,c]:[o,c]}},97:function(o,e,t){"use strict";t.d(e,"a",(function(){return K}));var i=t(0),r=t(18),K=Object(i.createElement)("img",{src:r.s+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}})}});
packages/woocommerce-blocks/build/price-filter-frontend.js CHANGED
@@ -3,4 +3,4 @@
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
- */!function(){"use strict";var r={}.hasOwnProperty;function c(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=c.apply(null,n);i&&e.push(i)}else if("object"===o)for(var u in n)r.call(n,u)&&n[u]&&e.push(u)}}return e.join(" ")}e.exports?(c.default=c,e.exports=c):void 0===(n=function(){return c}.apply(t,[]))||(e.exports=n)}()},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t,r){e.exports=r(28)()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(0),c=r(22),o=r.n(c),i=function(e){var t=Object(n.useRef)();return o()(e,t.current)||(t.current=e),t.current}},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(20),c=r(10);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?c(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(27);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=Object(n.createContext)("page"),o=function(){return Object(n.useContext)(c)};c.Provider},function(e,t){!function(){e.exports=this.lodash}()},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,r){"use strict";var n=r(12),c=r.n(n),o=r(4),i=r.n(o),u=r(21),a=r(13),s=r.n(a),l=r(14),f=r.n(l),b=r(15),p=r.n(b),m=r(16),O=r.n(m),g=r(10),d=r.n(g),y=r(17),j=r.n(y),v=r(3),h=(r(8),r(2)),_=r(37),w=function(e){var t=e.imageUrl,r=void 0===t?"".concat(_.e,"img/block-error.svg"):t,n=e.header,c=void 0===n?Object(h.__)("Oops!",'woocommerce'):n,o=e.text,i=void 0===o?Object(h.__)("There was an error with loading this content.",'woocommerce'):o,u=e.errorMessage;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},c&&React.createElement("p",{className:"wc-block-error__header"},c),i&&React.createElement("p",{className:"wc-block-error__text"},i),u&&React.createElement("p",{className:"wc-block-error__message"},u)))},E=(r(30),function(e){function t(){var e,r;s()(this,t);for(var n=arguments.length,c=new Array(n),o=0;o<n;o++)c[o]=arguments[o];return r=p()(this,(e=O()(t)).call.apply(e,[this].concat(c))),i()(d()(r),"state",{hasError:!1}),r}return j()(t,e),f()(t,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,c=e.text,o=this.state,i=o.errorMessage;return o.hasError?React.createElement(w,{errorMessage:n?i:null,header:t,imageUrl:r,text:c}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorMessage:e.message,hasError:!0}}}]),t}(v.Component));E.defaultProps={showErrorMessage:!1};var x=E;function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){i()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=document.querySelectorAll(e);n.length&&Array.prototype.forEach.call(n,(function(e,n){var o=r(e,n),i=R({},e.dataset,{},o.attributes);e.classList.remove("is-loading"),Object(u.render)(React.createElement(x,null,React.createElement(t,c()({},o,{attributes:i}))),e)}))}},,,function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2),c=r(1),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.CURRENCY.priceFormat,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.CURRENCY.symbol,o=parseInt(e,10);if(!isFinite(o))return"";var i=Object(n.sprintf)(t,r,o),u=document.createElement("textarea");return u.innerHTML=i,u.value}},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";var n=r(29);function c(){}function o(){}o.resetWarningCache=c,e.exports=function(){function e(e,t,r,c,o,i){if(i!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:c};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,c=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){c=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(c)throw o}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},,function(e,t,r){var n=r(49),c=r(50),o=r(51);e.exports=function(e){return n(e)||c(e)||o()}},function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return u})),r.d(t,"e",(function(){return a}));var n=r(1),c=Object(n.getSetting)("enableReviewRating",!0),o=Object(n.getSetting)("showAvatars",!0),i=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",2),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),u=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),a=Object(n.getSetting)("wcBlocksAssetUrl","")},,function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(7),c=r(9),o=r(0),i=r(11),u=function(e){var t=e.namespace,r=e.resourceName,u=e.resourceValues,a=void 0===u?[]:u,s=e.query,l=void 0===s?{}:s,f=e.shouldSelect,b=void 0===f||f;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var p=Object(o.useRef)({results:[],isLoading:!0}),m=Object(i.a)(l),O=Object(i.a)(a),g=Object(c.useSelect)((function(e){if(!b)return null;var c=e(n.COLLECTIONS_STORE_KEY),o=[t,r,m,O];return{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,r,O,m,b]);return null!==g&&(p.current=g),p.current}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(3);function c(e,t,r){void 0===r&&(r={});var c=r.maxWait,o=Object(n.useRef)(null),i=Object(n.useRef)([]),u=r.leading,a=Object(n.useRef)(!1),s=Object(n.useRef)(null),l=Object(n.useRef)(!1),f=Object(n.useRef)(e);f.current=e;var b=Object(n.useCallback)((function(){clearTimeout(s.current),clearTimeout(o.current),o.current=null,i.current=[],s.current=null,a.current=!1}),[]);Object(n.useEffect)((function(){return function(){l.current=!0}}),[]);return[Object(n.useCallback)((function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(i.current=e,clearTimeout(s.current),!s.current&&u&&!a.current)return f.current.apply(f,e),void(a.current=!0);s.current=setTimeout((function(){b(),l.current||f.current.apply(f,e)}),t),c&&!o.current&&(o.current=setTimeout((function(){var e=i.current;b(),l.current||f.current.apply(null,e)}),c))}),[c,t,b,u]),b,function(){s.current&&(f.current.apply(null,i.current),b())}]}},,,,,,function(e,t,r){"use strict";var n=r(0),c=r(1),o=r(7),i=r(9);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(c.getSetting)("restApiRoutes")),Object(i.useSelect)((function(e,t){if(r.current){var n=e(o.SCHEMA_STORE_KEY),c=n.isResolving,i=n.hasFinishedResolution,u=t.dispatch(o.SCHEMA_STORE_KEY),a=u.receiveRoutes,s=u.startResolution,l=u.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];c("getRoutes",[e])||i("getRoutes",[e])||(s("getRoutes",[e]),a(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return O}));var n=r(4),c=r.n(n),o=r(5),i=r.n(o),u=r(7),a=r(9),s=r(0),l=r(18),f=r(11);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var p=function(e){var t=Object(l.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(u.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(u.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(s.useCallback)((function(t){n(e,t)}),[e])]},m=function(e,t,r){var n=Object(l.a)();r=r||n;var c=Object(a.useSelect)((function(n){return n(u.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),o=Object(a.useDispatch)(u.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(s.useCallback)((function(t){o(r,e,t)}),[r,e])]},O=function(e,t){var r=Object(l.a)(),n=p(t=t||r),o=i()(n,2),u=o[0],a=o[1],m=Object(f.a)(e),O=Object(s.useRef)(!1);return Object(s.useEffect)((function(){a(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},u,{},m)),O.current=!0}),[m]),O.current?[u,a]:[e,a]}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},,,,,,,,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(3),c=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},,,,function(e,t){},,,,,,function(e,t,r){"use strict";r.r(t);var n=r(47),c=r(23),o=r(5),i=r.n(o),u=r(48),a=r(77),s=r(0),l=r(2),f=(r(8),r(6)),b=r.n(f),p=(r(68),function(e,t,r,n,c){var o=parseInt(e[0],10)||t,i=parseInt(e[1],10)||n;return t>o&&(o=t),r<=o&&(o=r-n),t>=i&&(i=t+n),r<i&&(i=r),!c&&o>=i&&(o=i-n),c&&i<=o&&(i=o+n),[o,i]}),m=r(26),O=function(e){var t=e.disabled,r=e.onClick;return React.createElement("button",{type:"submit",className:"wc-block-price-filter__button wc-block-form-button",disabled:t,onClick:r},Object(l.__)("Go",'woocommerce'))};O.defaultProps={disabled:!1};var g=O,d=function(e){var t=e.minPrice,r=e.maxPrice;return t||r?React.createElement("div",{className:"wc-block-price-filter__range-text"},Object(l.sprintf)(Object(l.__)("Price: %s — %s",'woocommerce'),t,r)):null},y=function(e){var t=e.disabled,r=e.onBlur,n=e.onChange,c=e.minPrice,o=e.maxPrice;return React.createElement(s.Fragment,null,React.createElement("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--min wc-block-form-text-input","aria-label":Object(l.__)("Filter products by minimum price",'woocommerce'),onChange:n,onBlur:r,disabled:t,value:c}),React.createElement("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--max wc-block-form-text-input","aria-label":Object(l.__)("Filter products by maximum price",'woocommerce'),onChange:n,onBlur:r,disabled:t,value:o}))};y.defaultProps={disabled:!1,onBlur:function(){},onChange:function(){}};var j=y,v=function(e){var t=e.minPrice,r=e.maxPrice,n=e.minConstraint,c=e.maxConstraint,o=e.onChange,u=void 0===o?function(){}:o,a=e.step,f=void 0===a?10:a,O=e.currencySymbol,y=void 0===O?"$":O,v=e.priceFormat,h=void 0===v?"%1$s%2$s":v,_=e.showInputFields,w=void 0===_||_,E=e.showFilterButton,x=void 0!==E&&E,S=e.isLoading,R=void 0!==S&&S,P=e.onSubmit,k=void 0===P?function(){}:P,C=Object(s.useRef)(),F=Object(s.useRef)(),N=Object(s.useState)(Object(m.a)(t,h,y)),T=i()(N,2),M=T[0],D=T[1],I=Object(s.useState)(Object(m.a)(r,h,y)),A=i()(I,2),U=A[0],B=A[1];Object(s.useEffect)((function(){D(Object(m.a)(t,h,y))}),[t,h,y]),Object(s.useEffect)((function(){B(Object(m.a)(r,h,y))}),[r,h,y]);var L=Object(s.useMemo)((function(){return isFinite(n)&&isFinite(c)}),[n,c]),Y=Object(s.useMemo)((function(){if(!isFinite(t)||!isFinite(r)||!L)return{"--low":"0%","--high":"100%"};var e=Math.round(t/f)*f,o=Math.round(r/f)*f;return{"--low":Math.round((e-n)/(c-n)*100)-.5+"%","--high":Math.round((o-n)/(c-n)*100)+.5+"%"}}),[t,r,n,c,L,f]),q=Object(s.useCallback)((function(e){if(!R&&L){var t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=C.current.offsetWidth,o=C.current.value,i=F.current.offsetWidth,u=F.current.value,a=n*(o/c),s=i*(u/c);Math.abs(r-a)>Math.abs(r-s)?(C.current.style.zIndex=20,F.current.style.zIndex=21):(C.current.style.zIndex=21,F.current.style.zIndex=20)}}),[R,c,L]),K=Object(s.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__range-input--min"),i=e.target.value,a=p(o?[i,r]:[t,i],n,c,f,o);u([parseInt(a[0],10),parseInt(a[1],10)])}),[t,r,n,c,f]),Q=Object(s.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__amount--min"),i=e.target.value.replace(/[^0-9.-]+/g,""),a=p(o?[i,r]:[t,i],n,c,f,o);u([parseInt(a[0],10),parseInt(a[1],10)]),D(Object(m.a)(parseInt(a[0],10),h,y)),B(Object(m.a)(parseInt(a[1],10),h,y))}),[t,r,n,c,f]),W=Object(s.useCallback)((function(e){var t=e.target.value.replace(/[^0-9.-]+/g,"");e.target.classList.contains("wc-block-price-filter__amount--min")?D(Object(m.a)(t,h,y)):B(Object(m.a)(t,h,y))}),[h,y]),z=b()("wc-block-price-filter",w&&"wc-block-price-filter--has-input-fields",x&&"wc-block-price-filter--has-filter-button",R&&"is-loading",!L&&"is-disabled");return React.createElement("div",{className:z},React.createElement("div",{className:"wc-block-price-filter__range-input-wrapper",onMouseMove:q,onFocus:q},L&&React.createElement(s.Fragment,null,React.createElement("div",{className:"wc-block-price-filter__range-input-progress",style:Y}),React.createElement("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--min","aria-label":Object(l.__)("Filter products by minimum price",'woocommerce'),value:t||0,onChange:K,step:f,min:n,max:c,ref:C,disabled:R}),React.createElement("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--max","aria-label":Object(l.__)("Filter products by maximum price",'woocommerce'),value:r||0,onChange:K,step:f,min:n,max:c,ref:F,disabled:R}))),React.createElement("div",{className:"wc-block-price-filter__controls"},w?React.createElement(j,{disabled:R||!L,onChange:W,onBlur:Q,minPrice:M,maxPrice:U}):React.createElement(d,{minPrice:M,maxPrice:U}),x&&React.createElement(g,{disabled:R||!L,onClick:k})))},h=r(1),_=r(41),w=r(64),E=function(e,t,r){var n,c=10*Math.pow(10,t);"ROUND_UP"===r?n=isNaN(e)?null:Math.ceil(parseFloat(e,10)/c)*c:"ROUND_DOWN"===r&&(n=isNaN(e)?null:Math.floor(parseFloat(e,10)/c)*c);var o=Object(w.a)(n,(function(e){return Number.isFinite(e)}));return Number.isFinite(n)?n:o},x=function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,c=Object(u.b)("min_price"),o=i()(c,2),l=o[0],f=o[1],b=Object(u.b)("max_price"),p=i()(b,2),m=p[0],O=p[1],g=Object(u.a)(),d=i()(g,1)[0],y=Object(a.a)({queryPrices:!0,queryState:d}),j=y.results,w=y.isLoading,x=Object(s.useState)(),S=i()(x,2),R=S[0],P=S[1],k=Object(s.useState)(),C=i()(k,2),F=C[0],N=C[1],T=function(e){var t=e.minPrice,r=e.maxPrice,n=e.minorUnit;return{minConstraint:E(t,n,"ROUND_DOWN"),maxConstraint:E(r,n,"ROUND_UP")}}({minPrice:j.min_price,maxPrice:j.max_price}),M=T.minConstraint,D=T.maxConstraint,I=Object(_.a)((function(){U()}),500),A=i()(I,1)[0],U=Object(s.useCallback)((function(){f(R===M?void 0:R),O(F===D?void 0:F)}),[R,F,M,D]),B=Object(s.useCallback)((function(e){e[0]!==R&&P(e[0]),e[1]!==F&&N(e[1])}),[M,D,R,F]);if(Object(s.useEffect)((function(){t.showFilterButton||A()}),[R,F,t.showFilterButton]),Object(s.useEffect)((function(){l!==R&&P(Number.isFinite(l)?l:M),m!==F&&N(Number.isFinite(m)?m:D)}),[l,m,M,D]),!w&&(null===M||null===D||M===D))return null;var L="h".concat(t.headingLevel),Y=Math.max(Number.isFinite(R)?R:-1/0,Number.isFinite(M)?M:-1/0),q=Math.min(Number.isFinite(F)?F:1/0,Number.isFinite(D)?D:1/0);return React.createElement(s.Fragment,null,!n&&t.heading&&React.createElement(L,null,t.heading),React.createElement("div",{className:"wc-block-price-slider"},React.createElement(v,{minConstraint:M,maxConstraint:D,minPrice:Y,maxPrice:q,step:10,currencySymbol:h.CURRENCY.symbol,priceFormat:h.CURRENCY.priceFormat,showInputFields:t.showInputFields,showFilterButton:t.showFilterButton,onChange:B,onSubmit:U,isLoading:w})))};Object(c.a)(".wp-block-woocommerce-price-filter",Object(n.a)(x),(function(e){return{attributes:{showInputFields:"true"===e.dataset.showinputfields,showFilterButton:"true"===e.dataset.showfilterbutton}}}))},,,function(e,t,r){"use strict";var n=r(4),c=r.n(n),o=r(36),i=r.n(o),u=r(20),a=r.n(u),s=r(5),l=r.n(s),f=r(0),b=r(48),p=r(39),m=r(18),O=r(3),g=r(41);function d(e,t){return e===t}var y=r(19),j=r(11);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}r.d(t,"a",(function(){return _}));var _=function(e){var t=e.queryAttribute,r=e.queryPrices,n=e.queryState,c=Object(m.a)();c="".concat(c,"-collection-data");var o=Object(b.a)(c),u=l()(o,1)[0],s=Object(b.b)("calculate_attribute_counts",[],c),v=l()(s,2),_=v[0],w=v[1],E=Object(b.b)("calculate_price_range",null,c),x=l()(E,2),S=x[0],R=x[1],P=Object(j.a)(t||{}),k=Object(j.a)(r);Object(f.useEffect)((function(){"object"===a()(P)&&Object.keys(P).length&&(_.find((function(e){return e.taxonomy===P.taxonomy}))||w([].concat(i()(_),[P])))}),[P,_,w]),Object(f.useEffect)((function(){S!==k&&void 0!==k&&R(k)}),[k,R,S]);var C,F,N,T,M,D,I,A,U,B,L,Y=Object(f.useState)(!1),q=l()(Y,2),K=q[0],Q=q[1],W=(C=K,F=200,T=N&&N.equalityFn?N.equalityFn:d,M=Object(O.useState)(C),D=M[0],I=M[1],A=Object(g.a)(Object(O.useCallback)((function(e){return I(e)}),[]),F,N),U=A[0],B=A[1],L=Object(O.useRef)(C),Object(O.useEffect)((function(){T(L.current,C)||(U(C),L.current=C)}),[C,U,T]),[D,B]),z=l()(W,1)[0];K||Q(!0);var V=Object(f.useMemo)((function(){return function(e){var t=e;return e.calculate_attribute_counts&&(t.calculate_attribute_counts=Object(y.sortBy)(e.calculate_attribute_counts.map((function(e){return{taxonomy:e.taxonomy,query_type:e.queryType}})),["taxonomy","query_type"])),t}(u)}),[u]);return Object(p.a)({namespace:"/wc/store",resourceName:"products/collection-data",query:h({},n,{page:void 0,per_page:void 0,orderby:void 0,order:void 0},V),shouldSelect:z})}}]);
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var r={}.hasOwnProperty;function c(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=c.apply(null,n);i&&e.push(i)}else if("object"===o)for(var u in n)r.call(n,u)&&n[u]&&e.push(u)}}return e.join(" ")}e.exports?(c.default=c,e.exports=c):void 0===(n=function(){return c}.apply(t,[]))||(e.exports=n)}()},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t,r){e.exports=r(28)()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(0),c=r(22),o=r.n(c),i=function(e){var t=Object(n.useRef)();return o()(e,t.current)||(t.current=e),t.current}},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(20),c=r(10);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?c(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(27);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=Object(n.createContext)("page"),o=function(){return Object(n.useContext)(c)};c.Provider},function(e,t){!function(){e.exports=this.lodash}()},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,r){"use strict";var n=r(12),c=r.n(n),o=r(4),i=r.n(o),u=r(21),a=r(13),s=r.n(a),l=r(14),f=r.n(l),b=r(15),p=r.n(b),m=r(16),O=r.n(m),g=r(10),d=r.n(g),y=r(17),v=r.n(y),j=r(3),h=(r(8),r(2)),_=r(37),w=function(e){var t=e.imageUrl,r=void 0===t?"".concat(_.e,"img/block-error.svg"):t,n=e.header,c=void 0===n?Object(h.__)("Oops!",'woocommerce'):n,o=e.text,i=void 0===o?Object(h.__)("There was an error with loading this content.",'woocommerce'):o,u=e.errorMessage;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},c&&React.createElement("p",{className:"wc-block-error__header"},c),i&&React.createElement("p",{className:"wc-block-error__text"},i),u&&React.createElement("p",{className:"wc-block-error__message"},u)))},E=(r(30),function(e){function t(){var e,r;s()(this,t);for(var n=arguments.length,c=new Array(n),o=0;o<n;o++)c[o]=arguments[o];return r=p()(this,(e=O()(t)).call.apply(e,[this].concat(c))),i()(d()(r),"state",{hasError:!1}),r}return v()(t,e),f()(t,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,c=e.text,o=this.state,i=o.errorMessage;return o.hasError?React.createElement(w,{errorMessage:n?i:null,header:t,imageUrl:r,text:c}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorMessage:e.message,hasError:!0}}}]),t}(j.Component));E.defaultProps={showErrorMessage:!1};var x=E;function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){i()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=document.querySelectorAll(e);n.length&&Array.prototype.forEach.call(n,(function(e,n){var o=r(e,n),i=R({},e.dataset,{},o.attributes);e.classList.remove("is-loading"),Object(u.render)(React.createElement(x,null,React.createElement(t,c()({},o,{attributes:i}))),e)}))}},,,function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2),c=r(1),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.CURRENCY.priceFormat,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.CURRENCY.symbol,o=parseInt(e,10);if(!isFinite(o))return"";var i=Object(n.sprintf)(t,r,o),u=document.createElement("textarea");return u.innerHTML=i,u.value}},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";var n=r(29);function c(){}function o(){}o.resetWarningCache=c,e.exports=function(){function e(e,t,r,c,o,i){if(i!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:c};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,c=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){c=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(c)throw o}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},,function(e,t,r){var n=r(49),c=r(50),o=r(51);e.exports=function(e){return n(e)||c(e)||o()}},function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return u})),r.d(t,"e",(function(){return a}));var n=r(1),c=Object(n.getSetting)("enableReviewRating",!0),o=Object(n.getSetting)("showAvatars",!0),i=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",2),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),u=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),a=Object(n.getSetting)("wcBlocksAssetUrl","")},,function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(7),c=r(9),o=r(0),i=r(11),u=function(e){var t=e.namespace,r=e.resourceName,u=e.resourceValues,a=void 0===u?[]:u,s=e.query,l=void 0===s?{}:s,f=e.shouldSelect,b=void 0===f||f;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var p=Object(o.useRef)({results:[],isLoading:!0}),m=Object(i.a)(l),O=Object(i.a)(a),g=Object(c.useSelect)((function(e){if(!b)return null;var c=e(n.COLLECTIONS_STORE_KEY),o=[t,r,m,O];return{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,r,O,m,b]);return null!==g&&(p.current=g),p.current}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(3);function c(e,t,r){void 0===r&&(r={});var c=r.maxWait,o=Object(n.useRef)(null),i=Object(n.useRef)([]),u=r.leading,a=Object(n.useRef)(!1),s=Object(n.useRef)(null),l=Object(n.useRef)(!1),f=Object(n.useRef)(e);f.current=e;var b=Object(n.useCallback)((function(){clearTimeout(s.current),clearTimeout(o.current),o.current=null,i.current=[],s.current=null,a.current=!1}),[]);Object(n.useEffect)((function(){return function(){l.current=!0}}),[]);return[Object(n.useCallback)((function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(i.current=e,clearTimeout(s.current),!s.current&&u&&!a.current)return f.current.apply(f,e),void(a.current=!0);s.current=setTimeout((function(){b(),l.current||f.current.apply(f,e)}),t),c&&!o.current&&(o.current=setTimeout((function(){var e=i.current;b(),l.current||f.current.apply(null,e)}),c))}),[c,t,b,u]),b,function(){s.current&&(f.current.apply(null,i.current),b())}]}},,,,,,function(e,t,r){"use strict";var n=r(0),c=r(1),o=r(7),i=r(9);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(c.getSetting)("restApiRoutes")),Object(i.useSelect)((function(e,t){if(r.current){var n=e(o.SCHEMA_STORE_KEY),c=n.isResolving,i=n.hasFinishedResolution,u=t.dispatch(o.SCHEMA_STORE_KEY),a=u.receiveRoutes,s=u.startResolution,l=u.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];c("getRoutes",[e])||i("getRoutes",[e])||(s("getRoutes",[e]),a(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return O}));var n=r(4),c=r.n(n),o=r(5),i=r.n(o),u=r(7),a=r(9),s=r(0),l=r(18),f=r(11);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var p=function(e){var t=Object(l.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(u.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(u.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(s.useCallback)((function(t){n(e,t)}),[e])]},m=function(e,t,r){var n=Object(l.a)();r=r||n;var c=Object(a.useSelect)((function(n){return n(u.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),o=Object(a.useDispatch)(u.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(s.useCallback)((function(t){o(r,e,t)}),[r,e])]},O=function(e,t){var r=Object(l.a)(),n=p(t=t||r),o=i()(n,2),u=o[0],a=o[1],m=Object(f.a)(e),O=Object(s.useRef)(!1);return Object(s.useEffect)((function(){a(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},u,{},m)),O.current=!0}),[m]),O.current?[u,a]:[e,a]}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},,,,,,,,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(3),c=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},,,,function(e,t){},,,,,,function(e,t,r){"use strict";r.r(t);var n=r(47),c=r(23),o=r(5),i=r.n(o),u=r(48),a=r(77),s=r(0),l=r(2),f=(r(8),r(6)),b=r.n(f),p=(r(68),function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=parseInt(e[0],10),i=parseInt(e[1],10);return Number.isFinite(o)||(o=t||0),Number.isFinite(i)||(i=r||n),Number.isFinite(t)&&t>o&&(o=t),Number.isFinite(r)&&r<=o&&(o=r-n),Number.isFinite(t)&&t>=i&&(i=t+n),Number.isFinite(r)&&r<i&&(i=r),!c&&o>=i&&(o=i-n),c&&i<=o&&(i=o+n),[o,i]}),m=r(26),O=function(e){var t=e.disabled,r=e.onClick;return React.createElement("button",{type:"submit",className:"wc-block-price-filter__button wc-block-form-button",disabled:t,onClick:r},Object(l.__)("Go",'woocommerce'))};O.defaultProps={disabled:!1};var g=O,d=function(e){var t=e.minPrice,r=e.maxPrice;return t||r?React.createElement("div",{className:"wc-block-price-filter__range-text"},Object(l.sprintf)(Object(l.__)("Price: %s — %s",'woocommerce'),t,r)):null},y=function(e){var t=e.disabled,r=e.onBlur,n=e.onChange,c=e.minPrice,o=e.maxPrice;return React.createElement(s.Fragment,null,React.createElement("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--min wc-block-form-text-input","aria-label":Object(l.__)("Filter products by minimum price",'woocommerce'),onChange:n,onBlur:r,disabled:t,value:c}),React.createElement("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--max wc-block-form-text-input","aria-label":Object(l.__)("Filter products by maximum price",'woocommerce'),onChange:n,onBlur:r,disabled:t,value:o}))};y.defaultProps={disabled:!1,onBlur:function(){},onChange:function(){}};var v=y,j=function(e){var t=e.minPrice,r=e.maxPrice,n=e.minConstraint,c=e.maxConstraint,o=e.onChange,u=void 0===o?function(){}:o,a=e.step,f=void 0===a?10:a,O=e.currencySymbol,y=void 0===O?"$":O,j=e.priceFormat,h=void 0===j?"%1$s%2$s":j,_=e.showInputFields,w=void 0===_||_,E=e.showFilterButton,x=void 0!==E&&E,S=e.isLoading,R=void 0!==S&&S,P=e.onSubmit,k=void 0===P?function(){}:P,C=Object(s.useRef)(),F=Object(s.useRef)(),N=Object(s.useState)(Object(m.a)(t,h,y)),T=i()(N,2),M=T[0],D=T[1],I=Object(s.useState)(Object(m.a)(r,h,y)),A=i()(I,2),U=A[0],B=A[1];Object(s.useEffect)((function(){D(Object(m.a)(t,h,y))}),[t,h,y]),Object(s.useEffect)((function(){B(Object(m.a)(r,h,y))}),[r,h,y]);var L=Object(s.useMemo)((function(){return isFinite(n)&&isFinite(c)}),[n,c]),Y=Object(s.useMemo)((function(){return isFinite(t)&&isFinite(r)&&L?{"--low":Math.round((t-n)/(c-n)*100)-.5+"%","--high":Math.round((r-n)/(c-n)*100)+.5+"%"}:{"--low":"0%","--high":"100%"}}),[t,r,n,c,L,f]),q=Object(s.useCallback)((function(e){if(!R&&L){var t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=C.current.offsetWidth,o=C.current.value,i=F.current.offsetWidth,u=F.current.value,a=n*(o/c),s=i*(u/c);Math.abs(r-a)>Math.abs(r-s)?(C.current.style.zIndex=20,F.current.style.zIndex=21):(C.current.style.zIndex=21,F.current.style.zIndex=20)}}),[R,c,L]),K=Object(s.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__range-input--min"),i=e.target.value,a=o?[Math.round(i/f)*f,r]:[t,Math.round(i/f)*f],s=p(a,n,c,f,o);u([parseInt(s[0],10),parseInt(s[1],10)])}),[t,r,n,c,f]),Q=Object(s.useCallback)((function(e){var n=e.target.classList.contains("wc-block-price-filter__amount--min"),c=e.target.value.replace(/[^0-9.-]+/g,""),o=p(n?[c,r]:[t,c],null,null,f,n);u([parseInt(o[0],10),parseInt(o[1],10)]),D(Object(m.a)(parseInt(o[0],10),h,y)),B(Object(m.a)(parseInt(o[1],10),h,y))}),[t,r,n,c,f]),W=Object(s.useCallback)((function(e){var t=e.target.value.replace(/[^0-9.-]+/g,"");e.target.classList.contains("wc-block-price-filter__amount--min")?D(Object(m.a)(t,h,y)):B(Object(m.a)(t,h,y))}),[h,y]),z=b()("wc-block-price-filter",w&&"wc-block-price-filter--has-input-fields",x&&"wc-block-price-filter--has-filter-button",R&&"is-loading",!L&&"is-disabled"),V=C&&document.activeElement===C.current?f:1,H=F&&document.activeElement===F.current?f:1;return React.createElement("div",{className:z},React.createElement("div",{className:"wc-block-price-filter__range-input-wrapper",onMouseMove:q,onFocus:q},L&&React.createElement(s.Fragment,null,React.createElement("div",{className:"wc-block-price-filter__range-input-progress",style:Y}),React.createElement("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--min","aria-label":Object(l.__)("Filter products by minimum price",'woocommerce'),value:Number.isFinite(t)?t:n,onChange:K,step:V,min:n,max:c,ref:C,disabled:R}),React.createElement("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--max","aria-label":Object(l.__)("Filter products by maximum price",'woocommerce'),value:Number.isFinite(r)?r:c,onChange:K,step:H,min:n,max:c,ref:F,disabled:R}))),React.createElement("div",{className:"wc-block-price-filter__controls"},w?React.createElement(v,{disabled:R||!L,onChange:W,onBlur:Q,minPrice:M,maxPrice:U}):React.createElement(d,{minPrice:M,maxPrice:U}),x&&React.createElement(g,{disabled:R||!L,onClick:k})))},h=r(1),_=r(41),w=r(64),E=function(e,t){var r;"ROUND_UP"===t?r=isNaN(e)?null:10*Math.ceil(parseFloat(e,10)/10):"ROUND_DOWN"===t&&(r=isNaN(e)?null:10*Math.floor(parseFloat(e,10)/10));var n=Object(w.a)(r,(function(e){return Number.isFinite(e)}));return Number.isFinite(r)?r:n},x=function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,c=Object(u.b)("min_price"),o=i()(c,2),l=o[0],f=o[1],b=Object(u.b)("max_price"),p=i()(b,2),m=p[0],O=p[1],g=Object(u.a)(),d=i()(g,1)[0],y=Object(a.a)({queryPrices:!0,queryState:d}),v=y.results,w=y.isLoading,x=Object(s.useState)(),S=i()(x,2),R=S[0],P=S[1],k=Object(s.useState)(),C=i()(k,2),F=C[0],N=C[1],T=function(e){var t=e.minPrice,r=e.maxPrice;return{minConstraint:E(t,"ROUND_DOWN"),maxConstraint:E(r,"ROUND_UP")}}({minPrice:v.min_price,maxPrice:v.max_price}),M=T.minConstraint,D=T.maxConstraint,I=Object(_.a)((function(){U()}),500),A=i()(I,1)[0],U=Object(s.useCallback)((function(){f(R===M?void 0:R),O(F===D?void 0:F)}),[R,F,M,D]),B=Object(s.useCallback)((function(e){e[0]!==R&&P(e[0]),e[1]!==F&&N(e[1])}),[M,D,R,F]);if(Object(s.useEffect)((function(){t.showFilterButton||A()}),[R,F,t.showFilterButton]),Object(s.useEffect)((function(){l!==R&&P(Number.isFinite(l)?l:M),m!==F&&N(Number.isFinite(m)?m:D)}),[l,m,M,D]),!w&&(null===M||null===D||M===D))return null;var L="h".concat(t.headingLevel);return React.createElement(s.Fragment,null,!n&&t.heading&&React.createElement(L,null,t.heading),React.createElement("div",{className:"wc-block-price-slider"},React.createElement(j,{minConstraint:M,maxConstraint:D,minPrice:R,maxPrice:F,step:10,currencySymbol:h.CURRENCY.symbol,priceFormat:h.CURRENCY.priceFormat,showInputFields:t.showInputFields,showFilterButton:t.showFilterButton,onChange:B,onSubmit:U,isLoading:w})))};Object(c.a)(".wp-block-woocommerce-price-filter",Object(n.a)(x),(function(e){return{attributes:{showInputFields:"true"===e.dataset.showinputfields,showFilterButton:"true"===e.dataset.showfilterbutton}}}))},,,function(e,t,r){"use strict";var n=r(4),c=r.n(n),o=r(36),i=r.n(o),u=r(20),a=r.n(u),s=r(5),l=r.n(s),f=r(0),b=r(48),p=r(39),m=r(18),O=r(3),g=r(41);function d(e,t){return e===t}var y=r(19),v=r(11);function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}r.d(t,"a",(function(){return _}));var _=function(e){var t=e.queryAttribute,r=e.queryPrices,n=e.queryState,c=Object(m.a)();c="".concat(c,"-collection-data");var o=Object(b.a)(c),u=l()(o,1)[0],s=Object(b.b)("calculate_attribute_counts",[],c),j=l()(s,2),_=j[0],w=j[1],E=Object(b.b)("calculate_price_range",null,c),x=l()(E,2),S=x[0],R=x[1],P=Object(v.a)(t||{}),k=Object(v.a)(r);Object(f.useEffect)((function(){"object"===a()(P)&&Object.keys(P).length&&(_.find((function(e){return e.taxonomy===P.taxonomy}))||w([].concat(i()(_),[P])))}),[P,_,w]),Object(f.useEffect)((function(){S!==k&&void 0!==k&&R(k)}),[k,R,S]);var C,F,N,T,M,D,I,A,U,B,L,Y=Object(f.useState)(!1),q=l()(Y,2),K=q[0],Q=q[1],W=(C=K,F=200,T=N&&N.equalityFn?N.equalityFn:d,M=Object(O.useState)(C),D=M[0],I=M[1],A=Object(g.a)(Object(O.useCallback)((function(e){return I(e)}),[]),F,N),U=A[0],B=A[1],L=Object(O.useRef)(C),Object(O.useEffect)((function(){T(L.current,C)||(U(C),L.current=C)}),[C,U,T]),[D,B]),z=l()(W,1)[0];K||Q(!0);var V=Object(f.useMemo)((function(){return function(e){var t=e;return e.calculate_attribute_counts&&(t.calculate_attribute_counts=Object(y.sortBy)(e.calculate_attribute_counts.map((function(e){return{taxonomy:e.taxonomy,query_type:e.queryType}})),["taxonomy","query_type"])),t}(u)}),[u]);return Object(p.a)({namespace:"/wc/store",resourceName:"products/collection-data",query:h({},n,{page:void 0,per_page:void 0,orderby:void 0,order:void 0},V),shouldSelect:z})}}]);
packages/woocommerce-blocks/build/price-filter.js CHANGED
@@ -1 +1 @@
1
- this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["price-filter"]=function(e){function t(t){for(var r,i,a=t[0],u=t[1],l=t[2],b=0,p=[];b<a.length;b++)i=a[b],Object.prototype.hasOwnProperty.call(c,i)&&c[i]&&p.push(c[i][0]),c[i]=0;for(r in u)Object.prototype.hasOwnProperty.call(u,r)&&(e[r]=u[r]);for(s&&s(t);p.length;)p.shift()();return o.push.apply(o,l||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==c[u]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},c={12:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var a=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],u=a.push.bind(a);a.push=t,a=a.slice();for(var l=0;l<a.length;l++)t(a[l]);var s=u;return o.push([643,2,1,0]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t){!function(){e.exports=this.React}()},102:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(42)),o=n(6),i=n.n(o);n(137);t.a=function(e){var t=e.className,n=e.headingLevel,o=e.onChange,a=e.heading,u="h".concat(n);return Object(r.createElement)(u,null,Object(r.createElement)(c.PlainText,{className:i()("wc-block-component-title",t),value:a,onChange:o}))}},109:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(35),c=n(34),o=n(0),i=n(38),a=function(e){var t=e.namespace,n=e.resourceName,a=e.resourceValues,u=void 0===a?[]:a,l=e.query,s=void 0===l?{}:l,b=e.shouldSelect,p=void 0===b||b;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(o.useRef)({results:[],isLoading:!0}),f=Object(i.a)(s),m=Object(i.a)(u),g=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),o=[t,n,f,m];return{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,n,m,f,p]);return null!==g&&(d.current=g),d.current}},137:function(e,t,n){var r=n(138);"string"==typeof r&&(r=[[e.i,r,""]]);var c={insert:"head",singleton:!1};n(30)(r,c);r.locals&&(e.exports=r.locals)},138:function(e,t,n){},18:function(e,t,n){"use strict";n.d(t,"e",(function(){return c})),n.d(t,"r",(function(){return o})),n.d(t,"k",(function(){return i})),n.d(t,"m",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"l",(function(){return l})),n.d(t,"o",(function(){return s})),n.d(t,"d",(function(){return b})),n.d(t,"n",(function(){return p})),n.d(t,"c",(function(){return d})),n.d(t,"p",(function(){return f})),n.d(t,"i",(function(){return m})),n.d(t,"j",(function(){return g})),n.d(t,"f",(function(){return O})),n.d(t,"g",(function(){return h})),n.d(t,"h",(function(){return v})),n.d(t,"q",(function(){return j})),n.d(t,"a",(function(){return w})),n.d(t,"s",(function(){return _}));var r=n(4),c=Object(r.getSetting)("enableReviewRating",!0),o=Object(r.getSetting)("showAvatars",!0),i=Object(r.getSetting)("max_columns",6),a=Object(r.getSetting)("min_columns",1),u=Object(r.getSetting)("default_columns",3),l=Object(r.getSetting)("max_rows",6),s=Object(r.getSetting)("min_rows",1),b=Object(r.getSetting)("default_rows",2),p=Object(r.getSetting)("min_height",500),d=Object(r.getSetting)("default_height",500),f=Object(r.getSetting)("placeholderImgSrc",""),m=(Object(r.getSetting)("thumbnail_size",300),Object(r.getSetting)("isLargeCatalog")),g=Object(r.getSetting)("limitTags"),O=Object(r.getSetting)("hasProducts",!0),h=Object(r.getSetting)("hasTags",!0),v=Object(r.getSetting)("homeUrl",""),j=Object(r.getSetting)("productCount",0),w=Object(r.getSetting)("attributes",[]),_=Object(r.getSetting)("wcBlocksAssetUrl","")},21:function(e,t){!function(){e.exports=this.wp.compose}()},23:function(e,t){!function(){e.exports=this.wp.blocks}()},3:function(e,t){!function(){e.exports=this.wp.components}()},339:function(e,t,n){"use strict";var r=n(0),c=n(3);t.a=function(){return Object(r.createElement)(c.Icon,{icon:Object(r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(r.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(r.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(r.createElement)("g",{mask:"url(#external-mask)"},Object(r.createElement)("path",{d:"M0 0h24v24H0z"})))})}},34:function(e,t){!function(){e.exports=this.wp.data}()},35:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},38:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=n(43),o=n.n(c),i=function(e){var t=Object(r.useRef)();return o()(e,t.current)||(t.current=e),t.current}},4:function(e,t){!function(){e.exports=this.wc.wcSettings}()},42:function(e,t){!function(){e.exports=this.wp.blockEditor}()},43:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},47:function(e,t,n){"use strict";var r=n(11),c=n.n(r),o=n(13),i=n.n(o),a=n(17),u=n.n(a),l=n(14),s=n.n(l),b=n(15),p=n.n(b),d=n(12),f=n.n(d),m=n(16),g=n.n(m),O=n(0),h=n(5),v=n(6),j=n.n(v),w=n(3),_=n(21),y=(n(98),function(e){function t(){var e;return i()(this,t),(e=s()(this,p()(t).apply(this,arguments))).onClick=e.onClick.bind(f()(e)),e}return g()(t,e),u()(t,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,o=n.checked,i=n.instanceId,a=n.className,u=n.help,l=n.options,s=n.value,b="inspector-toggle-button-control-".concat(i);return u&&(e=Object(h.isFunction)(u)?u(o):u),Object(O.createElement)(w.BaseControl,{id:b,help:e,className:j()("components-toggle-button-control",a)},Object(O.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(O.createElement)(w.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,n){var o={};return s===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isDefault=!0,o["aria-pressed"]=!1),Object(O.createElement)(w.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},o),e.label)}))))}}]),t}(O.Component));t.a=Object(_.withInstanceId)(y)},49:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=Object(r.createContext)("page"),o=function(){return Object(r.useContext)(c)};c.Provider},5:function(e,t){!function(){e.exports=this.lodash}()},621:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(10),c=function(e,t){var n=Object(r.useRef)();return Object(r.useEffect)((function(){n.current===e||t&&!t(e,n.current)||(n.current=e)}),[e,n.current]),n.current}},628:function(e,t,n){var r=n(629);"string"==typeof r&&(r=[[e.i,r,""]]);var c={insert:"head",singleton:!1};n(30)(r,c);r.locals&&(e.exports=r.locals)},629:function(e,t,n){},630:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(7),c=n.n(r),o=n(61),i=n.n(o),a=n(85),u=n.n(a),l=n(25),s=n.n(l),b=n(0),p=n(91),d=n(109),f=n(49),m=n(348),g=n(5),O=n(38);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var j=function(e){var t=e.queryAttribute,n=e.queryPrices,r=e.queryState,c=Object(f.a)();c="".concat(c,"-collection-data");var o=Object(p.a)(c),a=s()(o,1)[0],l=Object(p.b)("calculate_attribute_counts",[],c),h=s()(l,2),j=h[0],w=h[1],_=Object(p.b)("calculate_price_range",null,c),y=s()(_,2),k=y[0],E=y[1],x=Object(O.a)(t||{}),C=Object(O.a)(n);Object(b.useEffect)((function(){"object"===u()(x)&&Object.keys(x).length&&(j.find((function(e){return e.taxonomy===x.taxonomy}))||w([].concat(i()(j),[x])))}),[x,j,w]),Object(b.useEffect)((function(){k!==C&&void 0!==C&&E(C)}),[C,E,k]);var S=Object(b.useState)(!1),P=s()(S,2),F=P[0],N=P[1],R=Object(m.a)(F,200),M=s()(R,1)[0];F||N(!0);var L=Object(b.useMemo)((function(){return function(e){var t=e;return e.calculate_attribute_counts&&(t.calculate_attribute_counts=Object(g.sortBy)(e.calculate_attribute_counts.map((function(e){return{taxonomy:e.taxonomy,query_type:e.queryType}})),["taxonomy","query_type"])),t}(a)}),[a]);return Object(d.a)({namespace:"/wc/store",resourceName:"products/collection-data",query:v({},r,{page:void 0,per_page:void 0,orderby:void 0,order:void 0},L),shouldSelect:M})}},643:function(e,t,n){"use strict";n.r(t);var r=n(11),c=n.n(r),o=n(0),i=n(1),a=n(23),u=n(6),l=n.n(u),s=n(42),b=n(3),p=n(18),d=n(4),f=n(84),m=n(102),g=n(25),O=n.n(g),h=n(91),v=n(630),j=(n(2),n(631),function(e,t,n,r,c){var o=parseInt(e[0],10)||t,i=parseInt(e[1],10)||r;return t>o&&(o=t),n<=o&&(o=n-r),t>=i&&(i=t+r),n<i&&(i=n),!c&&o>=i&&(o=i-r),c&&i<=o&&(i=o+r),[o,i]}),w=n(89),_=function(e){var t=e.disabled,n=e.onClick;return Object(o.createElement)("button",{type:"submit",className:"wc-block-price-filter__button wc-block-form-button",disabled:t,onClick:n},Object(i.__)("Go",'woocommerce'))};_.defaultProps={disabled:!1};var y=_,k=function(e){var t=e.minPrice,n=e.maxPrice;return t||n?Object(o.createElement)("div",{className:"wc-block-price-filter__range-text"},Object(i.sprintf)(Object(i.__)("Price: %s — %s",'woocommerce'),t,n)):null},E=function(e){var t=e.disabled,n=e.onBlur,r=e.onChange,c=e.minPrice,a=e.maxPrice;return Object(o.createElement)(o.Fragment,null,Object(o.createElement)("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--min wc-block-form-text-input","aria-label":Object(i.__)("Filter products by minimum price",'woocommerce'),onChange:r,onBlur:n,disabled:t,value:c}),Object(o.createElement)("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--max wc-block-form-text-input","aria-label":Object(i.__)("Filter products by maximum price",'woocommerce'),onChange:r,onBlur:n,disabled:t,value:a}))};E.defaultProps={disabled:!1,onBlur:function(){},onChange:function(){}};var x=E,C=function(e){var t=e.minPrice,n=e.maxPrice,r=e.minConstraint,c=e.maxConstraint,a=e.onChange,u=void 0===a?function(){}:a,s=e.step,b=void 0===s?10:s,p=e.currencySymbol,d=void 0===p?"$":p,f=e.priceFormat,m=void 0===f?"%1$s%2$s":f,g=e.showInputFields,h=void 0===g||g,v=e.showFilterButton,_=void 0!==v&&v,E=e.isLoading,C=void 0!==E&&E,S=e.onSubmit,P=void 0===S?function(){}:S,F=Object(o.useRef)(),N=Object(o.useRef)(),R=Object(o.useState)(Object(w.a)(t,m,d)),M=O()(R,2),L=M[0],B=M[1],H=Object(o.useState)(Object(w.a)(n,m,d)),I=O()(H,2),z=I[0],T=I[1];Object(o.useEffect)((function(){B(Object(w.a)(t,m,d))}),[t,m,d]),Object(o.useEffect)((function(){T(Object(w.a)(n,m,d))}),[n,m,d]);var V=Object(o.useMemo)((function(){return isFinite(r)&&isFinite(c)}),[r,c]),D=Object(o.useMemo)((function(){if(!isFinite(t)||!isFinite(n)||!V)return{"--low":"0%","--high":"100%"};var e=Math.round(t/b)*b,o=Math.round(n/b)*b;return{"--low":Math.round((e-r)/(c-r)*100)-.5+"%","--high":Math.round((o-r)/(c-r)*100)+.5+"%"}}),[t,n,r,c,V,b]),U=Object(o.useCallback)((function(e){if(!C&&V){var t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=F.current.offsetWidth,o=F.current.value,i=N.current.offsetWidth,a=N.current.value,u=r*(o/c),l=i*(a/c);Math.abs(n-u)>Math.abs(n-l)?(F.current.style.zIndex=20,N.current.style.zIndex=21):(F.current.style.zIndex=21,N.current.style.zIndex=20)}}),[C,c,V]),Y=Object(o.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__range-input--min"),i=e.target.value,a=j(o?[i,n]:[t,i],r,c,b,o);u([parseInt(a[0],10),parseInt(a[1],10)])}),[t,n,r,c,b]),q=Object(o.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__amount--min"),i=e.target.value.replace(/[^0-9.-]+/g,""),a=j(o?[i,n]:[t,i],r,c,b,o);u([parseInt(a[0],10),parseInt(a[1],10)]),B(Object(w.a)(parseInt(a[0],10),m,d)),T(Object(w.a)(parseInt(a[1],10),m,d))}),[t,n,r,c,b]),A=Object(o.useCallback)((function(e){var t=e.target.value.replace(/[^0-9.-]+/g,"");e.target.classList.contains("wc-block-price-filter__amount--min")?B(Object(w.a)(t,m,d)):T(Object(w.a)(t,m,d))}),[m,d]),Q=l()("wc-block-price-filter",h&&"wc-block-price-filter--has-input-fields",_&&"wc-block-price-filter--has-filter-button",C&&"is-loading",!V&&"is-disabled");return Object(o.createElement)("div",{className:Q},Object(o.createElement)("div",{className:"wc-block-price-filter__range-input-wrapper",onMouseMove:U,onFocus:U},V&&Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{className:"wc-block-price-filter__range-input-progress",style:D}),Object(o.createElement)("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--min","aria-label":Object(i.__)("Filter products by minimum price",'woocommerce'),value:t||0,onChange:Y,step:b,min:r,max:c,ref:F,disabled:C}),Object(o.createElement)("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--max","aria-label":Object(i.__)("Filter products by maximum price",'woocommerce'),value:n||0,onChange:Y,step:b,min:r,max:c,ref:N,disabled:C}))),Object(o.createElement)("div",{className:"wc-block-price-filter__controls"},h?Object(o.createElement)(x,{disabled:C||!V,onChange:A,onBlur:q,minPrice:L,maxPrice:z}):Object(o.createElement)(k,{minPrice:L,maxPrice:z}),_&&Object(o.createElement)(y,{disabled:C||!V,onClick:P})))},S=n(347),P=n(621),F=function(e,t,n){var r,c=10*Math.pow(10,t);"ROUND_UP"===n?r=isNaN(e)?null:Math.ceil(parseFloat(e,10)/c)*c:"ROUND_DOWN"===n&&(r=isNaN(e)?null:Math.floor(parseFloat(e,10)/c)*c);var o=Object(P.a)(r,(function(e){return Number.isFinite(e)}));return Number.isFinite(r)?r:o},N=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(h.b)("min_price"),i=O()(c,2),a=i[0],u=i[1],l=Object(h.b)("max_price"),s=O()(l,2),b=s[0],p=s[1],f=Object(h.a)(),m=O()(f,1)[0],g=Object(v.a)({queryPrices:!0,queryState:m}),j=g.results,w=g.isLoading,_=Object(o.useState)(),y=O()(_,2),k=y[0],E=y[1],x=Object(o.useState)(),P=O()(x,2),N=P[0],R=P[1],M=function(e){var t=e.minPrice,n=e.maxPrice,r=e.minorUnit;return{minConstraint:F(t,r,"ROUND_DOWN"),maxConstraint:F(n,r,"ROUND_UP")}}({minPrice:j.min_price,maxPrice:j.max_price}),L=M.minConstraint,B=M.maxConstraint,H=Object(S.a)((function(){z()}),500),I=O()(H,1)[0],z=Object(o.useCallback)((function(){u(k===L?void 0:k),p(N===B?void 0:N)}),[k,N,L,B]),T=Object(o.useCallback)((function(e){e[0]!==k&&E(e[0]),e[1]!==N&&R(e[1])}),[L,B,k,N]);if(Object(o.useEffect)((function(){t.showFilterButton||I()}),[k,N,t.showFilterButton]),Object(o.useEffect)((function(){a!==k&&E(Number.isFinite(a)?a:L),b!==N&&R(Number.isFinite(b)?b:B)}),[a,b,L,B]),!w&&(null===L||null===B||L===B))return null;var V="h".concat(t.headingLevel),D=Math.max(Number.isFinite(k)?k:-1/0,Number.isFinite(L)?L:-1/0),U=Math.min(Number.isFinite(N)?N:1/0,Number.isFinite(B)?B:1/0);return Object(o.createElement)(o.Fragment,null,!r&&t.heading&&Object(o.createElement)(V,null,t.heading),Object(o.createElement)("div",{className:"wc-block-price-slider"},Object(o.createElement)(C,{minConstraint:L,maxConstraint:B,minPrice:D,maxPrice:U,step:10,currencySymbol:d.CURRENCY.symbol,priceFormat:d.CURRENCY.priceFormat,showInputFields:t.showInputFields,showFilterButton:t.showFilterButton,onChange:T,onSubmit:z,isLoading:w})))},R=(n(628),function(){return Object(o.createElement)(b.Icon,{icon:Object(o.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(o.createElement)("mask",{id:"money-mask",width:"20",height:"14",x:"2",y:"5",maskUnits:"userSpaceOnUse"},Object(o.createElement)("path",{fill:"#fff",fillRule:"evenodd",d:"M2 5v14h20V5H2zm5 12c0-1.657-1.343-3-3-3v-4c1.657 0 3-1.343 3-3h10c0 1.657 1.343 3 3 3v4c-1.657 0-3 1.343-3 3H7zm7-5c0-1.7-.9-3-2-3s-2 1.3-2 3 .9 3 2 3 2-1.3 2-3z",clipRule:"evenodd"})),Object(o.createElement)("g",{mask:"url(#money-mask)"},Object(o.createElement)("path",{d:"M0 0h24v24H0z"})))})}),M=n(339),L=n(47);Object(a.registerBlockType)("woocommerce/price-filter",{title:Object(i.__)("Filter Products by Price",'woocommerce'),icon:{src:Object(o.createElement)(R,null),foreground:"#96588a"},category:"woocommerce",keywords:[Object(i.__)("WooCommerce",'woocommerce')],description:Object(i.__)("Display a slider to filter products in your store by price.",'woocommerce'),supports:{multiple:!1},example:{},attributes:{showInputFields:{type:"boolean",default:!0},showFilterButton:{type:"boolean",default:!1},heading:{type:"string",default:Object(i.__)("Filter by price",'woocommerce')},headingLevel:{type:"number",default:3}},edit:function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.heading,a=t.headingLevel,u=t.showInputFields,l=t.showFilterButton;return Object(o.createElement)(o.Fragment,null,0===p.q?Object(o.createElement)(b.Placeholder,{className:"wc-block-price-slider",icon:Object(o.createElement)(R,null),label:Object(i.__)("Filter Products by Price",'woocommerce'),instructions:Object(i.__)("Display a slider to filter products in your store by price.",'woocommerce')},Object(o.createElement)("p",null,Object(i.__)("Products with prices are needed for filtering by price. You haven't created any products yet.",'woocommerce')),Object(o.createElement)(b.Button,{className:"wc-block-price-slider__add_product_button",isDefault:!0,isLarge:!0,href:Object(d.getAdminLink)("post-new.php?post_type=product")},Object(i.__)("Add new product",'woocommerce')+" ",Object(o.createElement)(M.a,null)),Object(o.createElement)(b.Button,{className:"wc-block-price-slider__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(i.__)("Learn more",'woocommerce'))):Object(o.createElement)("div",{className:r},Object(o.createElement)(s.InspectorControls,{key:"inspector"},Object(o.createElement)(b.PanelBody,{title:Object(i.__)("Block Settings",'woocommerce')},Object(o.createElement)(L.a,{label:Object(i.__)("Price Range",'woocommerce'),value:u?"editable":"text",options:[{label:Object(i.__)("Editable",'woocommerce'),value:"editable"},{label:Object(i.__)("Text",'woocommerce'),value:"text"}],onChange:function(e){return n({showInputFields:"editable"===e})}}),Object(o.createElement)(b.ToggleControl,{label:Object(i.__)("Filter button",'woocommerce'),help:l?Object(i.__)("Results will only update when the button is pressed.",'woocommerce'):Object(i.__)("Results will update when the slider is moved.",'woocommerce'),checked:l,onChange:function(){return n({showFilterButton:!l})}}),Object(o.createElement)("p",null,Object(i.__)("Heading Level",'woocommerce')),Object(o.createElement)(f.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:a,onChange:function(e){return n({headingLevel:e})}}))),Object(o.createElement)(m.a,{headingLevel:a,heading:c,onChange:function(e){return n({heading:e})}}),Object(o.createElement)(b.Disabled,null,Object(o.createElement)(N,{attributes:t,isEditor:!0}))))},save:function(e){var t=e.attributes,n=t.className,r={"data-showinputfields":t.showInputFields,"data-showfilterbutton":t.showFilterButton,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(o.createElement)("div",c()({className:l()("is-loading",n)},r),Object(o.createElement)("span",{"aria-hidden":!0,className:"wc-block-product-categories__placeholder"}))}})},84:function(e,t,n){"use strict";var r=n(13),c=n.n(r),o=n(17),i=n.n(o),a=n(14),u=n.n(a),l=n(15),s=n.n(l),b=n(16),p=n.n(b),d=n(0),f=n(5),m=n(1),g=n(3);function O(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(d.createElement)(g.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(d.createElement)(g.Path,{d:n[t]})):null}var h=function(e){function t(){return c()(this,t),u()(this,s()(t).apply(this,arguments))}return p()(t,e),i()(t,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(d.createElement)(O,{level:e}),title:Object(m.sprintf)(Object(m.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,o=t.maxLevel,i=t.selectedLevel,a=t.onChange;return Object(d.createElement)(g.Toolbar,{isCollapsed:r,icon:Object(d.createElement)(O,{level:i}),controls:Object(f.range)(c,o).map((function(t){return e.createLevelControl(t,i,a)}))})}}]),t}(d.Component);t.a=h},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),c=n(4),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.CURRENCY.priceFormat,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.CURRENCY.symbol,o=parseInt(e,10);if(!isFinite(o))return"";var i=Object(r.sprintf)(t,n,o),a=document.createElement("textarea");return a.innerHTML=i,a.value}},91:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return m}));var r=n(7),c=n.n(r),o=n(25),i=n.n(o),a=n(35),u=n(34),l=n(0),s=n(49),b=n(38);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var d=function(e){var t=Object(s.a)();e=e||t;var n=Object(u.useSelect)((function(t){return t(a.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(u.useDispatch)(a.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(l.useCallback)((function(t){r(e,t)}),[e])]},f=function(e,t,n){var r=Object(s.a)();n=n||r;var c=Object(u.useSelect)((function(r){return r(a.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),o=Object(u.useDispatch)(a.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(l.useCallback)((function(t){o(n,e,t)}),[n,e])]},m=function(e,t){var n=Object(s.a)(),r=d(t=t||n),o=i()(r,2),a=o[0],u=o[1],f=Object(b.a)(e),m=Object(l.useRef)(!1);return Object(l.useEffect)((function(){u(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a,{},f)),m.current=!0}),[f]),m.current?[a,u]:[e,u]}}});
1
+ this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["price-filter"]=function(e){function t(t){for(var r,i,a=t[0],u=t[1],l=t[2],b=0,p=[];b<a.length;b++)i=a[b],Object.prototype.hasOwnProperty.call(c,i)&&c[i]&&p.push(c[i][0]),c[i]=0;for(r in u)Object.prototype.hasOwnProperty.call(u,r)&&(e[r]=u[r]);for(s&&s(t);p.length;)p.shift()();return o.push.apply(o,l||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==c[u]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},c={12:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var a=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],u=a.push.bind(a);a.push=t,a=a.slice();for(var l=0;l<a.length;l++)t(a[l]);var s=u;return o.push([643,2,1,0]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t){!function(){e.exports=this.React}()},102:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(42)),o=n(6),i=n.n(o);n(137);t.a=function(e){var t=e.className,n=e.headingLevel,o=e.onChange,a=e.heading,u="h".concat(n);return Object(r.createElement)(u,null,Object(r.createElement)(c.PlainText,{className:i()("wc-block-component-title",t),value:a,onChange:o}))}},109:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(35),c=n(34),o=n(0),i=n(38),a=function(e){var t=e.namespace,n=e.resourceName,a=e.resourceValues,u=void 0===a?[]:a,l=e.query,s=void 0===l?{}:l,b=e.shouldSelect,p=void 0===b||b;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(o.useRef)({results:[],isLoading:!0}),f=Object(i.a)(s),m=Object(i.a)(u),g=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),o=[t,n,f,m];return{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,n,m,f,p]);return null!==g&&(d.current=g),d.current}},137:function(e,t,n){var r=n(138);"string"==typeof r&&(r=[[e.i,r,""]]);var c={insert:"head",singleton:!1};n(30)(r,c);r.locals&&(e.exports=r.locals)},138:function(e,t,n){},18:function(e,t,n){"use strict";n.d(t,"e",(function(){return c})),n.d(t,"r",(function(){return o})),n.d(t,"k",(function(){return i})),n.d(t,"m",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"l",(function(){return l})),n.d(t,"o",(function(){return s})),n.d(t,"d",(function(){return b})),n.d(t,"n",(function(){return p})),n.d(t,"c",(function(){return d})),n.d(t,"p",(function(){return f})),n.d(t,"i",(function(){return m})),n.d(t,"j",(function(){return g})),n.d(t,"f",(function(){return O})),n.d(t,"g",(function(){return h})),n.d(t,"h",(function(){return v})),n.d(t,"q",(function(){return j})),n.d(t,"a",(function(){return w})),n.d(t,"s",(function(){return _}));var r=n(4),c=Object(r.getSetting)("enableReviewRating",!0),o=Object(r.getSetting)("showAvatars",!0),i=Object(r.getSetting)("max_columns",6),a=Object(r.getSetting)("min_columns",1),u=Object(r.getSetting)("default_columns",3),l=Object(r.getSetting)("max_rows",6),s=Object(r.getSetting)("min_rows",1),b=Object(r.getSetting)("default_rows",2),p=Object(r.getSetting)("min_height",500),d=Object(r.getSetting)("default_height",500),f=Object(r.getSetting)("placeholderImgSrc",""),m=(Object(r.getSetting)("thumbnail_size",300),Object(r.getSetting)("isLargeCatalog")),g=Object(r.getSetting)("limitTags"),O=Object(r.getSetting)("hasProducts",!0),h=Object(r.getSetting)("hasTags",!0),v=Object(r.getSetting)("homeUrl",""),j=Object(r.getSetting)("productCount",0),w=Object(r.getSetting)("attributes",[]),_=Object(r.getSetting)("wcBlocksAssetUrl","")},21:function(e,t){!function(){e.exports=this.wp.compose}()},23:function(e,t){!function(){e.exports=this.wp.blocks}()},3:function(e,t){!function(){e.exports=this.wp.components}()},339:function(e,t,n){"use strict";var r=n(0),c=n(3);t.a=function(){return Object(r.createElement)(c.Icon,{icon:Object(r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(r.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(r.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(r.createElement)("g",{mask:"url(#external-mask)"},Object(r.createElement)("path",{d:"M0 0h24v24H0z"})))})}},34:function(e,t){!function(){e.exports=this.wp.data}()},35:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},38:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=n(43),o=n.n(c),i=function(e){var t=Object(r.useRef)();return o()(e,t.current)||(t.current=e),t.current}},4:function(e,t){!function(){e.exports=this.wc.wcSettings}()},42:function(e,t){!function(){e.exports=this.wp.blockEditor}()},43:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},47:function(e,t,n){"use strict";var r=n(11),c=n.n(r),o=n(13),i=n.n(o),a=n(17),u=n.n(a),l=n(14),s=n.n(l),b=n(15),p=n.n(b),d=n(12),f=n.n(d),m=n(16),g=n.n(m),O=n(0),h=n(5),v=n(6),j=n.n(v),w=n(3),_=n(21),y=(n(98),function(e){function t(){var e;return i()(this,t),(e=s()(this,p()(t).apply(this,arguments))).onClick=e.onClick.bind(f()(e)),e}return g()(t,e),u()(t,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,o=n.checked,i=n.instanceId,a=n.className,u=n.help,l=n.options,s=n.value,b="inspector-toggle-button-control-".concat(i);return u&&(e=Object(h.isFunction)(u)?u(o):u),Object(O.createElement)(w.BaseControl,{id:b,help:e,className:j()("components-toggle-button-control",a)},Object(O.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(O.createElement)(w.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,n){var o={};return s===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isDefault=!0,o["aria-pressed"]=!1),Object(O.createElement)(w.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},o),e.label)}))))}}]),t}(O.Component));t.a=Object(_.withInstanceId)(y)},49:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=Object(r.createContext)("page"),o=function(){return Object(r.useContext)(c)};c.Provider},5:function(e,t){!function(){e.exports=this.lodash}()},621:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(10),c=function(e,t){var n=Object(r.useRef)();return Object(r.useEffect)((function(){n.current===e||t&&!t(e,n.current)||(n.current=e)}),[e,n.current]),n.current}},628:function(e,t,n){var r=n(629);"string"==typeof r&&(r=[[e.i,r,""]]);var c={insert:"head",singleton:!1};n(30)(r,c);r.locals&&(e.exports=r.locals)},629:function(e,t,n){},630:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(7),c=n.n(r),o=n(61),i=n.n(o),a=n(85),u=n.n(a),l=n(25),s=n.n(l),b=n(0),p=n(91),d=n(109),f=n(49),m=n(348),g=n(5),O=n(38);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var j=function(e){var t=e.queryAttribute,n=e.queryPrices,r=e.queryState,c=Object(f.a)();c="".concat(c,"-collection-data");var o=Object(p.a)(c),a=s()(o,1)[0],l=Object(p.b)("calculate_attribute_counts",[],c),h=s()(l,2),j=h[0],w=h[1],_=Object(p.b)("calculate_price_range",null,c),y=s()(_,2),E=y[0],k=y[1],x=Object(O.a)(t||{}),C=Object(O.a)(n);Object(b.useEffect)((function(){"object"===u()(x)&&Object.keys(x).length&&(j.find((function(e){return e.taxonomy===x.taxonomy}))||w([].concat(i()(j),[x])))}),[x,j,w]),Object(b.useEffect)((function(){E!==C&&void 0!==C&&k(C)}),[C,k,E]);var S=Object(b.useState)(!1),P=s()(S,2),F=P[0],N=P[1],R=Object(m.a)(F,200),L=s()(R,1)[0];F||N(!0);var B=Object(b.useMemo)((function(){return function(e){var t=e;return e.calculate_attribute_counts&&(t.calculate_attribute_counts=Object(g.sortBy)(e.calculate_attribute_counts.map((function(e){return{taxonomy:e.taxonomy,query_type:e.queryType}})),["taxonomy","query_type"])),t}(a)}),[a]);return Object(d.a)({namespace:"/wc/store",resourceName:"products/collection-data",query:v({},r,{page:void 0,per_page:void 0,orderby:void 0,order:void 0},B),shouldSelect:L})}},643:function(e,t,n){"use strict";n.r(t);var r=n(11),c=n.n(r),o=n(0),i=n(1),a=n(23),u=n(6),l=n.n(u),s=n(42),b=n(3),p=n(18),d=n(4),f=n(84),m=n(102),g=n(25),O=n.n(g),h=n(91),v=n(630),j=(n(2),n(631),function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=parseInt(e[0],10),i=parseInt(e[1],10);return Number.isFinite(o)||(o=t||0),Number.isFinite(i)||(i=n||r),Number.isFinite(t)&&t>o&&(o=t),Number.isFinite(n)&&n<=o&&(o=n-r),Number.isFinite(t)&&t>=i&&(i=t+r),Number.isFinite(n)&&n<i&&(i=n),!c&&o>=i&&(o=i-r),c&&i<=o&&(i=o+r),[o,i]}),w=n(89),_=function(e){var t=e.disabled,n=e.onClick;return Object(o.createElement)("button",{type:"submit",className:"wc-block-price-filter__button wc-block-form-button",disabled:t,onClick:n},Object(i.__)("Go",'woocommerce'))};_.defaultProps={disabled:!1};var y=_,E=function(e){var t=e.minPrice,n=e.maxPrice;return t||n?Object(o.createElement)("div",{className:"wc-block-price-filter__range-text"},Object(i.sprintf)(Object(i.__)("Price: %s — %s",'woocommerce'),t,n)):null},k=function(e){var t=e.disabled,n=e.onBlur,r=e.onChange,c=e.minPrice,a=e.maxPrice;return Object(o.createElement)(o.Fragment,null,Object(o.createElement)("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--min wc-block-form-text-input","aria-label":Object(i.__)("Filter products by minimum price",'woocommerce'),onChange:r,onBlur:n,disabled:t,value:c}),Object(o.createElement)("input",{type:"text",size:"5",className:"wc-block-price-filter__amount wc-block-price-filter__amount--max wc-block-form-text-input","aria-label":Object(i.__)("Filter products by maximum price",'woocommerce'),onChange:r,onBlur:n,disabled:t,value:a}))};k.defaultProps={disabled:!1,onBlur:function(){},onChange:function(){}};var x=k,C=function(e){var t=e.minPrice,n=e.maxPrice,r=e.minConstraint,c=e.maxConstraint,a=e.onChange,u=void 0===a?function(){}:a,s=e.step,b=void 0===s?10:s,p=e.currencySymbol,d=void 0===p?"$":p,f=e.priceFormat,m=void 0===f?"%1$s%2$s":f,g=e.showInputFields,h=void 0===g||g,v=e.showFilterButton,_=void 0!==v&&v,k=e.isLoading,C=void 0!==k&&k,S=e.onSubmit,P=void 0===S?function(){}:S,F=Object(o.useRef)(),N=Object(o.useRef)(),R=Object(o.useState)(Object(w.a)(t,m,d)),L=O()(R,2),B=L[0],M=L[1],H=Object(o.useState)(Object(w.a)(n,m,d)),I=O()(H,2),z=I[0],T=I[1];Object(o.useEffect)((function(){M(Object(w.a)(t,m,d))}),[t,m,d]),Object(o.useEffect)((function(){T(Object(w.a)(n,m,d))}),[n,m,d]);var V=Object(o.useMemo)((function(){return isFinite(r)&&isFinite(c)}),[r,c]),D=Object(o.useMemo)((function(){return isFinite(t)&&isFinite(n)&&V?{"--low":Math.round((t-r)/(c-r)*100)-.5+"%","--high":Math.round((n-r)/(c-r)*100)+.5+"%"}:{"--low":"0%","--high":"100%"}}),[t,n,r,c,V,b]),U=Object(o.useCallback)((function(e){if(!C&&V){var t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=F.current.offsetWidth,o=F.current.value,i=N.current.offsetWidth,a=N.current.value,u=r*(o/c),l=i*(a/c);Math.abs(n-u)>Math.abs(n-l)?(F.current.style.zIndex=20,N.current.style.zIndex=21):(F.current.style.zIndex=21,N.current.style.zIndex=20)}}),[C,c,V]),Y=Object(o.useCallback)((function(e){var o=e.target.classList.contains("wc-block-price-filter__range-input--min"),i=e.target.value,a=o?[Math.round(i/b)*b,n]:[t,Math.round(i/b)*b],l=j(a,r,c,b,o);u([parseInt(l[0],10),parseInt(l[1],10)])}),[t,n,r,c,b]),q=Object(o.useCallback)((function(e){var r=e.target.classList.contains("wc-block-price-filter__amount--min"),c=e.target.value.replace(/[^0-9.-]+/g,""),o=j(r?[c,n]:[t,c],null,null,b,r);u([parseInt(o[0],10),parseInt(o[1],10)]),M(Object(w.a)(parseInt(o[0],10),m,d)),T(Object(w.a)(parseInt(o[1],10),m,d))}),[t,n,r,c,b]),A=Object(o.useCallback)((function(e){var t=e.target.value.replace(/[^0-9.-]+/g,"");e.target.classList.contains("wc-block-price-filter__amount--min")?M(Object(w.a)(t,m,d)):T(Object(w.a)(t,m,d))}),[m,d]),Q=l()("wc-block-price-filter",h&&"wc-block-price-filter--has-input-fields",_&&"wc-block-price-filter--has-filter-button",C&&"is-loading",!V&&"is-disabled"),W=F&&document.activeElement===F.current?b:1,K=N&&document.activeElement===N.current?b:1;return Object(o.createElement)("div",{className:Q},Object(o.createElement)("div",{className:"wc-block-price-filter__range-input-wrapper",onMouseMove:U,onFocus:U},V&&Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{className:"wc-block-price-filter__range-input-progress",style:D}),Object(o.createElement)("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--min","aria-label":Object(i.__)("Filter products by minimum price",'woocommerce'),value:Number.isFinite(t)?t:r,onChange:Y,step:W,min:r,max:c,ref:F,disabled:C}),Object(o.createElement)("input",{type:"range",className:"wc-block-price-filter__range-input wc-block-price-filter__range-input--max","aria-label":Object(i.__)("Filter products by maximum price",'woocommerce'),value:Number.isFinite(n)?n:c,onChange:Y,step:K,min:r,max:c,ref:N,disabled:C}))),Object(o.createElement)("div",{className:"wc-block-price-filter__controls"},h?Object(o.createElement)(x,{disabled:C||!V,onChange:A,onBlur:q,minPrice:B,maxPrice:z}):Object(o.createElement)(E,{minPrice:B,maxPrice:z}),_&&Object(o.createElement)(y,{disabled:C||!V,onClick:P})))},S=n(347),P=n(621),F=function(e,t){var n;"ROUND_UP"===t?n=isNaN(e)?null:10*Math.ceil(parseFloat(e,10)/10):"ROUND_DOWN"===t&&(n=isNaN(e)?null:10*Math.floor(parseFloat(e,10)/10));var r=Object(P.a)(n,(function(e){return Number.isFinite(e)}));return Number.isFinite(n)?n:r},N=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(h.b)("min_price"),i=O()(c,2),a=i[0],u=i[1],l=Object(h.b)("max_price"),s=O()(l,2),b=s[0],p=s[1],f=Object(h.a)(),m=O()(f,1)[0],g=Object(v.a)({queryPrices:!0,queryState:m}),j=g.results,w=g.isLoading,_=Object(o.useState)(),y=O()(_,2),E=y[0],k=y[1],x=Object(o.useState)(),P=O()(x,2),N=P[0],R=P[1],L=function(e){var t=e.minPrice,n=e.maxPrice;return{minConstraint:F(t,"ROUND_DOWN"),maxConstraint:F(n,"ROUND_UP")}}({minPrice:j.min_price,maxPrice:j.max_price}),B=L.minConstraint,M=L.maxConstraint,H=Object(S.a)((function(){z()}),500),I=O()(H,1)[0],z=Object(o.useCallback)((function(){u(E===B?void 0:E),p(N===M?void 0:N)}),[E,N,B,M]),T=Object(o.useCallback)((function(e){e[0]!==E&&k(e[0]),e[1]!==N&&R(e[1])}),[B,M,E,N]);if(Object(o.useEffect)((function(){t.showFilterButton||I()}),[E,N,t.showFilterButton]),Object(o.useEffect)((function(){a!==E&&k(Number.isFinite(a)?a:B),b!==N&&R(Number.isFinite(b)?b:M)}),[a,b,B,M]),!w&&(null===B||null===M||B===M))return null;var V="h".concat(t.headingLevel);return Object(o.createElement)(o.Fragment,null,!r&&t.heading&&Object(o.createElement)(V,null,t.heading),Object(o.createElement)("div",{className:"wc-block-price-slider"},Object(o.createElement)(C,{minConstraint:B,maxConstraint:M,minPrice:E,maxPrice:N,step:10,currencySymbol:d.CURRENCY.symbol,priceFormat:d.CURRENCY.priceFormat,showInputFields:t.showInputFields,showFilterButton:t.showFilterButton,onChange:T,onSubmit:z,isLoading:w})))},R=(n(628),function(){return Object(o.createElement)(b.Icon,{icon:Object(o.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(o.createElement)("mask",{id:"money-mask",width:"20",height:"14",x:"2",y:"5",maskUnits:"userSpaceOnUse"},Object(o.createElement)("path",{fill:"#fff",fillRule:"evenodd",d:"M2 5v14h20V5H2zm5 12c0-1.657-1.343-3-3-3v-4c1.657 0 3-1.343 3-3h10c0 1.657 1.343 3 3 3v4c-1.657 0-3 1.343-3 3H7zm7-5c0-1.7-.9-3-2-3s-2 1.3-2 3 .9 3 2 3 2-1.3 2-3z",clipRule:"evenodd"})),Object(o.createElement)("g",{mask:"url(#money-mask)"},Object(o.createElement)("path",{d:"M0 0h24v24H0z"})))})}),L=n(339),B=n(47);Object(a.registerBlockType)("woocommerce/price-filter",{title:Object(i.__)("Filter Products by Price",'woocommerce'),icon:{src:Object(o.createElement)(R,null),foreground:"#96588a"},category:"woocommerce",keywords:[Object(i.__)("WooCommerce",'woocommerce')],description:Object(i.__)("Display a slider to filter products in your store by price.",'woocommerce'),supports:{multiple:!1},example:{},attributes:{showInputFields:{type:"boolean",default:!0},showFilterButton:{type:"boolean",default:!1},heading:{type:"string",default:Object(i.__)("Filter by price",'woocommerce')},headingLevel:{type:"number",default:3}},edit:function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.heading,a=t.headingLevel,u=t.showInputFields,l=t.showFilterButton;return Object(o.createElement)(o.Fragment,null,0===p.q?Object(o.createElement)(b.Placeholder,{className:"wc-block-price-slider",icon:Object(o.createElement)(R,null),label:Object(i.__)("Filter Products by Price",'woocommerce'),instructions:Object(i.__)("Display a slider to filter products in your store by price.",'woocommerce')},Object(o.createElement)("p",null,Object(i.__)("Products with prices are needed for filtering by price. You haven't created any products yet.",'woocommerce')),Object(o.createElement)(b.Button,{className:"wc-block-price-slider__add_product_button",isDefault:!0,isLarge:!0,href:Object(d.getAdminLink)("post-new.php?post_type=product")},Object(i.__)("Add new product",'woocommerce')+" ",Object(o.createElement)(L.a,null)),Object(o.createElement)(b.Button,{className:"wc-block-price-slider__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(i.__)("Learn more",'woocommerce'))):Object(o.createElement)("div",{className:r},Object(o.createElement)(s.InspectorControls,{key:"inspector"},Object(o.createElement)(b.PanelBody,{title:Object(i.__)("Block Settings",'woocommerce')},Object(o.createElement)(B.a,{label:Object(i.__)("Price Range",'woocommerce'),value:u?"editable":"text",options:[{label:Object(i.__)("Editable",'woocommerce'),value:"editable"},{label:Object(i.__)("Text",'woocommerce'),value:"text"}],onChange:function(e){return n({showInputFields:"editable"===e})}}),Object(o.createElement)(b.ToggleControl,{label:Object(i.__)("Filter button",'woocommerce'),help:l?Object(i.__)("Results will only update when the button is pressed.",'woocommerce'):Object(i.__)("Results will update when the slider is moved.",'woocommerce'),checked:l,onChange:function(){return n({showFilterButton:!l})}}),Object(o.createElement)("p",null,Object(i.__)("Heading Level",'woocommerce')),Object(o.createElement)(f.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:a,onChange:function(e){return n({headingLevel:e})}}))),Object(o.createElement)(m.a,{headingLevel:a,heading:c,onChange:function(e){return n({heading:e})}}),Object(o.createElement)(b.Disabled,null,Object(o.createElement)(N,{attributes:t,isEditor:!0}))))},save:function(e){var t=e.attributes,n=t.className,r={"data-showinputfields":t.showInputFields,"data-showfilterbutton":t.showFilterButton,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(o.createElement)("div",c()({className:l()("is-loading",n)},r),Object(o.createElement)("span",{"aria-hidden":!0,className:"wc-block-product-categories__placeholder"}))}})},84:function(e,t,n){"use strict";var r=n(13),c=n.n(r),o=n(17),i=n.n(o),a=n(14),u=n.n(a),l=n(15),s=n.n(l),b=n(16),p=n.n(b),d=n(0),f=n(5),m=n(1),g=n(3);function O(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(d.createElement)(g.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(d.createElement)(g.Path,{d:n[t]})):null}var h=function(e){function t(){return c()(this,t),u()(this,s()(t).apply(this,arguments))}return p()(t,e),i()(t,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(d.createElement)(O,{level:e}),title:Object(m.sprintf)(Object(m.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,o=t.maxLevel,i=t.selectedLevel,a=t.onChange;return Object(d.createElement)(g.Toolbar,{isCollapsed:r,icon:Object(d.createElement)(O,{level:i}),controls:Object(f.range)(c,o).map((function(t){return e.createLevelControl(t,i,a)}))})}}]),t}(d.Component);t.a=h},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),c=n(4),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.CURRENCY.priceFormat,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.CURRENCY.symbol,o=parseInt(e,10);if(!isFinite(o))return"";var i=Object(r.sprintf)(t,n,o),a=document.createElement("textarea");return a.innerHTML=i,a.value}},91:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return m}));var r=n(7),c=n.n(r),o=n(25),i=n.n(o),a=n(35),u=n(34),l=n(0),s=n(49),b=n(38);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var d=function(e){var t=Object(s.a)();e=e||t;var n=Object(u.useSelect)((function(t){return t(a.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(u.useDispatch)(a.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(l.useCallback)((function(t){r(e,t)}),[e])]},f=function(e,t,n){var r=Object(s.a)();n=n||r;var c=Object(u.useSelect)((function(r){return r(a.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),o=Object(u.useDispatch)(a.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(l.useCallback)((function(t){o(n,e,t)}),[n,e])]},m=function(e,t){var n=Object(s.a)(),r=d(t=t||n),o=i()(r,2),a=o[0],u=o[1],f=Object(b.a)(e),m=Object(l.useRef)(!1);return Object(l.useEffect)((function(){u(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a,{},f)),m.current=!0}),[f]),m.current?[a,u]:[e,u]}}});
packages/woocommerce-blocks/build/vendors-legacy.js CHANGED
@@ -18,7 +18,7 @@ var n=r(476),a=r(477),o=r(478);function i(){return s.TYPED_ARRAY_SUPPORT?2147483
18
  *
19
  * This source code is licensed under the MIT license found in the
20
  * LICENSE file in the root directory of this source tree.
21
- */Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,a=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,c=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,f=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,h=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,b=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case f:case d:case i:case s:case c:case p:return e;default:switch(e=e&&e.$$typeof){case u:case h:case g:case b:case l:return e;default:return t}}case o:return t}}}function k(e){return _(e)===d}t.typeOf=_,t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=a,t.ForwardRef=h,t.Fragment=i,t.Lazy=g,t.Memo=b,t.Portal=o,t.Profiler=s,t.StrictMode=c,t.Suspense=p,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===s||e===c||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===b||e.$$typeof===l||e.$$typeof===u||e.$$typeof===h||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w)},t.isAsyncMode=function(e){return k(e)||_(e)===f},t.isConcurrentMode=k,t.isContextConsumer=function(e){return _(e)===u},t.isContextProvider=function(e){return _(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return _(e)===h},t.isFragment=function(e){return _(e)===i},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===b},t.isPortal=function(e){return _(e)===o},t.isProfiler=function(e){return _(e)===s},t.isStrictMode=function(e){return _(e)===c},t.isSuspense=function(e){return _(e)===p}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.CHANNEL="__direction__",t.DIRECTIONS={LTR:"ltr",RTL:"rtl"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(2),o=(n=a)&&n.__esModule?n:{default:n};t.default=o.default.shape({getState:o.default.func,setState:o.default.func,subscribe:o.default.func})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof e)return e;if("function"==typeof e)return e(t);return""}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=l;var n=c(r(13)),a=r(42),o=c(r(162)),i=c(r(438));function c(e){return e&&e.__esModule?e:{default:e}}var s=(0,a.forbidExtraProps)({children:(0,a.or)([(0,a.childrenOfType)(o.default),(0,a.childrenOfType)(i.default)]).isRequired});function l(e){var t=e.children;return n.default.createElement("tr",null,t)}l.propTypes=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureCustomizableCalendarDay=t.selectedStyles=t.lastInRangeStyles=t.selectedSpanStyles=t.hoveredSpanStyles=t.blockedOutOfRangeStyles=t.blockedCalendarStyles=t.blockedMinNightsStyles=t.highlightedCalendarStyles=t.outsideStyles=t.defaultStyles=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=g(r(50)),i=g(r(13)),c=g(r(2)),s=g(r(95)),l=g(r(79)),u=r(42),f=r(62),d=g(r(11)),h=r(51),p=g(r(56)),m=g(r(243)),b=r(33);function g(e){return e&&e.__esModule?e:{default:e}}var v=g(r(219)).default.reactDates.color;function y(e,t){if(!e)return null;var r=e.hover;return t&&r?r:e}var w=c.default.shape({background:c.default.string,border:(0,u.or)([c.default.string,c.default.number]),color:c.default.string,hover:c.default.shape({background:c.default.string,border:(0,u.or)([c.default.string,c.default.number]),color:c.default.string})}),_=(0,u.forbidExtraProps)((0,o.default)({},f.withStylesPropTypes,{day:l.default.momentObj,daySize:u.nonNegativeInteger,isOutsideDay:c.default.bool,modifiers:c.default.instanceOf(Set),isFocused:c.default.bool,tabIndex:c.default.oneOf([0,-1]),onDayClick:c.default.func,onDayMouseEnter:c.default.func,onDayMouseLeave:c.default.func,renderDayContents:c.default.func,ariaLabelFormat:c.default.string,defaultStyles:w,outsideStyles:w,todayStyles:w,firstDayOfWeekStyles:w,lastDayOfWeekStyles:w,highlightedCalendarStyles:w,blockedMinNightsStyles:w,blockedCalendarStyles:w,blockedOutOfRangeStyles:w,hoveredSpanStyles:w,selectedSpanStyles:w,lastInRangeStyles:w,selectedStyles:w,selectedStartStyles:w,selectedEndStyles:w,afterHoveredStartStyles:w,phrases:c.default.shape((0,p.default)(h.CalendarDayPhrases))})),k=t.defaultStyles={border:"1px solid "+String(v.core.borderLight),color:v.text,background:v.background,hover:{background:v.core.borderLight,border:"1px double "+String(v.core.borderLight),color:"inherit"}},E=t.outsideStyles={background:v.outside.backgroundColor,border:0,color:v.outside.color},O=t.highlightedCalendarStyles={background:v.highlighted.backgroundColor,color:v.highlighted.color,hover:{background:v.highlighted.backgroundColor_hover,color:v.highlighted.color_active}},S=t.blockedMinNightsStyles={background:v.minimumNights.backgroundColor,border:"1px solid "+String(v.minimumNights.borderColor),color:v.minimumNights.color,hover:{background:v.minimumNights.backgroundColor_hover,color:v.minimumNights.color_active}},M=t.blockedCalendarStyles={background:v.blocked_calendar.backgroundColor,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color,hover:{background:v.blocked_calendar.backgroundColor_hover,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color_active}},C=t.blockedOutOfRangeStyles={background:v.blocked_out_of_range.backgroundColor,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color,hover:{background:v.blocked_out_of_range.backgroundColor_hover,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color_active}},D=t.hoveredSpanStyles={background:v.hoveredSpan.backgroundColor,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color,hover:{background:v.hoveredSpan.backgroundColor_hover,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color_active}},j=t.selectedSpanStyles={background:v.selectedSpan.backgroundColor,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color,hover:{background:v.selectedSpan.backgroundColor_hover,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color_active}},x=t.lastInRangeStyles={borderRight:v.core.primary},P=t.selectedStyles={background:v.selected.backgroundColor,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color,hover:{background:v.selected.backgroundColor_hover,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color_active}},F={day:(0,d.default)(),daySize:b.DAY_SIZE,isOutsideDay:!1,modifiers:new Set,isFocused:!1,tabIndex:-1,onDayClick:function(){},onDayMouseEnter:function(){},onDayMouseLeave:function(){},renderDayContents:null,ariaLabelFormat:"dddd, LL",defaultStyles:k,outsideStyles:E,todayStyles:{},highlightedCalendarStyles:O,blockedMinNightsStyles:S,blockedCalendarStyles:M,blockedOutOfRangeStyles:C,hoveredSpanStyles:D,selectedSpanStyles:j,lastInRangeStyles:x,selectedStyles:P,selectedStartStyles:{},selectedEndStyles:{},afterHoveredStartStyles:{},firstDayOfWeekStyles:{},lastDayOfWeekStyles:{},phrases:h.CalendarDayPhrases},T=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.state={isHovered:!1},o.setButtonRef=o.setButtonRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"shouldComponentUpdate",value:function(e,t){return(0,s.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.isFocused,n=t.tabIndex;0===n&&(r||n!==e.tabIndex)&&this.buttonRef.focus()}},{key:"onDayClick",value:function(e,t){(0,this.props.onDayClick)(e,t)}},{key:"onDayMouseEnter",value:function(e,t){var r=this.props.onDayMouseEnter;this.setState({isHovered:!0}),r(e,t)}},{key:"onDayMouseLeave",value:function(e,t){var r=this.props.onDayMouseLeave;this.setState({isHovered:!1}),r(e,t)}},{key:"onKeyDown",value:function(e,t){var r=this.props.onDayClick,n=t.key;"Enter"!==n&&" "!==n||r(e,t)}},{key:"setButtonRef",value:function(e){this.buttonRef=e}},{key:"render",value:function(){var e=this,t=this.props,r=t.day,a=t.ariaLabelFormat,o=t.daySize,c=t.isOutsideDay,s=t.modifiers,l=t.tabIndex,u=t.renderDayContents,d=t.styles,h=t.phrases,p=t.defaultStyles,b=t.outsideStyles,g=t.todayStyles,v=t.firstDayOfWeekStyles,w=t.lastDayOfWeekStyles,_=t.highlightedCalendarStyles,k=t.blockedMinNightsStyles,E=t.blockedCalendarStyles,O=t.blockedOutOfRangeStyles,S=t.hoveredSpanStyles,M=t.selectedSpanStyles,C=t.lastInRangeStyles,D=t.selectedStyles,j=t.selectedStartStyles,x=t.selectedEndStyles,P=t.afterHoveredStartStyles,F=this.state.isHovered;if(!r)return i.default.createElement("td",null);var T=(0,m.default)(r,a,o,s,h),I=T.daySizeStyles,A=T.useDefaultCursor,N=T.selected,R=T.hoveredSpan,B=T.isOutsideRange,L=T.ariaLabel;return i.default.createElement("td",n({},(0,f.css)(d.CalendarDay,A&&d.CalendarDay__defaultCursor,I,y(p,F),c&&y(b,F),s.has("today")&&y(g,F),s.has("first-day-of-week")&&y(v,F),s.has("last-day-of-week")&&y(w,F),s.has("highlighted-calendar")&&y(_,F),s.has("blocked-minimum-nights")&&y(k,F),s.has("blocked-calendar")&&y(E,F),R&&y(S,F),s.has("after-hovered-start")&&y(P,F),s.has("selected-span")&&y(M,F),s.has("last-in-range")&&y(C,F),N&&y(D,F),s.has("selected-start")&&y(j,F),s.has("selected-end")&&y(x,F),B&&y(O,F)),{role:"button",ref:this.setButtonRef,"aria-label":L,onMouseEnter:function(t){e.onDayMouseEnter(r,t)},onMouseLeave:function(t){e.onDayMouseLeave(r,t)},onMouseUp:function(e){e.currentTarget.blur()},onClick:function(t){e.onDayClick(r,t)},onKeyDown:function(t){e.onKeyDown(r,t)},tabIndex:l}),u?u(r,s):r.format("D"))}}]),t}(i.default.Component);T.propTypes=_,T.defaultProps=F,t.PureCustomizableCalendarDay=T,t.default=(0,f.withStyles)((function(e){return{CalendarDay:{boxSizing:"border-box",cursor:"pointer",fontSize:e.reactDates.font.size,textAlign:"center",":active":{outline:0}},CalendarDay__defaultCursor:{cursor:"default"}}}))(T)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.default.localeData().firstDayOfWeek();if(!o.default.isMoment(e)||!e.isValid())throw new TypeError("`month` must be a valid moment object");if(-1===i.WEEKDAYS.indexOf(r))throw new TypeError("`firstDayOfWeek` must be an integer between 0 and 6");for(var n=e.clone().startOf("month").hour(12),a=e.clone().endOf("month").hour(12),c=(n.day()+7-r)%7,s=(r+6-a.day())%7,l=n.clone().subtract(c,"day"),u=a.clone().add(s,"day").diff(l,"days")+1,f=l.clone(),d=[],h=0;h<u;h+=1){h%7==0&&d.push([]);var p=null;(h>=c&&h<u-s||t)&&(p=f.clone()),d[d.length-1].push(p),f.add(1,"day")}return d};var n,a=r(11),o=(n=a)&&n.__esModule?n:{default:n},i=r(33)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!!("undefined"!=typeof window&&"TransitionEvent"in window)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{transform:e,msTransform:e,MozTransform:e,WebkitTransform:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().subtract(1,"month"),t)};var n=o(r(11)),a=o(r(248));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().add(1,"month"),t)};var n=o(r(11)),a=o(r(248));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureDateRangePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=M(r(50)),i=M(r(13)),c=M(r(95)),s=M(r(11)),l=r(62),u=r(317),f=r(42),d=r(130),h=M(r(99)),p=M(r(163)),m=M(r(253)),b=r(51),g=M(r(257)),v=M(r(258)),y=M(r(165)),w=M(r(109)),_=M(r(259)),k=M(r(260)),E=M(r(269)),O=M(r(111)),S=r(33);function M(e){return e&&e.__esModule?e:{default:e}}var C=(0,f.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,m.default)),D={startDate:null,endDate:null,focusedInput:null,startDatePlaceholderText:"Start Date",endDatePlaceholderText:"End Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDates:!1,showDefaultInputIcon:!1,inputIconPosition:S.ICON_BEFORE_POSITION,customInputIcon:null,customArrowIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,keepFocusOnInput:!1,renderMonthText:null,orientation:S.HORIZONTAL_ORIENTATION,anchorDirection:S.ANCHOR_LEFT,openDirection:S.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDates:!1,renderCalendarInfo:null,calendarInfoPosition:S.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:S.DAY_SIZE,isRTL:!1,firstDayOfWeek:null,verticalHeight:null,transitionDuration:void 0,verticalSpacing:S.DEFAULT_VERTICAL_SPACING,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,minimumNights:1,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,w.default)(e,(0,s.default)())},isDayHighlighted:function(){return!1},displayFormat:function(){return s.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:b.DateRangePickerPhrases,dayAriaLabelFormat:void 0},j=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={dayPickerContainerStyles:{},isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1},r.isTouchDevice=!1,r.onOutsideClick=r.onOutsideClick.bind(r),r.onDateRangePickerInputFocus=r.onDateRangePickerInputFocus.bind(r),r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,d.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focusedInput&&this.setState({isDateRangePickerInputFocused:!0}),this.isTouchDevice=(0,h.default)()}},{key:"shouldComponentUpdate",value:function(e,t){return(0,c.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props.focusedInput;!e.focusedInput&&t&&this.isOpened()?(this.responsivizePickerPosition(),this.disableScroll()):!e.focusedInput||t||this.isOpened()||this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onOutsideClick",value:function(e){var t=this.props,r=t.onFocusChange,n=t.onClose,a=t.startDate,o=t.endDate,i=t.appendToBody;this.isOpened()&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1}),r(null),n({startDate:a,endDate:o})))}},{key:"onDateRangePickerInputFocus",value:function(e){var t=this.props,r=t.onFocusChange,n=t.readOnly,a=t.withPortal,o=t.withFullScreenPortal,i=t.keepFocusOnInput;e&&(a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur()),r(e)}},{key:"onDayPickerFocus",value:function(){var e=this.props,t=e.focusedInput,r=e.onFocusChange;t||r(S.START_DATE),this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isDateRangePickerInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"isOpened",value:function(){var e=this.props.focusedInput;return e===S.START_DATE||e===S.END_DATE}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll;(t||r)&&this.isOpened()&&(this.enableScroll=(0,_.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){if(this.setState({dayPickerContainerStyles:{}}),this.isOpened()){var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,c=e.appendToBody,s=this.state.dayPickerContainerStyles,l=r===S.ANCHOR_LEFT;if(!a&&!i){var u=this.dayPickerContainer.getBoundingClientRect(),f=s[r]||0,d=l?u[S.ANCHOR_RIGHT]:u[S.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,g.default)(r,f,d,n),c&&(0,v.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.withPortal,r=e.withFullScreenPortal,n=e.appendToBody;return this.isOpened()?t||r||n?i.default.createElement(u.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.isDayBlocked,o=e.isDayHighlighted,c=e.isOutsideRange,u=e.numberOfMonths,f=e.orientation,d=e.monthFormat,h=e.renderMonthText,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onDatesChange,w=e.onFocusChange,_=e.withPortal,k=e.withFullScreenPortal,M=e.daySize,C=e.enableOutsideDays,D=e.focusedInput,j=e.startDate,x=e.endDate,P=e.minimumNights,F=e.keepOpenOnDateSelect,T=e.renderCalendarDay,I=e.renderDayContents,A=e.renderCalendarInfo,N=e.renderMonthElement,R=e.calendarInfoPosition,B=e.firstDayOfWeek,L=e.initialVisibleMonth,U=e.hideKeyboardShortcutsPanel,z=e.customCloseIcon,H=e.onClose,V=e.phrases,q=e.dayAriaLabelFormat,K=e.isRTL,W=e.weekDayFormat,G=e.styles,Y=e.verticalHeight,$=e.transitionDuration,Q=e.verticalSpacing,X=e.small,Z=e.disabled,J=e.theme.reactDates,ee=this.state,te=ee.dayPickerContainerStyles,re=ee.isDayPickerFocused,ne=ee.showKeyboardShortcuts,ae=!k&&_?this.onOutsideClick:void 0,oe=L||function(){return j||x||(0,s.default)()},ie=z||i.default.createElement(O.default,(0,l.css)(G.DateRangePicker_closeButton_svg)),ce=(0,y.default)(J,X),se=_||k;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,l.css)(G.DateRangePicker_picker,t===S.ANCHOR_LEFT&&G.DateRangePicker_picker__directionLeft,t===S.ANCHOR_RIGHT&&G.DateRangePicker_picker__directionRight,f===S.HORIZONTAL_ORIENTATION&&G.DateRangePicker_picker__horizontal,f===S.VERTICAL_ORIENTATION&&G.DateRangePicker_picker__vertical,!se&&r===S.OPEN_DOWN&&{top:ce+Q},!se&&r===S.OPEN_UP&&{bottom:ce+Q},se&&G.DateRangePicker_picker__portal,k&&G.DateRangePicker_picker__fullScreenPortal,K&&G.DateRangePicker_picker__rtl,te),{onClick:ae}),i.default.createElement(E.default,{orientation:f,enableOutsideDays:C,numberOfMonths:u,onPrevMonthClick:b,onNextMonthClick:g,onDatesChange:v,onFocusChange:w,onClose:H,focusedInput:D,startDate:j,endDate:x,monthFormat:d,renderMonthText:h,withPortal:se,daySize:M,initialVisibleMonth:oe,hideKeyboardShortcutsPanel:U,navPrev:p,navNext:m,minimumNights:P,isOutsideRange:c,isDayHighlighted:o,isDayBlocked:a,keepOpenOnDateSelect:F,renderCalendarDay:T,renderDayContents:I,renderCalendarInfo:A,renderMonthElement:N,calendarInfoPosition:R,isFocused:re,showKeyboardShortcuts:ne,onBlur:this.onDayPickerBlur,phrases:V,dayAriaLabelFormat:q,isRTL:K,firstDayOfWeek:B,weekDayFormat:W,verticalHeight:Y,transitionDuration:$,disabled:Z}),k&&i.default.createElement("button",n({},(0,l.css)(G.DateRangePicker_closeButton),{type:"button",onClick:this.onOutsideClick,"aria-label":V.closeDatePicker}),ie))}},{key:"render",value:function(){var e=this.props,t=e.startDate,r=e.startDateId,a=e.startDatePlaceholderText,o=e.endDate,c=e.endDateId,s=e.endDatePlaceholderText,u=e.focusedInput,f=e.screenReaderInputMessage,d=e.showClearDates,h=e.showDefaultInputIcon,m=e.inputIconPosition,b=e.customInputIcon,g=e.customArrowIcon,v=e.customCloseIcon,y=e.disabled,w=e.required,_=e.readOnly,E=e.openDirection,O=e.phrases,M=e.isOutsideRange,C=e.minimumNights,D=e.withPortal,j=e.withFullScreenPortal,x=e.displayFormat,P=e.reopenPickerOnClearDates,F=e.keepOpenOnDateSelect,T=e.onDatesChange,I=e.onClose,A=e.isRTL,N=e.noBorder,R=e.block,B=e.verticalSpacing,L=e.small,U=e.regular,z=e.styles,H=this.state.isDateRangePickerInputFocused,V=!D&&!j,q=B<S.FANG_HEIGHT_PX,K=i.default.createElement(k.default,{startDate:t,startDateId:r,startDatePlaceholderText:a,isStartDateFocused:u===S.START_DATE,endDate:o,endDateId:c,endDatePlaceholderText:s,isEndDateFocused:u===S.END_DATE,displayFormat:x,showClearDates:d,showCaret:!D&&!j&&!q,showDefaultInputIcon:h,inputIconPosition:m,customInputIcon:b,customArrowIcon:g,customCloseIcon:v,disabled:y,required:w,readOnly:_,openDirection:E,reopenPickerOnClearDates:P,keepOpenOnDateSelect:F,isOutsideRange:M,minimumNights:C,withFullScreenPortal:j,onDatesChange:T,onFocusChange:this.onDateRangePickerInputFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,onClose:I,phrases:O,screenReaderMessage:f,isFocused:H,isRTL:A,noBorder:N,block:R,small:L,regular:U,verticalSpacing:B});return i.default.createElement("div",n({ref:this.setContainerRef},(0,l.css)(z.DateRangePicker,R&&z.DateRangePicker__block)),V&&i.default.createElement(p.default,{onOutsideClick:this.onOutsideClick},K,this.maybeRenderDayPickerWithPortal()),!V&&K,!V&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);j.propTypes=C,j.defaultProps=D,t.PureDateRangePicker=j,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{DateRangePicker:{position:"relative",display:"inline-block"},DateRangePicker__block:{display:"block"},DateRangePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},DateRangePicker_picker__rtl:{direction:"rtl"},DateRangePicker_picker__directionLeft:{left:0},DateRangePicker_picker__directionRight:{right:0},DateRangePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},DateRangePicker_picker__fullScreenPortal:{backgroundColor:r.background},DateRangePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},DateRangePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(j)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=u(r(13)),o=u(r(2)),i=r(42),c=r(130),s=u(r(164)),l=u(r(448));function u(e){return e&&e.__esModule?e:{default:e}}var f={BLOCK:"block",FLEX:"flex",INLINE:"inline",INLINE_BLOCK:"inline-block",CONTENTS:"contents"},d=(0,i.forbidExtraProps)({children:o.default.node.isRequired,onOutsideClick:o.default.func.isRequired,disabled:o.default.bool,useCapture:o.default.bool,display:o.default.oneOf((0,s.default)(f))}),h={disabled:!1,useCapture:!0,display:f.BLOCK},p=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.onMouseDown=o.onMouseDown.bind(o),o.onMouseUp=o.onMouseUp.bind(o),o.setChildNodeRef=o.setChildNodeRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.disabled,r=e.useCapture;t||this.addMouseDownEventListener(r)}},{key:"componentDidUpdate",value:function(e){var t=e.disabled,r=this.props,n=r.disabled,a=r.useCapture;t!==n&&(n?this.removeEventListeners():this.addMouseDownEventListener(a))}},{key:"componentWillUnmount",value:function(){this.removeEventListeners()}},{key:"onMouseDown",value:function(e){var t=this.props.useCapture;this.childNode&&(0,l.default)(this.childNode,e.target)||(this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),this.removeMouseUp=(0,c.addEventListener)(document,"mouseup",this.onMouseUp,{capture:t}))}},{key:"onMouseUp",value:function(e){var t=this.props.onOutsideClick,r=this.childNode&&(0,l.default)(this.childNode,e.target);this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),r||t(e)}},{key:"setChildNodeRef",value:function(e){this.childNode=e}},{key:"addMouseDownEventListener",value:function(e){this.removeMouseDown=(0,c.addEventListener)(document,"mousedown",this.onMouseDown,{capture:e})}},{key:"removeEventListeners",value:function(){this.removeMouseDown&&this.removeMouseDown(),this.removeMouseUp&&this.removeMouseUp()}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.display;return a.default.createElement("div",{ref:this.setChildNodeRef,style:r!==f.BLOCK&&(0,s.default)(f).includes(r)?{display:r}:void 0},t)}}]),t}(a.default.Component);t.default=p,p.propTypes=d,p.defaultProps=h},function(e,t,r){"use strict";e.exports=r(204)},function(e,t,r){"use strict";var n=r(250),a=r(60);e.exports=function(){var e=n();return a(Object,{values:e},{values:function(){return Object.values!==e}}),e}},function(e,t,r){"use strict";var n=r(60),a=r(251),o=r(252),i=o(),c=function(e,t){return i.apply(e,[t])};n(c,{getPolyfill:o,implementation:a,shim:r(449)}),e.exports=c},function(e,t,r){"use strict";var n=r(60),a=r(252);e.exports=function(){var e=a();return"undefined"!=typeof document&&(n(document,{contains:e},{contains:function(){return document.contains!==e}}),"undefined"!=typeof Element&&n(Element.prototype,{contains:e},{contains:function(){return Element.prototype.contains!==e}})),e}},function(e,t,r){var n=r(166),a=r(451),o=r(453),i="Expected a function",c=Math.max,s=Math.min;e.exports=function(e,t,r){var l,u,f,d,h,p,m=0,b=!1,g=!1,v=!0;if("function"!=typeof e)throw new TypeError(i);function y(t){var r=l,n=u;return l=u=void 0,m=t,d=e.apply(n,r)}function w(e){var r=e-p;return void 0===p||r>=t||r<0||g&&e-m>=f}function _(){var e=a();if(w(e))return k(e);h=setTimeout(_,function(e){var r=t-(e-p);return g?s(r,f-(e-m)):r}(e))}function k(e){return h=void 0,v&&l?y(e):(l=u=void 0,d)}function E(){var e=a(),r=w(e);if(l=arguments,u=this,p=e,r){if(void 0===h)return function(e){return m=e,h=setTimeout(_,t),b?y(e):d}(p);if(g)return clearTimeout(h),h=setTimeout(_,t),y(p)}return void 0===h&&(h=setTimeout(_,t)),d}return t=o(t)||0,n(r)&&(b=!!r.leading,f=(g="maxWait"in r)?c(o(r.maxWait)||0,t):f,v="trailing"in r?!!r.trailing:v),E.cancel=function(){void 0!==h&&clearTimeout(h),m=0,l=p=u=h=void 0},E.flush=function(){return void 0===h?d:k(a())},E}},function(e,t,r){var n=r(264);e.exports=function(){return n.Date.now()}},function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(61))},function(e,t,r){var n=r(166),a=r(454),o=NaN,i=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return o;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var r=s.test(e);return r||l.test(e)?u(e.slice(2),r?2:8):c.test(e)?o:+e}},function(e,t,r){var n=r(455),a=r(458),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||a(e)&&n(e)==o}},function(e,t,r){var n=r(265),a=r(456),o=r(457),i="[object Null]",c="[object Undefined]",s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?c:i:s&&s in Object(e)?a(e):o(e)}},function(e,t,r){var n=r(265),a=Object.prototype,o=a.hasOwnProperty,i=a.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[c]=r:delete e[c]),a}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return e?r(e(t.clone())):t};var n=function(e){return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=g(r(50)),o=g(r(13)),i=g(r(2)),c=r(42),s=r(62),l=r(51),u=g(r(56)),f=g(r(267)),d=g(r(266)),h=g(r(461)),p=g(r(462)),m=g(r(98)),b=r(33);function g(e){return e&&e.__esModule?e:{default:e}}function v(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var y=(0,c.forbidExtraProps)((0,a.default)({},s.withStylesPropTypes,{navPrev:i.default.node,navNext:i.default.node,orientation:m.default,onPrevMonthClick:i.default.func,onNextMonthClick:i.default.func,phrases:i.default.shape((0,u.default)(l.DayPickerNavigationPhrases)),isRTL:i.default.bool})),w={navPrev:null,navNext:null,orientation:b.HORIZONTAL_ORIENTATION,onPrevMonthClick:function(){},onNextMonthClick:function(){},phrases:l.DayPickerNavigationPhrases,isRTL:!1};function _(e){var t=e.navPrev,r=e.navNext,a=e.onPrevMonthClick,i=e.onNextMonthClick,c=e.orientation,l=e.phrases,u=e.isRTL,m=e.styles,g=c===b.HORIZONTAL_ORIENTATION,y=c!==b.HORIZONTAL_ORIENTATION,w=c===b.VERTICAL_SCROLLABLE,_=t,k=r,E=!1,O=!1;if(!_){E=!0;var S=y?h.default:f.default;u&&!y&&(S=d.default),_=o.default.createElement(S,(0,s.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}if(!k){O=!0;var M=y?p.default:d.default;u&&!y&&(M=f.default),k=o.default.createElement(M,(0,s.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}var C=w?O:O||E;return o.default.createElement("div",s.css.apply(void 0,[m.DayPickerNavigation,g&&m.DayPickerNavigation__horizontal].concat(v(y&&[m.DayPickerNavigation__vertical,C&&m.DayPickerNavigation__verticalDefault]),v(w&&[m.DayPickerNavigation__verticalScrollable,C&&m.DayPickerNavigation__verticalScrollableDefault]))),!w&&o.default.createElement("div",n({role:"button",tabIndex:"0"},s.css.apply(void 0,[m.DayPickerNavigation_button,E&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(E&&[m.DayPickerNavigation_button__horizontalDefault,!u&&m.DayPickerNavigation_leftButton__horizontalDefault,u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical].concat(v(E&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_prevButton__verticalDefault]))))),{"aria-label":l.jumpToPrevMonth,onClick:a,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||a(e)},onMouseUp:function(e){e.currentTarget.blur()}}),_),o.default.createElement("div",n({role:"button",tabIndex:"0"},s.css.apply(void 0,[m.DayPickerNavigation_button,O&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(O&&[m.DayPickerNavigation_button__horizontalDefault,u&&m.DayPickerNavigation_leftButton__horizontalDefault,!u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical,m.DayPickerNavigation_nextButton__vertical].concat(v(O&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_nextButton__verticalDefault,w&&m.DayPickerNavigation_nextButton__verticalScrollableDefault]))))),{"aria-label":l.jumpToNextMonth,onClick:i,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||i(e)},onMouseUp:function(e){e.currentTarget.blur()}}),k))}_.propTypes=y,_.defaultProps=w,t.default=(0,s.withStyles)((function(e){var t=e.reactDates,r=t.color;return{DayPickerNavigation:{position:"relative",zIndex:t.zIndex+2},DayPickerNavigation__horizontal:{height:0},DayPickerNavigation__vertical:{},DayPickerNavigation__verticalScrollable:{},DayPickerNavigation__verticalDefault:{position:"absolute",width:"100%",height:52,bottom:0,left:0},DayPickerNavigation__verticalScrollableDefault:{position:"relative"},DayPickerNavigation_button:{cursor:"pointer",userSelect:"none",border:0,padding:0,margin:0},DayPickerNavigation_button__default:{border:"1px solid "+String(r.core.borderLight),backgroundColor:r.background,color:r.placeholderText,":focus":{border:"1px solid "+String(r.core.borderMedium)},":hover":{border:"1px solid "+String(r.core.borderMedium)},":active":{background:r.backgroundDark}},DayPickerNavigation_button__horizontal:{},DayPickerNavigation_button__horizontalDefault:{position:"absolute",top:18,lineHeight:.78,borderRadius:3,padding:"6px 9px"},DayPickerNavigation_leftButton__horizontalDefault:{left:22},DayPickerNavigation_rightButton__horizontalDefault:{right:22},DayPickerNavigation_button__vertical:{},DayPickerNavigation_button__verticalDefault:{padding:5,background:r.background,boxShadow:"0 0 5px 2px rgba(0, 0, 0, 0.1)",position:"relative",display:"inline-block",height:"100%",width:"50%"},DayPickerNavigation_prevButton__verticalDefault:{},DayPickerNavigation_nextButton__verticalDefault:{borderLeft:0},DayPickerNavigation_nextButton__verticalScrollableDefault:{width:"100%"},DayPickerNavigation_svg__horizontal:{height:19,width:19,fill:r.core.grayLight,display:"block"},DayPickerNavigation_svg__vertical:{height:42,width:42,fill:r.text,display:"block"}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(13),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(13),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BOTTOM_RIGHT=t.TOP_RIGHT=t.TOP_LEFT=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=p(r(50)),i=p(r(13)),c=p(r(2)),s=r(42),l=r(62),u=r(51),f=p(r(56)),d=p(r(464)),h=p(r(111));function p(e){return e&&e.__esModule?e:{default:e}}var m=t.TOP_LEFT="top-left",b=t.TOP_RIGHT="top-right",g=t.BOTTOM_RIGHT="bottom-right",v=(0,s.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,{block:c.default.bool,buttonLocation:c.default.oneOf([m,b,g]),showKeyboardShortcutsPanel:c.default.bool,openKeyboardShortcutsPanel:c.default.func,closeKeyboardShortcutsPanel:c.default.func,phrases:c.default.shape((0,f.default)(u.DayPickerKeyboardShortcutsPhrases))})),y={block:!1,buttonLocation:g,showKeyboardShortcutsPanel:!1,openKeyboardShortcutsPanel:function(){},closeKeyboardShortcutsPanel:function(){},phrases:u.DayPickerKeyboardShortcutsPhrases};function w(e){return[{unicode:"↵",label:e.enterKey,action:e.selectFocusedDate},{unicode:"←/→",label:e.leftArrowRightArrow,action:e.moveFocusByOneDay},{unicode:"↑/↓",label:e.upArrowDownArrow,action:e.moveFocusByOneWeek},{unicode:"PgUp/PgDn",label:e.pageUpPageDown,action:e.moveFocusByOneMonth},{unicode:"Home/End",label:e.homeEnd,action:e.moveFocustoStartAndEndOfWeek},{unicode:"Esc",label:e.escape,action:e.returnFocusToInput},{unicode:"?",label:e.questionMark,action:e.openThisPanel}]}var _=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n))),i=o.props.phrases;return o.keyboardShortcuts=w(i),o.onShowKeyboardShortcutsButtonClick=o.onShowKeyboardShortcutsButtonClick.bind(o),o.setShowKeyboardShortcutsButtonRef=o.setShowKeyboardShortcutsButtonRef.bind(o),o.setHideKeyboardShortcutsButtonRef=o.setHideKeyboardShortcutsButtonRef.bind(o),o.handleFocus=o.handleFocus.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentWillReceiveProps",value:function(e){var t=this.props.phrases;e.phrases!==t&&(this.keyboardShortcuts=w(e.phrases))}},{key:"componentDidUpdate",value:function(){this.handleFocus()}},{key:"onKeyDown",value:function(e){e.stopPropagation();var t=this.props.closeKeyboardShortcutsPanel;switch(e.key){case"Enter":case" ":case"Spacebar":case"Escape":t();break;case"ArrowUp":case"ArrowDown":break;case"Tab":case"Home":case"End":case"PageUp":case"PageDown":case"ArrowLeft":case"ArrowRight":e.preventDefault()}}},{key:"onShowKeyboardShortcutsButtonClick",value:function(){var e=this;(0,this.props.openKeyboardShortcutsPanel)((function(){e.showKeyboardShortcutsButton.focus()}))}},{key:"setShowKeyboardShortcutsButtonRef",value:function(e){this.showKeyboardShortcutsButton=e}},{key:"setHideKeyboardShortcutsButtonRef",value:function(e){this.hideKeyboardShortcutsButton=e}},{key:"handleFocus",value:function(){this.hideKeyboardShortcutsButton&&this.hideKeyboardShortcutsButton.focus()}},{key:"render",value:function(){var e=this,t=this.props,r=t.block,a=t.buttonLocation,o=t.showKeyboardShortcutsPanel,c=t.closeKeyboardShortcutsPanel,s=t.styles,u=t.phrases,f=o?u.hideKeyboardShortcutsPanel:u.showKeyboardShortcutsPanel,p=a===g,v=a===b,y=a===m;return i.default.createElement("div",null,i.default.createElement("button",n({ref:this.setShowKeyboardShortcutsButtonRef},(0,l.css)(s.DayPickerKeyboardShortcuts_buttonReset,s.DayPickerKeyboardShortcuts_show,p&&s.DayPickerKeyboardShortcuts_show__bottomRight,v&&s.DayPickerKeyboardShortcuts_show__topRight,y&&s.DayPickerKeyboardShortcuts_show__topLeft),{type:"button","aria-label":f,onClick:this.onShowKeyboardShortcutsButtonClick,onKeyDown:function(t){"Enter"===t.key?t.preventDefault():"Space"===t.key&&e.onShowKeyboardShortcutsButtonClick(t)},onMouseUp:function(e){e.currentTarget.blur()}}),i.default.createElement("span",(0,l.css)(s.DayPickerKeyboardShortcuts_showSpan,p&&s.DayPickerKeyboardShortcuts_showSpan__bottomRight,v&&s.DayPickerKeyboardShortcuts_showSpan__topRight,y&&s.DayPickerKeyboardShortcuts_showSpan__topLeft),"?")),o&&i.default.createElement("div",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_panel),{role:"dialog","aria-labelledby":"DayPickerKeyboardShortcuts_title","aria-describedby":"DayPickerKeyboardShortcuts_description"}),i.default.createElement("div",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_title),{id:"DayPickerKeyboardShortcuts_title"}),u.keyboardShortcuts),i.default.createElement("button",n({ref:this.setHideKeyboardShortcutsButtonRef},(0,l.css)(s.DayPickerKeyboardShortcuts_buttonReset,s.DayPickerKeyboardShortcuts_close),{type:"button",tabIndex:"0","aria-label":u.hideKeyboardShortcutsPanel,onClick:c,onKeyDown:this.onKeyDown}),i.default.createElement(h.default,(0,l.css)(s.DayPickerKeyboardShortcuts_closeSvg))),i.default.createElement("ul",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_list),{id:"DayPickerKeyboardShortcuts_description"}),this.keyboardShortcuts.map((function(e){var t=e.unicode,n=e.label,a=e.action;return i.default.createElement(d.default,{key:n,unicode:t,label:n,action:a,block:r})})))))}}]),t}(i.default.Component);_.propTypes=v,_.defaultProps=y,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.font,a=t.zIndex;return{DayPickerKeyboardShortcuts_buttonReset:{background:"none",border:0,borderRadius:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",padding:0,cursor:"pointer",fontSize:n.size,":active":{outline:"none"}},DayPickerKeyboardShortcuts_show:{width:22,position:"absolute",zIndex:a+2},DayPickerKeyboardShortcuts_show__bottomRight:{borderTop:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),bottom:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topRight:{borderBottom:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),top:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topLeft:{borderBottom:"26px solid transparent",borderLeft:"33px solid "+String(r.core.primary),top:0,left:0,":hover":{borderLeft:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_showSpan:{color:r.core.white,position:"absolute"},DayPickerKeyboardShortcuts_showSpan__bottomRight:{bottom:0,right:-28},DayPickerKeyboardShortcuts_showSpan__topRight:{top:1,right:-28},DayPickerKeyboardShortcuts_showSpan__topLeft:{top:1,left:-28},DayPickerKeyboardShortcuts_panel:{overflow:"auto",background:r.background,border:"1px solid "+String(r.core.border),borderRadius:2,position:"absolute",top:0,bottom:0,right:0,left:0,zIndex:a+2,padding:22,margin:33},DayPickerKeyboardShortcuts_title:{fontSize:16,fontWeight:"bold",margin:0},DayPickerKeyboardShortcuts_list:{listStyle:"none",padding:0,fontSize:n.size},DayPickerKeyboardShortcuts_close:{position:"absolute",right:22,top:22,zIndex:a+2,":active":{outline:"none"}},DayPickerKeyboardShortcuts_closeSvg:{height:15,width:15,fill:r.core.grayLighter,":hover":{fill:r.core.grayLight},":focus":{fill:r.core.grayLight}}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=l(r(50)),o=l(r(13)),i=l(r(2)),c=r(42),s=r(62);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,c.forbidExtraProps)((0,a.default)({},s.withStylesPropTypes,{unicode:i.default.string.isRequired,label:i.default.string.isRequired,action:i.default.string.isRequired,block:i.default.bool}));function f(e){var t=e.unicode,r=e.label,a=e.action,i=e.block,c=e.styles;return o.default.createElement("li",(0,s.css)(c.KeyboardShortcutRow,i&&c.KeyboardShortcutRow__block),o.default.createElement("div",(0,s.css)(c.KeyboardShortcutRow_keyContainer,i&&c.KeyboardShortcutRow_keyContainer__block),o.default.createElement("span",n({},(0,s.css)(c.KeyboardShortcutRow_key),{role:"img","aria-label":String(r)+","}),t)),o.default.createElement("div",(0,s.css)(c.KeyboardShortcutRow_action),a))}f.propTypes=u,f.defaultProps={block:!1},t.default=(0,s.withStyles)((function(e){return{KeyboardShortcutRow:{listStyle:"none",margin:"6px 0"},KeyboardShortcutRow__block:{marginBottom:16},KeyboardShortcutRow_keyContainer:{display:"inline-block",whiteSpace:"nowrap",textAlign:"right",marginRight:6},KeyboardShortcutRow_keyContainer__block:{textAlign:"left",display:"inline"},KeyboardShortcutRow_key:{fontFamily:"monospace",fontSize:12,textTransform:"uppercase",background:e.reactDates.color.core.grayLightest,padding:"2px 6px"},KeyboardShortcutRow_action:{display:"inline",wordBreak:"break-word",marginLeft:8}}}))(f)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.localeData().firstDayOfWeek(),r=function(e,t){return(e.day()-t+7)%7}(e.clone().startOf("month"),t);return Math.ceil((r+e.daysInMonth())/7)};var n,a=r(11),o=(n=a)&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return"undefined"!=typeof document&&document.activeElement}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureSingleDatePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=C(r(50)),i=C(r(13)),c=C(r(11)),s=r(62),l=r(317),u=r(42),f=r(130),d=C(r(99)),h=C(r(163)),p=C(r(273)),m=r(51),b=C(r(97)),g=C(r(167)),v=C(r(257)),y=C(r(258)),w=C(r(165)),_=C(r(109)),k=C(r(259)),E=C(r(274)),O=C(r(272)),S=C(r(111)),M=r(33);function C(e){return e&&e.__esModule?e:{default:e}}var D=(0,u.forbidExtraProps)((0,o.default)({},s.withStylesPropTypes,p.default)),j={date:null,focused:!1,id:"date",placeholder:"Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDate:!1,showDefaultInputIcon:!1,inputIconPosition:M.ICON_BEFORE_POSITION,customInputIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,verticalSpacing:M.DEFAULT_VERTICAL_SPACING,keepFocusOnInput:!1,orientation:M.HORIZONTAL_ORIENTATION,anchorDirection:M.ANCHOR_LEFT,openDirection:M.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,firstDayOfWeek:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDate:!1,renderCalendarInfo:null,calendarInfoPosition:M.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:M.DAY_SIZE,isRTL:!1,verticalHeight:null,transitionDuration:void 0,horizontalMonthPadding:13,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderMonthText:null,renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,_.default)(e,(0,c.default)())},isDayHighlighted:function(){},displayFormat:function(){return c.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:m.SingleDatePickerPhrases,dayAriaLabelFormat:void 0},x=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.isTouchDevice=!1,r.state={dayPickerContainerStyles:{},isDayPickerFocused:!1,isInputFocused:!1,showKeyboardShortcuts:!1},r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.onChange=r.onChange.bind(r),r.onFocus=r.onFocus.bind(r),r.onClearFocus=r.onClearFocus.bind(r),r.clearDate=r.clearDate.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,f.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focused&&this.setState({isInputFocused:!0}),this.isTouchDevice=(0,d.default)()}},{key:"componentDidUpdate",value:function(e){var t=this.props.focused;!e.focused&&t?(this.responsivizePickerPosition(),this.disableScroll()):e.focused&&!t&&this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onChange",value:function(e){var t=this.props,r=t.isOutsideRange,n=t.keepOpenOnDateSelect,a=t.onDateChange,o=t.onFocusChange,i=t.onClose,c=(0,b.default)(e,this.getDisplayFormat());c&&!r(c)?(a(c),n||(o({focused:!1}),i({date:c}))):a(null)}},{key:"onFocus",value:function(){var e=this.props,t=e.disabled,r=e.onFocusChange,n=e.readOnly,a=e.withPortal,o=e.withFullScreenPortal,i=e.keepFocusOnInput;a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur(),t||r({focused:!0})}},{key:"onClearFocus",value:function(e){var t=this.props,r=t.date,n=t.focused,a=t.onFocusChange,o=t.onClose,i=t.appendToBody;n&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isInputFocused:!1,isDayPickerFocused:!1}),a({focused:!1}),o({date:r})))}},{key:"onDayPickerFocus",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"getDateString",value:function(e){var t=this.getDisplayFormat();return e&&t?e&&e.format(t):(0,g.default)(e)}},{key:"getDisplayFormat",value:function(){var e=this.props.displayFormat;return"string"==typeof e?e:e()}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"clearDate",value:function(){var e=this.props,t=e.onDateChange,r=e.reopenPickerOnClearDate,n=e.onFocusChange;t(null),r&&n({focused:!0})}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll,n=e.focused;(t||r)&&n&&(this.enableScroll=(0,k.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){this.setState({dayPickerContainerStyles:{}});var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,c=e.appendToBody,s=e.focused,l=this.state.dayPickerContainerStyles;if(s){var u=r===M.ANCHOR_LEFT;if(!a&&!i){var f=this.dayPickerContainer.getBoundingClientRect(),d=l[r]||0,h=u?f[M.ANCHOR_RIGHT]:f[M.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,v.default)(r,d,h,n),c&&(0,y.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.focused,r=e.withPortal,n=e.withFullScreenPortal,a=e.appendToBody;return t?r||n||a?i.default.createElement(l.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.onDateChange,o=e.date,c=e.onFocusChange,l=e.focused,u=e.enableOutsideDays,f=e.numberOfMonths,d=e.orientation,h=e.monthFormat,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onClose,y=e.withPortal,_=e.withFullScreenPortal,k=e.keepOpenOnDateSelect,E=e.initialVisibleMonth,C=e.renderMonthText,D=e.renderCalendarDay,j=e.renderDayContents,x=e.renderCalendarInfo,P=e.renderMonthElement,F=e.calendarInfoPosition,T=e.hideKeyboardShortcutsPanel,I=e.firstDayOfWeek,A=e.customCloseIcon,N=e.phrases,R=e.dayAriaLabelFormat,B=e.daySize,L=e.isRTL,U=e.isOutsideRange,z=e.isDayBlocked,H=e.isDayHighlighted,V=e.weekDayFormat,q=e.styles,K=e.verticalHeight,W=e.transitionDuration,G=e.verticalSpacing,Y=e.horizontalMonthPadding,$=e.small,Q=e.theme.reactDates,X=this.state,Z=X.dayPickerContainerStyles,J=X.isDayPickerFocused,ee=X.showKeyboardShortcuts,te=!_&&y?this.onClearFocus:void 0,re=A||i.default.createElement(S.default,null),ne=(0,w.default)(Q,$),ae=y||_;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,s.css)(q.SingleDatePicker_picker,t===M.ANCHOR_LEFT&&q.SingleDatePicker_picker__directionLeft,t===M.ANCHOR_RIGHT&&q.SingleDatePicker_picker__directionRight,r===M.OPEN_DOWN&&q.SingleDatePicker_picker__openDown,r===M.OPEN_UP&&q.SingleDatePicker_picker__openUp,!ae&&r===M.OPEN_DOWN&&{top:ne+G},!ae&&r===M.OPEN_UP&&{bottom:ne+G},d===M.HORIZONTAL_ORIENTATION&&q.SingleDatePicker_picker__horizontal,d===M.VERTICAL_ORIENTATION&&q.SingleDatePicker_picker__vertical,ae&&q.SingleDatePicker_picker__portal,_&&q.SingleDatePicker_picker__fullScreenPortal,L&&q.SingleDatePicker_picker__rtl,Z),{onClick:te}),i.default.createElement(O.default,{date:o,onDateChange:a,onFocusChange:c,orientation:d,enableOutsideDays:u,numberOfMonths:f,monthFormat:h,withPortal:ae,focused:l,keepOpenOnDateSelect:k,hideKeyboardShortcutsPanel:T,initialVisibleMonth:E,navPrev:p,navNext:m,onPrevMonthClick:b,onNextMonthClick:g,onClose:v,renderMonthText:C,renderCalendarDay:D,renderDayContents:j,renderCalendarInfo:x,renderMonthElement:P,calendarInfoPosition:F,isFocused:J,showKeyboardShortcuts:ee,onBlur:this.onDayPickerBlur,phrases:N,dayAriaLabelFormat:R,daySize:B,isRTL:L,isOutsideRange:U,isDayBlocked:z,isDayHighlighted:H,firstDayOfWeek:I,weekDayFormat:V,verticalHeight:K,transitionDuration:W,horizontalMonthPadding:Y}),_&&i.default.createElement("button",n({},(0,s.css)(q.SingleDatePicker_closeButton),{"aria-label":N.closeDatePicker,type:"button",onClick:this.onClearFocus}),i.default.createElement("div",(0,s.css)(q.SingleDatePicker_closeButton_svg),re)))}},{key:"render",value:function(){var e=this.props,t=e.id,r=e.placeholder,a=e.disabled,o=e.focused,c=e.required,l=e.readOnly,u=e.openDirection,f=e.showClearDate,d=e.showDefaultInputIcon,p=e.inputIconPosition,m=e.customCloseIcon,b=e.customInputIcon,g=e.date,v=e.phrases,y=e.withPortal,w=e.withFullScreenPortal,_=e.screenReaderInputMessage,k=e.isRTL,O=e.noBorder,S=e.block,C=e.small,D=e.regular,j=e.verticalSpacing,x=e.styles,P=this.state.isInputFocused,F=this.getDateString(g),T=!y&&!w,I=j<M.FANG_HEIGHT_PX,A=i.default.createElement(E.default,{id:t,placeholder:r,focused:o,isFocused:P,disabled:a,required:c,readOnly:l,openDirection:u,showCaret:!y&&!w&&!I,onClearDate:this.clearDate,showClearDate:f,showDefaultInputIcon:d,inputIconPosition:p,customCloseIcon:m,customInputIcon:b,displayValue:F,onChange:this.onChange,onFocus:this.onFocus,onKeyDownShiftTab:this.onClearFocus,onKeyDownTab:this.onClearFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,screenReaderMessage:_,phrases:v,isRTL:k,noBorder:O,block:S,small:C,regular:D,verticalSpacing:j});return i.default.createElement("div",n({ref:this.setContainerRef},(0,s.css)(x.SingleDatePicker,S&&x.SingleDatePicker__block)),T&&i.default.createElement(h.default,{onOutsideClick:this.onClearFocus},A,this.maybeRenderDayPickerWithPortal()),!T&&A,!T&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);x.propTypes=D,x.defaultProps=j,t.PureSingleDatePicker=x,t.default=(0,s.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{SingleDatePicker:{position:"relative",display:"inline-block"},SingleDatePicker__block:{display:"block"},SingleDatePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},SingleDatePicker_picker__rtl:{direction:"rtl"},SingleDatePicker_picker__directionLeft:{left:0},SingleDatePicker_picker__directionRight:{right:0},SingleDatePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},SingleDatePicker_picker__fullScreenPortal:{backgroundColor:r.background},SingleDatePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},SingleDatePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(x)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&!(0,a.default)(e,t)};var n=o(r(11)),a=o(r(133));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";var n=r(170),a=r(275),o=Object.prototype.hasOwnProperty,i={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},c=Array.isArray,s=Array.prototype.push,l=function(e,t){s.apply(e,c(t)?t:[t])},u=Date.prototype.toISOString,f=a.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:f,formatter:a.formatters[f],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,r,a,o,i,s,u,f,h,p,m,b,g){var v,y=t;if("function"==typeof u?y=u(r,y):y instanceof Date?y=p(y):"comma"===a&&c(y)&&(y=y.join(",")),null===y){if(o)return s&&!b?s(r,d.encoder,g,"key"):r;y=""}if("string"==typeof(v=y)||"number"==typeof v||"boolean"==typeof v||"symbol"==typeof v||"bigint"==typeof v||n.isBuffer(y))return s?[m(b?r:s(r,d.encoder,g,"key"))+"="+m(s(y,d.encoder,g,"value"))]:[m(r)+"="+m(String(y))];var w,_=[];if(void 0===y)return _;if(c(u))w=u;else{var k=Object.keys(y);w=f?k.sort(f):k}for(var E=0;E<w.length;++E){var O=w[E];i&&null===y[O]||(c(y)?l(_,e(y[O],"function"==typeof a?a(r,O):r,a,o,i,s,u,f,h,p,m,b,g)):l(_,e(y[O],r+(h?"."+O:"["+O+"]"),a,o,i,s,u,f,h,p,m,b,g)))}return _};e.exports=function(e,t){var r,n=e,s=function(e){if(!e)return d;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||d.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=a.default;if(void 0!==e.format){if(!o.call(a.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=a.formatters[r],i=d.filter;return("function"==typeof e.filter||c(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:d.addQueryPrefix,allowDots:void 0===e.allowDots?d.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:d.charsetSentinel,delimiter:void 0===e.delimiter?d.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:d.encode,encoder:"function"==typeof e.encoder?e.encoder:d.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:d.encodeValuesOnly,filter:i,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:d.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:d.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:d.strictNullHandling}}(t);"function"==typeof s.filter?n=(0,s.filter)("",n):c(s.filter)&&(r=s.filter);var u,f=[];if("object"!=typeof n||null===n)return"";u=t&&t.arrayFormat in i?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var p=i[u];r||(r=Object.keys(n)),s.sort&&r.sort(s.sort);for(var m=0;m<r.length;++m){var b=r[m];s.skipNulls&&null===n[b]||l(f,h(n[b],b,p,s.strictNullHandling,s.skipNulls,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.formatter,s.encodeValuesOnly,s.charset))}var g=f.join(s.delimiter),v=!0===s.addQueryPrefix?"?":"";return s.charsetSentinel&&("iso-8859-1"===s.charset?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),g.length>0?v+g:""}},function(e,t,r){"use strict";var n=r(170),a=Object.prototype.hasOwnProperty,o=Array.isArray,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},c=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},s=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,i=r.depth>0&&/(\[[^[\]]*])/.exec(n),c=i?n.slice(0,i.index):n,s=[];if(c){if(!r.plainObjects&&a.call(Object.prototype,c)&&!r.allowPrototypes)return;s.push(c)}for(var l=0;r.depth>0&&null!==(i=o.exec(n))&&l<r.depth;){if(l+=1,!r.plainObjects&&a.call(Object.prototype,i[1].slice(1,-1))&&!r.allowPrototypes)return;s.push(i[1])}return i&&s.push("["+n.slice(i.index)+"]"),function(e,t,r){for(var n=t,a=e.length-1;a>=0;--a){var o,i=e[a];if("[]"===i&&r.parseArrays)o=[].concat(n);else{o=r.plainObjects?Object.create(null):{};var c="["===i.charAt(0)&&"]"===i.charAt(i.length-1)?i.slice(1,-1):i,s=parseInt(c,10);r.parseArrays||""!==c?!isNaN(s)&&i!==c&&String(s)===c&&s>=0&&r.parseArrays&&s<=r.arrayLimit?(o=[])[s]=n:o[c]=n:o={0:n}}n=o}return n}(s,t,r)}};e.exports=function(e,t){var r=function(e){if(!e)return i;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?i.charset:e.charset;return{allowDots:void 0===e.allowDots?i.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:i.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:i.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:i.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:i.comma,decoder:"function"==typeof e.decoder?e.decoder:i.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:i.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:i.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:i.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:i.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:i.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:i.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var l="string"==typeof e?function(e,t){var r,s={},l=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,f=l.split(t.delimiter,u),d=-1,h=t.charset;if(t.charsetSentinel)for(r=0;r<f.length;++r)0===f[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===f[r]?h="utf-8":"utf8=%26%2310003%3B"===f[r]&&(h="iso-8859-1"),d=r,r=f.length);for(r=0;r<f.length;++r)if(r!==d){var p,m,b=f[r],g=b.indexOf("]="),v=-1===g?b.indexOf("="):g+1;-1===v?(p=t.decoder(b,i.decoder,h,"key"),m=t.strictNullHandling?null:""):(p=t.decoder(b.slice(0,v),i.decoder,h,"key"),m=t.decoder(b.slice(v+1),i.decoder,h,"value")),m&&t.interpretNumericEntities&&"iso-8859-1"===h&&(m=c(m)),m&&"string"==typeof m&&t.comma&&m.indexOf(",")>-1&&(m=m.split(",")),b.indexOf("[]=")>-1&&(m=o(m)?[m]:m),a.call(s,p)?s[p]=n.combine(s[p],m):s[p]=m}return s}(e,r):e,u=r.plainObjects?Object.create(null):{},f=Object.keys(l),d=0;d<f.length;++d){var h=f[d],p=s(h,l[h],r);u=n.merge(u,p,r)}return n.compact(u)}},function(e,t,r){(function(e,n){var a;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var i="object"==typeof n&&n;i.global!==i&&i.window!==i&&i.self;var c,s=2147483647,l=36,u=1,f=26,d=38,h=700,p=72,m=128,b="-",g=/^xn--/,v=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},_=l-u,k=Math.floor,E=String.fromCharCode;function O(e){throw new RangeError(w[e])}function S(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function M(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+S((e=e.replace(y,".")).split("."),t).join(".")}function C(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function D(e){return S(e,(function(e){var t="";return e>65535&&(t+=E((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=E(e)})).join("")}function j(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function x(e,t,r){var n=0;for(e=r?k(e/h):e>>1,e+=k(e/t);e>_*f>>1;n+=l)e=k(e/_);return k(n+(_+1)*e/(e+d))}function P(e){var t,r,n,a,o,i,c,d,h,g,v,y=[],w=e.length,_=0,E=m,S=p;for((r=e.lastIndexOf(b))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&O("not-basic"),y.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<w;){for(o=_,i=1,c=l;a>=w&&O("invalid-input"),((d=(v=e.charCodeAt(a++))-48<10?v-22:v-65<26?v-65:v-97<26?v-97:l)>=l||d>k((s-_)/i))&&O("overflow"),_+=d*i,!(d<(h=c<=S?u:c>=S+f?f:c-S));c+=l)i>k(s/(g=l-h))&&O("overflow"),i*=g;S=x(_-o,t=y.length+1,0==o),k(_/t)>s-E&&O("overflow"),E+=k(_/t),_%=t,y.splice(_++,0,E)}return D(y)}function F(e){var t,r,n,a,o,i,c,d,h,g,v,y,w,_,S,M=[];for(y=(e=C(e)).length,t=m,r=0,o=p,i=0;i<y;++i)(v=e[i])<128&&M.push(E(v));for(n=a=M.length,a&&M.push(b);n<y;){for(c=s,i=0;i<y;++i)(v=e[i])>=t&&v<c&&(c=v);for(c-t>k((s-r)/(w=n+1))&&O("overflow"),r+=(c-t)*w,t=c,i=0;i<y;++i)if((v=e[i])<t&&++r>s&&O("overflow"),v==t){for(d=r,h=l;!(d<(g=h<=o?u:h>=o+f?f:h-o));h+=l)S=d-g,_=l-g,M.push(E(j(g+S%_,0))),d=k(S/_);M.push(E(j(d,0))),o=x(r,w,n==a),r=0,++n}++r,++t}return M.join("")}c={version:"1.4.1",ucs2:{decode:C,encode:D},decode:P,encode:F,toASCII:function(e){return M(e,(function(e){return v.test(e)?"xn--"+F(e):e}))},toUnicode:function(e){return M(e,(function(e){return g.test(e)?P(e.slice(4).toLowerCase()):e}))}},void 0===(a=function(){return c}.call(t,r,t,e))||(e.exports=a)}()}).call(this,r(276)(e),r(61))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(474),t.encode=t.stringify=r(475)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,o){t=t||"&",r=r||"=";var i={};if("string"!=typeof e||0===e.length)return i;var c=/\+/g;e=e.split(t);var s=1e3;o&&"number"==typeof o.maxKeys&&(s=o.maxKeys);var l=e.length;s>0&&l>s&&(l=s);for(var u=0;u<l;++u){var f,d,h,p,m=e[u].replace(c,"%20"),b=m.indexOf(r);b>=0?(f=m.substr(0,b),d=m.substr(b+1)):(f=m,d=""),h=decodeURIComponent(f),p=decodeURIComponent(d),n(i,h)?a(i[h])?i[h].push(p):i[h]=[i[h],p]:i[h]=p}return i};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,c){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?o(i(e),(function(i){var c=encodeURIComponent(n(i))+r;return a(e[i])?o(e[i],(function(e){return c+encodeURIComponent(n(e))})).join(t):c+encodeURIComponent(n(e[i]))})).join(t):c?encodeURIComponent(n(c))+r+encodeURIComponent(n(e)):""};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n<e.length;n++)r.push(t(e[n],n));return r}var i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=l(e),i=n[0],c=n[1],s=new o(function(e,t,r){return 3*(t+r)/4-r}(0,i,c)),u=0,f=c>0?i-4:i;for(r=0;r<f;r+=4)t=a[e.charCodeAt(r)]<<18|a[e.charCodeAt(r+1)]<<12|a[e.charCodeAt(r+2)]<<6|a[e.charCodeAt(r+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=255&t;2===c&&(t=a[e.charCodeAt(r)]<<2|a[e.charCodeAt(r+1)]>>4,s[u++]=255&t);1===c&&(t=a[e.charCodeAt(r)]<<10|a[e.charCodeAt(r+1)]<<4|a[e.charCodeAt(r+2)]>>2,s[u++]=t>>8&255,s[u++]=255&t);return s},t.fromByteArray=function(e){for(var t,r=e.length,a=r%3,o=[],i=0,c=r-a;i<c;i+=16383)o.push(u(e,i,i+16383>c?c:i+16383));1===a?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],a=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,s=i.length;c<s;++c)n[c]=i[c],a[i.charCodeAt(c)]=c;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var a,o,i=[],c=t;c<r;c+=3)a=(e[c]<<16&16711680)+(e[c+1]<<8&65280)+(255&e[c+2]),i.push(n[(o=a)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,a){var o,i,c=8*a-n-1,s=(1<<c)-1,l=s>>1,u=-7,f=r?a-1:0,d=r?-1:1,h=e[t+f];for(f+=d,o=h&(1<<-u)-1,h>>=-u,u+=c;u>0;o=256*o+e[t+f],f+=d,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=n;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===o)o=1-l;else{if(o===s)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),o-=l}return(h?-1:1)*i*Math.pow(2,o-n)},t.write=function(e,t,r,n,a,o){var i,c,s,l=8*o-a-1,u=(1<<l)-1,f=u>>1,d=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-i))<1&&(i--,s*=2),(t+=i+f>=1?d/s:d*Math.pow(2,1-f))*s>=2&&(i++,s/=2),i+f>=u?(c=0,i=u):i+f>=1?(c=(t*s-1)*Math.pow(2,a),i+=f):(c=t*Math.pow(2,f-1)*Math.pow(2,a),i=0));a>=8;e[r+h]=255&c,h+=p,c/=256,a-=8);for(i=i<<a|c,l+=a;l>0;e[r+h]=255&i,h+=p,i/=256,l-=8);e[r+h-p]|=128*m}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";var n=r(175).Buffer,a=r(69);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,r,a,o=n.allocUnsafe(e>>>0),i=this.head,c=0;i;)t=i.data,r=o,a=c,t.copy(r,a),c+=i.data.length,i=i.next;return o},e}(),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,r){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(a.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new o(a.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(482),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(61))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var n,a,o,i,c,s=1,l={},u=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(a=f.documentElement,n=function(e){var t=f.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(i="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(i)&&p(+t.data.slice(i.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),n=function(t){e.postMessage(i+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var a={callback:e,args:t};return l[s]=a,n(s),s++},d.clearImmediate=h}function h(e){delete l[e]}function p(e){if(u)setTimeout(p,0,e);else{var t=l[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(r,n)}}(t)}finally{h(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(61),r(81))},function(e,t,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,r(61))},function(e,t,r){var n=r(48),a=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function i(e,t,r){return a(e,t,r)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=i),o(a,i),i.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,t,r)},i.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=a(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";e.exports=o;var n=r(281),a=r(113);function o(e){if(!(this instanceof o))return new o(e);n.call(this,e)}a.inherits=r(30),a.inherits(o,n),o.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){e.exports=r(176)},function(e,t,r){e.exports=r(90)},function(e,t,r){e.exports=r(174).Transform},function(e,t,r){e.exports=r(174).PassThrough},function(e,t,r){var n=r(30),a=r(102),o=r(31).Buffer,i=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);function s(){this.init(),this._w=c,a.call(this,64,56)}function l(e){return e<<30|e>>>2}function u(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(s,a),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},s.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,a=0|this._b,o=0|this._c,c=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=e.readInt32BE(4*f);for(;f<80;++f)r[f]=r[f-3]^r[f-8]^r[f-14]^r[f-16];for(var d=0;d<80;++d){var h=~~(d/20),p=0|((t=n)<<5|t>>>27)+u(h,a,o,c)+s+r[d]+i[h];s=c,c=o,o=l(a),a=n,n=p}this._a=n+this._a|0,this._b=a+this._b|0,this._c=o+this._c|0,this._d=c+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=s},function(e,t,r){var n=r(30),a=r(102),o=r(31).Buffer,i=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);function s(){this.init(),this._w=c,a.call(this,64,56)}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function f(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(s,a),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},s.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,a=0|this._b,o=0|this._c,c=0|this._d,s=0|this._e,d=0;d<16;++d)r[d]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=(t=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),m=l(n)+f(p,a,o,c)+s+r[h]+i[p]|0;s=c,c=o,o=u(a),a=n,n=m}this._a=n+this._a|0,this._b=a+this._b|0,this._c=o+this._c|0,this._d=c+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=s},function(e,t,r){var n=r(30),a=r(282),o=r(102),i=r(31).Buffer,c=new Array(64);function s(){this.init(),this._w=c,o.call(this,64,56)}n(s,a),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var e=i.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=s},function(e,t,r){var n=r(30),a=r(283),o=r(102),i=r(31).Buffer,c=new Array(160);function s(){this.init(),this._w=c,o.call(this,128,112)}n(s,a),s.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},s.prototype._hash=function(){var e=i.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=s},function(e,t,r){"use strict";var n=r(30),a=r(31).Buffer,o=r(82),i=a.alloc(128),c=64;function s(e,t){o.call(this,"digest"),"string"==typeof t&&(t=a.from(t)),this._alg=e,this._key=t,t.length>c?t=e(t):t.length<c&&(t=a.concat([t,i],c));for(var r=this._ipad=a.allocUnsafe(c),n=this._opad=a.allocUnsafe(c),s=0;s<c;s++)r[s]=54^t[s],n[s]=92^t[s];this._hash=[r]}n(s,o),s.prototype._update=function(e){this._hash.push(e)},s.prototype._final=function(){var e=this._alg(a.concat(this._hash));return this._alg(a.concat([this._opad,e]))},e.exports=s},function(e,t,r){e.exports=r(286)},function(e,t,r){(function(t,n){var a,o=r(288),i=r(289),c=r(290),s=r(31).Buffer,l=t.crypto&&t.crypto.subtle,u={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},f=[];function d(e,t,r,n,a){return l.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return l.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:a}},e,n<<3)})).then((function(e){return s.from(e)}))}e.exports=function(e,r,h,p,m,b){"function"==typeof m&&(b=m,m=void 0);var g=u[(m=m||"sha1").toLowerCase()];if(!g||"function"!=typeof t.Promise)return n.nextTick((function(){var t;try{t=c(e,r,h,p,m)}catch(e){return b(e)}b(null,t)}));if(o(e,r,h,p),"function"!=typeof b)throw new Error("No callback provided to pbkdf2");s.isBuffer(e)||(e=s.from(e,i)),s.isBuffer(r)||(r=s.from(r,i)),function(e,t){e.then((function(e){n.nextTick((function(){t(null,e)}))}),(function(e){n.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!l||!l.importKey||!l.deriveBits)return Promise.resolve(!1);if(void 0!==f[e])return f[e];var r=d(a=a||s.alloc(8),a,10,128,e).then((function(){return!0})).catch((function(){return!1}));return f[e]=r,r}(g).then((function(t){return t?d(e,r,h,p,g):c(e,r,h,p,m)})),b)}}).call(this,r(61),r(81))},function(e,t,r){var n=r(498),a=r(181),o=r(182),i=r(511),c=r(136);function s(e,t,r){if(e=e.toLowerCase(),o[e])return a.createCipheriv(e,t,r);if(i[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function l(e,t,r){if(e=e.toLowerCase(),o[e])return a.createDecipheriv(e,t,r);if(i[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!i[e])throw new TypeError("invalid suite type");r=8*i[e].key,n=i[e].iv}var a=c(t,!1,r,n);return s(e,a.key,a.iv)},t.createCipheriv=t.Cipheriv=s,t.createDecipher=t.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!i[e])throw new TypeError("invalid suite type");r=8*i[e].key,n=i[e].iv}var a=c(t,!1,r,n);return l(e,a.key,a.iv)},t.createDecipheriv=t.Decipheriv=l,t.listCiphers=t.getCiphers=function(){return Object.keys(i).concat(a.getCiphers())}},function(e,t,r){var n=r(82),a=r(499),o=r(30),i=r(31).Buffer,c={"des-ede3-cbc":a.CBC.instantiate(a.EDE),"des-ede3":a.EDE,"des-ede-cbc":a.CBC.instantiate(a.EDE),"des-ede":a.EDE,"des-cbc":a.CBC.instantiate(a.DES),"des-ecb":a.DES};function s(e){n.call(this);var t,r=e.mode.toLowerCase(),a=c[r];t=e.decrypt?"decrypt":"encrypt";var o=e.key;i.isBuffer(o)||(o=i.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=i.concat([o,o.slice(0,8)]));var s=e.iv;i.isBuffer(s)||(s=i.from(s)),this._des=a.create({key:o,iv:s,type:t})}c.des=c["des-cbc"],c.des3=c["des-ede3-cbc"],e.exports=s,o(s,n),s.prototype._update=function(e){return i.from(this._des.update(e))},s.prototype._final=function(){return i.from(this._des.final())}},function(e,t,r){"use strict";t.utils=r(291),t.Cipher=r(180),t.DES=r(292),t.CBC=r(500),t.EDE=r(501)},function(e,t,r){"use strict";var n=r(70),a=r(30),o={};function i(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}a(t,e);for(var r=Object.keys(o),n=0;n<r.length;n++){var i=r[n];t.prototype[i]=o[i]}return t.create=function(e){return new t(e)},t},o._cbcInit=function(){var e=new i(this.options.iv);this._cbcState=e},o._update=function(e,t,r,n){var a=this._cbcState,o=this.constructor.super_.prototype,i=a.iv;if("encrypt"===this.type){for(var c=0;c<this.blockSize;c++)i[c]^=e[t+c];o._update.call(this,i,0,r,n);for(c=0;c<this.blockSize;c++)i[c]=r[n+c]}else{o._update.call(this,e,t,r,n);for(c=0;c<this.blockSize;c++)r[n+c]^=i[c];for(c=0;c<this.blockSize;c++)i[c]=e[t+c]}}},function(e,t,r){"use strict";var n=r(70),a=r(30),o=r(180),i=r(292);function c(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),a=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[i.create({type:"encrypt",key:r}),i.create({type:"decrypt",key:a}),i.create({type:"encrypt",key:o})]:[i.create({type:"decrypt",key:o}),i.create({type:"encrypt",key:a}),i.create({type:"decrypt",key:r})]}function s(e){o.call(this,e);var t=new c(this.type,this.options.key);this._edeState=t}a(s,o),e.exports=s,s.create=function(e){return new s(e)},s.prototype._update=function(e,t,r,n){var a=this._edeState;a.ciphers[0]._update(e,t,r,n),a.ciphers[1]._update(r,n,r,n),a.ciphers[2]._update(r,n,r,n)},s.prototype._pad=i.prototype._pad,s.prototype._unpad=i.prototype._unpad},function(e,t,r){var n=r(182),a=r(296),o=r(31).Buffer,i=r(297),c=r(82),s=r(135),l=r(136);function u(e,t,r){c.call(this),this._cache=new d,this._cipher=new s.AES(t),this._prev=o.from(r),this._mode=e,this._autopadding=!0}r(30)(u,c),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return o.concat(n)};var f=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function h(e,t,r){var c=n[e.toLowerCase()];if(!c)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==c.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==c.mode&&r.length!==c.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===c.type?new i(c.module,t,r):"auth"===c.type?new a(c.module,t,r):new u(c.module,t,r)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(f))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=o.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return o.concat([this.cache,t])},t.createCipheriv=h,t.createCipher=function(e,t){var r=n[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var a=l(t,!1,r.key,r.iv);return h(e,a.key,a.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,r){var n=r(114);t.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var a=e._cipher.decryptBlock(t);return n(a,r)}},function(e,t,r){var n=r(31).Buffer,a=r(114);function o(e,t,r){var o=t.length,i=a(t,e._cache);return e._cache=e._cache.slice(o),e._prev=n.concat([e._prev,r?t:i]),i}t.encrypt=function(e,t,r){for(var a,i=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){i=n.concat([i,o(e,t,r)]);break}a=e._cache.length,i=n.concat([i,o(e,t.slice(0,a),r)]),t=t.slice(a)}return i}},function(e,t,r){var n=r(31).Buffer;function a(e,t,r){var a=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:a])]),a}t.encrypt=function(e,t,r){for(var o=t.length,i=n.allocUnsafe(o),c=-1;++c<o;)i[c]=a(e,t[c],r);return i}},function(e,t,r){var n=r(31).Buffer;function a(e,t,r){for(var n,a,i=-1,c=0;++i<8;)n=t&1<<7-i?128:0,c+=(128&(a=e._cipher.encryptBlock(e._prev)[0]^n))>>i%8,e._prev=o(e._prev,r?n:a);return c}function o(e,t){var r=e.length,a=-1,o=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++a<r;)o[a]=e[a]<<1|e[a+1]>>7;return o}t.encrypt=function(e,t,r){for(var o=t.length,i=n.allocUnsafe(o),c=-1;++c<o;)i[c]=a(e,t[c],r);return i}},function(e,t,r){(function(e){var n=r(114);function a(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,r){for(;t._cache.length<r.length;)t._cache=e.concat([t._cache,a(t)]);var o=t._cache.slice(0,r.length);return t._cache=t._cache.slice(r.length),n(r,o)}}).call(this,r(48).Buffer)},function(e,t,r){var n=r(31).Buffer,a=n.alloc(16,0);function o(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function i(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}i.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},i.prototype._multiply=function(){for(var e,t,r,n=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],a=[0,0,0,0],i=-1;++i<128;){for(0!=(this.state[~~(i/8)]&1<<7-i%8)&&(a[0]^=n[0],a[1]^=n[1],a[2]^=n[2],a[3]^=n[3]),r=0!=(1&n[3]),t=3;t>0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(a)},i.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},i.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,a],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=i},function(e,t,r){var n=r(296),a=r(31).Buffer,o=r(182),i=r(297),c=r(82),s=r(135),l=r(136);function u(e,t,r){c.call(this),this._cache=new f,this._last=void 0,this._cipher=new s.AES(t),this._prev=a.from(r),this._mode=e,this._autopadding=!0}function f(){this.cache=a.allocUnsafe(0)}function d(e,t,r){var c=o[e.toLowerCase()];if(!c)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=a.from(r)),"GCM"!==c.mode&&r.length!==c.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof t&&(t=a.from(t)),t.length!==c.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===c.type?new i(c.module,t,r,!0):"auth"===c.type?new n(c.module,t,r,!0):new u(c.module,t,r)}r(30)(u,c),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return a.concat(n)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},f.prototype.add=function(e){this.cache=a.concat([this.cache,e])},f.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},f.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=o[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=l(t,!1,r.key,r.iv);return d(e,n.key,n.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,r){(function(e){var n=r(298),a=r(513),o=r(514);var i={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var r=new e(a[t].prime,"hex"),n=new e(a[t].gen,"hex");return new o(r,n)},t.createDiffieHellman=t.DiffieHellman=function t(r,a,c,s){return e.isBuffer(a)||void 0===i[a]?t(r,"binary",a,c):(a=a||"binary",s=s||"binary",c=c||new e([2]),e.isBuffer(c)||(c=new e(c,s)),"number"==typeof r?new o(n(r,c),c,!0):(e.isBuffer(r)||(r=new e(r,a)),new o(r,c,!0)))}}).call(this,r(48).Buffer)},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,r){(function(t){var n=r(43),a=new(r(299)),o=new n(24),i=new n(11),c=new n(10),s=new n(3),l=new n(7),u=r(298),f=r(101);function d(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._pub=new n(e),this}function h(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._priv=new n(e),this}e.exports=m;var p={};function m(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=h):this._primeCode=8}function b(e,r){var n=new t(e.toArray());return r?n.toString(r):n}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in p)return p[n];var f,d=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!a.test(e))return d+=1,d+="02"===r||"05"===r?8:4,p[n]=d,d;switch(a.test(e.shrn(1))||(d+=2),r){case"02":e.mod(o).cmp(i)&&(d+=8);break;case"05":(f=e.mod(c)).cmp(s)&&f.cmp(l)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(f(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(e){var r=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),a=new t(r.toArray()),o=this.getPrime();if(a.length<o.length){var i=new t(o.length-a.length);i.fill(0),a=t.concat([i,a])}return a},m.prototype.getPublicKey=function(e){return b(this._pub,e)},m.prototype.getPrivateKey=function(e){return b(this._priv,e)},m.prototype.getPrime=function(e){return b(this.__prime,e)},m.prototype.getGenerator=function(e){return b(this._gen,e)},m.prototype.setGenerator=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.__gen=e,this._gen=new n(e),this}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(112),a=r(172),o=r(30),i=r(516),c=r(548),s=r(286);function l(e){a.Writable.call(this);var t=s[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function u(e){a.Writable.call(this);var t=s[e];if(!t)throw new Error("Unknown message digest");this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function f(e){return new l(e)}function d(e){return new u(e)}Object.keys(s).forEach((function(e){s[e].id=new t(s[e].id,"hex"),s[e.toLowerCase()]=s[e]})),o(l,a.Writable),l.prototype._write=function(e,t,r){this._hash.update(e),r()},l.prototype.update=function(e,r){return"string"==typeof e&&(e=new t(e,r)),this._hash.update(e),this},l.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=i(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},o(u,a.Writable),u.prototype._write=function(e,t,r){this._hash.update(e),r()},u.prototype.update=function(e,r){return"string"==typeof e&&(e=new t(e,r)),this._hash.update(e),this},u.prototype.verify=function(e,r,n){"string"==typeof r&&(r=new t(r,n)),this.end();var a=this._hash.digest();return c(r,a,e,this._signType,this._tag)},e.exports={Sign:f,Verify:d,createSign:f,createVerify:d}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(284),a=r(184),o=r(185).ec,i=r(43),c=r(138),s=r(309);function l(e,r,a,o){if((e=new t(e.toArray())).length<r.byteLength()){var i=new t(r.byteLength()-e.length);i.fill(0),e=t.concat([i,e])}var c=a.length,s=function(e,r){e=(e=u(e,r)).mod(r);var n=new t(e.toArray());if(n.length<r.byteLength()){var a=new t(r.byteLength()-n.length);a.fill(0),n=t.concat([a,n])}return n}(a,r),l=new t(c);l.fill(1);var f=new t(c);return f.fill(0),f=n(o,f).update(l).update(new t([0])).update(e).update(s).digest(),l=n(o,f).update(l).digest(),{k:f=n(o,f).update(l).update(new t([1])).update(e).update(s).digest(),v:l=n(o,f).update(l).digest()}}function u(e,t){var r=new i(e),n=(e.length<<3)-t.bitLength();return n>0&&r.ishrn(n),r}function f(e,r,a){var o,i;do{for(o=new t(0);8*o.length<e.bitLength();)r.v=n(a,r.k).update(r.v).digest(),o=t.concat([o,r.v]);i=u(o,e),r.k=n(a,r.k).update(r.v).update(new t([0])).digest(),r.v=n(a,r.k).update(r.v).digest()}while(-1!==i.cmp(e));return i}function d(e,t,r,n){return e.toRed(i.mont(r)).redPow(t).fromRed().mod(n)}e.exports=function(e,r,n,h,p){var m=c(r);if(m.curve){if("ecdsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");return function(e,r){var n=s[r.curve.join(".")];if(!n)throw new Error("unknown curve "+r.curve.join("."));var a=new o(n).keyFromPrivate(r.privateKey).sign(e);return new t(a.toDER())}(e,m)}if("dsa"===m.type){if("dsa"!==h)throw new Error("wrong private key type");return function(e,r,n){var a,o=r.params.priv_key,c=r.params.p,s=r.params.q,h=r.params.g,p=new i(0),m=u(e,s).mod(s),b=!1,g=l(o,s,e,n);for(;!1===b;)a=f(s,g,n),p=d(h,a,c,s),0===(b=a.invm(s).imul(m.add(o.mul(p))).mod(s)).cmpn(0)&&(b=!1,p=new i(0));return function(e,r){e=e.toArray(),r=r.toArray(),128&e[0]&&(e=[0].concat(e));128&r[0]&&(r=[0].concat(r));var n=[48,e.length+r.length+4,2,e.length];return n=n.concat(e,[2,r.length],r),new t(n)}(p,b)}(e,m,n)}if("rsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");e=t.concat([p,e]);for(var b=m.modulus.byteLength(),g=[0,1];e.length+g.length+1<b;)g.push(255);g.push(0);for(var v=-1;++v<e.length;)g.push(e[v]);return a(g,m)},e.exports.getKey=l,e.exports.makeKey=f}).call(this,r(48).Buffer)},function(e){e.exports=JSON.parse('{"_args":[["elliptic@6.5.2","/Users/nadir/work/bergs-woo"]],"_development":true,"_from":"elliptic@6.5.2","_id":"elliptic@6.5.2","_inBundle":false,"_integrity":"sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.2","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.2","saveSpec":null,"fetchSpec":"6.5.2"},"_requiredBy":["/browserify-sign","/create-ecdh"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz","_spec":"6.5.2","_where":"/Users/nadir/work/bergs-woo","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},"description":"EC cryptography","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.2"}')},function(e,t,r){"use strict";var n=r(73),a=r(43),o=r(30),i=r(137),c=n.assert;function s(e){i.call(this,"short",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function l(e,t,r,n){i.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new a(t,16),this.y=new a(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,r,n){i.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new a(0)):(this.x=new a(t,16),this.y=new a(r,16),this.z=new a(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(s,i),e.exports=s,s.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new a(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new a(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],c(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new a(e.a,16),b:new a(e.b,16)}})):this._getEndoBasis(r)}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:a.mont(e),r=new a(2).toRed(t).redInvm(),n=r.redNeg(),o=new a(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t,r,n,o,i,c,s,l,u,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new a(1),m=new a(0),b=new a(0),g=new a(1),v=0;0!==d.cmpn(0);){var y=h.div(d);l=h.sub(y.mul(d)),u=b.sub(y.mul(p));var w=g.sub(y.mul(m));if(!n&&l.cmp(f)<0)t=s.neg(),r=p,n=l.neg(),o=u;else if(n&&2==++v)break;s=l,h=d,d=l,b=p,p=u,g=m,m=w}i=l.neg(),c=u;var _=n.sqr().add(o.sqr());return i.sqr().add(c.sqr()).cmp(_)>=0&&(i=t,c=r),n.negative&&(n=n.neg(),o=o.neg()),i.negative&&(i=i.neg(),c=c.neg()),[{a:n,b:o},{a:i,b:c}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],a=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),i=a.mul(r.a),c=o.mul(n.a),s=a.mul(r.b),l=o.mul(n.b);return{k1:e.sub(i).sub(c),k2:s.add(l).neg()}},s.prototype.pointFromX=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),a=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(a).cmpn(0)},s.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,a=this._endoWnafT2,o=0;o<e.length;o++){var i=this._endoSplit(t[o]),c=e[o],s=c._getBeta();i.k1.negative&&(i.k1.ineg(),c=c.neg(!0)),i.k2.negative&&(i.k2.ineg(),s=s.neg(!0)),n[2*o]=c,n[2*o+1]=s,a[2*o]=i.k1,a[2*o+1]=i.k2}for(var l=this._wnafMulAdd(1,n,a,2*o,r),u=0;u<2*o;u++)n[u]=null,a[u]=null;return l},o(l,i.BasePoint),s.prototype.point=function(e,t,r){return new l(this,e,t,r)},s.prototype.pointFromJSON=function(e,t){return l.fromJSON(this,e,t)},l.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},l.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},l.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function a(t){return e.point(t[0],t[1],r)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(a))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(a))}},n},l.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),a=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=a.redSqr().redISub(this.x.redAdd(this.x)),i=a.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,i)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return e=new a(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){var n=[this,t],a=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,a):this.curve._wnafMulAdd(1,n,a,2)},l.prototype.jmulAdd=function(e,t,r){var n=[this,t],a=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,a,!0):this.curve._wnafMulAdd(1,n,a,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(u,i.BasePoint),s.prototype.jpoint=function(e,t,r){return new u(this,e,t,r)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),a=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),i=e.y.redMul(r.redMul(this.z)),c=n.redSub(a),s=o.redSub(i);if(0===c.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),u=l.redMul(c),f=n.redMul(l),d=s.redSqr().redIAdd(u).redISub(f).redISub(f),h=s.redMul(f.redISub(d)).redISub(o.redMul(u)),p=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(d,h,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),a=this.y,o=e.y.redMul(t).redMul(this.z),i=r.redSub(n),c=a.redSub(o);if(0===i.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=i.redSqr(),l=s.redMul(i),u=r.redMul(s),f=c.redSqr().redIAdd(l).redISub(u).redISub(u),d=c.redMul(u.redISub(f)).redISub(a.redMul(l)),h=this.z.redMul(i);return this.curve.jpoint(f,d,h)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,a=this.curve.tinv,o=this.x,i=this.y,c=this.z,s=c.redSqr().redSqr(),l=i.redAdd(i);for(r=0;r<e;r++){var u=o.redSqr(),f=l.redSqr(),d=f.redSqr(),h=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(s)),p=o.redMul(f),m=h.redSqr().redISub(p.redAdd(p)),b=p.redISub(m),g=h.redMul(b);g=g.redIAdd(g).redISub(d);var v=l.redMul(c);r+1<e&&(s=s.redMul(d)),o=m,c=v,l=g}return this.curve.jpoint(o,l.redMul(a),c)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),o=a.redSqr(),i=this.x.redAdd(a).redSqr().redISub(n).redISub(o);i=i.redIAdd(i);var c=n.redAdd(n).redIAdd(n),s=c.redSqr().redISub(i).redISub(i),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=s,t=c.redMul(i.redISub(s)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),f=this.y.redSqr(),d=f.redSqr(),h=this.x.redAdd(f).redSqr().redISub(u).redISub(d);h=h.redIAdd(h);var p=u.redAdd(u).redIAdd(u),m=p.redSqr(),b=d.redIAdd(d);b=(b=b.redIAdd(b)).redIAdd(b),e=m.redISub(h).redISub(h),t=p.redMul(h.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},u.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),o=a.redSqr(),i=this.x.redAdd(a).redSqr().redISub(n).redISub(o);i=i.redIAdd(i);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),s=c.redSqr().redISub(i).redISub(i);e=s;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=c.redMul(i.redISub(s)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),f=this.y.redSqr(),d=this.x.redMul(f),h=this.x.redSub(u).redMul(this.x.redAdd(u));h=h.redAdd(h).redIAdd(h);var p=d.redIAdd(d),m=(p=p.redIAdd(p)).redAdd(p);e=h.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(f).redISub(u);var b=f.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=h.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},u.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,a=n.redSqr().redSqr(),o=t.redSqr(),i=r.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(a)),s=t.redAdd(t),l=(s=s.redIAdd(s)).redMul(i),u=c.redSqr().redISub(l.redAdd(l)),f=l.redISub(u),d=i.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=c.redMul(f).redISub(d),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,h,p)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),a=e.redAdd(e).redIAdd(e),o=a.redSqr(),i=this.x.redAdd(t).redSqr().redISub(e).redISub(n),c=(i=(i=(i=i.redIAdd(i)).redAdd(i).redIAdd(i)).redISub(o)).redSqr(),s=n.redIAdd(n);s=(s=(s=s.redIAdd(s)).redIAdd(s)).redIAdd(s);var l=a.redIAdd(i).redSqr().redISub(o).redISub(c).redISub(s),u=t.redMul(l);u=(u=u.redIAdd(u)).redIAdd(u);var f=this.x.redMul(c).redISub(u);f=(f=f.redIAdd(f)).redIAdd(f);var d=this.y.redMul(l.redMul(s.redISub(l)).redISub(i.redMul(c)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=this.z.redAdd(i).redSqr().redISub(r).redISub(c);return this.curve.jpoint(f,d,h)},u.prototype.mul=function(e,t){return e=new a(e,t),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),a=r.redMul(e.z);return 0===this.y.redMul(a).redISub(e.y.redMul(n)).cmpn(0)},u.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),a=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(a),0===this.x.cmp(r))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,r){"use strict";var n=r(43),a=r(30),o=r(137),i=r(73);function c(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function s(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}a(c,o),e.exports=c,c.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},a(s,o.BasePoint),c.prototype.decodePoint=function(e,t){return this.point(i.toArray(e,t),1)},c.prototype.point=function(e,t){return new s(this,e,t)},c.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),a=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,a)},s.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),a=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),i=a.redMul(n),c=t.z.redMul(o.redAdd(i).redSqr()),s=t.x.redMul(o.redISub(i).redSqr());return this.curve.point(c,s)},s.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),a=[];0!==t.cmpn(0);t.iushrn(1))a.push(t.andln(1));for(var o=a.length-1;o>=0;o--)0===a[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},s.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,r){"use strict";var n=r(73),a=r(43),o=r(30),i=r(137),c=n.assert;function s(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,i.call(this,"edwards",e),this.a=new a(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new a(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new a(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),c(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function l(e,t,r,n,o){i.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new a(t,16),this.y=new a(r,16),this.z=n?new a(n,16):this.curve.one,this.t=o&&new a(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(s,i),e.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},s.prototype.pointFromX=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),i=n.redMul(o.redInvm()),c=i.redSqrt();if(0!==c.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var s=c.fromRed().isOdd();return(t&&!s||!t&&s)&&(c=c.redNeg()),this.point(e,c)},s.prototype.pointFromY=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),i=n.redMul(o.redInvm());if(0===i.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var c=i.redSqrt();if(0!==c.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return c.fromRed().isOdd()!==t&&(c=c.redNeg()),this.point(c,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),a=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(a)},o(l,i.BasePoint),s.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},s.prototype.point=function(e,t,r,n){return new l(this,e,t,r,n)},l.fromJSON=function(e,t){return new l(e,t[0],t[1],t[2])},l.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),a=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),i=o.redSub(r),c=n.redSub(t),s=a.redMul(i),l=o.redMul(c),u=a.redMul(c),f=i.redMul(o);return this.curve.point(s,l,f,u)},l.prototype._projDbl=function(){var e,t,r,n=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var i=(l=this.curve._mulA(a)).redAdd(o);if(this.zOne)e=n.redSub(a).redSub(o).redMul(i.redSub(this.curve.two)),t=i.redMul(l.redSub(o)),r=i.redSqr().redSub(i).redSub(i);else{var c=this.z.redSqr(),s=i.redSub(c).redISub(c);e=n.redSub(a).redISub(o).redMul(s),t=i.redMul(l.redSub(o)),r=i.redMul(s)}}else{var l=a.redAdd(o);c=this.curve._mulC(this.z).redSqr(),s=l.redSub(c).redSub(c);e=this.curve._mulC(n.redISub(l)).redMul(s),t=this.curve._mulC(l).redMul(a.redISub(o)),r=l.redMul(s)}return this.curve.point(e,t,r)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),a=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),i=a.redSub(n),c=a.redAdd(n),s=r.redAdd(t),l=o.redMul(i),u=c.redMul(s),f=o.redMul(s),d=i.redMul(c);return this.curve.point(l,u,d,f)},l.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),a=n.redSqr(),o=this.x.redMul(e.x),i=this.y.redMul(e.y),c=this.curve.d.redMul(o).redMul(i),s=a.redSub(c),l=a.redAdd(c),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(i),f=n.redMul(s).redMul(u);return this.curve.twisted?(t=n.redMul(l).redMul(i.redSub(this.curve._mulA(o))),r=s.redMul(l)):(t=n.redMul(l).redMul(i.redSub(o)),r=this.curve._mulC(s).redMul(l)),this.curve.point(f,t,r)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},l.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add},function(e,t,r){"use strict";t.sha1=r(522),t.sha224=r(523),t.sha256=r(303),t.sha384=r(524),t.sha512=r(304)},function(e,t,r){"use strict";var n=r(78),a=r(115),o=r(302),i=n.rotl32,c=n.sum32,s=n.sum32_5,l=o.ft_1,u=a.BlockHash,f=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,u),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=i(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var a=this.h[0],o=this.h[1],u=this.h[2],d=this.h[3],h=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),m=s(i(a,5),l(p,o,u,d),h,r[n],f[p]);h=d,d=u,u=i(o,30),o=a,a=m}this.h[0]=c(this.h[0],a),this.h[1]=c(this.h[1],o),this.h[2]=c(this.h[2],u),this.h[3]=c(this.h[3],d),this.h[4]=c(this.h[4],h)},d.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,t,r){"use strict";var n=r(78),a=r(303);function o(){if(!(this instanceof o))return new o;a.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,a),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},function(e,t,r){"use strict";var n=r(78),a=r(304);function o(){if(!(this instanceof o))return new o;a.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,a),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},function(e,t,r){"use strict";var n=r(78),a=r(115),o=n.rotl32,i=n.sum32,c=n.sum32_3,s=n.sum32_4,l=a.BlockHash;function u(){if(!(this instanceof u))return new u;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,l),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],a=this.h[2],l=this.h[3],u=this.h[4],v=r,y=n,w=a,_=l,k=u,E=0;E<80;E++){var O=i(o(s(r,f(E,n,a,l),e[p[E]+t],d(E)),b[E]),u);r=u,u=l,l=o(a,10),a=n,n=O,O=i(o(s(v,f(79-E,y,w,_),e[m[E]+t],h(E)),g[E]),k),v=k,k=_,_=o(w,10),w=y,y=O}O=c(this.h[1],a,_),this.h[1]=c(this.h[2],l,k),this.h[2]=c(this.h[3],u,v),this.h[3]=c(this.h[4],r,y),this.h[4]=c(this.h[0],n,w),this.h[0]=O},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,r){"use strict";var n=r(78),a=r(70);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,r){"use strict";var n=r(43),a=r(529),o=r(73),i=r(186),c=r(183),s=o.assert,l=r(530),u=r(531);function f(e){if(!(this instanceof f))return new f(e);"string"==typeof e&&(s(i.hasOwnProperty(e),"Unknown curve "+e),e=i[e]),e instanceof i.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=f,f.prototype.keyPair=function(e){return new l(this,e)},f.prototype.keyFromPrivate=function(e,t){return l.fromPrivate(this,e,t)},f.prototype.keyFromPublic=function(e,t){return l.fromPublic(this,e,t)},f.prototype.genKeyPair=function(e){e||(e={});for(var t=new a({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||c(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var i=new n(t.generate(r));if(!(i.cmp(o)>0))return i.iaddn(1),this.keyFromPrivate(i)}},f.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},f.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var i=this.n.byteLength(),c=t.getPrivate().toArray("be",i),s=e.toArray("be",i),l=new a({hash:this.hash,entropy:c,nonce:s,pers:o.pers,persEnc:o.persEnc||"utf8"}),f=this.n.sub(new n(1)),d=0;;d++){var h=o.k?o.k(d):new n(l.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(f)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var g=h.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var v=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return o.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),v^=1),new u({r:b,s:g,recoveryParam:v})}}}}}},f.prototype.verify=function(e,t,r,a){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,a);var o=(t=new u(t,"hex")).r,i=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var c,s=i.invm(this.n),l=s.mul(e).umod(this.n),f=s.mul(o).umod(this.n);return this.curve._maxwellTrick?!(c=this.g.jmulAdd(l,r.getPublic(),f)).isInfinity()&&c.eqXToP(o):!(c=this.g.mulAdd(l,r.getPublic(),f)).isInfinity()&&0===c.getX().umod(this.n).cmp(o)},f.prototype.recoverPubKey=function(e,t,r,a){s((3&r)===r,"The recovery param is more than two bits"),t=new u(t,a);var o=this.n,i=new n(e),c=t.r,l=t.s,f=1&r,d=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");c=d?this.curve.pointFromX(c.add(this.curve.n),f):this.curve.pointFromX(c,f);var h=t.r.invm(o),p=o.sub(i).mul(h).umod(o),m=l.mul(h).umod(o);return this.g.mulAdd(p,c,m)},f.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new u(t,n)).recoveryParam)return t.recoveryParam;for(var a=0;a<4;a++){var o;try{o=this.recoverPubKey(e,t,a)}catch(e){continue}if(o.eq(r))return a}throw new Error("Unable to find valid recovery factor")}},function(e,t,r){"use strict";var n=r(187),a=r(300),o=r(70);function i(e){if(!(this instanceof i))return new i(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=a.toArray(e.entropy,e.entropyEnc||"hex"),r=a.toArray(e.nonce,e.nonceEnc||"hex"),n=a.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=i,i.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var a=0;a<this.V.length;a++)this.K[a]=0,this.V[a]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},i.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},i.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},i.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=a.toArray(e,t),r=a.toArray(r,n),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},i.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=a.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var i=o.slice(0,e);return this._update(r),this._reseed++,a.encode(i,t)}},function(e,t,r){"use strict";var n=r(43),a=r(73).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?a(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||a(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,r){"use strict";var n=r(43),a=r(73),o=a.assert;function i(e,t){if(e instanceof i)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function c(){this.place=0}function s(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,a=0,o=0,i=t.place;o<n;o++,i++)a<<=8,a|=e[i];return t.place=i,a}function l(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function u(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=i,i.prototype._importDER=function(e,t){e=a.toArray(e,t);var r=new c;if(48!==e[r.place++])return!1;if(s(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=s(e,r),i=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var l=s(e,r);if(e.length!==l+r.place)return!1;var u=e.slice(r.place,l+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===u[0]&&128&u[1]&&(u=u.slice(1)),this.r=new n(i),this.s=new n(u),this.recoveryParam=null,!0},i.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=l(t),r=l(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];u(n,t.length),(n=n.concat(t)).push(2),u(n,r.length);var o=n.concat(r),i=[48];return u(i,o.length),i=i.concat(o),a.encode(i,e)}},function(e,t,r){"use strict";var n=r(187),a=r(186),o=r(73),i=o.assert,c=o.parseBytes,s=r(533),l=r(534);function u(e){if(i("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=a[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=u,u.prototype.sign=function(e,t){e=c(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),a=this.g.mul(n),o=this.encodePoint(a),i=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),s=n.add(i).umod(this.curve.n);return this.makeSignature({R:a,S:s,Rencoded:o})},u.prototype.verify=function(e,t,r){e=c(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),a=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(a)).eq(o)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return o.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof l?e:new l(this,e)},u.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},u.prototype.decodePoint=function(e){var t=(e=o.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),n=0!=(128&e[t]),a=o.intFromLE(r);return this.curve.pointFromY(a,n)},u.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(e){return o.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,r){"use strict";var n=r(73),a=n.assert,o=n.parseBytes,i=n.cachedProperty;function c(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}c.fromPublic=function(e,t){return t instanceof c?t:new c(e,{pub:t})},c.fromSecret=function(e,t){return t instanceof c?t:new c(e,{secret:t})},c.prototype.secret=function(){return this._secret},i(c,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),i(c,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),i(c,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),i(c,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),i(c,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),i(c,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),c.prototype.sign=function(e){return a(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},c.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},c.prototype.getSecret=function(e){return a(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},c.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=c},function(e,t,r){"use strict";var n=r(43),a=r(73),o=a.assert,i=a.cachedProperty,c=a.parseBytes;function s(e,t){this.eddsa=e,"object"!=typeof t&&(t=c(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}i(s,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),i(s,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),i(s,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),i(s,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return a.encode(this.toBytes(),"hex").toUpperCase()},e.exports=s},function(e,t,r){"use strict";var n=r(116);t.certificate=r(545);var a=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=a;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=o;var i=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(c),this.key("subjectPublicKey").bitstr())}));t.PublicKey=i;var c=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),s=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(c),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=s;var l=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=l;var u=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=u,t.DSAparam=n.define("DSAparam",(function(){this.int()}));var f=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=f;var d=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function(e,t,r){var n=r(116),a=r(30);function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){var t;try{t=r(537).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return a(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(n.decoders[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n.encoders[e])),this.encoders[e]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},function(module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r<e.length;r++)if(e[r]===t)return r;return-1},Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var r in e)t.push(r);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r,e)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(e,t,r){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var r=t.contentWindow,n=r.eval,a=r.execScript;!n&&a&&(a.call(r,"null"),n=r.eval),forEach(Object_keys(e),(function(t){r[t]=e[t]})),forEach(globals,(function(t){e[t]&&(r[t]=e[t])}));var o=Object_keys(r),i=n.call(r,this.code);return forEach(Object_keys(r),(function(t){(t in e||-1===indexOf(o,t))&&(e[t]=r[t])})),forEach(globals,(function(t){t in e||defineProp(e,t,r[t])})),document.body.removeChild(t),i},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),r=this.runInContext(t);return e&&forEach(Object_keys(t),(function(r){e[r]=t[r]})),r},forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}})),exports.isContext=function(e){return e instanceof Context},exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return"object"==typeof e&&forEach(Object_keys(e),(function(r){t[r]=e[r]})),t}},function(e,t,r){var n=r(30);function a(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=a,a.prototype.isError=function(e){return e instanceof o},a.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},a.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},a.prototype.enterKey=function(e){return this._reporterState.path.push(e)},a.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},a.prototype.leaveKey=function(e,t,r){var n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},a.prototype.path=function(){return this._reporterState.path.join("/")},a.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},a.prototype.leaveObject=function(e){var t=this._reporterState,r=t.obj;return t.obj=e,r},a.prototype.error=function(e){var t,r=this._reporterState,n=e instanceof o;if(t=n?e:new o(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},a.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,r){var n=r(117).Reporter,a=r(117).EncoderBuffer,o=r(117).DecoderBuffer,i=r(70),c=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],s=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(c);function l(e,t){var r={};this._baseState=r,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}e.exports=l;var u=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];l.prototype.clone=function(){var e=this._baseState,t={};u.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);return r._baseState=t,r},l.prototype._wrap=function(){var e=this._baseState;s.forEach((function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},l.prototype._init=function(e){var t=this._baseState;i(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),i.equal(t.children.length,1,"Root node can have only one child")},l.prototype._useArgs=function(e){var t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(i(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(i(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);var n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){l.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),c.forEach((function(e){l.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return i(null===t.tag),t.tag=e,this._useArgs(r),this}})),l.prototype.use=function(e){i(e);var t=this._baseState;return i(null===t.use),t.use=e,this},l.prototype.optional=function(){return this._baseState.optional=!0,this},l.prototype.def=function(e){var t=this._baseState;return i(null===t.default),t.default=e,t.optional=!0,this},l.prototype.explicit=function(e){var t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.explicit=e,this},l.prototype.implicit=function(e){var t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.implicit=e,this},l.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},l.prototype.key=function(e){var t=this._baseState;return i(null===t.key),t.key=e,this},l.prototype.any=function(){return this._baseState.any=!0,this},l.prototype.choice=function(e){var t=this._baseState;return i(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},l.prototype.contains=function(e){var t=this._baseState;return i(null===t.use),t.contains=e,this},l.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var n,a=r.default,i=!0,c=null;if(null!==r.key&&(c=e.enterKey(r.key)),r.optional){var s=null;if(null!==r.explicit?s=r.explicit:null!==r.implicit?s=r.implicit:null!==r.tag&&(s=r.tag),null!==s||r.any){if(i=this._peekTag(e,s,r.any),e.isError(i))return i}else{var l=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),i=!0}catch(e){i=!1}e.restore(l)}}if(r.obj&&i&&(n=e.enterObject()),i){if(null!==r.explicit){var u=this._decodeTag(e,r.explicit);if(e.isError(u))return u;e=u}var f=e.offset;if(null===r.use&&null===r.choice){if(r.any)l=e.save();var d=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(d))return d;r.any?a=e.raw(l):e=d}if(t&&t.track&&null!==r.tag&&t.track(e.path(),f,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),a=r.any?a:null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),e.isError(a))return a;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var h=new o(a);a=this._getUse(r.contains,e._reporterState.obj)._decode(h,t)}}return r.obj&&i&&(a=e.leaveObject(n)),null===r.key||null===a&&!0!==i?null!==c&&e.exitKey(c):e.leaveKey(c,r.key,a),a},l.prototype._decodeGeneric=function(e,t,r){var n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},l.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),i(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},l.prototype._decodeChoice=function(e,t){var r=this._baseState,n=null,a=!1;return Object.keys(r.choice).some((function(o){var i=e.save(),c=r.choice[o];try{var s=c._decode(e,t);if(e.isError(s))return!1;n={type:o,value:s},a=!0}catch(t){return e.restore(i),!1}return!0}),this),a?n:e.error("Choice not matched")},l.prototype._createEncoderBuffer=function(e){return new a(e,this.reporter)},l.prototype._encode=function(e,t,r){var n=this._baseState;if(null===n.default||n.default!==e){var a=this._encodeValue(e,t,r);if(void 0!==a&&!this._skipDefault(a,t,r))return a}},l.prototype._encodeValue=function(e,t,r){var a=this._baseState;if(null===a.parent)return a.children[0]._encode(e,t||new n);var o=null;if(this.reporter=t,a.optional&&void 0===e){if(null===a.default)return;e=a.default}var i=null,c=!1;if(a.any)o=this._createEncoderBuffer(e);else if(a.choice)o=this._encodeChoice(e,t);else if(a.contains)i=this._getUse(a.contains,r)._encode(e,t),c=!0;else if(a.children)i=a.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var n=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var a=r._encode(e[r._baseState.key],t,e);return t.leaveKey(n),a}),this).filter((function(e){return e})),i=this._createEncoderBuffer(i);else if("seqof"===a.tag||"setof"===a.tag){if(!a.args||1!==a.args.length)return t.error("Too many args for : "+a.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var s=this.clone();s._baseState.implicit=null,i=this._createEncoderBuffer(e.map((function(r){var n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),s))}else null!==a.use?o=this._getUse(a.use,r)._encode(e,t):(i=this._encodePrimitive(a.tag,e),c=!0);if(!a.any&&null===a.choice){var l=null!==a.implicit?a.implicit:a.tag,u=null===a.implicit?"universal":"context";null===l?null===a.use&&t.error("Tag could be omitted only for .use()"):null===a.use&&(o=this._encodeComposite(l,c,u,i))}return null!==a.explicit&&(o=this._encodeComposite(a.explicit,!1,"context",o)),o},l.prototype._encodeChoice=function(e,t){var r=this._baseState,n=r.choice[e.type];return n||i(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},l.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},l.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},l.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},function(e,t,r){var n=r(306);t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=n._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=n._reverse(t.tag)},function(e,t,r){var n=t;n.der=r(307),n.pem=r(542)},function(e,t,r){var n=r(30),a=r(48).Buffer,o=r(307);function i(e){o.call(this,e),this.enc="pem"}n(i,o),e.exports=i,i.prototype.decode=function(e,t){for(var r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),i=/^-----(BEGIN|END) ([^-]+)-----$/,c=-1,s=-1,l=0;l<r.length;l++){var u=r[l].match(i);if(null!==u&&u[2]===n){if(-1!==c){if("END"!==u[1])break;s=l;break}if("BEGIN"!==u[1])break;c=l}}if(-1===c||-1===s)throw new Error("PEM section not found for: "+n);var f=r.slice(c+1,s).join("");f.replace(/[^a-z0-9\+\/=]+/gi,"");var d=new a(f,"base64");return o.prototype.decode.call(this,d,t)}},function(e,t,r){var n=t;n.der=r(308),n.pem=r(544)},function(e,t,r){var n=r(30),a=r(308);function o(e){a.call(this,e),this.enc="pem"}n(o,a),e.exports=o,o.prototype.encode=function(e,t){for(var r=a.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"],o=0;o<r.length;o+=64)n.push(r.slice(o,o+64));return n.push("-----END "+t.label+"-----"),n.join("\n")}},function(e,t,r){"use strict";var n=r(116),a=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),i=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),c=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(i),this.key("subjectPublicKey").bitstr())})),s=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),l=n.define("RDNSequence",(function(){this.seqof(s)})),u=n.define("Name",(function(){this.choice({rdnSequence:this.use(l)})})),f=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(a),this.key("notAfter").use(a))})),d=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(i),this.key("issuer").use(u),this.key("validity").use(f),this.key("subject").use(u),this.key("subjectPublicKeyInfo").use(c),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(i),this.key("signatureValue").bitstr())}));e.exports=p},function(e){e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},function(e,t,r){var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,i=r(136),c=r(181),s=r(31).Buffer;e.exports=function(e,t){var r,l=e.toString(),u=l.match(n);if(u){var f="aes"+u[1],d=s.from(u[2],"hex"),h=s.from(u[3].replace(/[\r\n]/g,""),"base64"),p=i(t,d.slice(0,8),parseInt(u[1],10)).key,m=[],b=c.createDecipheriv(f,p,d);m.push(b.update(h)),m.push(b.final()),r=s.concat(m)}else{var g=l.match(o);r=new s(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:l.match(a)[1],data:r}}},function(e,t,r){(function(t){var n=r(43),a=r(185).ec,o=r(138),i=r(309);function c(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,r,s,l,u){var f=o(s);if("ec"===f.type){if("ecdsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var n=i[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var o=new a(n),c=r.data.subjectPrivateKey.data;return o.verify(t,e,c)}(e,r,f)}if("dsa"===f.type){if("dsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var a=r.data.p,i=r.data.q,s=r.data.g,l=r.data.pub_key,u=o.signature.decode(e,"der"),f=u.s,d=u.r;c(f,i),c(d,i);var h=n.mont(a),p=f.invm(i);return 0===s.toRed(h).redPow(new n(t).mul(p).mod(i)).fromRed().mul(l.toRed(h).redPow(d.mul(p).mod(i)).fromRed()).mod(a).mod(i).cmp(d)}(e,r,f)}if("rsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");r=t.concat([u,r]);for(var d=f.modulus.byteLength(),h=[1],p=0;r.length+h.length+2<d;)h.push(255),p++;h.push(0);for(var m=-1;++m<r.length;)h.push(r[m]);h=new t(h);var b=n.mont(f.modulus);e=(e=new n(e).toRed(b)).redPow(new n(f.publicExponent)),e=new t(e.fromRed().toArray());var g=p<8?1:0;for(d=Math.min(e.length,h.length),e.length!==h.length&&(g=1),m=-1;++m<d;)g|=e[m]^h[m];return 0===g}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(185),a=r(43);e.exports=function(e){return new i(e)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function i(e){this.curveType=o[e],this.curveType||(this.curveType={name:e}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function c(e,r,n){Array.isArray(e)||(e=e.toArray());var a=new t(e);if(n&&a.length<n){var o=new t(n-a.length);o.fill(0),a=t.concat([o,a])}return r?a.toString(r):a}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,i.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},i.prototype.computeSecret=function(e,r,n){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),c(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),n,this.curveType.byteLength)},i.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),c(r,e)},i.prototype.getPrivateKey=function(e){return c(this.keys.getPrivate(),e)},i.prototype.setPublicKey=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.keys._importPublic(e),this},i.prototype.setPrivateKey=function(e,r){r=r||"utf8",t.isBuffer(e)||(e=new t(e,r));var n=new a(e);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this}}).call(this,r(48).Buffer)},function(e,t,r){t.publicEncrypt=r(551),t.privateDecrypt=r(552),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},function(e,t,r){var n=r(138),a=r(101),o=r(112),i=r(310),c=r(311),s=r(43),l=r(312),u=r(184),f=r(31).Buffer;e.exports=function(e,t,r){var d;d=e.padding?e.padding:r?1:4;var h,p=n(e);if(4===d)h=function(e,t){var r=e.modulus.byteLength(),n=t.length,l=o("sha1").update(f.alloc(0)).digest(),u=l.length,d=2*u;if(n>r-d-2)throw new Error("message too long");var h=f.alloc(r-n-d-2),p=r-u-1,m=a(u),b=c(f.concat([l,h,f.alloc(1,1),t],p),i(m,p)),g=c(m,i(b,u));return new s(f.concat([f.alloc(1),g,b],r))}(p,t);else if(1===d)h=function(e,t,r){var n,o=t.length,i=e.modulus.byteLength();if(o>i-11)throw new Error("message too long");n=r?f.alloc(i-o-3,255):function(e){var t,r=f.allocUnsafe(e),n=0,o=a(2*e),i=0;for(;n<e;)i===o.length&&(o=a(2*e),i=0),(t=o[i++])&&(r[n++]=t);return r}(i-o-3);return new s(f.concat([f.from([0,r?1:2]),n,f.alloc(1),t],i))}(p,t,r);else{if(3!==d)throw new Error("unknown padding");if((h=new s(t)).cmp(p.modulus)>=0)throw new Error("data too long for modulus")}return r?u(h,p):l(h,p)}},function(e,t,r){var n=r(138),a=r(310),o=r(311),i=r(43),c=r(184),s=r(112),l=r(312),u=r(31).Buffer;e.exports=function(e,t,r){var f;f=e.padding?e.padding:r?1:4;var d,h=n(e),p=h.modulus.byteLength();if(t.length>p||new i(t).cmp(h.modulus)>=0)throw new Error("decryption error");d=r?l(new i(t),h):c(t,h);var m=u.alloc(p-d.length);if(d=u.concat([m,d],p),4===f)return function(e,t){var r=e.modulus.byteLength(),n=s("sha1").update(u.alloc(0)).digest(),i=n.length;if(0!==t[0])throw new Error("decryption error");var c=t.slice(1,i+1),l=t.slice(i+1),f=o(c,a(l,i)),d=o(l,a(f,r-i-1));if(function(e,t){e=u.from(e),t=u.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));var a=-1;for(;++a<n;)r+=e[a]^t[a];return r}(n,d.slice(0,i)))throw new Error("decryption error");var h=i;for(;0===d[h];)h++;if(1!==d[h++])throw new Error("decryption error");return d.slice(h)}(h,d);if(1===f)return function(e,t,r){var n=t.slice(0,2),a=2,o=0;for(;0!==t[a++];)if(a>=t.length){o++;break}var i=t.slice(2,a-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;i.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(a)}(0,d,r);if(3===f)return d;throw new Error("unknown padding")}},function(e,t,r){"use strict";(function(e,n){function a(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(31),i=r(101),c=o.Buffer,s=o.kMaxLength,l=e.crypto||e.msCrypto,u=Math.pow(2,32)-1;function f(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>u||e<0)throw new TypeError("offset must be a uint32");if(e>s||e>t)throw new RangeError("offset out of range")}function d(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>u||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>s)throw new RangeError("buffer too small")}function h(e,t,r,a){if(n.browser){var o=e.buffer,c=new Uint8Array(o,t,r);return l.getRandomValues(c),a?void n.nextTick((function(){a(null,e)})):e}if(!a)return i(r).copy(e,t),e;i(r,(function(r,n){if(r)return a(r);n.copy(e,t),a(null,e)}))}l&&l.getRandomValues||!n.browser?(t.randomFill=function(t,r,n,a){if(!(c.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)a=r,r=0,n=t.length;else if("function"==typeof n)a=n,n=t.length-r;else if("function"!=typeof a)throw new TypeError('"cb" argument must be a function');return f(r,t.length),d(n,r,t.length),h(t,r,n,a)},t.randomFillSync=function(t,r,n){void 0===r&&(r=0);if(!(c.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');f(r,t.length),void 0===n&&(n=t.length-r);return d(n,r,t.length),h(t,r,n)}):(t.randomFill=a,t.randomFillSync=a)}).call(this,r(61),r(81))}]]);
22
 
23
  (window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[]).push([[2],[]]);
24
 
18
  *
19
  * This source code is licensed under the MIT license found in the
20
  * LICENSE file in the root directory of this source tree.
21
+ */Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,a=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,c=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,f=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,h=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,b=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case f:case d:case i:case s:case c:case p:return e;default:switch(e=e&&e.$$typeof){case u:case h:case g:case b:case l:return e;default:return t}}case o:return t}}}function k(e){return _(e)===d}t.typeOf=_,t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=a,t.ForwardRef=h,t.Fragment=i,t.Lazy=g,t.Memo=b,t.Portal=o,t.Profiler=s,t.StrictMode=c,t.Suspense=p,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===s||e===c||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===b||e.$$typeof===l||e.$$typeof===u||e.$$typeof===h||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w)},t.isAsyncMode=function(e){return k(e)||_(e)===f},t.isConcurrentMode=k,t.isContextConsumer=function(e){return _(e)===u},t.isContextProvider=function(e){return _(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return _(e)===h},t.isFragment=function(e){return _(e)===i},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===b},t.isPortal=function(e){return _(e)===o},t.isProfiler=function(e){return _(e)===s},t.isStrictMode=function(e){return _(e)===c},t.isSuspense=function(e){return _(e)===p}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.CHANNEL="__direction__",t.DIRECTIONS={LTR:"ltr",RTL:"rtl"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(2),o=(n=a)&&n.__esModule?n:{default:n};t.default=o.default.shape({getState:o.default.func,setState:o.default.func,subscribe:o.default.func})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof e)return e;if("function"==typeof e)return e(t);return""}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=l;var n=c(r(13)),a=r(42),o=c(r(162)),i=c(r(438));function c(e){return e&&e.__esModule?e:{default:e}}var s=(0,a.forbidExtraProps)({children:(0,a.or)([(0,a.childrenOfType)(o.default),(0,a.childrenOfType)(i.default)]).isRequired});function l(e){var t=e.children;return n.default.createElement("tr",null,t)}l.propTypes=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureCustomizableCalendarDay=t.selectedStyles=t.lastInRangeStyles=t.selectedSpanStyles=t.hoveredSpanStyles=t.blockedOutOfRangeStyles=t.blockedCalendarStyles=t.blockedMinNightsStyles=t.highlightedCalendarStyles=t.outsideStyles=t.defaultStyles=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=g(r(50)),i=g(r(13)),c=g(r(2)),s=g(r(95)),l=g(r(79)),u=r(42),f=r(62),d=g(r(11)),h=r(51),p=g(r(56)),m=g(r(243)),b=r(33);function g(e){return e&&e.__esModule?e:{default:e}}var v=g(r(219)).default.reactDates.color;function y(e,t){if(!e)return null;var r=e.hover;return t&&r?r:e}var w=c.default.shape({background:c.default.string,border:(0,u.or)([c.default.string,c.default.number]),color:c.default.string,hover:c.default.shape({background:c.default.string,border:(0,u.or)([c.default.string,c.default.number]),color:c.default.string})}),_=(0,u.forbidExtraProps)((0,o.default)({},f.withStylesPropTypes,{day:l.default.momentObj,daySize:u.nonNegativeInteger,isOutsideDay:c.default.bool,modifiers:c.default.instanceOf(Set),isFocused:c.default.bool,tabIndex:c.default.oneOf([0,-1]),onDayClick:c.default.func,onDayMouseEnter:c.default.func,onDayMouseLeave:c.default.func,renderDayContents:c.default.func,ariaLabelFormat:c.default.string,defaultStyles:w,outsideStyles:w,todayStyles:w,firstDayOfWeekStyles:w,lastDayOfWeekStyles:w,highlightedCalendarStyles:w,blockedMinNightsStyles:w,blockedCalendarStyles:w,blockedOutOfRangeStyles:w,hoveredSpanStyles:w,selectedSpanStyles:w,lastInRangeStyles:w,selectedStyles:w,selectedStartStyles:w,selectedEndStyles:w,afterHoveredStartStyles:w,phrases:c.default.shape((0,p.default)(h.CalendarDayPhrases))})),k=t.defaultStyles={border:"1px solid "+String(v.core.borderLight),color:v.text,background:v.background,hover:{background:v.core.borderLight,border:"1px double "+String(v.core.borderLight),color:"inherit"}},E=t.outsideStyles={background:v.outside.backgroundColor,border:0,color:v.outside.color},O=t.highlightedCalendarStyles={background:v.highlighted.backgroundColor,color:v.highlighted.color,hover:{background:v.highlighted.backgroundColor_hover,color:v.highlighted.color_active}},S=t.blockedMinNightsStyles={background:v.minimumNights.backgroundColor,border:"1px solid "+String(v.minimumNights.borderColor),color:v.minimumNights.color,hover:{background:v.minimumNights.backgroundColor_hover,color:v.minimumNights.color_active}},M=t.blockedCalendarStyles={background:v.blocked_calendar.backgroundColor,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color,hover:{background:v.blocked_calendar.backgroundColor_hover,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color_active}},C=t.blockedOutOfRangeStyles={background:v.blocked_out_of_range.backgroundColor,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color,hover:{background:v.blocked_out_of_range.backgroundColor_hover,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color_active}},D=t.hoveredSpanStyles={background:v.hoveredSpan.backgroundColor,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color,hover:{background:v.hoveredSpan.backgroundColor_hover,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color_active}},j=t.selectedSpanStyles={background:v.selectedSpan.backgroundColor,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color,hover:{background:v.selectedSpan.backgroundColor_hover,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color_active}},x=t.lastInRangeStyles={borderRight:v.core.primary},P=t.selectedStyles={background:v.selected.backgroundColor,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color,hover:{background:v.selected.backgroundColor_hover,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color_active}},F={day:(0,d.default)(),daySize:b.DAY_SIZE,isOutsideDay:!1,modifiers:new Set,isFocused:!1,tabIndex:-1,onDayClick:function(){},onDayMouseEnter:function(){},onDayMouseLeave:function(){},renderDayContents:null,ariaLabelFormat:"dddd, LL",defaultStyles:k,outsideStyles:E,todayStyles:{},highlightedCalendarStyles:O,blockedMinNightsStyles:S,blockedCalendarStyles:M,blockedOutOfRangeStyles:C,hoveredSpanStyles:D,selectedSpanStyles:j,lastInRangeStyles:x,selectedStyles:P,selectedStartStyles:{},selectedEndStyles:{},afterHoveredStartStyles:{},firstDayOfWeekStyles:{},lastDayOfWeekStyles:{},phrases:h.CalendarDayPhrases},T=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.state={isHovered:!1},o.setButtonRef=o.setButtonRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"shouldComponentUpdate",value:function(e,t){return(0,s.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.isFocused,n=t.tabIndex;0===n&&(r||n!==e.tabIndex)&&this.buttonRef.focus()}},{key:"onDayClick",value:function(e,t){(0,this.props.onDayClick)(e,t)}},{key:"onDayMouseEnter",value:function(e,t){var r=this.props.onDayMouseEnter;this.setState({isHovered:!0}),r(e,t)}},{key:"onDayMouseLeave",value:function(e,t){var r=this.props.onDayMouseLeave;this.setState({isHovered:!1}),r(e,t)}},{key:"onKeyDown",value:function(e,t){var r=this.props.onDayClick,n=t.key;"Enter"!==n&&" "!==n||r(e,t)}},{key:"setButtonRef",value:function(e){this.buttonRef=e}},{key:"render",value:function(){var e=this,t=this.props,r=t.day,a=t.ariaLabelFormat,o=t.daySize,c=t.isOutsideDay,s=t.modifiers,l=t.tabIndex,u=t.renderDayContents,d=t.styles,h=t.phrases,p=t.defaultStyles,b=t.outsideStyles,g=t.todayStyles,v=t.firstDayOfWeekStyles,w=t.lastDayOfWeekStyles,_=t.highlightedCalendarStyles,k=t.blockedMinNightsStyles,E=t.blockedCalendarStyles,O=t.blockedOutOfRangeStyles,S=t.hoveredSpanStyles,M=t.selectedSpanStyles,C=t.lastInRangeStyles,D=t.selectedStyles,j=t.selectedStartStyles,x=t.selectedEndStyles,P=t.afterHoveredStartStyles,F=this.state.isHovered;if(!r)return i.default.createElement("td",null);var T=(0,m.default)(r,a,o,s,h),I=T.daySizeStyles,A=T.useDefaultCursor,N=T.selected,R=T.hoveredSpan,B=T.isOutsideRange,L=T.ariaLabel;return i.default.createElement("td",n({},(0,f.css)(d.CalendarDay,A&&d.CalendarDay__defaultCursor,I,y(p,F),c&&y(b,F),s.has("today")&&y(g,F),s.has("first-day-of-week")&&y(v,F),s.has("last-day-of-week")&&y(w,F),s.has("highlighted-calendar")&&y(_,F),s.has("blocked-minimum-nights")&&y(k,F),s.has("blocked-calendar")&&y(E,F),R&&y(S,F),s.has("after-hovered-start")&&y(P,F),s.has("selected-span")&&y(M,F),s.has("last-in-range")&&y(C,F),N&&y(D,F),s.has("selected-start")&&y(j,F),s.has("selected-end")&&y(x,F),B&&y(O,F)),{role:"button",ref:this.setButtonRef,"aria-label":L,onMouseEnter:function(t){e.onDayMouseEnter(r,t)},onMouseLeave:function(t){e.onDayMouseLeave(r,t)},onMouseUp:function(e){e.currentTarget.blur()},onClick:function(t){e.onDayClick(r,t)},onKeyDown:function(t){e.onKeyDown(r,t)},tabIndex:l}),u?u(r,s):r.format("D"))}}]),t}(i.default.Component);T.propTypes=_,T.defaultProps=F,t.PureCustomizableCalendarDay=T,t.default=(0,f.withStyles)((function(e){return{CalendarDay:{boxSizing:"border-box",cursor:"pointer",fontSize:e.reactDates.font.size,textAlign:"center",":active":{outline:0}},CalendarDay__defaultCursor:{cursor:"default"}}}))(T)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.default.localeData().firstDayOfWeek();if(!o.default.isMoment(e)||!e.isValid())throw new TypeError("`month` must be a valid moment object");if(-1===i.WEEKDAYS.indexOf(r))throw new TypeError("`firstDayOfWeek` must be an integer between 0 and 6");for(var n=e.clone().startOf("month").hour(12),a=e.clone().endOf("month").hour(12),c=(n.day()+7-r)%7,s=(r+6-a.day())%7,l=n.clone().subtract(c,"day"),u=a.clone().add(s,"day").diff(l,"days")+1,f=l.clone(),d=[],h=0;h<u;h+=1){h%7==0&&d.push([]);var p=null;(h>=c&&h<u-s||t)&&(p=f.clone()),d[d.length-1].push(p),f.add(1,"day")}return d};var n,a=r(11),o=(n=a)&&n.__esModule?n:{default:n},i=r(33)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!!("undefined"!=typeof window&&"TransitionEvent"in window)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{transform:e,msTransform:e,MozTransform:e,WebkitTransform:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().subtract(1,"month"),t)};var n=o(r(11)),a=o(r(248));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().add(1,"month"),t)};var n=o(r(11)),a=o(r(248));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureDateRangePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=M(r(50)),i=M(r(13)),c=M(r(95)),s=M(r(11)),l=r(62),u=r(317),f=r(42),d=r(130),h=M(r(99)),p=M(r(163)),m=M(r(253)),b=r(51),g=M(r(257)),v=M(r(258)),y=M(r(165)),w=M(r(109)),_=M(r(259)),k=M(r(260)),E=M(r(269)),O=M(r(111)),S=r(33);function M(e){return e&&e.__esModule?e:{default:e}}var C=(0,f.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,m.default)),D={startDate:null,endDate:null,focusedInput:null,startDatePlaceholderText:"Start Date",endDatePlaceholderText:"End Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDates:!1,showDefaultInputIcon:!1,inputIconPosition:S.ICON_BEFORE_POSITION,customInputIcon:null,customArrowIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,keepFocusOnInput:!1,renderMonthText:null,orientation:S.HORIZONTAL_ORIENTATION,anchorDirection:S.ANCHOR_LEFT,openDirection:S.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDates:!1,renderCalendarInfo:null,calendarInfoPosition:S.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:S.DAY_SIZE,isRTL:!1,firstDayOfWeek:null,verticalHeight:null,transitionDuration:void 0,verticalSpacing:S.DEFAULT_VERTICAL_SPACING,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,minimumNights:1,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,w.default)(e,(0,s.default)())},isDayHighlighted:function(){return!1},displayFormat:function(){return s.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:b.DateRangePickerPhrases,dayAriaLabelFormat:void 0},j=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={dayPickerContainerStyles:{},isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1},r.isTouchDevice=!1,r.onOutsideClick=r.onOutsideClick.bind(r),r.onDateRangePickerInputFocus=r.onDateRangePickerInputFocus.bind(r),r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,d.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focusedInput&&this.setState({isDateRangePickerInputFocused:!0}),this.isTouchDevice=(0,h.default)()}},{key:"shouldComponentUpdate",value:function(e,t){return(0,c.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props.focusedInput;!e.focusedInput&&t&&this.isOpened()?(this.responsivizePickerPosition(),this.disableScroll()):!e.focusedInput||t||this.isOpened()||this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onOutsideClick",value:function(e){var t=this.props,r=t.onFocusChange,n=t.onClose,a=t.startDate,o=t.endDate,i=t.appendToBody;this.isOpened()&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1}),r(null),n({startDate:a,endDate:o})))}},{key:"onDateRangePickerInputFocus",value:function(e){var t=this.props,r=t.onFocusChange,n=t.readOnly,a=t.withPortal,o=t.withFullScreenPortal,i=t.keepFocusOnInput;e&&(a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur()),r(e)}},{key:"onDayPickerFocus",value:function(){var e=this.props,t=e.focusedInput,r=e.onFocusChange;t||r(S.START_DATE),this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isDateRangePickerInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"isOpened",value:function(){var e=this.props.focusedInput;return e===S.START_DATE||e===S.END_DATE}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll;(t||r)&&this.isOpened()&&(this.enableScroll=(0,_.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){if(this.setState({dayPickerContainerStyles:{}}),this.isOpened()){var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,c=e.appendToBody,s=this.state.dayPickerContainerStyles,l=r===S.ANCHOR_LEFT;if(!a&&!i){var u=this.dayPickerContainer.getBoundingClientRect(),f=s[r]||0,d=l?u[S.ANCHOR_RIGHT]:u[S.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,g.default)(r,f,d,n),c&&(0,v.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.withPortal,r=e.withFullScreenPortal,n=e.appendToBody;return this.isOpened()?t||r||n?i.default.createElement(u.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.isDayBlocked,o=e.isDayHighlighted,c=e.isOutsideRange,u=e.numberOfMonths,f=e.orientation,d=e.monthFormat,h=e.renderMonthText,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onDatesChange,w=e.onFocusChange,_=e.withPortal,k=e.withFullScreenPortal,M=e.daySize,C=e.enableOutsideDays,D=e.focusedInput,j=e.startDate,x=e.endDate,P=e.minimumNights,F=e.keepOpenOnDateSelect,T=e.renderCalendarDay,I=e.renderDayContents,A=e.renderCalendarInfo,N=e.renderMonthElement,R=e.calendarInfoPosition,B=e.firstDayOfWeek,L=e.initialVisibleMonth,U=e.hideKeyboardShortcutsPanel,z=e.customCloseIcon,H=e.onClose,V=e.phrases,q=e.dayAriaLabelFormat,K=e.isRTL,W=e.weekDayFormat,G=e.styles,Y=e.verticalHeight,$=e.transitionDuration,Q=e.verticalSpacing,X=e.small,Z=e.disabled,J=e.theme.reactDates,ee=this.state,te=ee.dayPickerContainerStyles,re=ee.isDayPickerFocused,ne=ee.showKeyboardShortcuts,ae=!k&&_?this.onOutsideClick:void 0,oe=L||function(){return j||x||(0,s.default)()},ie=z||i.default.createElement(O.default,(0,l.css)(G.DateRangePicker_closeButton_svg)),ce=(0,y.default)(J,X),se=_||k;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,l.css)(G.DateRangePicker_picker,t===S.ANCHOR_LEFT&&G.DateRangePicker_picker__directionLeft,t===S.ANCHOR_RIGHT&&G.DateRangePicker_picker__directionRight,f===S.HORIZONTAL_ORIENTATION&&G.DateRangePicker_picker__horizontal,f===S.VERTICAL_ORIENTATION&&G.DateRangePicker_picker__vertical,!se&&r===S.OPEN_DOWN&&{top:ce+Q},!se&&r===S.OPEN_UP&&{bottom:ce+Q},se&&G.DateRangePicker_picker__portal,k&&G.DateRangePicker_picker__fullScreenPortal,K&&G.DateRangePicker_picker__rtl,te),{onClick:ae}),i.default.createElement(E.default,{orientation:f,enableOutsideDays:C,numberOfMonths:u,onPrevMonthClick:b,onNextMonthClick:g,onDatesChange:v,onFocusChange:w,onClose:H,focusedInput:D,startDate:j,endDate:x,monthFormat:d,renderMonthText:h,withPortal:se,daySize:M,initialVisibleMonth:oe,hideKeyboardShortcutsPanel:U,navPrev:p,navNext:m,minimumNights:P,isOutsideRange:c,isDayHighlighted:o,isDayBlocked:a,keepOpenOnDateSelect:F,renderCalendarDay:T,renderDayContents:I,renderCalendarInfo:A,renderMonthElement:N,calendarInfoPosition:R,isFocused:re,showKeyboardShortcuts:ne,onBlur:this.onDayPickerBlur,phrases:V,dayAriaLabelFormat:q,isRTL:K,firstDayOfWeek:B,weekDayFormat:W,verticalHeight:Y,transitionDuration:$,disabled:Z}),k&&i.default.createElement("button",n({},(0,l.css)(G.DateRangePicker_closeButton),{type:"button",onClick:this.onOutsideClick,"aria-label":V.closeDatePicker}),ie))}},{key:"render",value:function(){var e=this.props,t=e.startDate,r=e.startDateId,a=e.startDatePlaceholderText,o=e.endDate,c=e.endDateId,s=e.endDatePlaceholderText,u=e.focusedInput,f=e.screenReaderInputMessage,d=e.showClearDates,h=e.showDefaultInputIcon,m=e.inputIconPosition,b=e.customInputIcon,g=e.customArrowIcon,v=e.customCloseIcon,y=e.disabled,w=e.required,_=e.readOnly,E=e.openDirection,O=e.phrases,M=e.isOutsideRange,C=e.minimumNights,D=e.withPortal,j=e.withFullScreenPortal,x=e.displayFormat,P=e.reopenPickerOnClearDates,F=e.keepOpenOnDateSelect,T=e.onDatesChange,I=e.onClose,A=e.isRTL,N=e.noBorder,R=e.block,B=e.verticalSpacing,L=e.small,U=e.regular,z=e.styles,H=this.state.isDateRangePickerInputFocused,V=!D&&!j,q=B<S.FANG_HEIGHT_PX,K=i.default.createElement(k.default,{startDate:t,startDateId:r,startDatePlaceholderText:a,isStartDateFocused:u===S.START_DATE,endDate:o,endDateId:c,endDatePlaceholderText:s,isEndDateFocused:u===S.END_DATE,displayFormat:x,showClearDates:d,showCaret:!D&&!j&&!q,showDefaultInputIcon:h,inputIconPosition:m,customInputIcon:b,customArrowIcon:g,customCloseIcon:v,disabled:y,required:w,readOnly:_,openDirection:E,reopenPickerOnClearDates:P,keepOpenOnDateSelect:F,isOutsideRange:M,minimumNights:C,withFullScreenPortal:j,onDatesChange:T,onFocusChange:this.onDateRangePickerInputFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,onClose:I,phrases:O,screenReaderMessage:f,isFocused:H,isRTL:A,noBorder:N,block:R,small:L,regular:U,verticalSpacing:B});return i.default.createElement("div",n({ref:this.setContainerRef},(0,l.css)(z.DateRangePicker,R&&z.DateRangePicker__block)),V&&i.default.createElement(p.default,{onOutsideClick:this.onOutsideClick},K,this.maybeRenderDayPickerWithPortal()),!V&&K,!V&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);j.propTypes=C,j.defaultProps=D,t.PureDateRangePicker=j,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{DateRangePicker:{position:"relative",display:"inline-block"},DateRangePicker__block:{display:"block"},DateRangePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},DateRangePicker_picker__rtl:{direction:"rtl"},DateRangePicker_picker__directionLeft:{left:0},DateRangePicker_picker__directionRight:{right:0},DateRangePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},DateRangePicker_picker__fullScreenPortal:{backgroundColor:r.background},DateRangePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},DateRangePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(j)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=u(r(13)),o=u(r(2)),i=r(42),c=r(130),s=u(r(164)),l=u(r(448));function u(e){return e&&e.__esModule?e:{default:e}}var f={BLOCK:"block",FLEX:"flex",INLINE:"inline",INLINE_BLOCK:"inline-block",CONTENTS:"contents"},d=(0,i.forbidExtraProps)({children:o.default.node.isRequired,onOutsideClick:o.default.func.isRequired,disabled:o.default.bool,useCapture:o.default.bool,display:o.default.oneOf((0,s.default)(f))}),h={disabled:!1,useCapture:!0,display:f.BLOCK},p=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.onMouseDown=o.onMouseDown.bind(o),o.onMouseUp=o.onMouseUp.bind(o),o.setChildNodeRef=o.setChildNodeRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.disabled,r=e.useCapture;t||this.addMouseDownEventListener(r)}},{key:"componentDidUpdate",value:function(e){var t=e.disabled,r=this.props,n=r.disabled,a=r.useCapture;t!==n&&(n?this.removeEventListeners():this.addMouseDownEventListener(a))}},{key:"componentWillUnmount",value:function(){this.removeEventListeners()}},{key:"onMouseDown",value:function(e){var t=this.props.useCapture;this.childNode&&(0,l.default)(this.childNode,e.target)||(this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),this.removeMouseUp=(0,c.addEventListener)(document,"mouseup",this.onMouseUp,{capture:t}))}},{key:"onMouseUp",value:function(e){var t=this.props.onOutsideClick,r=this.childNode&&(0,l.default)(this.childNode,e.target);this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),r||t(e)}},{key:"setChildNodeRef",value:function(e){this.childNode=e}},{key:"addMouseDownEventListener",value:function(e){this.removeMouseDown=(0,c.addEventListener)(document,"mousedown",this.onMouseDown,{capture:e})}},{key:"removeEventListeners",value:function(){this.removeMouseDown&&this.removeMouseDown(),this.removeMouseUp&&this.removeMouseUp()}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.display;return a.default.createElement("div",{ref:this.setChildNodeRef,style:r!==f.BLOCK&&(0,s.default)(f).includes(r)?{display:r}:void 0},t)}}]),t}(a.default.Component);t.default=p,p.propTypes=d,p.defaultProps=h},function(e,t,r){"use strict";e.exports=r(204)},function(e,t,r){"use strict";var n=r(250),a=r(60);e.exports=function(){var e=n();return a(Object,{values:e},{values:function(){return Object.values!==e}}),e}},function(e,t,r){"use strict";var n=r(60),a=r(251),o=r(252),i=o(),c=function(e,t){return i.apply(e,[t])};n(c,{getPolyfill:o,implementation:a,shim:r(449)}),e.exports=c},function(e,t,r){"use strict";var n=r(60),a=r(252);e.exports=function(){var e=a();return"undefined"!=typeof document&&(n(document,{contains:e},{contains:function(){return document.contains!==e}}),"undefined"!=typeof Element&&n(Element.prototype,{contains:e},{contains:function(){return Element.prototype.contains!==e}})),e}},function(e,t,r){var n=r(166),a=r(451),o=r(453),i="Expected a function",c=Math.max,s=Math.min;e.exports=function(e,t,r){var l,u,f,d,h,p,m=0,b=!1,g=!1,v=!0;if("function"!=typeof e)throw new TypeError(i);function y(t){var r=l,n=u;return l=u=void 0,m=t,d=e.apply(n,r)}function w(e){var r=e-p;return void 0===p||r>=t||r<0||g&&e-m>=f}function _(){var e=a();if(w(e))return k(e);h=setTimeout(_,function(e){var r=t-(e-p);return g?s(r,f-(e-m)):r}(e))}function k(e){return h=void 0,v&&l?y(e):(l=u=void 0,d)}function E(){var e=a(),r=w(e);if(l=arguments,u=this,p=e,r){if(void 0===h)return function(e){return m=e,h=setTimeout(_,t),b?y(e):d}(p);if(g)return clearTimeout(h),h=setTimeout(_,t),y(p)}return void 0===h&&(h=setTimeout(_,t)),d}return t=o(t)||0,n(r)&&(b=!!r.leading,f=(g="maxWait"in r)?c(o(r.maxWait)||0,t):f,v="trailing"in r?!!r.trailing:v),E.cancel=function(){void 0!==h&&clearTimeout(h),m=0,l=p=u=h=void 0},E.flush=function(){return void 0===h?d:k(a())},E}},function(e,t,r){var n=r(264);e.exports=function(){return n.Date.now()}},function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(61))},function(e,t,r){var n=r(166),a=r(454),o=NaN,i=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return o;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var r=s.test(e);return r||l.test(e)?u(e.slice(2),r?2:8):c.test(e)?o:+e}},function(e,t,r){var n=r(455),a=r(458),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||a(e)&&n(e)==o}},function(e,t,r){var n=r(265),a=r(456),o=r(457),i="[object Null]",c="[object Undefined]",s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?c:i:s&&s in Object(e)?a(e):o(e)}},function(e,t,r){var n=r(265),a=Object.prototype,o=a.hasOwnProperty,i=a.toString,c=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[c]=r:delete e[c]),a}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return e?r(e(t.clone())):t};var n=function(e){return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=g(r(50)),o=g(r(13)),i=g(r(2)),c=r(42),s=r(62),l=r(51),u=g(r(56)),f=g(r(267)),d=g(r(266)),h=g(r(461)),p=g(r(462)),m=g(r(98)),b=r(33);function g(e){return e&&e.__esModule?e:{default:e}}function v(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var y=(0,c.forbidExtraProps)((0,a.default)({},s.withStylesPropTypes,{navPrev:i.default.node,navNext:i.default.node,orientation:m.default,onPrevMonthClick:i.default.func,onNextMonthClick:i.default.func,phrases:i.default.shape((0,u.default)(l.DayPickerNavigationPhrases)),isRTL:i.default.bool})),w={navPrev:null,navNext:null,orientation:b.HORIZONTAL_ORIENTATION,onPrevMonthClick:function(){},onNextMonthClick:function(){},phrases:l.DayPickerNavigationPhrases,isRTL:!1};function _(e){var t=e.navPrev,r=e.navNext,a=e.onPrevMonthClick,i=e.onNextMonthClick,c=e.orientation,l=e.phrases,u=e.isRTL,m=e.styles,g=c===b.HORIZONTAL_ORIENTATION,y=c!==b.HORIZONTAL_ORIENTATION,w=c===b.VERTICAL_SCROLLABLE,_=t,k=r,E=!1,O=!1;if(!_){E=!0;var S=y?h.default:f.default;u&&!y&&(S=d.default),_=o.default.createElement(S,(0,s.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}if(!k){O=!0;var M=y?p.default:d.default;u&&!y&&(M=f.default),k=o.default.createElement(M,(0,s.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}var C=w?O:O||E;return o.default.createElement("div",s.css.apply(void 0,[m.DayPickerNavigation,g&&m.DayPickerNavigation__horizontal].concat(v(y&&[m.DayPickerNavigation__vertical,C&&m.DayPickerNavigation__verticalDefault]),v(w&&[m.DayPickerNavigation__verticalScrollable,C&&m.DayPickerNavigation__verticalScrollableDefault]))),!w&&o.default.createElement("div",n({role:"button",tabIndex:"0"},s.css.apply(void 0,[m.DayPickerNavigation_button,E&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(E&&[m.DayPickerNavigation_button__horizontalDefault,!u&&m.DayPickerNavigation_leftButton__horizontalDefault,u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical].concat(v(E&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_prevButton__verticalDefault]))))),{"aria-label":l.jumpToPrevMonth,onClick:a,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||a(e)},onMouseUp:function(e){e.currentTarget.blur()}}),_),o.default.createElement("div",n({role:"button",tabIndex:"0"},s.css.apply(void 0,[m.DayPickerNavigation_button,O&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(O&&[m.DayPickerNavigation_button__horizontalDefault,u&&m.DayPickerNavigation_leftButton__horizontalDefault,!u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical,m.DayPickerNavigation_nextButton__vertical].concat(v(O&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_nextButton__verticalDefault,w&&m.DayPickerNavigation_nextButton__verticalScrollableDefault]))))),{"aria-label":l.jumpToNextMonth,onClick:i,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||i(e)},onMouseUp:function(e){e.currentTarget.blur()}}),k))}_.propTypes=y,_.defaultProps=w,t.default=(0,s.withStyles)((function(e){var t=e.reactDates,r=t.color;return{DayPickerNavigation:{position:"relative",zIndex:t.zIndex+2},DayPickerNavigation__horizontal:{height:0},DayPickerNavigation__vertical:{},DayPickerNavigation__verticalScrollable:{},DayPickerNavigation__verticalDefault:{position:"absolute",width:"100%",height:52,bottom:0,left:0},DayPickerNavigation__verticalScrollableDefault:{position:"relative"},DayPickerNavigation_button:{cursor:"pointer",userSelect:"none",border:0,padding:0,margin:0},DayPickerNavigation_button__default:{border:"1px solid "+String(r.core.borderLight),backgroundColor:r.background,color:r.placeholderText,":focus":{border:"1px solid "+String(r.core.borderMedium)},":hover":{border:"1px solid "+String(r.core.borderMedium)},":active":{background:r.backgroundDark}},DayPickerNavigation_button__horizontal:{},DayPickerNavigation_button__horizontalDefault:{position:"absolute",top:18,lineHeight:.78,borderRadius:3,padding:"6px 9px"},DayPickerNavigation_leftButton__horizontalDefault:{left:22},DayPickerNavigation_rightButton__horizontalDefault:{right:22},DayPickerNavigation_button__vertical:{},DayPickerNavigation_button__verticalDefault:{padding:5,background:r.background,boxShadow:"0 0 5px 2px rgba(0, 0, 0, 0.1)",position:"relative",display:"inline-block",height:"100%",width:"50%"},DayPickerNavigation_prevButton__verticalDefault:{},DayPickerNavigation_nextButton__verticalDefault:{borderLeft:0},DayPickerNavigation_nextButton__verticalScrollableDefault:{width:"100%"},DayPickerNavigation_svg__horizontal:{height:19,width:19,fill:r.core.grayLight,display:"block"},DayPickerNavigation_svg__vertical:{height:42,width:42,fill:r.text,display:"block"}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(13),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(13),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BOTTOM_RIGHT=t.TOP_RIGHT=t.TOP_LEFT=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=p(r(50)),i=p(r(13)),c=p(r(2)),s=r(42),l=r(62),u=r(51),f=p(r(56)),d=p(r(464)),h=p(r(111));function p(e){return e&&e.__esModule?e:{default:e}}var m=t.TOP_LEFT="top-left",b=t.TOP_RIGHT="top-right",g=t.BOTTOM_RIGHT="bottom-right",v=(0,s.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,{block:c.default.bool,buttonLocation:c.default.oneOf([m,b,g]),showKeyboardShortcutsPanel:c.default.bool,openKeyboardShortcutsPanel:c.default.func,closeKeyboardShortcutsPanel:c.default.func,phrases:c.default.shape((0,f.default)(u.DayPickerKeyboardShortcutsPhrases))})),y={block:!1,buttonLocation:g,showKeyboardShortcutsPanel:!1,openKeyboardShortcutsPanel:function(){},closeKeyboardShortcutsPanel:function(){},phrases:u.DayPickerKeyboardShortcutsPhrases};function w(e){return[{unicode:"↵",label:e.enterKey,action:e.selectFocusedDate},{unicode:"←/→",label:e.leftArrowRightArrow,action:e.moveFocusByOneDay},{unicode:"↑/↓",label:e.upArrowDownArrow,action:e.moveFocusByOneWeek},{unicode:"PgUp/PgDn",label:e.pageUpPageDown,action:e.moveFocusByOneMonth},{unicode:"Home/End",label:e.homeEnd,action:e.moveFocustoStartAndEndOfWeek},{unicode:"Esc",label:e.escape,action:e.returnFocusToInput},{unicode:"?",label:e.questionMark,action:e.openThisPanel}]}var _=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n))),i=o.props.phrases;return o.keyboardShortcuts=w(i),o.onShowKeyboardShortcutsButtonClick=o.onShowKeyboardShortcutsButtonClick.bind(o),o.setShowKeyboardShortcutsButtonRef=o.setShowKeyboardShortcutsButtonRef.bind(o),o.setHideKeyboardShortcutsButtonRef=o.setHideKeyboardShortcutsButtonRef.bind(o),o.handleFocus=o.handleFocus.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentWillReceiveProps",value:function(e){var t=this.props.phrases;e.phrases!==t&&(this.keyboardShortcuts=w(e.phrases))}},{key:"componentDidUpdate",value:function(){this.handleFocus()}},{key:"onKeyDown",value:function(e){e.stopPropagation();var t=this.props.closeKeyboardShortcutsPanel;switch(e.key){case"Enter":case" ":case"Spacebar":case"Escape":t();break;case"ArrowUp":case"ArrowDown":break;case"Tab":case"Home":case"End":case"PageUp":case"PageDown":case"ArrowLeft":case"ArrowRight":e.preventDefault()}}},{key:"onShowKeyboardShortcutsButtonClick",value:function(){var e=this;(0,this.props.openKeyboardShortcutsPanel)((function(){e.showKeyboardShortcutsButton.focus()}))}},{key:"setShowKeyboardShortcutsButtonRef",value:function(e){this.showKeyboardShortcutsButton=e}},{key:"setHideKeyboardShortcutsButtonRef",value:function(e){this.hideKeyboardShortcutsButton=e}},{key:"handleFocus",value:function(){this.hideKeyboardShortcutsButton&&this.hideKeyboardShortcutsButton.focus()}},{key:"render",value:function(){var e=this,t=this.props,r=t.block,a=t.buttonLocation,o=t.showKeyboardShortcutsPanel,c=t.closeKeyboardShortcutsPanel,s=t.styles,u=t.phrases,f=o?u.hideKeyboardShortcutsPanel:u.showKeyboardShortcutsPanel,p=a===g,v=a===b,y=a===m;return i.default.createElement("div",null,i.default.createElement("button",n({ref:this.setShowKeyboardShortcutsButtonRef},(0,l.css)(s.DayPickerKeyboardShortcuts_buttonReset,s.DayPickerKeyboardShortcuts_show,p&&s.DayPickerKeyboardShortcuts_show__bottomRight,v&&s.DayPickerKeyboardShortcuts_show__topRight,y&&s.DayPickerKeyboardShortcuts_show__topLeft),{type:"button","aria-label":f,onClick:this.onShowKeyboardShortcutsButtonClick,onKeyDown:function(t){"Enter"===t.key?t.preventDefault():"Space"===t.key&&e.onShowKeyboardShortcutsButtonClick(t)},onMouseUp:function(e){e.currentTarget.blur()}}),i.default.createElement("span",(0,l.css)(s.DayPickerKeyboardShortcuts_showSpan,p&&s.DayPickerKeyboardShortcuts_showSpan__bottomRight,v&&s.DayPickerKeyboardShortcuts_showSpan__topRight,y&&s.DayPickerKeyboardShortcuts_showSpan__topLeft),"?")),o&&i.default.createElement("div",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_panel),{role:"dialog","aria-labelledby":"DayPickerKeyboardShortcuts_title","aria-describedby":"DayPickerKeyboardShortcuts_description"}),i.default.createElement("div",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_title),{id:"DayPickerKeyboardShortcuts_title"}),u.keyboardShortcuts),i.default.createElement("button",n({ref:this.setHideKeyboardShortcutsButtonRef},(0,l.css)(s.DayPickerKeyboardShortcuts_buttonReset,s.DayPickerKeyboardShortcuts_close),{type:"button",tabIndex:"0","aria-label":u.hideKeyboardShortcutsPanel,onClick:c,onKeyDown:this.onKeyDown}),i.default.createElement(h.default,(0,l.css)(s.DayPickerKeyboardShortcuts_closeSvg))),i.default.createElement("ul",n({},(0,l.css)(s.DayPickerKeyboardShortcuts_list),{id:"DayPickerKeyboardShortcuts_description"}),this.keyboardShortcuts.map((function(e){var t=e.unicode,n=e.label,a=e.action;return i.default.createElement(d.default,{key:n,unicode:t,label:n,action:a,block:r})})))))}}]),t}(i.default.Component);_.propTypes=v,_.defaultProps=y,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.font,a=t.zIndex;return{DayPickerKeyboardShortcuts_buttonReset:{background:"none",border:0,borderRadius:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",padding:0,cursor:"pointer",fontSize:n.size,":active":{outline:"none"}},DayPickerKeyboardShortcuts_show:{width:22,position:"absolute",zIndex:a+2},DayPickerKeyboardShortcuts_show__bottomRight:{borderTop:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),bottom:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topRight:{borderBottom:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),top:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topLeft:{borderBottom:"26px solid transparent",borderLeft:"33px solid "+String(r.core.primary),top:0,left:0,":hover":{borderLeft:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_showSpan:{color:r.core.white,position:"absolute"},DayPickerKeyboardShortcuts_showSpan__bottomRight:{bottom:0,right:-28},DayPickerKeyboardShortcuts_showSpan__topRight:{top:1,right:-28},DayPickerKeyboardShortcuts_showSpan__topLeft:{top:1,left:-28},DayPickerKeyboardShortcuts_panel:{overflow:"auto",background:r.background,border:"1px solid "+String(r.core.border),borderRadius:2,position:"absolute",top:0,bottom:0,right:0,left:0,zIndex:a+2,padding:22,margin:33},DayPickerKeyboardShortcuts_title:{fontSize:16,fontWeight:"bold",margin:0},DayPickerKeyboardShortcuts_list:{listStyle:"none",padding:0,fontSize:n.size},DayPickerKeyboardShortcuts_close:{position:"absolute",right:22,top:22,zIndex:a+2,":active":{outline:"none"}},DayPickerKeyboardShortcuts_closeSvg:{height:15,width:15,fill:r.core.grayLighter,":hover":{fill:r.core.grayLight},":focus":{fill:r.core.grayLight}}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=l(r(50)),o=l(r(13)),i=l(r(2)),c=r(42),s=r(62);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,c.forbidExtraProps)((0,a.default)({},s.withStylesPropTypes,{unicode:i.default.string.isRequired,label:i.default.string.isRequired,action:i.default.string.isRequired,block:i.default.bool}));function f(e){var t=e.unicode,r=e.label,a=e.action,i=e.block,c=e.styles;return o.default.createElement("li",(0,s.css)(c.KeyboardShortcutRow,i&&c.KeyboardShortcutRow__block),o.default.createElement("div",(0,s.css)(c.KeyboardShortcutRow_keyContainer,i&&c.KeyboardShortcutRow_keyContainer__block),o.default.createElement("span",n({},(0,s.css)(c.KeyboardShortcutRow_key),{role:"img","aria-label":String(r)+","}),t)),o.default.createElement("div",(0,s.css)(c.KeyboardShortcutRow_action),a))}f.propTypes=u,f.defaultProps={block:!1},t.default=(0,s.withStyles)((function(e){return{KeyboardShortcutRow:{listStyle:"none",margin:"6px 0"},KeyboardShortcutRow__block:{marginBottom:16},KeyboardShortcutRow_keyContainer:{display:"inline-block",whiteSpace:"nowrap",textAlign:"right",marginRight:6},KeyboardShortcutRow_keyContainer__block:{textAlign:"left",display:"inline"},KeyboardShortcutRow_key:{fontFamily:"monospace",fontSize:12,textTransform:"uppercase",background:e.reactDates.color.core.grayLightest,padding:"2px 6px"},KeyboardShortcutRow_action:{display:"inline",wordBreak:"break-word",marginLeft:8}}}))(f)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.localeData().firstDayOfWeek(),r=function(e,t){return(e.day()-t+7)%7}(e.clone().startOf("month"),t);return Math.ceil((r+e.daysInMonth())/7)};var n,a=r(11),o=(n=a)&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return"undefined"!=typeof document&&document.activeElement}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureSingleDatePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=C(r(50)),i=C(r(13)),c=C(r(11)),s=r(62),l=r(317),u=r(42),f=r(130),d=C(r(99)),h=C(r(163)),p=C(r(273)),m=r(51),b=C(r(97)),g=C(r(167)),v=C(r(257)),y=C(r(258)),w=C(r(165)),_=C(r(109)),k=C(r(259)),E=C(r(274)),O=C(r(272)),S=C(r(111)),M=r(33);function C(e){return e&&e.__esModule?e:{default:e}}var D=(0,u.forbidExtraProps)((0,o.default)({},s.withStylesPropTypes,p.default)),j={date:null,focused:!1,id:"date",placeholder:"Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDate:!1,showDefaultInputIcon:!1,inputIconPosition:M.ICON_BEFORE_POSITION,customInputIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,verticalSpacing:M.DEFAULT_VERTICAL_SPACING,keepFocusOnInput:!1,orientation:M.HORIZONTAL_ORIENTATION,anchorDirection:M.ANCHOR_LEFT,openDirection:M.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,firstDayOfWeek:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDate:!1,renderCalendarInfo:null,calendarInfoPosition:M.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:M.DAY_SIZE,isRTL:!1,verticalHeight:null,transitionDuration:void 0,horizontalMonthPadding:13,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderMonthText:null,renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,_.default)(e,(0,c.default)())},isDayHighlighted:function(){},displayFormat:function(){return c.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:m.SingleDatePickerPhrases,dayAriaLabelFormat:void 0},x=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.isTouchDevice=!1,r.state={dayPickerContainerStyles:{},isDayPickerFocused:!1,isInputFocused:!1,showKeyboardShortcuts:!1},r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.onChange=r.onChange.bind(r),r.onFocus=r.onFocus.bind(r),r.onClearFocus=r.onClearFocus.bind(r),r.clearDate=r.clearDate.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,f.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focused&&this.setState({isInputFocused:!0}),this.isTouchDevice=(0,d.default)()}},{key:"componentDidUpdate",value:function(e){var t=this.props.focused;!e.focused&&t?(this.responsivizePickerPosition(),this.disableScroll()):e.focused&&!t&&this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onChange",value:function(e){var t=this.props,r=t.isOutsideRange,n=t.keepOpenOnDateSelect,a=t.onDateChange,o=t.onFocusChange,i=t.onClose,c=(0,b.default)(e,this.getDisplayFormat());c&&!r(c)?(a(c),n||(o({focused:!1}),i({date:c}))):a(null)}},{key:"onFocus",value:function(){var e=this.props,t=e.disabled,r=e.onFocusChange,n=e.readOnly,a=e.withPortal,o=e.withFullScreenPortal,i=e.keepFocusOnInput;a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur(),t||r({focused:!0})}},{key:"onClearFocus",value:function(e){var t=this.props,r=t.date,n=t.focused,a=t.onFocusChange,o=t.onClose,i=t.appendToBody;n&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isInputFocused:!1,isDayPickerFocused:!1}),a({focused:!1}),o({date:r})))}},{key:"onDayPickerFocus",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"getDateString",value:function(e){var t=this.getDisplayFormat();return e&&t?e&&e.format(t):(0,g.default)(e)}},{key:"getDisplayFormat",value:function(){var e=this.props.displayFormat;return"string"==typeof e?e:e()}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"clearDate",value:function(){var e=this.props,t=e.onDateChange,r=e.reopenPickerOnClearDate,n=e.onFocusChange;t(null),r&&n({focused:!0})}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll,n=e.focused;(t||r)&&n&&(this.enableScroll=(0,k.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){this.setState({dayPickerContainerStyles:{}});var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,c=e.appendToBody,s=e.focused,l=this.state.dayPickerContainerStyles;if(s){var u=r===M.ANCHOR_LEFT;if(!a&&!i){var f=this.dayPickerContainer.getBoundingClientRect(),d=l[r]||0,h=u?f[M.ANCHOR_RIGHT]:f[M.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,v.default)(r,d,h,n),c&&(0,y.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.focused,r=e.withPortal,n=e.withFullScreenPortal,a=e.appendToBody;return t?r||n||a?i.default.createElement(l.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.onDateChange,o=e.date,c=e.onFocusChange,l=e.focused,u=e.enableOutsideDays,f=e.numberOfMonths,d=e.orientation,h=e.monthFormat,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onClose,y=e.withPortal,_=e.withFullScreenPortal,k=e.keepOpenOnDateSelect,E=e.initialVisibleMonth,C=e.renderMonthText,D=e.renderCalendarDay,j=e.renderDayContents,x=e.renderCalendarInfo,P=e.renderMonthElement,F=e.calendarInfoPosition,T=e.hideKeyboardShortcutsPanel,I=e.firstDayOfWeek,A=e.customCloseIcon,N=e.phrases,R=e.dayAriaLabelFormat,B=e.daySize,L=e.isRTL,U=e.isOutsideRange,z=e.isDayBlocked,H=e.isDayHighlighted,V=e.weekDayFormat,q=e.styles,K=e.verticalHeight,W=e.transitionDuration,G=e.verticalSpacing,Y=e.horizontalMonthPadding,$=e.small,Q=e.theme.reactDates,X=this.state,Z=X.dayPickerContainerStyles,J=X.isDayPickerFocused,ee=X.showKeyboardShortcuts,te=!_&&y?this.onClearFocus:void 0,re=A||i.default.createElement(S.default,null),ne=(0,w.default)(Q,$),ae=y||_;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,s.css)(q.SingleDatePicker_picker,t===M.ANCHOR_LEFT&&q.SingleDatePicker_picker__directionLeft,t===M.ANCHOR_RIGHT&&q.SingleDatePicker_picker__directionRight,r===M.OPEN_DOWN&&q.SingleDatePicker_picker__openDown,r===M.OPEN_UP&&q.SingleDatePicker_picker__openUp,!ae&&r===M.OPEN_DOWN&&{top:ne+G},!ae&&r===M.OPEN_UP&&{bottom:ne+G},d===M.HORIZONTAL_ORIENTATION&&q.SingleDatePicker_picker__horizontal,d===M.VERTICAL_ORIENTATION&&q.SingleDatePicker_picker__vertical,ae&&q.SingleDatePicker_picker__portal,_&&q.SingleDatePicker_picker__fullScreenPortal,L&&q.SingleDatePicker_picker__rtl,Z),{onClick:te}),i.default.createElement(O.default,{date:o,onDateChange:a,onFocusChange:c,orientation:d,enableOutsideDays:u,numberOfMonths:f,monthFormat:h,withPortal:ae,focused:l,keepOpenOnDateSelect:k,hideKeyboardShortcutsPanel:T,initialVisibleMonth:E,navPrev:p,navNext:m,onPrevMonthClick:b,onNextMonthClick:g,onClose:v,renderMonthText:C,renderCalendarDay:D,renderDayContents:j,renderCalendarInfo:x,renderMonthElement:P,calendarInfoPosition:F,isFocused:J,showKeyboardShortcuts:ee,onBlur:this.onDayPickerBlur,phrases:N,dayAriaLabelFormat:R,daySize:B,isRTL:L,isOutsideRange:U,isDayBlocked:z,isDayHighlighted:H,firstDayOfWeek:I,weekDayFormat:V,verticalHeight:K,transitionDuration:W,horizontalMonthPadding:Y}),_&&i.default.createElement("button",n({},(0,s.css)(q.SingleDatePicker_closeButton),{"aria-label":N.closeDatePicker,type:"button",onClick:this.onClearFocus}),i.default.createElement("div",(0,s.css)(q.SingleDatePicker_closeButton_svg),re)))}},{key:"render",value:function(){var e=this.props,t=e.id,r=e.placeholder,a=e.disabled,o=e.focused,c=e.required,l=e.readOnly,u=e.openDirection,f=e.showClearDate,d=e.showDefaultInputIcon,p=e.inputIconPosition,m=e.customCloseIcon,b=e.customInputIcon,g=e.date,v=e.phrases,y=e.withPortal,w=e.withFullScreenPortal,_=e.screenReaderInputMessage,k=e.isRTL,O=e.noBorder,S=e.block,C=e.small,D=e.regular,j=e.verticalSpacing,x=e.styles,P=this.state.isInputFocused,F=this.getDateString(g),T=!y&&!w,I=j<M.FANG_HEIGHT_PX,A=i.default.createElement(E.default,{id:t,placeholder:r,focused:o,isFocused:P,disabled:a,required:c,readOnly:l,openDirection:u,showCaret:!y&&!w&&!I,onClearDate:this.clearDate,showClearDate:f,showDefaultInputIcon:d,inputIconPosition:p,customCloseIcon:m,customInputIcon:b,displayValue:F,onChange:this.onChange,onFocus:this.onFocus,onKeyDownShiftTab:this.onClearFocus,onKeyDownTab:this.onClearFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,screenReaderMessage:_,phrases:v,isRTL:k,noBorder:O,block:S,small:C,regular:D,verticalSpacing:j});return i.default.createElement("div",n({ref:this.setContainerRef},(0,s.css)(x.SingleDatePicker,S&&x.SingleDatePicker__block)),T&&i.default.createElement(h.default,{onOutsideClick:this.onClearFocus},A,this.maybeRenderDayPickerWithPortal()),!T&&A,!T&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);x.propTypes=D,x.defaultProps=j,t.PureSingleDatePicker=x,t.default=(0,s.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{SingleDatePicker:{position:"relative",display:"inline-block"},SingleDatePicker__block:{display:"block"},SingleDatePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},SingleDatePicker_picker__rtl:{direction:"rtl"},SingleDatePicker_picker__directionLeft:{left:0},SingleDatePicker_picker__directionRight:{right:0},SingleDatePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},SingleDatePicker_picker__fullScreenPortal:{backgroundColor:r.background},SingleDatePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},SingleDatePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(x)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&!(0,a.default)(e,t)};var n=o(r(11)),a=o(r(133));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";var n=r(170),a=r(275),o=Object.prototype.hasOwnProperty,i={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},c=Array.isArray,s=Array.prototype.push,l=function(e,t){s.apply(e,c(t)?t:[t])},u=Date.prototype.toISOString,f=a.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:f,formatter:a.formatters[f],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,r,a,o,i,s,u,f,h,p,m,b,g){var v,y=t;if("function"==typeof u?y=u(r,y):y instanceof Date?y=p(y):"comma"===a&&c(y)&&(y=y.join(",")),null===y){if(o)return s&&!b?s(r,d.encoder,g,"key"):r;y=""}if("string"==typeof(v=y)||"number"==typeof v||"boolean"==typeof v||"symbol"==typeof v||"bigint"==typeof v||n.isBuffer(y))return s?[m(b?r:s(r,d.encoder,g,"key"))+"="+m(s(y,d.encoder,g,"value"))]:[m(r)+"="+m(String(y))];var w,_=[];if(void 0===y)return _;if(c(u))w=u;else{var k=Object.keys(y);w=f?k.sort(f):k}for(var E=0;E<w.length;++E){var O=w[E];i&&null===y[O]||(c(y)?l(_,e(y[O],"function"==typeof a?a(r,O):r,a,o,i,s,u,f,h,p,m,b,g)):l(_,e(y[O],r+(h?"."+O:"["+O+"]"),a,o,i,s,u,f,h,p,m,b,g)))}return _};e.exports=function(e,t){var r,n=e,s=function(e){if(!e)return d;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||d.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=a.default;if(void 0!==e.format){if(!o.call(a.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=a.formatters[r],i=d.filter;return("function"==typeof e.filter||c(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:d.addQueryPrefix,allowDots:void 0===e.allowDots?d.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:d.charsetSentinel,delimiter:void 0===e.delimiter?d.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:d.encode,encoder:"function"==typeof e.encoder?e.encoder:d.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:d.encodeValuesOnly,filter:i,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:d.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:d.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:d.strictNullHandling}}(t);"function"==typeof s.filter?n=(0,s.filter)("",n):c(s.filter)&&(r=s.filter);var u,f=[];if("object"!=typeof n||null===n)return"";u=t&&t.arrayFormat in i?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var p=i[u];r||(r=Object.keys(n)),s.sort&&r.sort(s.sort);for(var m=0;m<r.length;++m){var b=r[m];s.skipNulls&&null===n[b]||l(f,h(n[b],b,p,s.strictNullHandling,s.skipNulls,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.formatter,s.encodeValuesOnly,s.charset))}var g=f.join(s.delimiter),v=!0===s.addQueryPrefix?"?":"";return s.charsetSentinel&&("iso-8859-1"===s.charset?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),g.length>0?v+g:""}},function(e,t,r){"use strict";var n=r(170),a=Object.prototype.hasOwnProperty,o=Array.isArray,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},c=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},s=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,i=r.depth>0&&/(\[[^[\]]*])/.exec(n),c=i?n.slice(0,i.index):n,s=[];if(c){if(!r.plainObjects&&a.call(Object.prototype,c)&&!r.allowPrototypes)return;s.push(c)}for(var l=0;r.depth>0&&null!==(i=o.exec(n))&&l<r.depth;){if(l+=1,!r.plainObjects&&a.call(Object.prototype,i[1].slice(1,-1))&&!r.allowPrototypes)return;s.push(i[1])}return i&&s.push("["+n.slice(i.index)+"]"),function(e,t,r){for(var n=t,a=e.length-1;a>=0;--a){var o,i=e[a];if("[]"===i&&r.parseArrays)o=[].concat(n);else{o=r.plainObjects?Object.create(null):{};var c="["===i.charAt(0)&&"]"===i.charAt(i.length-1)?i.slice(1,-1):i,s=parseInt(c,10);r.parseArrays||""!==c?!isNaN(s)&&i!==c&&String(s)===c&&s>=0&&r.parseArrays&&s<=r.arrayLimit?(o=[])[s]=n:o[c]=n:o={0:n}}n=o}return n}(s,t,r)}};e.exports=function(e,t){var r=function(e){if(!e)return i;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?i.charset:e.charset;return{allowDots:void 0===e.allowDots?i.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:i.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:i.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:i.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:i.comma,decoder:"function"==typeof e.decoder?e.decoder:i.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:i.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:i.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:i.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:i.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:i.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:i.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var l="string"==typeof e?function(e,t){var r,s={},l=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,f=l.split(t.delimiter,u),d=-1,h=t.charset;if(t.charsetSentinel)for(r=0;r<f.length;++r)0===f[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===f[r]?h="utf-8":"utf8=%26%2310003%3B"===f[r]&&(h="iso-8859-1"),d=r,r=f.length);for(r=0;r<f.length;++r)if(r!==d){var p,m,b=f[r],g=b.indexOf("]="),v=-1===g?b.indexOf("="):g+1;-1===v?(p=t.decoder(b,i.decoder,h,"key"),m=t.strictNullHandling?null:""):(p=t.decoder(b.slice(0,v),i.decoder,h,"key"),m=t.decoder(b.slice(v+1),i.decoder,h,"value")),m&&t.interpretNumericEntities&&"iso-8859-1"===h&&(m=c(m)),m&&"string"==typeof m&&t.comma&&m.indexOf(",")>-1&&(m=m.split(",")),b.indexOf("[]=")>-1&&(m=o(m)?[m]:m),a.call(s,p)?s[p]=n.combine(s[p],m):s[p]=m}return s}(e,r):e,u=r.plainObjects?Object.create(null):{},f=Object.keys(l),d=0;d<f.length;++d){var h=f[d],p=s(h,l[h],r);u=n.merge(u,p,r)}return n.compact(u)}},function(e,t,r){(function(e,n){var a;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var i="object"==typeof n&&n;i.global!==i&&i.window!==i&&i.self;var c,s=2147483647,l=36,u=1,f=26,d=38,h=700,p=72,m=128,b="-",g=/^xn--/,v=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},_=l-u,k=Math.floor,E=String.fromCharCode;function O(e){throw new RangeError(w[e])}function S(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function M(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+S((e=e.replace(y,".")).split("."),t).join(".")}function C(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function D(e){return S(e,(function(e){var t="";return e>65535&&(t+=E((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=E(e)})).join("")}function j(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function x(e,t,r){var n=0;for(e=r?k(e/h):e>>1,e+=k(e/t);e>_*f>>1;n+=l)e=k(e/_);return k(n+(_+1)*e/(e+d))}function P(e){var t,r,n,a,o,i,c,d,h,g,v,y=[],w=e.length,_=0,E=m,S=p;for((r=e.lastIndexOf(b))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&O("not-basic"),y.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<w;){for(o=_,i=1,c=l;a>=w&&O("invalid-input"),((d=(v=e.charCodeAt(a++))-48<10?v-22:v-65<26?v-65:v-97<26?v-97:l)>=l||d>k((s-_)/i))&&O("overflow"),_+=d*i,!(d<(h=c<=S?u:c>=S+f?f:c-S));c+=l)i>k(s/(g=l-h))&&O("overflow"),i*=g;S=x(_-o,t=y.length+1,0==o),k(_/t)>s-E&&O("overflow"),E+=k(_/t),_%=t,y.splice(_++,0,E)}return D(y)}function F(e){var t,r,n,a,o,i,c,d,h,g,v,y,w,_,S,M=[];for(y=(e=C(e)).length,t=m,r=0,o=p,i=0;i<y;++i)(v=e[i])<128&&M.push(E(v));for(n=a=M.length,a&&M.push(b);n<y;){for(c=s,i=0;i<y;++i)(v=e[i])>=t&&v<c&&(c=v);for(c-t>k((s-r)/(w=n+1))&&O("overflow"),r+=(c-t)*w,t=c,i=0;i<y;++i)if((v=e[i])<t&&++r>s&&O("overflow"),v==t){for(d=r,h=l;!(d<(g=h<=o?u:h>=o+f?f:h-o));h+=l)S=d-g,_=l-g,M.push(E(j(g+S%_,0))),d=k(S/_);M.push(E(j(d,0))),o=x(r,w,n==a),r=0,++n}++r,++t}return M.join("")}c={version:"1.4.1",ucs2:{decode:C,encode:D},decode:P,encode:F,toASCII:function(e){return M(e,(function(e){return v.test(e)?"xn--"+F(e):e}))},toUnicode:function(e){return M(e,(function(e){return g.test(e)?P(e.slice(4).toLowerCase()):e}))}},void 0===(a=function(){return c}.call(t,r,t,e))||(e.exports=a)}()}).call(this,r(276)(e),r(61))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(474),t.encode=t.stringify=r(475)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,o){t=t||"&",r=r||"=";var i={};if("string"!=typeof e||0===e.length)return i;var c=/\+/g;e=e.split(t);var s=1e3;o&&"number"==typeof o.maxKeys&&(s=o.maxKeys);var l=e.length;s>0&&l>s&&(l=s);for(var u=0;u<l;++u){var f,d,h,p,m=e[u].replace(c,"%20"),b=m.indexOf(r);b>=0?(f=m.substr(0,b),d=m.substr(b+1)):(f=m,d=""),h=decodeURIComponent(f),p=decodeURIComponent(d),n(i,h)?a(i[h])?i[h].push(p):i[h]=[i[h],p]:i[h]=p}return i};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,c){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?o(i(e),(function(i){var c=encodeURIComponent(n(i))+r;return a(e[i])?o(e[i],(function(e){return c+encodeURIComponent(n(e))})).join(t):c+encodeURIComponent(n(e[i]))})).join(t):c?encodeURIComponent(n(c))+r+encodeURIComponent(n(e)):""};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n<e.length;n++)r.push(t(e[n],n));return r}var i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=l(e),i=n[0],c=n[1],s=new o(function(e,t,r){return 3*(t+r)/4-r}(0,i,c)),u=0,f=c>0?i-4:i;for(r=0;r<f;r+=4)t=a[e.charCodeAt(r)]<<18|a[e.charCodeAt(r+1)]<<12|a[e.charCodeAt(r+2)]<<6|a[e.charCodeAt(r+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=255&t;2===c&&(t=a[e.charCodeAt(r)]<<2|a[e.charCodeAt(r+1)]>>4,s[u++]=255&t);1===c&&(t=a[e.charCodeAt(r)]<<10|a[e.charCodeAt(r+1)]<<4|a[e.charCodeAt(r+2)]>>2,s[u++]=t>>8&255,s[u++]=255&t);return s},t.fromByteArray=function(e){for(var t,r=e.length,a=r%3,o=[],i=0,c=r-a;i<c;i+=16383)o.push(u(e,i,i+16383>c?c:i+16383));1===a?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],a=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,s=i.length;c<s;++c)n[c]=i[c],a[i.charCodeAt(c)]=c;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var a,o,i=[],c=t;c<r;c+=3)a=(e[c]<<16&16711680)+(e[c+1]<<8&65280)+(255&e[c+2]),i.push(n[(o=a)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,a){var o,i,c=8*a-n-1,s=(1<<c)-1,l=s>>1,u=-7,f=r?a-1:0,d=r?-1:1,h=e[t+f];for(f+=d,o=h&(1<<-u)-1,h>>=-u,u+=c;u>0;o=256*o+e[t+f],f+=d,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=n;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===o)o=1-l;else{if(o===s)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),o-=l}return(h?-1:1)*i*Math.pow(2,o-n)},t.write=function(e,t,r,n,a,o){var i,c,s,l=8*o-a-1,u=(1<<l)-1,f=u>>1,d=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-i))<1&&(i--,s*=2),(t+=i+f>=1?d/s:d*Math.pow(2,1-f))*s>=2&&(i++,s/=2),i+f>=u?(c=0,i=u):i+f>=1?(c=(t*s-1)*Math.pow(2,a),i+=f):(c=t*Math.pow(2,f-1)*Math.pow(2,a),i=0));a>=8;e[r+h]=255&c,h+=p,c/=256,a-=8);for(i=i<<a|c,l+=a;l>0;e[r+h]=255&i,h+=p,i/=256,l-=8);e[r+h-p]|=128*m}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";var n=r(175).Buffer,a=r(69);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,r,a,o=n.allocUnsafe(e>>>0),i=this.head,c=0;i;)t=i.data,r=o,a=c,t.copy(r,a),c+=i.data.length,i=i.next;return o},e}(),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,r){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(a.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new o(a.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(482),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(61))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var n,a,o,i,c,s=1,l={},u=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(a=f.documentElement,n=function(e){var t=f.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(i="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(i)&&p(+t.data.slice(i.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),n=function(t){e.postMessage(i+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var a={callback:e,args:t};return l[s]=a,n(s),s++},d.clearImmediate=h}function h(e){delete l[e]}function p(e){if(u)setTimeout(p,0,e);else{var t=l[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(r,n)}}(t)}finally{h(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(61),r(81))},function(e,t,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,r(61))},function(e,t,r){var n=r(48),a=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function i(e,t,r){return a(e,t,r)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=i),o(a,i),i.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,t,r)},i.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=a(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";e.exports=o;var n=r(281),a=r(113);function o(e){if(!(this instanceof o))return new o(e);n.call(this,e)}a.inherits=r(30),a.inherits(o,n),o.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){e.exports=r(176)},function(e,t,r){e.exports=r(90)},function(e,t,r){e.exports=r(174).Transform},function(e,t,r){e.exports=r(174).PassThrough},function(e,t,r){var n=r(30),a=r(102),o=r(31).Buffer,i=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);function s(){this.init(),this._w=c,a.call(this,64,56)}function l(e){return e<<30|e>>>2}function u(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(s,a),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},s.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,a=0|this._b,o=0|this._c,c=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=e.readInt32BE(4*f);for(;f<80;++f)r[f]=r[f-3]^r[f-8]^r[f-14]^r[f-16];for(var d=0;d<80;++d){var h=~~(d/20),p=0|((t=n)<<5|t>>>27)+u(h,a,o,c)+s+r[d]+i[h];s=c,c=o,o=l(a),a=n,n=p}this._a=n+this._a|0,this._b=a+this._b|0,this._c=o+this._c|0,this._d=c+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=s},function(e,t,r){var n=r(30),a=r(102),o=r(31).Buffer,i=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);function s(){this.init(),this._w=c,a.call(this,64,56)}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function f(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(s,a),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},s.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,a=0|this._b,o=0|this._c,c=0|this._d,s=0|this._e,d=0;d<16;++d)r[d]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=(t=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),m=l(n)+f(p,a,o,c)+s+r[h]+i[p]|0;s=c,c=o,o=u(a),a=n,n=m}this._a=n+this._a|0,this._b=a+this._b|0,this._c=o+this._c|0,this._d=c+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=s},function(e,t,r){var n=r(30),a=r(282),o=r(102),i=r(31).Buffer,c=new Array(64);function s(){this.init(),this._w=c,o.call(this,64,56)}n(s,a),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var e=i.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=s},function(e,t,r){var n=r(30),a=r(283),o=r(102),i=r(31).Buffer,c=new Array(160);function s(){this.init(),this._w=c,o.call(this,128,112)}n(s,a),s.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},s.prototype._hash=function(){var e=i.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=s},function(e,t,r){"use strict";var n=r(30),a=r(31).Buffer,o=r(82),i=a.alloc(128),c=64;function s(e,t){o.call(this,"digest"),"string"==typeof t&&(t=a.from(t)),this._alg=e,this._key=t,t.length>c?t=e(t):t.length<c&&(t=a.concat([t,i],c));for(var r=this._ipad=a.allocUnsafe(c),n=this._opad=a.allocUnsafe(c),s=0;s<c;s++)r[s]=54^t[s],n[s]=92^t[s];this._hash=[r]}n(s,o),s.prototype._update=function(e){this._hash.push(e)},s.prototype._final=function(){var e=this._alg(a.concat(this._hash));return this._alg(a.concat([this._opad,e]))},e.exports=s},function(e,t,r){e.exports=r(286)},function(e,t,r){(function(t,n){var a,o=r(288),i=r(289),c=r(290),s=r(31).Buffer,l=t.crypto&&t.crypto.subtle,u={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},f=[];function d(e,t,r,n,a){return l.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return l.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:a}},e,n<<3)})).then((function(e){return s.from(e)}))}e.exports=function(e,r,h,p,m,b){"function"==typeof m&&(b=m,m=void 0);var g=u[(m=m||"sha1").toLowerCase()];if(!g||"function"!=typeof t.Promise)return n.nextTick((function(){var t;try{t=c(e,r,h,p,m)}catch(e){return b(e)}b(null,t)}));if(o(e,r,h,p),"function"!=typeof b)throw new Error("No callback provided to pbkdf2");s.isBuffer(e)||(e=s.from(e,i)),s.isBuffer(r)||(r=s.from(r,i)),function(e,t){e.then((function(e){n.nextTick((function(){t(null,e)}))}),(function(e){n.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!l||!l.importKey||!l.deriveBits)return Promise.resolve(!1);if(void 0!==f[e])return f[e];var r=d(a=a||s.alloc(8),a,10,128,e).then((function(){return!0})).catch((function(){return!1}));return f[e]=r,r}(g).then((function(t){return t?d(e,r,h,p,g):c(e,r,h,p,m)})),b)}}).call(this,r(61),r(81))},function(e,t,r){var n=r(498),a=r(181),o=r(182),i=r(511),c=r(136);function s(e,t,r){if(e=e.toLowerCase(),o[e])return a.createCipheriv(e,t,r);if(i[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function l(e,t,r){if(e=e.toLowerCase(),o[e])return a.createDecipheriv(e,t,r);if(i[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!i[e])throw new TypeError("invalid suite type");r=8*i[e].key,n=i[e].iv}var a=c(t,!1,r,n);return s(e,a.key,a.iv)},t.createCipheriv=t.Cipheriv=s,t.createDecipher=t.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!i[e])throw new TypeError("invalid suite type");r=8*i[e].key,n=i[e].iv}var a=c(t,!1,r,n);return l(e,a.key,a.iv)},t.createDecipheriv=t.Decipheriv=l,t.listCiphers=t.getCiphers=function(){return Object.keys(i).concat(a.getCiphers())}},function(e,t,r){var n=r(82),a=r(499),o=r(30),i=r(31).Buffer,c={"des-ede3-cbc":a.CBC.instantiate(a.EDE),"des-ede3":a.EDE,"des-ede-cbc":a.CBC.instantiate(a.EDE),"des-ede":a.EDE,"des-cbc":a.CBC.instantiate(a.DES),"des-ecb":a.DES};function s(e){n.call(this);var t,r=e.mode.toLowerCase(),a=c[r];t=e.decrypt?"decrypt":"encrypt";var o=e.key;i.isBuffer(o)||(o=i.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=i.concat([o,o.slice(0,8)]));var s=e.iv;i.isBuffer(s)||(s=i.from(s)),this._des=a.create({key:o,iv:s,type:t})}c.des=c["des-cbc"],c.des3=c["des-ede3-cbc"],e.exports=s,o(s,n),s.prototype._update=function(e){return i.from(this._des.update(e))},s.prototype._final=function(){return i.from(this._des.final())}},function(e,t,r){"use strict";t.utils=r(291),t.Cipher=r(180),t.DES=r(292),t.CBC=r(500),t.EDE=r(501)},function(e,t,r){"use strict";var n=r(70),a=r(30),o={};function i(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}a(t,e);for(var r=Object.keys(o),n=0;n<r.length;n++){var i=r[n];t.prototype[i]=o[i]}return t.create=function(e){return new t(e)},t},o._cbcInit=function(){var e=new i(this.options.iv);this._cbcState=e},o._update=function(e,t,r,n){var a=this._cbcState,o=this.constructor.super_.prototype,i=a.iv;if("encrypt"===this.type){for(var c=0;c<this.blockSize;c++)i[c]^=e[t+c];o._update.call(this,i,0,r,n);for(c=0;c<this.blockSize;c++)i[c]=r[n+c]}else{o._update.call(this,e,t,r,n);for(c=0;c<this.blockSize;c++)r[n+c]^=i[c];for(c=0;c<this.blockSize;c++)i[c]=e[t+c]}}},function(e,t,r){"use strict";var n=r(70),a=r(30),o=r(180),i=r(292);function c(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),a=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[i.create({type:"encrypt",key:r}),i.create({type:"decrypt",key:a}),i.create({type:"encrypt",key:o})]:[i.create({type:"decrypt",key:o}),i.create({type:"encrypt",key:a}),i.create({type:"decrypt",key:r})]}function s(e){o.call(this,e);var t=new c(this.type,this.options.key);this._edeState=t}a(s,o),e.exports=s,s.create=function(e){return new s(e)},s.prototype._update=function(e,t,r,n){var a=this._edeState;a.ciphers[0]._update(e,t,r,n),a.ciphers[1]._update(r,n,r,n),a.ciphers[2]._update(r,n,r,n)},s.prototype._pad=i.prototype._pad,s.prototype._unpad=i.prototype._unpad},function(e,t,r){var n=r(182),a=r(296),o=r(31).Buffer,i=r(297),c=r(82),s=r(135),l=r(136);function u(e,t,r){c.call(this),this._cache=new d,this._cipher=new s.AES(t),this._prev=o.from(r),this._mode=e,this._autopadding=!0}r(30)(u,c),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return o.concat(n)};var f=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function h(e,t,r){var c=n[e.toLowerCase()];if(!c)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==c.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==c.mode&&r.length!==c.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===c.type?new i(c.module,t,r):"auth"===c.type?new a(c.module,t,r):new u(c.module,t,r)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(f))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=o.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return o.concat([this.cache,t])},t.createCipheriv=h,t.createCipher=function(e,t){var r=n[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var a=l(t,!1,r.key,r.iv);return h(e,a.key,a.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,r){var n=r(114);t.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var a=e._cipher.decryptBlock(t);return n(a,r)}},function(e,t,r){var n=r(31).Buffer,a=r(114);function o(e,t,r){var o=t.length,i=a(t,e._cache);return e._cache=e._cache.slice(o),e._prev=n.concat([e._prev,r?t:i]),i}t.encrypt=function(e,t,r){for(var a,i=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){i=n.concat([i,o(e,t,r)]);break}a=e._cache.length,i=n.concat([i,o(e,t.slice(0,a),r)]),t=t.slice(a)}return i}},function(e,t,r){var n=r(31).Buffer;function a(e,t,r){var a=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:a])]),a}t.encrypt=function(e,t,r){for(var o=t.length,i=n.allocUnsafe(o),c=-1;++c<o;)i[c]=a(e,t[c],r);return i}},function(e,t,r){var n=r(31).Buffer;function a(e,t,r){for(var n,a,i=-1,c=0;++i<8;)n=t&1<<7-i?128:0,c+=(128&(a=e._cipher.encryptBlock(e._prev)[0]^n))>>i%8,e._prev=o(e._prev,r?n:a);return c}function o(e,t){var r=e.length,a=-1,o=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++a<r;)o[a]=e[a]<<1|e[a+1]>>7;return o}t.encrypt=function(e,t,r){for(var o=t.length,i=n.allocUnsafe(o),c=-1;++c<o;)i[c]=a(e,t[c],r);return i}},function(e,t,r){(function(e){var n=r(114);function a(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,r){for(;t._cache.length<r.length;)t._cache=e.concat([t._cache,a(t)]);var o=t._cache.slice(0,r.length);return t._cache=t._cache.slice(r.length),n(r,o)}}).call(this,r(48).Buffer)},function(e,t,r){var n=r(31).Buffer,a=n.alloc(16,0);function o(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function i(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}i.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},i.prototype._multiply=function(){for(var e,t,r,n=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],a=[0,0,0,0],i=-1;++i<128;){for(0!=(this.state[~~(i/8)]&1<<7-i%8)&&(a[0]^=n[0],a[1]^=n[1],a[2]^=n[2],a[3]^=n[3]),r=0!=(1&n[3]),t=3;t>0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(a)},i.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},i.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,a],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=i},function(e,t,r){var n=r(296),a=r(31).Buffer,o=r(182),i=r(297),c=r(82),s=r(135),l=r(136);function u(e,t,r){c.call(this),this._cache=new f,this._last=void 0,this._cipher=new s.AES(t),this._prev=a.from(r),this._mode=e,this._autopadding=!0}function f(){this.cache=a.allocUnsafe(0)}function d(e,t,r){var c=o[e.toLowerCase()];if(!c)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=a.from(r)),"GCM"!==c.mode&&r.length!==c.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof t&&(t=a.from(t)),t.length!==c.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===c.type?new i(c.module,t,r,!0):"auth"===c.type?new n(c.module,t,r,!0):new u(c.module,t,r)}r(30)(u,c),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return a.concat(n)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},f.prototype.add=function(e){this.cache=a.concat([this.cache,e])},f.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},f.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=o[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=l(t,!1,r.key,r.iv);return d(e,n.key,n.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,r){(function(e){var n=r(298),a=r(513),o=r(514);var i={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var r=new e(a[t].prime,"hex"),n=new e(a[t].gen,"hex");return new o(r,n)},t.createDiffieHellman=t.DiffieHellman=function t(r,a,c,s){return e.isBuffer(a)||void 0===i[a]?t(r,"binary",a,c):(a=a||"binary",s=s||"binary",c=c||new e([2]),e.isBuffer(c)||(c=new e(c,s)),"number"==typeof r?new o(n(r,c),c,!0):(e.isBuffer(r)||(r=new e(r,a)),new o(r,c,!0)))}}).call(this,r(48).Buffer)},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,r){(function(t){var n=r(43),a=new(r(299)),o=new n(24),i=new n(11),c=new n(10),s=new n(3),l=new n(7),u=r(298),f=r(101);function d(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._pub=new n(e),this}function h(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._priv=new n(e),this}e.exports=m;var p={};function m(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=h):this._primeCode=8}function b(e,r){var n=new t(e.toArray());return r?n.toString(r):n}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in p)return p[n];var f,d=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!a.test(e))return d+=1,d+="02"===r||"05"===r?8:4,p[n]=d,d;switch(a.test(e.shrn(1))||(d+=2),r){case"02":e.mod(o).cmp(i)&&(d+=8);break;case"05":(f=e.mod(c)).cmp(s)&&f.cmp(l)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(f(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(e){var r=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),a=new t(r.toArray()),o=this.getPrime();if(a.length<o.length){var i=new t(o.length-a.length);i.fill(0),a=t.concat([i,a])}return a},m.prototype.getPublicKey=function(e){return b(this._pub,e)},m.prototype.getPrivateKey=function(e){return b(this._priv,e)},m.prototype.getPrime=function(e){return b(this.__prime,e)},m.prototype.getGenerator=function(e){return b(this._gen,e)},m.prototype.setGenerator=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.__gen=e,this._gen=new n(e),this}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(112),a=r(172),o=r(30),i=r(516),c=r(548),s=r(286);function l(e){a.Writable.call(this);var t=s[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function u(e){a.Writable.call(this);var t=s[e];if(!t)throw new Error("Unknown message digest");this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function f(e){return new l(e)}function d(e){return new u(e)}Object.keys(s).forEach((function(e){s[e].id=new t(s[e].id,"hex"),s[e.toLowerCase()]=s[e]})),o(l,a.Writable),l.prototype._write=function(e,t,r){this._hash.update(e),r()},l.prototype.update=function(e,r){return"string"==typeof e&&(e=new t(e,r)),this._hash.update(e),this},l.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=i(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},o(u,a.Writable),u.prototype._write=function(e,t,r){this._hash.update(e),r()},u.prototype.update=function(e,r){return"string"==typeof e&&(e=new t(e,r)),this._hash.update(e),this},u.prototype.verify=function(e,r,n){"string"==typeof r&&(r=new t(r,n)),this.end();var a=this._hash.digest();return c(r,a,e,this._signType,this._tag)},e.exports={Sign:f,Verify:d,createSign:f,createVerify:d}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(284),a=r(184),o=r(185).ec,i=r(43),c=r(138),s=r(309);function l(e,r,a,o){if((e=new t(e.toArray())).length<r.byteLength()){var i=new t(r.byteLength()-e.length);i.fill(0),e=t.concat([i,e])}var c=a.length,s=function(e,r){e=(e=u(e,r)).mod(r);var n=new t(e.toArray());if(n.length<r.byteLength()){var a=new t(r.byteLength()-n.length);a.fill(0),n=t.concat([a,n])}return n}(a,r),l=new t(c);l.fill(1);var f=new t(c);return f.fill(0),f=n(o,f).update(l).update(new t([0])).update(e).update(s).digest(),l=n(o,f).update(l).digest(),{k:f=n(o,f).update(l).update(new t([1])).update(e).update(s).digest(),v:l=n(o,f).update(l).digest()}}function u(e,t){var r=new i(e),n=(e.length<<3)-t.bitLength();return n>0&&r.ishrn(n),r}function f(e,r,a){var o,i;do{for(o=new t(0);8*o.length<e.bitLength();)r.v=n(a,r.k).update(r.v).digest(),o=t.concat([o,r.v]);i=u(o,e),r.k=n(a,r.k).update(r.v).update(new t([0])).digest(),r.v=n(a,r.k).update(r.v).digest()}while(-1!==i.cmp(e));return i}function d(e,t,r,n){return e.toRed(i.mont(r)).redPow(t).fromRed().mod(n)}e.exports=function(e,r,n,h,p){var m=c(r);if(m.curve){if("ecdsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");return function(e,r){var n=s[r.curve.join(".")];if(!n)throw new Error("unknown curve "+r.curve.join("."));var a=new o(n).keyFromPrivate(r.privateKey).sign(e);return new t(a.toDER())}(e,m)}if("dsa"===m.type){if("dsa"!==h)throw new Error("wrong private key type");return function(e,r,n){var a,o=r.params.priv_key,c=r.params.p,s=r.params.q,h=r.params.g,p=new i(0),m=u(e,s).mod(s),b=!1,g=l(o,s,e,n);for(;!1===b;)a=f(s,g,n),p=d(h,a,c,s),0===(b=a.invm(s).imul(m.add(o.mul(p))).mod(s)).cmpn(0)&&(b=!1,p=new i(0));return function(e,r){e=e.toArray(),r=r.toArray(),128&e[0]&&(e=[0].concat(e));128&r[0]&&(r=[0].concat(r));var n=[48,e.length+r.length+4,2,e.length];return n=n.concat(e,[2,r.length],r),new t(n)}(p,b)}(e,m,n)}if("rsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");e=t.concat([p,e]);for(var b=m.modulus.byteLength(),g=[0,1];e.length+g.length+1<b;)g.push(255);g.push(0);for(var v=-1;++v<e.length;)g.push(e[v]);return a(g,m)},e.exports.getKey=l,e.exports.makeKey=f}).call(this,r(48).Buffer)},function(e){e.exports=JSON.parse('{"_args":[["elliptic@6.5.2","/home/aljullu/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/woocommerce-gutenberg-products-block"]],"_development":true,"_from":"elliptic@6.5.2","_id":"elliptic@6.5.2","_inBundle":false,"_integrity":"sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.2","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.2","saveSpec":null,"fetchSpec":"6.5.2"},"_requiredBy":["/browserify-sign","/create-ecdh"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz","_spec":"6.5.2","_where":"/home/aljullu/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/woocommerce-gutenberg-products-block","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},"description":"EC cryptography","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.2"}')},function(e,t,r){"use strict";var n=r(73),a=r(43),o=r(30),i=r(137),c=n.assert;function s(e){i.call(this,"short",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function l(e,t,r,n){i.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new a(t,16),this.y=new a(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,r,n){i.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new a(0)):(this.x=new a(t,16),this.y=new a(r,16),this.z=new a(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(s,i),e.exports=s,s.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new a(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new a(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],c(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new a(e.a,16),b:new a(e.b,16)}})):this._getEndoBasis(r)}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:a.mont(e),r=new a(2).toRed(t).redInvm(),n=r.redNeg(),o=new a(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t,r,n,o,i,c,s,l,u,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new a(1),m=new a(0),b=new a(0),g=new a(1),v=0;0!==d.cmpn(0);){var y=h.div(d);l=h.sub(y.mul(d)),u=b.sub(y.mul(p));var w=g.sub(y.mul(m));if(!n&&l.cmp(f)<0)t=s.neg(),r=p,n=l.neg(),o=u;else if(n&&2==++v)break;s=l,h=d,d=l,b=p,p=u,g=m,m=w}i=l.neg(),c=u;var _=n.sqr().add(o.sqr());return i.sqr().add(c.sqr()).cmp(_)>=0&&(i=t,c=r),n.negative&&(n=n.neg(),o=o.neg()),i.negative&&(i=i.neg(),c=c.neg()),[{a:n,b:o},{a:i,b:c}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],a=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),i=a.mul(r.a),c=o.mul(n.a),s=a.mul(r.b),l=o.mul(n.b);return{k1:e.sub(i).sub(c),k2:s.add(l).neg()}},s.prototype.pointFromX=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),a=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(a).cmpn(0)},s.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,a=this._endoWnafT2,o=0;o<e.length;o++){var i=this._endoSplit(t[o]),c=e[o],s=c._getBeta();i.k1.negative&&(i.k1.ineg(),c=c.neg(!0)),i.k2.negative&&(i.k2.ineg(),s=s.neg(!0)),n[2*o]=c,n[2*o+1]=s,a[2*o]=i.k1,a[2*o+1]=i.k2}for(var l=this._wnafMulAdd(1,n,a,2*o,r),u=0;u<2*o;u++)n[u]=null,a[u]=null;return l},o(l,i.BasePoint),s.prototype.point=function(e,t,r){return new l(this,e,t,r)},s.prototype.pointFromJSON=function(e,t){return l.fromJSON(this,e,t)},l.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},l.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},l.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function a(t){return e.point(t[0],t[1],r)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(a))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(a))}},n},l.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),a=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=a.redSqr().redISub(this.x.redAdd(this.x)),i=a.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,i)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return e=new a(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){var n=[this,t],a=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,a):this.curve._wnafMulAdd(1,n,a,2)},l.prototype.jmulAdd=function(e,t,r){var n=[this,t],a=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,a,!0):this.curve._wnafMulAdd(1,n,a,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(u,i.BasePoint),s.prototype.jpoint=function(e,t,r){return new u(this,e,t,r)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),a=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),i=e.y.redMul(r.redMul(this.z)),c=n.redSub(a),s=o.redSub(i);if(0===c.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),u=l.redMul(c),f=n.redMul(l),d=s.redSqr().redIAdd(u).redISub(f).redISub(f),h=s.redMul(f.redISub(d)).redISub(o.redMul(u)),p=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(d,h,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),a=this.y,o=e.y.redMul(t).redMul(this.z),i=r.redSub(n),c=a.redSub(o);if(0===i.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=i.redSqr(),l=s.redMul(i),u=r.redMul(s),f=c.redSqr().redIAdd(l).redISub(u).redISub(u),d=c.redMul(u.redISub(f)).redISub(a.redMul(l)),h=this.z.redMul(i);return this.curve.jpoint(f,d,h)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,a=this.curve.tinv,o=this.x,i=this.y,c=this.z,s=c.redSqr().redSqr(),l=i.redAdd(i);for(r=0;r<e;r++){var u=o.redSqr(),f=l.redSqr(),d=f.redSqr(),h=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(s)),p=o.redMul(f),m=h.redSqr().redISub(p.redAdd(p)),b=p.redISub(m),g=h.redMul(b);g=g.redIAdd(g).redISub(d);var v=l.redMul(c);r+1<e&&(s=s.redMul(d)),o=m,c=v,l=g}return this.curve.jpoint(o,l.redMul(a),c)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),o=a.redSqr(),i=this.x.redAdd(a).redSqr().redISub(n).redISub(o);i=i.redIAdd(i);var c=n.redAdd(n).redIAdd(n),s=c.redSqr().redISub(i).redISub(i),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=s,t=c.redMul(i.redISub(s)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),f=this.y.redSqr(),d=f.redSqr(),h=this.x.redAdd(f).redSqr().redISub(u).redISub(d);h=h.redIAdd(h);var p=u.redAdd(u).redIAdd(u),m=p.redSqr(),b=d.redIAdd(d);b=(b=b.redIAdd(b)).redIAdd(b),e=m.redISub(h).redISub(h),t=p.redMul(h.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},u.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),o=a.redSqr(),i=this.x.redAdd(a).redSqr().redISub(n).redISub(o);i=i.redIAdd(i);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),s=c.redSqr().redISub(i).redISub(i);e=s;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=c.redMul(i.redISub(s)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),f=this.y.redSqr(),d=this.x.redMul(f),h=this.x.redSub(u).redMul(this.x.redAdd(u));h=h.redAdd(h).redIAdd(h);var p=d.redIAdd(d),m=(p=p.redIAdd(p)).redAdd(p);e=h.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(f).redISub(u);var b=f.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=h.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},u.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,a=n.redSqr().redSqr(),o=t.redSqr(),i=r.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(a)),s=t.redAdd(t),l=(s=s.redIAdd(s)).redMul(i),u=c.redSqr().redISub(l.redAdd(l)),f=l.redISub(u),d=i.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=c.redMul(f).redISub(d),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,h,p)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),a=e.redAdd(e).redIAdd(e),o=a.redSqr(),i=this.x.redAdd(t).redSqr().redISub(e).redISub(n),c=(i=(i=(i=i.redIAdd(i)).redAdd(i).redIAdd(i)).redISub(o)).redSqr(),s=n.redIAdd(n);s=(s=(s=s.redIAdd(s)).redIAdd(s)).redIAdd(s);var l=a.redIAdd(i).redSqr().redISub(o).redISub(c).redISub(s),u=t.redMul(l);u=(u=u.redIAdd(u)).redIAdd(u);var f=this.x.redMul(c).redISub(u);f=(f=f.redIAdd(f)).redIAdd(f);var d=this.y.redMul(l.redMul(s.redISub(l)).redISub(i.redMul(c)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=this.z.redAdd(i).redSqr().redISub(r).redISub(c);return this.curve.jpoint(f,d,h)},u.prototype.mul=function(e,t){return e=new a(e,t),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),a=r.redMul(e.z);return 0===this.y.redMul(a).redISub(e.y.redMul(n)).cmpn(0)},u.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),a=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(a),0===this.x.cmp(r))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,r){"use strict";var n=r(43),a=r(30),o=r(137),i=r(73);function c(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function s(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}a(c,o),e.exports=c,c.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},a(s,o.BasePoint),c.prototype.decodePoint=function(e,t){return this.point(i.toArray(e,t),1)},c.prototype.point=function(e,t){return new s(this,e,t)},c.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),a=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,a)},s.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),a=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),i=a.redMul(n),c=t.z.redMul(o.redAdd(i).redSqr()),s=t.x.redMul(o.redISub(i).redSqr());return this.curve.point(c,s)},s.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),a=[];0!==t.cmpn(0);t.iushrn(1))a.push(t.andln(1));for(var o=a.length-1;o>=0;o--)0===a[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},s.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,r){"use strict";var n=r(73),a=r(43),o=r(30),i=r(137),c=n.assert;function s(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,i.call(this,"edwards",e),this.a=new a(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new a(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new a(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),c(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function l(e,t,r,n,o){i.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new a(t,16),this.y=new a(r,16),this.z=n?new a(n,16):this.curve.one,this.t=o&&new a(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(s,i),e.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},s.prototype.pointFromX=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),i=n.redMul(o.redInvm()),c=i.redSqrt();if(0!==c.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var s=c.fromRed().isOdd();return(t&&!s||!t&&s)&&(c=c.redNeg()),this.point(e,c)},s.prototype.pointFromY=function(e,t){(e=new a(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),i=n.redMul(o.redInvm());if(0===i.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var c=i.redSqrt();if(0!==c.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return c.fromRed().isOdd()!==t&&(c=c.redNeg()),this.point(c,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),a=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(a)},o(l,i.BasePoint),s.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},s.prototype.point=function(e,t,r,n){return new l(this,e,t,r,n)},l.fromJSON=function(e,t){return new l(e,t[0],t[1],t[2])},l.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),a=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),i=o.redSub(r),c=n.redSub(t),s=a.redMul(i),l=o.redMul(c),u=a.redMul(c),f=i.redMul(o);return this.curve.point(s,l,f,u)},l.prototype._projDbl=function(){var e,t,r,n=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var i=(l=this.curve._mulA(a)).redAdd(o);if(this.zOne)e=n.redSub(a).redSub(o).redMul(i.redSub(this.curve.two)),t=i.redMul(l.redSub(o)),r=i.redSqr().redSub(i).redSub(i);else{var c=this.z.redSqr(),s=i.redSub(c).redISub(c);e=n.redSub(a).redISub(o).redMul(s),t=i.redMul(l.redSub(o)),r=i.redMul(s)}}else{var l=a.redAdd(o);c=this.curve._mulC(this.z).redSqr(),s=l.redSub(c).redSub(c);e=this.curve._mulC(n.redISub(l)).redMul(s),t=this.curve._mulC(l).redMul(a.redISub(o)),r=l.redMul(s)}return this.curve.point(e,t,r)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),a=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),i=a.redSub(n),c=a.redAdd(n),s=r.redAdd(t),l=o.redMul(i),u=c.redMul(s),f=o.redMul(s),d=i.redMul(c);return this.curve.point(l,u,d,f)},l.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),a=n.redSqr(),o=this.x.redMul(e.x),i=this.y.redMul(e.y),c=this.curve.d.redMul(o).redMul(i),s=a.redSub(c),l=a.redAdd(c),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(i),f=n.redMul(s).redMul(u);return this.curve.twisted?(t=n.redMul(l).redMul(i.redSub(this.curve._mulA(o))),r=s.redMul(l)):(t=n.redMul(l).redMul(i.redSub(o)),r=this.curve._mulC(s).redMul(l)),this.curve.point(f,t,r)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},l.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add},function(e,t,r){"use strict";t.sha1=r(522),t.sha224=r(523),t.sha256=r(303),t.sha384=r(524),t.sha512=r(304)},function(e,t,r){"use strict";var n=r(78),a=r(115),o=r(302),i=n.rotl32,c=n.sum32,s=n.sum32_5,l=o.ft_1,u=a.BlockHash,f=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,u),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=i(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var a=this.h[0],o=this.h[1],u=this.h[2],d=this.h[3],h=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),m=s(i(a,5),l(p,o,u,d),h,r[n],f[p]);h=d,d=u,u=i(o,30),o=a,a=m}this.h[0]=c(this.h[0],a),this.h[1]=c(this.h[1],o),this.h[2]=c(this.h[2],u),this.h[3]=c(this.h[3],d),this.h[4]=c(this.h[4],h)},d.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,t,r){"use strict";var n=r(78),a=r(303);function o(){if(!(this instanceof o))return new o;a.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,a),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},function(e,t,r){"use strict";var n=r(78),a=r(304);function o(){if(!(this instanceof o))return new o;a.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,a),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},function(e,t,r){"use strict";var n=r(78),a=r(115),o=n.rotl32,i=n.sum32,c=n.sum32_3,s=n.sum32_4,l=a.BlockHash;function u(){if(!(this instanceof u))return new u;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,l),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],a=this.h[2],l=this.h[3],u=this.h[4],v=r,y=n,w=a,_=l,k=u,E=0;E<80;E++){var O=i(o(s(r,f(E,n,a,l),e[p[E]+t],d(E)),b[E]),u);r=u,u=l,l=o(a,10),a=n,n=O,O=i(o(s(v,f(79-E,y,w,_),e[m[E]+t],h(E)),g[E]),k),v=k,k=_,_=o(w,10),w=y,y=O}O=c(this.h[1],a,_),this.h[1]=c(this.h[2],l,k),this.h[2]=c(this.h[3],u,v),this.h[3]=c(this.h[4],r,y),this.h[4]=c(this.h[0],n,w),this.h[0]=O},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,r){"use strict";var n=r(78),a=r(70);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,r){"use strict";var n=r(43),a=r(529),o=r(73),i=r(186),c=r(183),s=o.assert,l=r(530),u=r(531);function f(e){if(!(this instanceof f))return new f(e);"string"==typeof e&&(s(i.hasOwnProperty(e),"Unknown curve "+e),e=i[e]),e instanceof i.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=f,f.prototype.keyPair=function(e){return new l(this,e)},f.prototype.keyFromPrivate=function(e,t){return l.fromPrivate(this,e,t)},f.prototype.keyFromPublic=function(e,t){return l.fromPublic(this,e,t)},f.prototype.genKeyPair=function(e){e||(e={});for(var t=new a({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||c(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var i=new n(t.generate(r));if(!(i.cmp(o)>0))return i.iaddn(1),this.keyFromPrivate(i)}},f.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},f.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var i=this.n.byteLength(),c=t.getPrivate().toArray("be",i),s=e.toArray("be",i),l=new a({hash:this.hash,entropy:c,nonce:s,pers:o.pers,persEnc:o.persEnc||"utf8"}),f=this.n.sub(new n(1)),d=0;;d++){var h=o.k?o.k(d):new n(l.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(f)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var g=h.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var v=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return o.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),v^=1),new u({r:b,s:g,recoveryParam:v})}}}}}},f.prototype.verify=function(e,t,r,a){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,a);var o=(t=new u(t,"hex")).r,i=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var c,s=i.invm(this.n),l=s.mul(e).umod(this.n),f=s.mul(o).umod(this.n);return this.curve._maxwellTrick?!(c=this.g.jmulAdd(l,r.getPublic(),f)).isInfinity()&&c.eqXToP(o):!(c=this.g.mulAdd(l,r.getPublic(),f)).isInfinity()&&0===c.getX().umod(this.n).cmp(o)},f.prototype.recoverPubKey=function(e,t,r,a){s((3&r)===r,"The recovery param is more than two bits"),t=new u(t,a);var o=this.n,i=new n(e),c=t.r,l=t.s,f=1&r,d=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");c=d?this.curve.pointFromX(c.add(this.curve.n),f):this.curve.pointFromX(c,f);var h=t.r.invm(o),p=o.sub(i).mul(h).umod(o),m=l.mul(h).umod(o);return this.g.mulAdd(p,c,m)},f.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new u(t,n)).recoveryParam)return t.recoveryParam;for(var a=0;a<4;a++){var o;try{o=this.recoverPubKey(e,t,a)}catch(e){continue}if(o.eq(r))return a}throw new Error("Unable to find valid recovery factor")}},function(e,t,r){"use strict";var n=r(187),a=r(300),o=r(70);function i(e){if(!(this instanceof i))return new i(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=a.toArray(e.entropy,e.entropyEnc||"hex"),r=a.toArray(e.nonce,e.nonceEnc||"hex"),n=a.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=i,i.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var a=0;a<this.V.length;a++)this.K[a]=0,this.V[a]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},i.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},i.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},i.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=a.toArray(e,t),r=a.toArray(r,n),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},i.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=a.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var i=o.slice(0,e);return this._update(r),this._reseed++,a.encode(i,t)}},function(e,t,r){"use strict";var n=r(43),a=r(73).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?a(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||a(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,r){"use strict";var n=r(43),a=r(73),o=a.assert;function i(e,t){if(e instanceof i)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function c(){this.place=0}function s(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,a=0,o=0,i=t.place;o<n;o++,i++)a<<=8,a|=e[i];return t.place=i,a}function l(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function u(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=i,i.prototype._importDER=function(e,t){e=a.toArray(e,t);var r=new c;if(48!==e[r.place++])return!1;if(s(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=s(e,r),i=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var l=s(e,r);if(e.length!==l+r.place)return!1;var u=e.slice(r.place,l+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===u[0]&&128&u[1]&&(u=u.slice(1)),this.r=new n(i),this.s=new n(u),this.recoveryParam=null,!0},i.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=l(t),r=l(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];u(n,t.length),(n=n.concat(t)).push(2),u(n,r.length);var o=n.concat(r),i=[48];return u(i,o.length),i=i.concat(o),a.encode(i,e)}},function(e,t,r){"use strict";var n=r(187),a=r(186),o=r(73),i=o.assert,c=o.parseBytes,s=r(533),l=r(534);function u(e){if(i("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=a[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=u,u.prototype.sign=function(e,t){e=c(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),a=this.g.mul(n),o=this.encodePoint(a),i=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),s=n.add(i).umod(this.curve.n);return this.makeSignature({R:a,S:s,Rencoded:o})},u.prototype.verify=function(e,t,r){e=c(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),a=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(a)).eq(o)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return o.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof l?e:new l(this,e)},u.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},u.prototype.decodePoint=function(e){var t=(e=o.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),n=0!=(128&e[t]),a=o.intFromLE(r);return this.curve.pointFromY(a,n)},u.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(e){return o.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,r){"use strict";var n=r(73),a=n.assert,o=n.parseBytes,i=n.cachedProperty;function c(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}c.fromPublic=function(e,t){return t instanceof c?t:new c(e,{pub:t})},c.fromSecret=function(e,t){return t instanceof c?t:new c(e,{secret:t})},c.prototype.secret=function(){return this._secret},i(c,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),i(c,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),i(c,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),i(c,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),i(c,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),i(c,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),c.prototype.sign=function(e){return a(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},c.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},c.prototype.getSecret=function(e){return a(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},c.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=c},function(e,t,r){"use strict";var n=r(43),a=r(73),o=a.assert,i=a.cachedProperty,c=a.parseBytes;function s(e,t){this.eddsa=e,"object"!=typeof t&&(t=c(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}i(s,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),i(s,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),i(s,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),i(s,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return a.encode(this.toBytes(),"hex").toUpperCase()},e.exports=s},function(e,t,r){"use strict";var n=r(116);t.certificate=r(545);var a=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=a;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=o;var i=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(c),this.key("subjectPublicKey").bitstr())}));t.PublicKey=i;var c=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),s=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(c),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=s;var l=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=l;var u=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=u,t.DSAparam=n.define("DSAparam",(function(){this.int()}));var f=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=f;var d=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function(e,t,r){var n=r(116),a=r(30);function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){var t;try{t=r(537).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return a(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(n.decoders[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n.encoders[e])),this.encoders[e]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},function(module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r<e.length;r++)if(e[r]===t)return r;return-1},Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var r in e)t.push(r);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r,e)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(e,t,r){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var r=t.contentWindow,n=r.eval,a=r.execScript;!n&&a&&(a.call(r,"null"),n=r.eval),forEach(Object_keys(e),(function(t){r[t]=e[t]})),forEach(globals,(function(t){e[t]&&(r[t]=e[t])}));var o=Object_keys(r),i=n.call(r,this.code);return forEach(Object_keys(r),(function(t){(t in e||-1===indexOf(o,t))&&(e[t]=r[t])})),forEach(globals,(function(t){t in e||defineProp(e,t,r[t])})),document.body.removeChild(t),i},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),r=this.runInContext(t);return e&&forEach(Object_keys(t),(function(r){e[r]=t[r]})),r},forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}})),exports.isContext=function(e){return e instanceof Context},exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return"object"==typeof e&&forEach(Object_keys(e),(function(r){t[r]=e[r]})),t}},function(e,t,r){var n=r(30);function a(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=a,a.prototype.isError=function(e){return e instanceof o},a.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},a.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},a.prototype.enterKey=function(e){return this._reporterState.path.push(e)},a.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},a.prototype.leaveKey=function(e,t,r){var n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},a.prototype.path=function(){return this._reporterState.path.join("/")},a.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},a.prototype.leaveObject=function(e){var t=this._reporterState,r=t.obj;return t.obj=e,r},a.prototype.error=function(e){var t,r=this._reporterState,n=e instanceof o;if(t=n?e:new o(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},a.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,r){var n=r(117).Reporter,a=r(117).EncoderBuffer,o=r(117).DecoderBuffer,i=r(70),c=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],s=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(c);function l(e,t){var r={};this._baseState=r,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}e.exports=l;var u=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];l.prototype.clone=function(){var e=this._baseState,t={};u.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);return r._baseState=t,r},l.prototype._wrap=function(){var e=this._baseState;s.forEach((function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},l.prototype._init=function(e){var t=this._baseState;i(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),i.equal(t.children.length,1,"Root node can have only one child")},l.prototype._useArgs=function(e){var t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(i(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(i(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);var n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){l.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),c.forEach((function(e){l.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return i(null===t.tag),t.tag=e,this._useArgs(r),this}})),l.prototype.use=function(e){i(e);var t=this._baseState;return i(null===t.use),t.use=e,this},l.prototype.optional=function(){return this._baseState.optional=!0,this},l.prototype.def=function(e){var t=this._baseState;return i(null===t.default),t.default=e,t.optional=!0,this},l.prototype.explicit=function(e){var t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.explicit=e,this},l.prototype.implicit=function(e){var t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.implicit=e,this},l.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},l.prototype.key=function(e){var t=this._baseState;return i(null===t.key),t.key=e,this},l.prototype.any=function(){return this._baseState.any=!0,this},l.prototype.choice=function(e){var t=this._baseState;return i(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},l.prototype.contains=function(e){var t=this._baseState;return i(null===t.use),t.contains=e,this},l.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var n,a=r.default,i=!0,c=null;if(null!==r.key&&(c=e.enterKey(r.key)),r.optional){var s=null;if(null!==r.explicit?s=r.explicit:null!==r.implicit?s=r.implicit:null!==r.tag&&(s=r.tag),null!==s||r.any){if(i=this._peekTag(e,s,r.any),e.isError(i))return i}else{var l=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),i=!0}catch(e){i=!1}e.restore(l)}}if(r.obj&&i&&(n=e.enterObject()),i){if(null!==r.explicit){var u=this._decodeTag(e,r.explicit);if(e.isError(u))return u;e=u}var f=e.offset;if(null===r.use&&null===r.choice){if(r.any)l=e.save();var d=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(d))return d;r.any?a=e.raw(l):e=d}if(t&&t.track&&null!==r.tag&&t.track(e.path(),f,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),a=r.any?a:null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),e.isError(a))return a;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var h=new o(a);a=this._getUse(r.contains,e._reporterState.obj)._decode(h,t)}}return r.obj&&i&&(a=e.leaveObject(n)),null===r.key||null===a&&!0!==i?null!==c&&e.exitKey(c):e.leaveKey(c,r.key,a),a},l.prototype._decodeGeneric=function(e,t,r){var n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},l.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),i(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},l.prototype._decodeChoice=function(e,t){var r=this._baseState,n=null,a=!1;return Object.keys(r.choice).some((function(o){var i=e.save(),c=r.choice[o];try{var s=c._decode(e,t);if(e.isError(s))return!1;n={type:o,value:s},a=!0}catch(t){return e.restore(i),!1}return!0}),this),a?n:e.error("Choice not matched")},l.prototype._createEncoderBuffer=function(e){return new a(e,this.reporter)},l.prototype._encode=function(e,t,r){var n=this._baseState;if(null===n.default||n.default!==e){var a=this._encodeValue(e,t,r);if(void 0!==a&&!this._skipDefault(a,t,r))return a}},l.prototype._encodeValue=function(e,t,r){var a=this._baseState;if(null===a.parent)return a.children[0]._encode(e,t||new n);var o=null;if(this.reporter=t,a.optional&&void 0===e){if(null===a.default)return;e=a.default}var i=null,c=!1;if(a.any)o=this._createEncoderBuffer(e);else if(a.choice)o=this._encodeChoice(e,t);else if(a.contains)i=this._getUse(a.contains,r)._encode(e,t),c=!0;else if(a.children)i=a.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var n=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var a=r._encode(e[r._baseState.key],t,e);return t.leaveKey(n),a}),this).filter((function(e){return e})),i=this._createEncoderBuffer(i);else if("seqof"===a.tag||"setof"===a.tag){if(!a.args||1!==a.args.length)return t.error("Too many args for : "+a.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var s=this.clone();s._baseState.implicit=null,i=this._createEncoderBuffer(e.map((function(r){var n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),s))}else null!==a.use?o=this._getUse(a.use,r)._encode(e,t):(i=this._encodePrimitive(a.tag,e),c=!0);if(!a.any&&null===a.choice){var l=null!==a.implicit?a.implicit:a.tag,u=null===a.implicit?"universal":"context";null===l?null===a.use&&t.error("Tag could be omitted only for .use()"):null===a.use&&(o=this._encodeComposite(l,c,u,i))}return null!==a.explicit&&(o=this._encodeComposite(a.explicit,!1,"context",o)),o},l.prototype._encodeChoice=function(e,t){var r=this._baseState,n=r.choice[e.type];return n||i(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},l.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},l.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},l.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},function(e,t,r){var n=r(306);t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=n._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=n._reverse(t.tag)},function(e,t,r){var n=t;n.der=r(307),n.pem=r(542)},function(e,t,r){var n=r(30),a=r(48).Buffer,o=r(307);function i(e){o.call(this,e),this.enc="pem"}n(i,o),e.exports=i,i.prototype.decode=function(e,t){for(var r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),i=/^-----(BEGIN|END) ([^-]+)-----$/,c=-1,s=-1,l=0;l<r.length;l++){var u=r[l].match(i);if(null!==u&&u[2]===n){if(-1!==c){if("END"!==u[1])break;s=l;break}if("BEGIN"!==u[1])break;c=l}}if(-1===c||-1===s)throw new Error("PEM section not found for: "+n);var f=r.slice(c+1,s).join("");f.replace(/[^a-z0-9\+\/=]+/gi,"");var d=new a(f,"base64");return o.prototype.decode.call(this,d,t)}},function(e,t,r){var n=t;n.der=r(308),n.pem=r(544)},function(e,t,r){var n=r(30),a=r(308);function o(e){a.call(this,e),this.enc="pem"}n(o,a),e.exports=o,o.prototype.encode=function(e,t){for(var r=a.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"],o=0;o<r.length;o+=64)n.push(r.slice(o,o+64));return n.push("-----END "+t.label+"-----"),n.join("\n")}},function(e,t,r){"use strict";var n=r(116),a=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),i=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),c=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(i),this.key("subjectPublicKey").bitstr())})),s=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),l=n.define("RDNSequence",(function(){this.seqof(s)})),u=n.define("Name",(function(){this.choice({rdnSequence:this.use(l)})})),f=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(a),this.key("notAfter").use(a))})),d=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(i),this.key("issuer").use(u),this.key("validity").use(f),this.key("subject").use(u),this.key("subjectPublicKeyInfo").use(c),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(i),this.key("signatureValue").bitstr())}));e.exports=p},function(e){e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},function(e,t,r){var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,i=r(136),c=r(181),s=r(31).Buffer;e.exports=function(e,t){var r,l=e.toString(),u=l.match(n);if(u){var f="aes"+u[1],d=s.from(u[2],"hex"),h=s.from(u[3].replace(/[\r\n]/g,""),"base64"),p=i(t,d.slice(0,8),parseInt(u[1],10)).key,m=[],b=c.createDecipheriv(f,p,d);m.push(b.update(h)),m.push(b.final()),r=s.concat(m)}else{var g=l.match(o);r=new s(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:l.match(a)[1],data:r}}},function(e,t,r){(function(t){var n=r(43),a=r(185).ec,o=r(138),i=r(309);function c(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,r,s,l,u){var f=o(s);if("ec"===f.type){if("ecdsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var n=i[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var o=new a(n),c=r.data.subjectPrivateKey.data;return o.verify(t,e,c)}(e,r,f)}if("dsa"===f.type){if("dsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var a=r.data.p,i=r.data.q,s=r.data.g,l=r.data.pub_key,u=o.signature.decode(e,"der"),f=u.s,d=u.r;c(f,i),c(d,i);var h=n.mont(a),p=f.invm(i);return 0===s.toRed(h).redPow(new n(t).mul(p).mod(i)).fromRed().mul(l.toRed(h).redPow(d.mul(p).mod(i)).fromRed()).mod(a).mod(i).cmp(d)}(e,r,f)}if("rsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");r=t.concat([u,r]);for(var d=f.modulus.byteLength(),h=[1],p=0;r.length+h.length+2<d;)h.push(255),p++;h.push(0);for(var m=-1;++m<r.length;)h.push(r[m]);h=new t(h);var b=n.mont(f.modulus);e=(e=new n(e).toRed(b)).redPow(new n(f.publicExponent)),e=new t(e.fromRed().toArray());var g=p<8?1:0;for(d=Math.min(e.length,h.length),e.length!==h.length&&(g=1),m=-1;++m<d;)g|=e[m]^h[m];return 0===g}}).call(this,r(48).Buffer)},function(e,t,r){(function(t){var n=r(185),a=r(43);e.exports=function(e){return new i(e)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function i(e){this.curveType=o[e],this.curveType||(this.curveType={name:e}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function c(e,r,n){Array.isArray(e)||(e=e.toArray());var a=new t(e);if(n&&a.length<n){var o=new t(n-a.length);o.fill(0),a=t.concat([o,a])}return r?a.toString(r):a}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,i.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},i.prototype.computeSecret=function(e,r,n){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),c(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),n,this.curveType.byteLength)},i.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),c(r,e)},i.prototype.getPrivateKey=function(e){return c(this.keys.getPrivate(),e)},i.prototype.setPublicKey=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.keys._importPublic(e),this},i.prototype.setPrivateKey=function(e,r){r=r||"utf8",t.isBuffer(e)||(e=new t(e,r));var n=new a(e);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this}}).call(this,r(48).Buffer)},function(e,t,r){t.publicEncrypt=r(551),t.privateDecrypt=r(552),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},function(e,t,r){var n=r(138),a=r(101),o=r(112),i=r(310),c=r(311),s=r(43),l=r(312),u=r(184),f=r(31).Buffer;e.exports=function(e,t,r){var d;d=e.padding?e.padding:r?1:4;var h,p=n(e);if(4===d)h=function(e,t){var r=e.modulus.byteLength(),n=t.length,l=o("sha1").update(f.alloc(0)).digest(),u=l.length,d=2*u;if(n>r-d-2)throw new Error("message too long");var h=f.alloc(r-n-d-2),p=r-u-1,m=a(u),b=c(f.concat([l,h,f.alloc(1,1),t],p),i(m,p)),g=c(m,i(b,u));return new s(f.concat([f.alloc(1),g,b],r))}(p,t);else if(1===d)h=function(e,t,r){var n,o=t.length,i=e.modulus.byteLength();if(o>i-11)throw new Error("message too long");n=r?f.alloc(i-o-3,255):function(e){var t,r=f.allocUnsafe(e),n=0,o=a(2*e),i=0;for(;n<e;)i===o.length&&(o=a(2*e),i=0),(t=o[i++])&&(r[n++]=t);return r}(i-o-3);return new s(f.concat([f.from([0,r?1:2]),n,f.alloc(1),t],i))}(p,t,r);else{if(3!==d)throw new Error("unknown padding");if((h=new s(t)).cmp(p.modulus)>=0)throw new Error("data too long for modulus")}return r?u(h,p):l(h,p)}},function(e,t,r){var n=r(138),a=r(310),o=r(311),i=r(43),c=r(184),s=r(112),l=r(312),u=r(31).Buffer;e.exports=function(e,t,r){var f;f=e.padding?e.padding:r?1:4;var d,h=n(e),p=h.modulus.byteLength();if(t.length>p||new i(t).cmp(h.modulus)>=0)throw new Error("decryption error");d=r?l(new i(t),h):c(t,h);var m=u.alloc(p-d.length);if(d=u.concat([m,d],p),4===f)return function(e,t){var r=e.modulus.byteLength(),n=s("sha1").update(u.alloc(0)).digest(),i=n.length;if(0!==t[0])throw new Error("decryption error");var c=t.slice(1,i+1),l=t.slice(i+1),f=o(c,a(l,i)),d=o(l,a(f,r-i-1));if(function(e,t){e=u.from(e),t=u.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));var a=-1;for(;++a<n;)r+=e[a]^t[a];return r}(n,d.slice(0,i)))throw new Error("decryption error");var h=i;for(;0===d[h];)h++;if(1!==d[h++])throw new Error("decryption error");return d.slice(h)}(h,d);if(1===f)return function(e,t,r){var n=t.slice(0,2),a=2,o=0;for(;0!==t[a++];)if(a>=t.length){o++;break}var i=t.slice(2,a-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;i.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(a)}(0,d,r);if(3===f)return d;throw new Error("unknown padding")}},function(e,t,r){"use strict";(function(e,n){function a(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(31),i=r(101),c=o.Buffer,s=o.kMaxLength,l=e.crypto||e.msCrypto,u=Math.pow(2,32)-1;function f(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>u||e<0)throw new TypeError("offset must be a uint32");if(e>s||e>t)throw new RangeError("offset out of range")}function d(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>u||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>s)throw new RangeError("buffer too small")}function h(e,t,r,a){if(n.browser){var o=e.buffer,c=new Uint8Array(o,t,r);return l.getRandomValues(c),a?void n.nextTick((function(){a(null,e)})):e}if(!a)return i(r).copy(e,t),e;i(r,(function(r,n){if(r)return a(r);n.copy(e,t),a(null,e)}))}l&&l.getRandomValues||!n.browser?(t.randomFill=function(t,r,n,a){if(!(c.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)a=r,r=0,n=t.length;else if("function"==typeof n)a=n,n=t.length-r;else if("function"!=typeof a)throw new TypeError('"cb" argument must be a function');return f(r,t.length),d(n,r,t.length),h(t,r,n,a)},t.randomFillSync=function(t,r,n){void 0===r&&(r=0);if(!(c.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');f(r,t.length),void 0===n&&(n=t.length-r);return d(n,r,t.length),h(t,r,n)}):(t.randomFill=a,t.randomFillSync=a)}).call(this,r(61),r(81))}]]);
22
 
23
  (window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[]).push([[2],[]]);
24
 
packages/woocommerce-blocks/build/vendors.js CHANGED
@@ -18,7 +18,7 @@ var n=r(502),a=r(503),o=r(504);function i(){return c.TYPED_ARRAY_SUPPORT?2147483
18
  *
19
  * This source code is licensed under the MIT license found in the
20
  * LICENSE file in the root directory of this source tree.
21
- */Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,a=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,s=n?Symbol.for("react.strict_mode"):60108,c=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,f=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,h=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,b=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case f:case d:case i:case c:case s:case p:return e;default:switch(e=e&&e.$$typeof){case u:case h:case g:case b:case l:return e;default:return t}}case o:return t}}}function k(e){return _(e)===d}t.typeOf=_,t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=a,t.ForwardRef=h,t.Fragment=i,t.Lazy=g,t.Memo=b,t.Portal=o,t.Profiler=c,t.StrictMode=s,t.Suspense=p,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===c||e===s||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===b||e.$$typeof===l||e.$$typeof===u||e.$$typeof===h||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w)},t.isAsyncMode=function(e){return k(e)||_(e)===f},t.isConcurrentMode=k,t.isContextConsumer=function(e){return _(e)===u},t.isContextProvider=function(e){return _(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return _(e)===h},t.isFragment=function(e){return _(e)===i},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===b},t.isPortal=function(e){return _(e)===o},t.isProfiler=function(e){return _(e)===c},t.isStrictMode=function(e){return _(e)===s},t.isSuspense=function(e){return _(e)===p}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.CHANNEL="__direction__",t.DIRECTIONS={LTR:"ltr",RTL:"rtl"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(2),o=(n=a)&&n.__esModule?n:{default:n};t.default=o.default.shape({getState:o.default.func,setState:o.default.func,subscribe:o.default.func})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof e)return e;if("function"==typeof e)return e(t);return""}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=l;var n=s(r(10)),a=r(51),o=s(r(184)),i=s(r(464));function s(e){return e&&e.__esModule?e:{default:e}}var c=(0,a.forbidExtraProps)({children:(0,a.or)([(0,a.childrenOfType)(o.default),(0,a.childrenOfType)(i.default)]).isRequired});function l(e){var t=e.children;return n.default.createElement("tr",null,t)}l.propTypes=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureCustomizableCalendarDay=t.selectedStyles=t.lastInRangeStyles=t.selectedSpanStyles=t.hoveredSpanStyles=t.blockedOutOfRangeStyles=t.blockedCalendarStyles=t.blockedMinNightsStyles=t.highlightedCalendarStyles=t.outsideStyles=t.defaultStyles=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=g(r(59)),i=g(r(10)),s=g(r(2)),c=g(r(112)),l=g(r(90)),u=r(51),f=r(74),d=g(r(20)),h=r(63),p=g(r(67)),m=g(r(265)),b=r(39);function g(e){return e&&e.__esModule?e:{default:e}}var v=g(r(241)).default.reactDates.color;function y(e,t){if(!e)return null;var r=e.hover;return t&&r?r:e}var w=s.default.shape({background:s.default.string,border:(0,u.or)([s.default.string,s.default.number]),color:s.default.string,hover:s.default.shape({background:s.default.string,border:(0,u.or)([s.default.string,s.default.number]),color:s.default.string})}),_=(0,u.forbidExtraProps)((0,o.default)({},f.withStylesPropTypes,{day:l.default.momentObj,daySize:u.nonNegativeInteger,isOutsideDay:s.default.bool,modifiers:s.default.instanceOf(Set),isFocused:s.default.bool,tabIndex:s.default.oneOf([0,-1]),onDayClick:s.default.func,onDayMouseEnter:s.default.func,onDayMouseLeave:s.default.func,renderDayContents:s.default.func,ariaLabelFormat:s.default.string,defaultStyles:w,outsideStyles:w,todayStyles:w,firstDayOfWeekStyles:w,lastDayOfWeekStyles:w,highlightedCalendarStyles:w,blockedMinNightsStyles:w,blockedCalendarStyles:w,blockedOutOfRangeStyles:w,hoveredSpanStyles:w,selectedSpanStyles:w,lastInRangeStyles:w,selectedStyles:w,selectedStartStyles:w,selectedEndStyles:w,afterHoveredStartStyles:w,phrases:s.default.shape((0,p.default)(h.CalendarDayPhrases))})),k=t.defaultStyles={border:"1px solid "+String(v.core.borderLight),color:v.text,background:v.background,hover:{background:v.core.borderLight,border:"1px double "+String(v.core.borderLight),color:"inherit"}},E=t.outsideStyles={background:v.outside.backgroundColor,border:0,color:v.outside.color},O=t.highlightedCalendarStyles={background:v.highlighted.backgroundColor,color:v.highlighted.color,hover:{background:v.highlighted.backgroundColor_hover,color:v.highlighted.color_active}},S=t.blockedMinNightsStyles={background:v.minimumNights.backgroundColor,border:"1px solid "+String(v.minimumNights.borderColor),color:v.minimumNights.color,hover:{background:v.minimumNights.backgroundColor_hover,color:v.minimumNights.color_active}},M=t.blockedCalendarStyles={background:v.blocked_calendar.backgroundColor,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color,hover:{background:v.blocked_calendar.backgroundColor_hover,border:"1px solid "+String(v.blocked_calendar.borderColor),color:v.blocked_calendar.color_active}},C=t.blockedOutOfRangeStyles={background:v.blocked_out_of_range.backgroundColor,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color,hover:{background:v.blocked_out_of_range.backgroundColor_hover,border:"1px solid "+String(v.blocked_out_of_range.borderColor),color:v.blocked_out_of_range.color_active}},D=t.hoveredSpanStyles={background:v.hoveredSpan.backgroundColor,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color,hover:{background:v.hoveredSpan.backgroundColor_hover,border:"1px solid "+String(v.hoveredSpan.borderColor),color:v.hoveredSpan.color_active}},x=t.selectedSpanStyles={background:v.selectedSpan.backgroundColor,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color,hover:{background:v.selectedSpan.backgroundColor_hover,border:"1px solid "+String(v.selectedSpan.borderColor),color:v.selectedSpan.color_active}},j=t.lastInRangeStyles={borderRight:v.core.primary},P=t.selectedStyles={background:v.selected.backgroundColor,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color,hover:{background:v.selected.backgroundColor_hover,border:"1px solid "+String(v.selected.borderColor),color:v.selected.color_active}},F={day:(0,d.default)(),daySize:b.DAY_SIZE,isOutsideDay:!1,modifiers:new Set,isFocused:!1,tabIndex:-1,onDayClick:function(){},onDayMouseEnter:function(){},onDayMouseLeave:function(){},renderDayContents:null,ariaLabelFormat:"dddd, LL",defaultStyles:k,outsideStyles:E,todayStyles:{},highlightedCalendarStyles:O,blockedMinNightsStyles:S,blockedCalendarStyles:M,blockedOutOfRangeStyles:C,hoveredSpanStyles:D,selectedSpanStyles:x,lastInRangeStyles:j,selectedStyles:P,selectedStartStyles:{},selectedEndStyles:{},afterHoveredStartStyles:{},firstDayOfWeekStyles:{},lastDayOfWeekStyles:{},phrases:h.CalendarDayPhrases},T=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.state={isHovered:!1},o.setButtonRef=o.setButtonRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"shouldComponentUpdate",value:function(e,t){return(0,c.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.isFocused,n=t.tabIndex;0===n&&(r||n!==e.tabIndex)&&this.buttonRef.focus()}},{key:"onDayClick",value:function(e,t){(0,this.props.onDayClick)(e,t)}},{key:"onDayMouseEnter",value:function(e,t){var r=this.props.onDayMouseEnter;this.setState({isHovered:!0}),r(e,t)}},{key:"onDayMouseLeave",value:function(e,t){var r=this.props.onDayMouseLeave;this.setState({isHovered:!1}),r(e,t)}},{key:"onKeyDown",value:function(e,t){var r=this.props.onDayClick,n=t.key;"Enter"!==n&&" "!==n||r(e,t)}},{key:"setButtonRef",value:function(e){this.buttonRef=e}},{key:"render",value:function(){var e=this,t=this.props,r=t.day,a=t.ariaLabelFormat,o=t.daySize,s=t.isOutsideDay,c=t.modifiers,l=t.tabIndex,u=t.renderDayContents,d=t.styles,h=t.phrases,p=t.defaultStyles,b=t.outsideStyles,g=t.todayStyles,v=t.firstDayOfWeekStyles,w=t.lastDayOfWeekStyles,_=t.highlightedCalendarStyles,k=t.blockedMinNightsStyles,E=t.blockedCalendarStyles,O=t.blockedOutOfRangeStyles,S=t.hoveredSpanStyles,M=t.selectedSpanStyles,C=t.lastInRangeStyles,D=t.selectedStyles,x=t.selectedStartStyles,j=t.selectedEndStyles,P=t.afterHoveredStartStyles,F=this.state.isHovered;if(!r)return i.default.createElement("td",null);var T=(0,m.default)(r,a,o,c,h),I=T.daySizeStyles,N=T.useDefaultCursor,A=T.selected,R=T.hoveredSpan,B=T.isOutsideRange,L=T.ariaLabel;return i.default.createElement("td",n({},(0,f.css)(d.CalendarDay,N&&d.CalendarDay__defaultCursor,I,y(p,F),s&&y(b,F),c.has("today")&&y(g,F),c.has("first-day-of-week")&&y(v,F),c.has("last-day-of-week")&&y(w,F),c.has("highlighted-calendar")&&y(_,F),c.has("blocked-minimum-nights")&&y(k,F),c.has("blocked-calendar")&&y(E,F),R&&y(S,F),c.has("after-hovered-start")&&y(P,F),c.has("selected-span")&&y(M,F),c.has("last-in-range")&&y(C,F),A&&y(D,F),c.has("selected-start")&&y(x,F),c.has("selected-end")&&y(j,F),B&&y(O,F)),{role:"button",ref:this.setButtonRef,"aria-label":L,onMouseEnter:function(t){e.onDayMouseEnter(r,t)},onMouseLeave:function(t){e.onDayMouseLeave(r,t)},onMouseUp:function(e){e.currentTarget.blur()},onClick:function(t){e.onDayClick(r,t)},onKeyDown:function(t){e.onKeyDown(r,t)},tabIndex:l}),u?u(r,c):r.format("D"))}}]),t}(i.default.Component);T.propTypes=_,T.defaultProps=F,t.PureCustomizableCalendarDay=T,t.default=(0,f.withStyles)((function(e){return{CalendarDay:{boxSizing:"border-box",cursor:"pointer",fontSize:e.reactDates.font.size,textAlign:"center",":active":{outline:0}},CalendarDay__defaultCursor:{cursor:"default"}}}))(T)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.default.localeData().firstDayOfWeek();if(!o.default.isMoment(e)||!e.isValid())throw new TypeError("`month` must be a valid moment object");if(-1===i.WEEKDAYS.indexOf(r))throw new TypeError("`firstDayOfWeek` must be an integer between 0 and 6");for(var n=e.clone().startOf("month").hour(12),a=e.clone().endOf("month").hour(12),s=(n.day()+7-r)%7,c=(r+6-a.day())%7,l=n.clone().subtract(s,"day"),u=a.clone().add(c,"day").diff(l,"days")+1,f=l.clone(),d=[],h=0;h<u;h+=1){h%7==0&&d.push([]);var p=null;(h>=s&&h<u-c||t)&&(p=f.clone()),d[d.length-1].push(p),f.add(1,"day")}return d};var n,a=r(20),o=(n=a)&&n.__esModule?n:{default:n},i=r(39)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!!("undefined"!=typeof window&&"TransitionEvent"in window)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{transform:e,msTransform:e,MozTransform:e,WebkitTransform:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().subtract(1,"month"),t)};var n=o(r(20)),a=o(r(270));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&(0,a.default)(e.clone().add(1,"month"),t)};var n=o(r(20)),a=o(r(270));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureDateRangePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=M(r(59)),i=M(r(10)),s=M(r(112)),c=M(r(20)),l=r(74),u=r(340),f=r(51),d=r(152),h=M(r(116)),p=M(r(185)),m=M(r(275)),b=r(63),g=M(r(279)),v=M(r(280)),y=M(r(187)),w=M(r(126)),_=M(r(281)),k=M(r(282)),E=M(r(291)),O=M(r(128)),S=r(39);function M(e){return e&&e.__esModule?e:{default:e}}var C=(0,f.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,m.default)),D={startDate:null,endDate:null,focusedInput:null,startDatePlaceholderText:"Start Date",endDatePlaceholderText:"End Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDates:!1,showDefaultInputIcon:!1,inputIconPosition:S.ICON_BEFORE_POSITION,customInputIcon:null,customArrowIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,keepFocusOnInput:!1,renderMonthText:null,orientation:S.HORIZONTAL_ORIENTATION,anchorDirection:S.ANCHOR_LEFT,openDirection:S.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDates:!1,renderCalendarInfo:null,calendarInfoPosition:S.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:S.DAY_SIZE,isRTL:!1,firstDayOfWeek:null,verticalHeight:null,transitionDuration:void 0,verticalSpacing:S.DEFAULT_VERTICAL_SPACING,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,minimumNights:1,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,w.default)(e,(0,c.default)())},isDayHighlighted:function(){return!1},displayFormat:function(){return c.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:b.DateRangePickerPhrases,dayAriaLabelFormat:void 0},x=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={dayPickerContainerStyles:{},isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1},r.isTouchDevice=!1,r.onOutsideClick=r.onOutsideClick.bind(r),r.onDateRangePickerInputFocus=r.onDateRangePickerInputFocus.bind(r),r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,d.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focusedInput&&this.setState({isDateRangePickerInputFocused:!0}),this.isTouchDevice=(0,h.default)()}},{key:"shouldComponentUpdate",value:function(e,t){return(0,s.default)(this,e,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props.focusedInput;!e.focusedInput&&t&&this.isOpened()?(this.responsivizePickerPosition(),this.disableScroll()):!e.focusedInput||t||this.isOpened()||this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onOutsideClick",value:function(e){var t=this.props,r=t.onFocusChange,n=t.onClose,a=t.startDate,o=t.endDate,i=t.appendToBody;this.isOpened()&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!1,showKeyboardShortcuts:!1}),r(null),n({startDate:a,endDate:o})))}},{key:"onDateRangePickerInputFocus",value:function(e){var t=this.props,r=t.onFocusChange,n=t.readOnly,a=t.withPortal,o=t.withFullScreenPortal,i=t.keepFocusOnInput;e&&(a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur()),r(e)}},{key:"onDayPickerFocus",value:function(){var e=this.props,t=e.focusedInput,r=e.onFocusChange;t||r(S.START_DATE),this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isDateRangePickerInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"isOpened",value:function(){var e=this.props.focusedInput;return e===S.START_DATE||e===S.END_DATE}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll;(t||r)&&this.isOpened()&&(this.enableScroll=(0,_.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){if(this.setState({dayPickerContainerStyles:{}}),this.isOpened()){var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,s=e.appendToBody,c=this.state.dayPickerContainerStyles,l=r===S.ANCHOR_LEFT;if(!a&&!i){var u=this.dayPickerContainer.getBoundingClientRect(),f=c[r]||0,d=l?u[S.ANCHOR_RIGHT]:u[S.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,g.default)(r,f,d,n),s&&(0,v.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isDateRangePickerInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.withPortal,r=e.withFullScreenPortal,n=e.appendToBody;return this.isOpened()?t||r||n?i.default.createElement(u.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.isDayBlocked,o=e.isDayHighlighted,s=e.isOutsideRange,u=e.numberOfMonths,f=e.orientation,d=e.monthFormat,h=e.renderMonthText,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onDatesChange,w=e.onFocusChange,_=e.withPortal,k=e.withFullScreenPortal,M=e.daySize,C=e.enableOutsideDays,D=e.focusedInput,x=e.startDate,j=e.endDate,P=e.minimumNights,F=e.keepOpenOnDateSelect,T=e.renderCalendarDay,I=e.renderDayContents,N=e.renderCalendarInfo,A=e.renderMonthElement,R=e.calendarInfoPosition,B=e.firstDayOfWeek,L=e.initialVisibleMonth,U=e.hideKeyboardShortcutsPanel,z=e.customCloseIcon,H=e.onClose,V=e.phrases,q=e.dayAriaLabelFormat,K=e.isRTL,W=e.weekDayFormat,G=e.styles,Y=e.verticalHeight,$=e.transitionDuration,Q=e.verticalSpacing,Z=e.small,X=e.disabled,J=e.theme.reactDates,ee=this.state,te=ee.dayPickerContainerStyles,re=ee.isDayPickerFocused,ne=ee.showKeyboardShortcuts,ae=!k&&_?this.onOutsideClick:void 0,oe=L||function(){return x||j||(0,c.default)()},ie=z||i.default.createElement(O.default,(0,l.css)(G.DateRangePicker_closeButton_svg)),se=(0,y.default)(J,Z),ce=_||k;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,l.css)(G.DateRangePicker_picker,t===S.ANCHOR_LEFT&&G.DateRangePicker_picker__directionLeft,t===S.ANCHOR_RIGHT&&G.DateRangePicker_picker__directionRight,f===S.HORIZONTAL_ORIENTATION&&G.DateRangePicker_picker__horizontal,f===S.VERTICAL_ORIENTATION&&G.DateRangePicker_picker__vertical,!ce&&r===S.OPEN_DOWN&&{top:se+Q},!ce&&r===S.OPEN_UP&&{bottom:se+Q},ce&&G.DateRangePicker_picker__portal,k&&G.DateRangePicker_picker__fullScreenPortal,K&&G.DateRangePicker_picker__rtl,te),{onClick:ae}),i.default.createElement(E.default,{orientation:f,enableOutsideDays:C,numberOfMonths:u,onPrevMonthClick:b,onNextMonthClick:g,onDatesChange:v,onFocusChange:w,onClose:H,focusedInput:D,startDate:x,endDate:j,monthFormat:d,renderMonthText:h,withPortal:ce,daySize:M,initialVisibleMonth:oe,hideKeyboardShortcutsPanel:U,navPrev:p,navNext:m,minimumNights:P,isOutsideRange:s,isDayHighlighted:o,isDayBlocked:a,keepOpenOnDateSelect:F,renderCalendarDay:T,renderDayContents:I,renderCalendarInfo:N,renderMonthElement:A,calendarInfoPosition:R,isFocused:re,showKeyboardShortcuts:ne,onBlur:this.onDayPickerBlur,phrases:V,dayAriaLabelFormat:q,isRTL:K,firstDayOfWeek:B,weekDayFormat:W,verticalHeight:Y,transitionDuration:$,disabled:X}),k&&i.default.createElement("button",n({},(0,l.css)(G.DateRangePicker_closeButton),{type:"button",onClick:this.onOutsideClick,"aria-label":V.closeDatePicker}),ie))}},{key:"render",value:function(){var e=this.props,t=e.startDate,r=e.startDateId,a=e.startDatePlaceholderText,o=e.endDate,s=e.endDateId,c=e.endDatePlaceholderText,u=e.focusedInput,f=e.screenReaderInputMessage,d=e.showClearDates,h=e.showDefaultInputIcon,m=e.inputIconPosition,b=e.customInputIcon,g=e.customArrowIcon,v=e.customCloseIcon,y=e.disabled,w=e.required,_=e.readOnly,E=e.openDirection,O=e.phrases,M=e.isOutsideRange,C=e.minimumNights,D=e.withPortal,x=e.withFullScreenPortal,j=e.displayFormat,P=e.reopenPickerOnClearDates,F=e.keepOpenOnDateSelect,T=e.onDatesChange,I=e.onClose,N=e.isRTL,A=e.noBorder,R=e.block,B=e.verticalSpacing,L=e.small,U=e.regular,z=e.styles,H=this.state.isDateRangePickerInputFocused,V=!D&&!x,q=B<S.FANG_HEIGHT_PX,K=i.default.createElement(k.default,{startDate:t,startDateId:r,startDatePlaceholderText:a,isStartDateFocused:u===S.START_DATE,endDate:o,endDateId:s,endDatePlaceholderText:c,isEndDateFocused:u===S.END_DATE,displayFormat:j,showClearDates:d,showCaret:!D&&!x&&!q,showDefaultInputIcon:h,inputIconPosition:m,customInputIcon:b,customArrowIcon:g,customCloseIcon:v,disabled:y,required:w,readOnly:_,openDirection:E,reopenPickerOnClearDates:P,keepOpenOnDateSelect:F,isOutsideRange:M,minimumNights:C,withFullScreenPortal:x,onDatesChange:T,onFocusChange:this.onDateRangePickerInputFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,onClose:I,phrases:O,screenReaderMessage:f,isFocused:H,isRTL:N,noBorder:A,block:R,small:L,regular:U,verticalSpacing:B});return i.default.createElement("div",n({ref:this.setContainerRef},(0,l.css)(z.DateRangePicker,R&&z.DateRangePicker__block)),V&&i.default.createElement(p.default,{onOutsideClick:this.onOutsideClick},K,this.maybeRenderDayPickerWithPortal()),!V&&K,!V&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);x.propTypes=C,x.defaultProps=D,t.PureDateRangePicker=x,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{DateRangePicker:{position:"relative",display:"inline-block"},DateRangePicker__block:{display:"block"},DateRangePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},DateRangePicker_picker__rtl:{direction:"rtl"},DateRangePicker_picker__directionLeft:{left:0},DateRangePicker_picker__directionRight:{right:0},DateRangePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},DateRangePicker_picker__fullScreenPortal:{backgroundColor:r.background},DateRangePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},DateRangePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(x)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=u(r(10)),o=u(r(2)),i=r(51),s=r(152),c=u(r(186)),l=u(r(474));function u(e){return e&&e.__esModule?e:{default:e}}var f={BLOCK:"block",FLEX:"flex",INLINE:"inline",INLINE_BLOCK:"inline-block",CONTENTS:"contents"},d=(0,i.forbidExtraProps)({children:o.default.node.isRequired,onOutsideClick:o.default.func.isRequired,disabled:o.default.bool,useCapture:o.default.bool,display:o.default.oneOf((0,c.default)(f))}),h={disabled:!1,useCapture:!0,display:f.BLOCK},p=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return o.onMouseDown=o.onMouseDown.bind(o),o.onMouseUp=o.onMouseUp.bind(o),o.setChildNodeRef=o.setChildNodeRef.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.disabled,r=e.useCapture;t||this.addMouseDownEventListener(r)}},{key:"componentDidUpdate",value:function(e){var t=e.disabled,r=this.props,n=r.disabled,a=r.useCapture;t!==n&&(n?this.removeEventListeners():this.addMouseDownEventListener(a))}},{key:"componentWillUnmount",value:function(){this.removeEventListeners()}},{key:"onMouseDown",value:function(e){var t=this.props.useCapture;this.childNode&&(0,l.default)(this.childNode,e.target)||(this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),this.removeMouseUp=(0,s.addEventListener)(document,"mouseup",this.onMouseUp,{capture:t}))}},{key:"onMouseUp",value:function(e){var t=this.props.onOutsideClick,r=this.childNode&&(0,l.default)(this.childNode,e.target);this.removeMouseUp&&(this.removeMouseUp(),this.removeMouseUp=null),r||t(e)}},{key:"setChildNodeRef",value:function(e){this.childNode=e}},{key:"addMouseDownEventListener",value:function(e){this.removeMouseDown=(0,s.addEventListener)(document,"mousedown",this.onMouseDown,{capture:e})}},{key:"removeEventListeners",value:function(){this.removeMouseDown&&this.removeMouseDown(),this.removeMouseUp&&this.removeMouseUp()}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.display;return a.default.createElement("div",{ref:this.setChildNodeRef,style:r!==f.BLOCK&&(0,c.default)(f).includes(r)?{display:r}:void 0},t)}}]),t}(a.default.Component);t.default=p,p.propTypes=d,p.defaultProps=h},function(e,t,r){"use strict";e.exports=r(226)},function(e,t,r){"use strict";var n=r(272),a=r(71);e.exports=function(){var e=n();return a(Object,{values:e},{values:function(){return Object.values!==e}}),e}},function(e,t,r){"use strict";var n=r(71),a=r(273),o=r(274),i=o(),s=function(e,t){return i.apply(e,[t])};n(s,{getPolyfill:o,implementation:a,shim:r(475)}),e.exports=s},function(e,t,r){"use strict";var n=r(71),a=r(274);e.exports=function(){var e=a();return"undefined"!=typeof document&&(n(document,{contains:e},{contains:function(){return document.contains!==e}}),"undefined"!=typeof Element&&n(Element.prototype,{contains:e},{contains:function(){return Element.prototype.contains!==e}})),e}},function(e,t,r){var n=r(188),a=r(477),o=r(479),i="Expected a function",s=Math.max,c=Math.min;e.exports=function(e,t,r){var l,u,f,d,h,p,m=0,b=!1,g=!1,v=!0;if("function"!=typeof e)throw new TypeError(i);function y(t){var r=l,n=u;return l=u=void 0,m=t,d=e.apply(n,r)}function w(e){var r=e-p;return void 0===p||r>=t||r<0||g&&e-m>=f}function _(){var e=a();if(w(e))return k(e);h=setTimeout(_,function(e){var r=t-(e-p);return g?c(r,f-(e-m)):r}(e))}function k(e){return h=void 0,v&&l?y(e):(l=u=void 0,d)}function E(){var e=a(),r=w(e);if(l=arguments,u=this,p=e,r){if(void 0===h)return function(e){return m=e,h=setTimeout(_,t),b?y(e):d}(p);if(g)return clearTimeout(h),h=setTimeout(_,t),y(p)}return void 0===h&&(h=setTimeout(_,t)),d}return t=o(t)||0,n(r)&&(b=!!r.leading,f=(g="maxWait"in r)?s(o(r.maxWait)||0,t):f,v="trailing"in r?!!r.trailing:v),E.cancel=function(){void 0!==h&&clearTimeout(h),m=0,l=p=u=h=void 0},E.flush=function(){return void 0===h?d:k(a())},E}},function(e,t,r){var n=r(286);e.exports=function(){return n.Date.now()}},function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(73))},function(e,t,r){var n=r(188),a=r(480),o=NaN,i=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return o;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var r=c.test(e);return r||l.test(e)?u(e.slice(2),r?2:8):s.test(e)?o:+e}},function(e,t,r){var n=r(481),a=r(484),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||a(e)&&n(e)==o}},function(e,t,r){var n=r(287),a=r(482),o=r(483),i="[object Null]",s="[object Undefined]",c=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:i:c&&c in Object(e)?a(e):o(e)}},function(e,t,r){var n=r(287),a=Object.prototype,o=a.hasOwnProperty,i=a.toString,s=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[s]=r:delete e[s]),a}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return e?r(e(t.clone())):t};var n=function(e){return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=g(r(59)),o=g(r(10)),i=g(r(2)),s=r(51),c=r(74),l=r(63),u=g(r(67)),f=g(r(289)),d=g(r(288)),h=g(r(487)),p=g(r(488)),m=g(r(115)),b=r(39);function g(e){return e&&e.__esModule?e:{default:e}}function v(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var y=(0,s.forbidExtraProps)((0,a.default)({},c.withStylesPropTypes,{navPrev:i.default.node,navNext:i.default.node,orientation:m.default,onPrevMonthClick:i.default.func,onNextMonthClick:i.default.func,phrases:i.default.shape((0,u.default)(l.DayPickerNavigationPhrases)),isRTL:i.default.bool})),w={navPrev:null,navNext:null,orientation:b.HORIZONTAL_ORIENTATION,onPrevMonthClick:function(){},onNextMonthClick:function(){},phrases:l.DayPickerNavigationPhrases,isRTL:!1};function _(e){var t=e.navPrev,r=e.navNext,a=e.onPrevMonthClick,i=e.onNextMonthClick,s=e.orientation,l=e.phrases,u=e.isRTL,m=e.styles,g=s===b.HORIZONTAL_ORIENTATION,y=s!==b.HORIZONTAL_ORIENTATION,w=s===b.VERTICAL_SCROLLABLE,_=t,k=r,E=!1,O=!1;if(!_){E=!0;var S=y?h.default:f.default;u&&!y&&(S=d.default),_=o.default.createElement(S,(0,c.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}if(!k){O=!0;var M=y?p.default:d.default;u&&!y&&(M=f.default),k=o.default.createElement(M,(0,c.css)(g&&m.DayPickerNavigation_svg__horizontal,y&&m.DayPickerNavigation_svg__vertical))}var C=w?O:O||E;return o.default.createElement("div",c.css.apply(void 0,[m.DayPickerNavigation,g&&m.DayPickerNavigation__horizontal].concat(v(y&&[m.DayPickerNavigation__vertical,C&&m.DayPickerNavigation__verticalDefault]),v(w&&[m.DayPickerNavigation__verticalScrollable,C&&m.DayPickerNavigation__verticalScrollableDefault]))),!w&&o.default.createElement("div",n({role:"button",tabIndex:"0"},c.css.apply(void 0,[m.DayPickerNavigation_button,E&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(E&&[m.DayPickerNavigation_button__horizontalDefault,!u&&m.DayPickerNavigation_leftButton__horizontalDefault,u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical].concat(v(E&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_prevButton__verticalDefault]))))),{"aria-label":l.jumpToPrevMonth,onClick:a,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||a(e)},onMouseUp:function(e){e.currentTarget.blur()}}),_),o.default.createElement("div",n({role:"button",tabIndex:"0"},c.css.apply(void 0,[m.DayPickerNavigation_button,O&&m.DayPickerNavigation_button__default].concat(v(g&&[m.DayPickerNavigation_button__horizontal].concat(v(O&&[m.DayPickerNavigation_button__horizontalDefault,u&&m.DayPickerNavigation_leftButton__horizontalDefault,!u&&m.DayPickerNavigation_rightButton__horizontalDefault]))),v(y&&[m.DayPickerNavigation_button__vertical,m.DayPickerNavigation_nextButton__vertical].concat(v(O&&[m.DayPickerNavigation_button__verticalDefault,m.DayPickerNavigation_nextButton__verticalDefault,w&&m.DayPickerNavigation_nextButton__verticalScrollableDefault]))))),{"aria-label":l.jumpToNextMonth,onClick:i,onKeyUp:function(e){var t=e.key;"Enter"!==t&&" "!==t||i(e)},onMouseUp:function(e){e.currentTarget.blur()}}),k))}_.propTypes=y,_.defaultProps=w,t.default=(0,c.withStyles)((function(e){var t=e.reactDates,r=t.color;return{DayPickerNavigation:{position:"relative",zIndex:t.zIndex+2},DayPickerNavigation__horizontal:{height:0},DayPickerNavigation__vertical:{},DayPickerNavigation__verticalScrollable:{},DayPickerNavigation__verticalDefault:{position:"absolute",width:"100%",height:52,bottom:0,left:0},DayPickerNavigation__verticalScrollableDefault:{position:"relative"},DayPickerNavigation_button:{cursor:"pointer",userSelect:"none",border:0,padding:0,margin:0},DayPickerNavigation_button__default:{border:"1px solid "+String(r.core.borderLight),backgroundColor:r.background,color:r.placeholderText,":focus":{border:"1px solid "+String(r.core.borderMedium)},":hover":{border:"1px solid "+String(r.core.borderMedium)},":active":{background:r.backgroundDark}},DayPickerNavigation_button__horizontal:{},DayPickerNavigation_button__horizontalDefault:{position:"absolute",top:18,lineHeight:.78,borderRadius:3,padding:"6px 9px"},DayPickerNavigation_leftButton__horizontalDefault:{left:22},DayPickerNavigation_rightButton__horizontalDefault:{right:22},DayPickerNavigation_button__vertical:{},DayPickerNavigation_button__verticalDefault:{padding:5,background:r.background,boxShadow:"0 0 5px 2px rgba(0, 0, 0, 0.1)",position:"relative",display:"inline-block",height:"100%",width:"50%"},DayPickerNavigation_prevButton__verticalDefault:{},DayPickerNavigation_nextButton__verticalDefault:{borderLeft:0},DayPickerNavigation_nextButton__verticalScrollableDefault:{width:"100%"},DayPickerNavigation_svg__horizontal:{height:19,width:19,fill:r.core.grayLight,display:"block"},DayPickerNavigation_svg__vertical:{height:42,width:42,fill:r.text,display:"block"}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(10),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(10),o=(n=a)&&n.__esModule?n:{default:n};var i=function(e){return o.default.createElement("svg",e,o.default.createElement("path",{d:"M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z"}))};i.defaultProps={viewBox:"0 0 1000 1000"},t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BOTTOM_RIGHT=t.TOP_RIGHT=t.TOP_LEFT=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=p(r(59)),i=p(r(10)),s=p(r(2)),c=r(51),l=r(74),u=r(63),f=p(r(67)),d=p(r(490)),h=p(r(128));function p(e){return e&&e.__esModule?e:{default:e}}var m=t.TOP_LEFT="top-left",b=t.TOP_RIGHT="top-right",g=t.BOTTOM_RIGHT="bottom-right",v=(0,c.forbidExtraProps)((0,o.default)({},l.withStylesPropTypes,{block:s.default.bool,buttonLocation:s.default.oneOf([m,b,g]),showKeyboardShortcutsPanel:s.default.bool,openKeyboardShortcutsPanel:s.default.func,closeKeyboardShortcutsPanel:s.default.func,phrases:s.default.shape((0,f.default)(u.DayPickerKeyboardShortcutsPhrases))})),y={block:!1,buttonLocation:g,showKeyboardShortcutsPanel:!1,openKeyboardShortcutsPanel:function(){},closeKeyboardShortcutsPanel:function(){},phrases:u.DayPickerKeyboardShortcutsPhrases};function w(e){return[{unicode:"↵",label:e.enterKey,action:e.selectFocusedDate},{unicode:"←/→",label:e.leftArrowRightArrow,action:e.moveFocusByOneDay},{unicode:"↑/↓",label:e.upArrowDownArrow,action:e.moveFocusByOneWeek},{unicode:"PgUp/PgDn",label:e.pageUpPageDown,action:e.moveFocusByOneMonth},{unicode:"Home/End",label:e.homeEnd,action:e.moveFocustoStartAndEndOfWeek},{unicode:"Esc",label:e.escape,action:e.returnFocusToInput},{unicode:"?",label:e.questionMark,action:e.openThisPanel}]}var _=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n))),i=o.props.phrases;return o.keyboardShortcuts=w(i),o.onShowKeyboardShortcutsButtonClick=o.onShowKeyboardShortcutsButtonClick.bind(o),o.setShowKeyboardShortcutsButtonRef=o.setShowKeyboardShortcutsButtonRef.bind(o),o.setHideKeyboardShortcutsButtonRef=o.setHideKeyboardShortcutsButtonRef.bind(o),o.handleFocus=o.handleFocus.bind(o),o.onKeyDown=o.onKeyDown.bind(o),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentWillReceiveProps",value:function(e){var t=this.props.phrases;e.phrases!==t&&(this.keyboardShortcuts=w(e.phrases))}},{key:"componentDidUpdate",value:function(){this.handleFocus()}},{key:"onKeyDown",value:function(e){e.stopPropagation();var t=this.props.closeKeyboardShortcutsPanel;switch(e.key){case"Enter":case" ":case"Spacebar":case"Escape":t();break;case"ArrowUp":case"ArrowDown":break;case"Tab":case"Home":case"End":case"PageUp":case"PageDown":case"ArrowLeft":case"ArrowRight":e.preventDefault()}}},{key:"onShowKeyboardShortcutsButtonClick",value:function(){var e=this;(0,this.props.openKeyboardShortcutsPanel)((function(){e.showKeyboardShortcutsButton.focus()}))}},{key:"setShowKeyboardShortcutsButtonRef",value:function(e){this.showKeyboardShortcutsButton=e}},{key:"setHideKeyboardShortcutsButtonRef",value:function(e){this.hideKeyboardShortcutsButton=e}},{key:"handleFocus",value:function(){this.hideKeyboardShortcutsButton&&this.hideKeyboardShortcutsButton.focus()}},{key:"render",value:function(){var e=this,t=this.props,r=t.block,a=t.buttonLocation,o=t.showKeyboardShortcutsPanel,s=t.closeKeyboardShortcutsPanel,c=t.styles,u=t.phrases,f=o?u.hideKeyboardShortcutsPanel:u.showKeyboardShortcutsPanel,p=a===g,v=a===b,y=a===m;return i.default.createElement("div",null,i.default.createElement("button",n({ref:this.setShowKeyboardShortcutsButtonRef},(0,l.css)(c.DayPickerKeyboardShortcuts_buttonReset,c.DayPickerKeyboardShortcuts_show,p&&c.DayPickerKeyboardShortcuts_show__bottomRight,v&&c.DayPickerKeyboardShortcuts_show__topRight,y&&c.DayPickerKeyboardShortcuts_show__topLeft),{type:"button","aria-label":f,onClick:this.onShowKeyboardShortcutsButtonClick,onKeyDown:function(t){"Enter"===t.key?t.preventDefault():"Space"===t.key&&e.onShowKeyboardShortcutsButtonClick(t)},onMouseUp:function(e){e.currentTarget.blur()}}),i.default.createElement("span",(0,l.css)(c.DayPickerKeyboardShortcuts_showSpan,p&&c.DayPickerKeyboardShortcuts_showSpan__bottomRight,v&&c.DayPickerKeyboardShortcuts_showSpan__topRight,y&&c.DayPickerKeyboardShortcuts_showSpan__topLeft),"?")),o&&i.default.createElement("div",n({},(0,l.css)(c.DayPickerKeyboardShortcuts_panel),{role:"dialog","aria-labelledby":"DayPickerKeyboardShortcuts_title","aria-describedby":"DayPickerKeyboardShortcuts_description"}),i.default.createElement("div",n({},(0,l.css)(c.DayPickerKeyboardShortcuts_title),{id:"DayPickerKeyboardShortcuts_title"}),u.keyboardShortcuts),i.default.createElement("button",n({ref:this.setHideKeyboardShortcutsButtonRef},(0,l.css)(c.DayPickerKeyboardShortcuts_buttonReset,c.DayPickerKeyboardShortcuts_close),{type:"button",tabIndex:"0","aria-label":u.hideKeyboardShortcutsPanel,onClick:s,onKeyDown:this.onKeyDown}),i.default.createElement(h.default,(0,l.css)(c.DayPickerKeyboardShortcuts_closeSvg))),i.default.createElement("ul",n({},(0,l.css)(c.DayPickerKeyboardShortcuts_list),{id:"DayPickerKeyboardShortcuts_description"}),this.keyboardShortcuts.map((function(e){var t=e.unicode,n=e.label,a=e.action;return i.default.createElement(d.default,{key:n,unicode:t,label:n,action:a,block:r})})))))}}]),t}(i.default.Component);_.propTypes=v,_.defaultProps=y,t.default=(0,l.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.font,a=t.zIndex;return{DayPickerKeyboardShortcuts_buttonReset:{background:"none",border:0,borderRadius:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",padding:0,cursor:"pointer",fontSize:n.size,":active":{outline:"none"}},DayPickerKeyboardShortcuts_show:{width:22,position:"absolute",zIndex:a+2},DayPickerKeyboardShortcuts_show__bottomRight:{borderTop:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),bottom:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topRight:{borderBottom:"26px solid transparent",borderRight:"33px solid "+String(r.core.primary),top:0,right:0,":hover":{borderRight:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_show__topLeft:{borderBottom:"26px solid transparent",borderLeft:"33px solid "+String(r.core.primary),top:0,left:0,":hover":{borderLeft:"33px solid "+String(r.core.primary_dark)}},DayPickerKeyboardShortcuts_showSpan:{color:r.core.white,position:"absolute"},DayPickerKeyboardShortcuts_showSpan__bottomRight:{bottom:0,right:-28},DayPickerKeyboardShortcuts_showSpan__topRight:{top:1,right:-28},DayPickerKeyboardShortcuts_showSpan__topLeft:{top:1,left:-28},DayPickerKeyboardShortcuts_panel:{overflow:"auto",background:r.background,border:"1px solid "+String(r.core.border),borderRadius:2,position:"absolute",top:0,bottom:0,right:0,left:0,zIndex:a+2,padding:22,margin:33},DayPickerKeyboardShortcuts_title:{fontSize:16,fontWeight:"bold",margin:0},DayPickerKeyboardShortcuts_list:{listStyle:"none",padding:0,fontSize:n.size},DayPickerKeyboardShortcuts_close:{position:"absolute",right:22,top:22,zIndex:a+2,":active":{outline:"none"}},DayPickerKeyboardShortcuts_closeSvg:{height:15,width:15,fill:r.core.grayLighter,":hover":{fill:r.core.grayLight},":focus":{fill:r.core.grayLight}}}}))(_)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=l(r(59)),o=l(r(10)),i=l(r(2)),s=r(51),c=r(74);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,s.forbidExtraProps)((0,a.default)({},c.withStylesPropTypes,{unicode:i.default.string.isRequired,label:i.default.string.isRequired,action:i.default.string.isRequired,block:i.default.bool}));function f(e){var t=e.unicode,r=e.label,a=e.action,i=e.block,s=e.styles;return o.default.createElement("li",(0,c.css)(s.KeyboardShortcutRow,i&&s.KeyboardShortcutRow__block),o.default.createElement("div",(0,c.css)(s.KeyboardShortcutRow_keyContainer,i&&s.KeyboardShortcutRow_keyContainer__block),o.default.createElement("span",n({},(0,c.css)(s.KeyboardShortcutRow_key),{role:"img","aria-label":String(r)+","}),t)),o.default.createElement("div",(0,c.css)(s.KeyboardShortcutRow_action),a))}f.propTypes=u,f.defaultProps={block:!1},t.default=(0,c.withStyles)((function(e){return{KeyboardShortcutRow:{listStyle:"none",margin:"6px 0"},KeyboardShortcutRow__block:{marginBottom:16},KeyboardShortcutRow_keyContainer:{display:"inline-block",whiteSpace:"nowrap",textAlign:"right",marginRight:6},KeyboardShortcutRow_keyContainer__block:{textAlign:"left",display:"inline"},KeyboardShortcutRow_key:{fontFamily:"monospace",fontSize:12,textTransform:"uppercase",background:e.reactDates.color.core.grayLightest,padding:"2px 6px"},KeyboardShortcutRow_action:{display:"inline",wordBreak:"break-word",marginLeft:8}}}))(f)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.localeData().firstDayOfWeek(),r=function(e,t){return(e.day()-t+7)%7}(e.clone().startOf("month"),t);return Math.ceil((r+e.daysInMonth())/7)};var n,a=r(20),o=(n=a)&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return"undefined"!=typeof document&&document.activeElement}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PureSingleDatePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=C(r(59)),i=C(r(10)),s=C(r(20)),c=r(74),l=r(340),u=r(51),f=r(152),d=C(r(116)),h=C(r(185)),p=C(r(295)),m=r(63),b=C(r(114)),g=C(r(189)),v=C(r(279)),y=C(r(280)),w=C(r(187)),_=C(r(126)),k=C(r(281)),E=C(r(296)),O=C(r(294)),S=C(r(128)),M=r(39);function C(e){return e&&e.__esModule?e:{default:e}}var D=(0,u.forbidExtraProps)((0,o.default)({},c.withStylesPropTypes,p.default)),x={date:null,focused:!1,id:"date",placeholder:"Date",disabled:!1,required:!1,readOnly:!1,screenReaderInputMessage:"",showClearDate:!1,showDefaultInputIcon:!1,inputIconPosition:M.ICON_BEFORE_POSITION,customInputIcon:null,customCloseIcon:null,noBorder:!1,block:!1,small:!1,regular:!1,verticalSpacing:M.DEFAULT_VERTICAL_SPACING,keepFocusOnInput:!1,orientation:M.HORIZONTAL_ORIENTATION,anchorDirection:M.ANCHOR_LEFT,openDirection:M.OPEN_DOWN,horizontalMargin:0,withPortal:!1,withFullScreenPortal:!1,appendToBody:!1,disableScroll:!1,initialVisibleMonth:null,firstDayOfWeek:null,numberOfMonths:2,keepOpenOnDateSelect:!1,reopenPickerOnClearDate:!1,renderCalendarInfo:null,calendarInfoPosition:M.INFO_POSITION_BOTTOM,hideKeyboardShortcutsPanel:!1,daySize:M.DAY_SIZE,isRTL:!1,verticalHeight:null,transitionDuration:void 0,horizontalMonthPadding:13,navPrev:null,navNext:null,onPrevMonthClick:function(){},onNextMonthClick:function(){},onClose:function(){},renderMonthText:null,renderCalendarDay:void 0,renderDayContents:null,renderMonthElement:null,enableOutsideDays:!1,isDayBlocked:function(){return!1},isOutsideRange:function(e){return!(0,_.default)(e,(0,s.default)())},isDayHighlighted:function(){},displayFormat:function(){return s.default.localeData().longDateFormat("L")},monthFormat:"MMMM YYYY",weekDayFormat:"dd",phrases:m.SingleDatePickerPhrases,dayAriaLabelFormat:void 0},j=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.isTouchDevice=!1,r.state={dayPickerContainerStyles:{},isDayPickerFocused:!1,isInputFocused:!1,showKeyboardShortcuts:!1},r.onDayPickerFocus=r.onDayPickerFocus.bind(r),r.onDayPickerBlur=r.onDayPickerBlur.bind(r),r.showKeyboardShortcutsPanel=r.showKeyboardShortcutsPanel.bind(r),r.onChange=r.onChange.bind(r),r.onFocus=r.onFocus.bind(r),r.onClearFocus=r.onClearFocus.bind(r),r.clearDate=r.clearDate.bind(r),r.responsivizePickerPosition=r.responsivizePickerPosition.bind(r),r.disableScroll=r.disableScroll.bind(r),r.setDayPickerContainerRef=r.setDayPickerContainerRef.bind(r),r.setContainerRef=r.setContainerRef.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.removeEventListener=(0,f.addEventListener)(window,"resize",this.responsivizePickerPosition,{passive:!0}),this.responsivizePickerPosition(),this.disableScroll(),this.props.focused&&this.setState({isInputFocused:!0}),this.isTouchDevice=(0,d.default)()}},{key:"componentDidUpdate",value:function(e){var t=this.props.focused;!e.focused&&t?(this.responsivizePickerPosition(),this.disableScroll()):e.focused&&!t&&this.enableScroll&&this.enableScroll()}},{key:"componentWillUnmount",value:function(){this.removeEventListener&&this.removeEventListener(),this.enableScroll&&this.enableScroll()}},{key:"onChange",value:function(e){var t=this.props,r=t.isOutsideRange,n=t.keepOpenOnDateSelect,a=t.onDateChange,o=t.onFocusChange,i=t.onClose,s=(0,b.default)(e,this.getDisplayFormat());s&&!r(s)?(a(s),n||(o({focused:!1}),i({date:s}))):a(null)}},{key:"onFocus",value:function(){var e=this.props,t=e.disabled,r=e.onFocusChange,n=e.readOnly,a=e.withPortal,o=e.withFullScreenPortal,i=e.keepFocusOnInput;a||o||n&&!i||this.isTouchDevice&&!i?this.onDayPickerFocus():this.onDayPickerBlur(),t||r({focused:!0})}},{key:"onClearFocus",value:function(e){var t=this.props,r=t.date,n=t.focused,a=t.onFocusChange,o=t.onClose,i=t.appendToBody;n&&(i&&this.dayPickerContainer.contains(e.target)||(this.setState({isInputFocused:!1,isDayPickerFocused:!1}),a({focused:!1}),o({date:r})))}},{key:"onDayPickerFocus",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!1})}},{key:"onDayPickerBlur",value:function(){this.setState({isInputFocused:!0,isDayPickerFocused:!1,showKeyboardShortcuts:!1})}},{key:"getDateString",value:function(e){var t=this.getDisplayFormat();return e&&t?e&&e.format(t):(0,g.default)(e)}},{key:"getDisplayFormat",value:function(){var e=this.props.displayFormat;return"string"==typeof e?e:e()}},{key:"setDayPickerContainerRef",value:function(e){this.dayPickerContainer=e}},{key:"setContainerRef",value:function(e){this.container=e}},{key:"clearDate",value:function(){var e=this.props,t=e.onDateChange,r=e.reopenPickerOnClearDate,n=e.onFocusChange;t(null),r&&n({focused:!0})}},{key:"disableScroll",value:function(){var e=this.props,t=e.appendToBody,r=e.disableScroll,n=e.focused;(t||r)&&n&&(this.enableScroll=(0,k.default)(this.container))}},{key:"responsivizePickerPosition",value:function(){this.setState({dayPickerContainerStyles:{}});var e=this.props,t=e.openDirection,r=e.anchorDirection,n=e.horizontalMargin,a=e.withPortal,i=e.withFullScreenPortal,s=e.appendToBody,c=e.focused,l=this.state.dayPickerContainerStyles;if(c){var u=r===M.ANCHOR_LEFT;if(!a&&!i){var f=this.dayPickerContainer.getBoundingClientRect(),d=l[r]||0,h=u?f[M.ANCHOR_RIGHT]:f[M.ANCHOR_LEFT];this.setState({dayPickerContainerStyles:(0,o.default)({},(0,v.default)(r,d,h,n),s&&(0,y.default)(t,r,this.container))})}}}},{key:"showKeyboardShortcutsPanel",value:function(){this.setState({isInputFocused:!1,isDayPickerFocused:!0,showKeyboardShortcuts:!0})}},{key:"maybeRenderDayPickerWithPortal",value:function(){var e=this.props,t=e.focused,r=e.withPortal,n=e.withFullScreenPortal,a=e.appendToBody;return t?r||n||a?i.default.createElement(l.Portal,null,this.renderDayPicker()):this.renderDayPicker():null}},{key:"renderDayPicker",value:function(){var e=this.props,t=e.anchorDirection,r=e.openDirection,a=e.onDateChange,o=e.date,s=e.onFocusChange,l=e.focused,u=e.enableOutsideDays,f=e.numberOfMonths,d=e.orientation,h=e.monthFormat,p=e.navPrev,m=e.navNext,b=e.onPrevMonthClick,g=e.onNextMonthClick,v=e.onClose,y=e.withPortal,_=e.withFullScreenPortal,k=e.keepOpenOnDateSelect,E=e.initialVisibleMonth,C=e.renderMonthText,D=e.renderCalendarDay,x=e.renderDayContents,j=e.renderCalendarInfo,P=e.renderMonthElement,F=e.calendarInfoPosition,T=e.hideKeyboardShortcutsPanel,I=e.firstDayOfWeek,N=e.customCloseIcon,A=e.phrases,R=e.dayAriaLabelFormat,B=e.daySize,L=e.isRTL,U=e.isOutsideRange,z=e.isDayBlocked,H=e.isDayHighlighted,V=e.weekDayFormat,q=e.styles,K=e.verticalHeight,W=e.transitionDuration,G=e.verticalSpacing,Y=e.horizontalMonthPadding,$=e.small,Q=e.theme.reactDates,Z=this.state,X=Z.dayPickerContainerStyles,J=Z.isDayPickerFocused,ee=Z.showKeyboardShortcuts,te=!_&&y?this.onClearFocus:void 0,re=N||i.default.createElement(S.default,null),ne=(0,w.default)(Q,$),ae=y||_;return i.default.createElement("div",n({ref:this.setDayPickerContainerRef},(0,c.css)(q.SingleDatePicker_picker,t===M.ANCHOR_LEFT&&q.SingleDatePicker_picker__directionLeft,t===M.ANCHOR_RIGHT&&q.SingleDatePicker_picker__directionRight,r===M.OPEN_DOWN&&q.SingleDatePicker_picker__openDown,r===M.OPEN_UP&&q.SingleDatePicker_picker__openUp,!ae&&r===M.OPEN_DOWN&&{top:ne+G},!ae&&r===M.OPEN_UP&&{bottom:ne+G},d===M.HORIZONTAL_ORIENTATION&&q.SingleDatePicker_picker__horizontal,d===M.VERTICAL_ORIENTATION&&q.SingleDatePicker_picker__vertical,ae&&q.SingleDatePicker_picker__portal,_&&q.SingleDatePicker_picker__fullScreenPortal,L&&q.SingleDatePicker_picker__rtl,X),{onClick:te}),i.default.createElement(O.default,{date:o,onDateChange:a,onFocusChange:s,orientation:d,enableOutsideDays:u,numberOfMonths:f,monthFormat:h,withPortal:ae,focused:l,keepOpenOnDateSelect:k,hideKeyboardShortcutsPanel:T,initialVisibleMonth:E,navPrev:p,navNext:m,onPrevMonthClick:b,onNextMonthClick:g,onClose:v,renderMonthText:C,renderCalendarDay:D,renderDayContents:x,renderCalendarInfo:j,renderMonthElement:P,calendarInfoPosition:F,isFocused:J,showKeyboardShortcuts:ee,onBlur:this.onDayPickerBlur,phrases:A,dayAriaLabelFormat:R,daySize:B,isRTL:L,isOutsideRange:U,isDayBlocked:z,isDayHighlighted:H,firstDayOfWeek:I,weekDayFormat:V,verticalHeight:K,transitionDuration:W,horizontalMonthPadding:Y}),_&&i.default.createElement("button",n({},(0,c.css)(q.SingleDatePicker_closeButton),{"aria-label":A.closeDatePicker,type:"button",onClick:this.onClearFocus}),i.default.createElement("div",(0,c.css)(q.SingleDatePicker_closeButton_svg),re)))}},{key:"render",value:function(){var e=this.props,t=e.id,r=e.placeholder,a=e.disabled,o=e.focused,s=e.required,l=e.readOnly,u=e.openDirection,f=e.showClearDate,d=e.showDefaultInputIcon,p=e.inputIconPosition,m=e.customCloseIcon,b=e.customInputIcon,g=e.date,v=e.phrases,y=e.withPortal,w=e.withFullScreenPortal,_=e.screenReaderInputMessage,k=e.isRTL,O=e.noBorder,S=e.block,C=e.small,D=e.regular,x=e.verticalSpacing,j=e.styles,P=this.state.isInputFocused,F=this.getDateString(g),T=!y&&!w,I=x<M.FANG_HEIGHT_PX,N=i.default.createElement(E.default,{id:t,placeholder:r,focused:o,isFocused:P,disabled:a,required:s,readOnly:l,openDirection:u,showCaret:!y&&!w&&!I,onClearDate:this.clearDate,showClearDate:f,showDefaultInputIcon:d,inputIconPosition:p,customCloseIcon:m,customInputIcon:b,displayValue:F,onChange:this.onChange,onFocus:this.onFocus,onKeyDownShiftTab:this.onClearFocus,onKeyDownTab:this.onClearFocus,onKeyDownArrowDown:this.onDayPickerFocus,onKeyDownQuestionMark:this.showKeyboardShortcutsPanel,screenReaderMessage:_,phrases:v,isRTL:k,noBorder:O,block:S,small:C,regular:D,verticalSpacing:x});return i.default.createElement("div",n({ref:this.setContainerRef},(0,c.css)(j.SingleDatePicker,S&&j.SingleDatePicker__block)),T&&i.default.createElement(h.default,{onOutsideClick:this.onClearFocus},N,this.maybeRenderDayPickerWithPortal()),!T&&N,!T&&this.maybeRenderDayPickerWithPortal())}}]),t}(i.default.Component);j.propTypes=D,j.defaultProps=x,t.PureSingleDatePicker=j,t.default=(0,c.withStyles)((function(e){var t=e.reactDates,r=t.color,n=t.zIndex;return{SingleDatePicker:{position:"relative",display:"inline-block"},SingleDatePicker__block:{display:"block"},SingleDatePicker_picker:{zIndex:n+1,backgroundColor:r.background,position:"absolute"},SingleDatePicker_picker__rtl:{direction:"rtl"},SingleDatePicker_picker__directionLeft:{left:0},SingleDatePicker_picker__directionRight:{right:0},SingleDatePicker_picker__portal:{backgroundColor:"rgba(0, 0, 0, 0.3)",position:"fixed",top:0,left:0,height:"100%",width:"100%"},SingleDatePicker_picker__fullScreenPortal:{backgroundColor:r.background},SingleDatePicker_closeButton:{background:"none",border:0,color:"inherit",font:"inherit",lineHeight:"normal",overflow:"visible",cursor:"pointer",position:"absolute",top:0,right:0,padding:15,zIndex:n+2,":hover":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"},":focus":{color:"darken("+String(r.core.grayLighter)+", 10%)",textDecoration:"none"}},SingleDatePicker_closeButton_svg:{height:15,width:15,fill:r.core.grayLighter}}}))(j)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!n.default.isMoment(e)||!n.default.isMoment(t))&&!(0,a.default)(e,t)};var n=o(r(20)),a=o(r(155));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";var n=r(192),a=r(297),o=Object.prototype.hasOwnProperty,i={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,l=function(e,t){c.apply(e,s(t)?t:[t])},u=Date.prototype.toISOString,f=a.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:f,formatter:a.formatters[f],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,r,a,o,i,c,u,f,h,p,m,b,g){var v,y=t;if("function"==typeof u?y=u(r,y):y instanceof Date?y=p(y):"comma"===a&&s(y)&&(y=y.join(",")),null===y){if(o)return c&&!b?c(r,d.encoder,g,"key"):r;y=""}if("string"==typeof(v=y)||"number"==typeof v||"boolean"==typeof v||"symbol"==typeof v||"bigint"==typeof v||n.isBuffer(y))return c?[m(b?r:c(r,d.encoder,g,"key"))+"="+m(c(y,d.encoder,g,"value"))]:[m(r)+"="+m(String(y))];var w,_=[];if(void 0===y)return _;if(s(u))w=u;else{var k=Object.keys(y);w=f?k.sort(f):k}for(var E=0;E<w.length;++E){var O=w[E];i&&null===y[O]||(s(y)?l(_,e(y[O],"function"==typeof a?a(r,O):r,a,o,i,c,u,f,h,p,m,b,g)):l(_,e(y[O],r+(h?"."+O:"["+O+"]"),a,o,i,c,u,f,h,p,m,b,g)))}return _};e.exports=function(e,t){var r,n=e,c=function(e){if(!e)return d;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||d.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=a.default;if(void 0!==e.format){if(!o.call(a.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=a.formatters[r],i=d.filter;return("function"==typeof e.filter||s(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:d.addQueryPrefix,allowDots:void 0===e.allowDots?d.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:d.charsetSentinel,delimiter:void 0===e.delimiter?d.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:d.encode,encoder:"function"==typeof e.encoder?e.encoder:d.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:d.encodeValuesOnly,filter:i,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:d.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:d.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:d.strictNullHandling}}(t);"function"==typeof c.filter?n=(0,c.filter)("",n):s(c.filter)&&(r=c.filter);var u,f=[];if("object"!=typeof n||null===n)return"";u=t&&t.arrayFormat in i?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var p=i[u];r||(r=Object.keys(n)),c.sort&&r.sort(c.sort);for(var m=0;m<r.length;++m){var b=r[m];c.skipNulls&&null===n[b]||l(f,h(n[b],b,p,c.strictNullHandling,c.skipNulls,c.encode?c.encoder:null,c.filter,c.sort,c.allowDots,c.serializeDate,c.formatter,c.encodeValuesOnly,c.charset))}var g=f.join(c.delimiter),v=!0===c.addQueryPrefix?"?":"";return c.charsetSentinel&&("iso-8859-1"===c.charset?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),g.length>0?v+g:""}},function(e,t,r){"use strict";var n=r(192),a=Object.prototype.hasOwnProperty,o=Array.isArray,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,i=r.depth>0&&/(\[[^[\]]*])/.exec(n),s=i?n.slice(0,i.index):n,c=[];if(s){if(!r.plainObjects&&a.call(Object.prototype,s)&&!r.allowPrototypes)return;c.push(s)}for(var l=0;r.depth>0&&null!==(i=o.exec(n))&&l<r.depth;){if(l+=1,!r.plainObjects&&a.call(Object.prototype,i[1].slice(1,-1))&&!r.allowPrototypes)return;c.push(i[1])}return i&&c.push("["+n.slice(i.index)+"]"),function(e,t,r){for(var n=t,a=e.length-1;a>=0;--a){var o,i=e[a];if("[]"===i&&r.parseArrays)o=[].concat(n);else{o=r.plainObjects?Object.create(null):{};var s="["===i.charAt(0)&&"]"===i.charAt(i.length-1)?i.slice(1,-1):i,c=parseInt(s,10);r.parseArrays||""!==s?!isNaN(c)&&i!==s&&String(c)===s&&c>=0&&r.parseArrays&&c<=r.arrayLimit?(o=[])[c]=n:o[s]=n:o={0:n}}n=o}return n}(c,t,r)}};e.exports=function(e,t){var r=function(e){if(!e)return i;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?i.charset:e.charset;return{allowDots:void 0===e.allowDots?i.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:i.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:i.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:i.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:i.comma,decoder:"function"==typeof e.decoder?e.decoder:i.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:i.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:i.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:i.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:i.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:i.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:i.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var l="string"==typeof e?function(e,t){var r,c={},l=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,f=l.split(t.delimiter,u),d=-1,h=t.charset;if(t.charsetSentinel)for(r=0;r<f.length;++r)0===f[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===f[r]?h="utf-8":"utf8=%26%2310003%3B"===f[r]&&(h="iso-8859-1"),d=r,r=f.length);for(r=0;r<f.length;++r)if(r!==d){var p,m,b=f[r],g=b.indexOf("]="),v=-1===g?b.indexOf("="):g+1;-1===v?(p=t.decoder(b,i.decoder,h,"key"),m=t.strictNullHandling?null:""):(p=t.decoder(b.slice(0,v),i.decoder,h,"key"),m=t.decoder(b.slice(v+1),i.decoder,h,"value")),m&&t.interpretNumericEntities&&"iso-8859-1"===h&&(m=s(m)),m&&"string"==typeof m&&t.comma&&m.indexOf(",")>-1&&(m=m.split(",")),b.indexOf("[]=")>-1&&(m=o(m)?[m]:m),a.call(c,p)?c[p]=n.combine(c[p],m):c[p]=m}return c}(e,r):e,u=r.plainObjects?Object.create(null):{},f=Object.keys(l),d=0;d<f.length;++d){var h=f[d],p=c(h,l[h],r);u=n.merge(u,p,r)}return n.compact(u)}},function(e,t,r){(function(e,n){var a;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var i="object"==typeof n&&n;i.global!==i&&i.window!==i&&i.self;var s,c=2147483647,l=36,u=1,f=26,d=38,h=700,p=72,m=128,b="-",g=/^xn--/,v=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},_=l-u,k=Math.floor,E=String.fromCharCode;function O(e){throw new RangeError(w[e])}function S(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function M(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+S((e=e.replace(y,".")).split("."),t).join(".")}function C(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function D(e){return S(e,(function(e){var t="";return e>65535&&(t+=E((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=E(e)})).join("")}function x(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function j(e,t,r){var n=0;for(e=r?k(e/h):e>>1,e+=k(e/t);e>_*f>>1;n+=l)e=k(e/_);return k(n+(_+1)*e/(e+d))}function P(e){var t,r,n,a,o,i,s,d,h,g,v,y=[],w=e.length,_=0,E=m,S=p;for((r=e.lastIndexOf(b))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&O("not-basic"),y.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<w;){for(o=_,i=1,s=l;a>=w&&O("invalid-input"),((d=(v=e.charCodeAt(a++))-48<10?v-22:v-65<26?v-65:v-97<26?v-97:l)>=l||d>k((c-_)/i))&&O("overflow"),_+=d*i,!(d<(h=s<=S?u:s>=S+f?f:s-S));s+=l)i>k(c/(g=l-h))&&O("overflow"),i*=g;S=j(_-o,t=y.length+1,0==o),k(_/t)>c-E&&O("overflow"),E+=k(_/t),_%=t,y.splice(_++,0,E)}return D(y)}function F(e){var t,r,n,a,o,i,s,d,h,g,v,y,w,_,S,M=[];for(y=(e=C(e)).length,t=m,r=0,o=p,i=0;i<y;++i)(v=e[i])<128&&M.push(E(v));for(n=a=M.length,a&&M.push(b);n<y;){for(s=c,i=0;i<y;++i)(v=e[i])>=t&&v<s&&(s=v);for(s-t>k((c-r)/(w=n+1))&&O("overflow"),r+=(s-t)*w,t=s,i=0;i<y;++i)if((v=e[i])<t&&++r>c&&O("overflow"),v==t){for(d=r,h=l;!(d<(g=h<=o?u:h>=o+f?f:h-o));h+=l)S=d-g,_=l-g,M.push(E(x(g+S%_,0))),d=k(S/_);M.push(E(x(d,0))),o=j(r,w,n==a),r=0,++n}++r,++t}return M.join("")}s={version:"1.4.1",ucs2:{decode:C,encode:D},decode:P,encode:F,toASCII:function(e){return M(e,(function(e){return v.test(e)?"xn--"+F(e):e}))},toUnicode:function(e){return M(e,(function(e){return g.test(e)?P(e.slice(4).toLowerCase()):e}))}},void 0===(a=function(){return s}.call(t,r,t,e))||(e.exports=a)}()}).call(this,r(298)(e),r(73))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(500),t.encode=t.stringify=r(501)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,o){t=t||"&",r=r||"=";var i={};if("string"!=typeof e||0===e.length)return i;var s=/\+/g;e=e.split(t);var c=1e3;o&&"number"==typeof o.maxKeys&&(c=o.maxKeys);var l=e.length;c>0&&l>c&&(l=c);for(var u=0;u<l;++u){var f,d,h,p,m=e[u].replace(s,"%20"),b=m.indexOf(r);b>=0?(f=m.substr(0,b),d=m.substr(b+1)):(f=m,d=""),h=decodeURIComponent(f),p=decodeURIComponent(d),n(i,h)?a(i[h])?i[h].push(p):i[h]=[i[h],p]:i[h]=p}return i};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,s){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?o(i(e),(function(i){var s=encodeURIComponent(n(i))+r;return a(e[i])?o(e[i],(function(e){return s+encodeURIComponent(n(e))})).join(t):s+encodeURIComponent(n(e[i]))})).join(t):s?encodeURIComponent(n(s))+r+encodeURIComponent(n(e)):""};var a=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n<e.length;n++)r.push(t(e[n],n));return r}var i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=l(e),i=n[0],s=n[1],c=new o(function(e,t,r){return 3*(t+r)/4-r}(0,i,s)),u=0,f=s>0?i-4:i;for(r=0;r<f;r+=4)t=a[e.charCodeAt(r)]<<18|a[e.charCodeAt(r+1)]<<12|a[e.charCodeAt(r+2)]<<6|a[e.charCodeAt(r+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;2===s&&(t=a[e.charCodeAt(r)]<<2|a[e.charCodeAt(r+1)]>>4,c[u++]=255&t);1===s&&(t=a[e.charCodeAt(r)]<<10|a[e.charCodeAt(r+1)]<<4|a[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t);return c},t.fromByteArray=function(e){for(var t,r=e.length,a=r%3,o=[],i=0,s=r-a;i<s;i+=16383)o.push(u(e,i,i+16383>s?s:i+16383));1===a?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],a=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=i.length;s<c;++s)n[s]=i[s],a[i.charCodeAt(s)]=s;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var a,o,i=[],s=t;s<r;s+=3)a=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),i.push(n[(o=a)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,a){var o,i,s=8*a-n-1,c=(1<<s)-1,l=c>>1,u=-7,f=r?a-1:0,d=r?-1:1,h=e[t+f];for(f+=d,o=h&(1<<-u)-1,h>>=-u,u+=s;u>0;o=256*o+e[t+f],f+=d,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=n;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===o)o=1-l;else{if(o===c)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),o-=l}return(h?-1:1)*i*Math.pow(2,o-n)},t.write=function(e,t,r,n,a,o){var i,s,c,l=8*o-a-1,u=(1<<l)-1,f=u>>1,d=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),(t+=i+f>=1?d/c:d*Math.pow(2,1-f))*c>=2&&(i++,c/=2),i+f>=u?(s=0,i=u):i+f>=1?(s=(t*c-1)*Math.pow(2,a),i+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,a),i=0));a>=8;e[r+h]=255&s,h+=p,s/=256,a-=8);for(i=i<<a|s,l+=a;l>0;e[r+h]=255&i,h+=p,i/=256,l-=8);e[r+h-p]|=128*m}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";var n=r(197).Buffer,a=r(76);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,r,a,o=n.allocUnsafe(e>>>0),i=this.head,s=0;i;)t=i.data,r=o,a=s,t.copy(r,a),s+=i.data.length,i=i.next;return o},e}(),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=fu
18
  *
19
  * This source code is licensed under the MIT license found in the
20
  * LICENSE file in the root directory of this source tree.