From e52931258f9a7a327c866c1708113c157e7ad4d2 Mon Sep 17 00:00:00 2001
From: samba <samba@autistici.org>
Date: Sun, 19 May 2019 22:12:28 +0200
Subject: [PATCH] [auto] plugin: nextgen-gallery 3.2.2

---
 .../plugins/nextgen-gallery/changelog.txt     |   48 +
 .../plugins/nextgen-gallery/composer.json     |    2 +-
 .../freemius/assets/css/admin/common.css      |    4 +-
 .../freemius/assets/css/admin/common.min.css  |    2 +-
 .../freemius/assets/css/admin/connect.css     |  106 +
 .../freemius/assets/css/admin/connect.min.css |    2 +-
 .../assets/css/admin/dialog-boxes.css         |   51 +-
 .../assets/css/admin/dialog-boxes.min.css     |    2 +-
 .../freemius/assets/img/nextgen-gallery.png   |  Bin 25988 -> 28891 bytes
 .../freemius/assets/scss/_colors.scss         |   11 +
 .../freemius/assets/scss/admin/_buttons.scss  |   28 +
 .../scss/admin/_plugin-upgrade-notice.scss    |    8 +
 .../admin/_subscription-cancellation.scss     |   30 +
 .../freemius/assets/scss/admin/common.scss    |    6 +-
 .../assets/scss/admin/dialog-boxes.scss       |    4 +-
 .../freemius/includes/class-freemius.php      | 1375 ++-
 .../freemius/includes/class-fs-api.php        |   18 +-
 .../includes/class-fs-plugin-updater.php      |  386 +-
 .../freemius/includes/class-fs-storage.php    |    4 +-
 .../includes/entities/class-fs-plugin.php     |   22 +
 .../includes/entities/class-fs-site.php       |    2 +
 .../freemius/includes/fs-core-functions.php   |  206 +-
 .../includes/fs-essential-functions.php       |    6 +-
 .../includes/fs-plugin-info-dialog.php        |   44 +-
 .../freemius/includes/i18n.php                |    6 +-
 .../managers/class-fs-admin-menu-manager.php  |   22 +-
 .../class-fs-admin-notice-manager.php         |   74 +
 .../fs-essential-functions-1.1.7.1.php        |    8 +-
 .../fs-essential-functions-2.2.1.php          |   45 +
 .../freemius/languages/freemius-da_DK.mo      |  Bin 243 -> 51989 bytes
 .../freemius/languages/freemius-da_DK.po      | 2440 ++++-
 .../freemius/languages/freemius-en.mo         |  Bin 48279 -> 51498 bytes
 .../freemius/languages/freemius-en.po         |  973 +-
 .../freemius/languages/freemius-es_ES.mo      |  Bin 51453 -> 54784 bytes
 .../freemius/languages/freemius-es_ES.po      | 1106 ++-
 .../freemius/languages/freemius-fr_FR.mo      |  Bin 52553 -> 56037 bytes
 .../freemius/languages/freemius-fr_FR.po      | 1102 ++-
 .../freemius/languages/freemius-he_IL.mo      |  Bin 51365 -> 54579 bytes
 .../freemius/languages/freemius-he_IL.po      | 1098 ++-
 .../freemius/languages/freemius-hu_HU.mo      |  Bin 0 -> 52634 bytes
 .../freemius/languages/freemius-hu_HU.po      | 2433 +++++
 .../freemius/languages/freemius-it_IT.mo      |  Bin 50788 -> 53871 bytes
 .../freemius/languages/freemius-it_IT.po      | 1101 ++-
 .../freemius/languages/freemius-ja_JP.mo      |  Bin 57224 -> 60016 bytes
 .../freemius/languages/freemius-ja_JP.po      | 1104 ++-
 .../freemius/languages/freemius-nl_NL.mo      |  Bin 50763 -> 54133 bytes
 .../freemius/languages/freemius-nl_NL.po      | 1151 +--
 .../freemius/languages/freemius-ru_RU.mo      |  Bin 65758 -> 68404 bytes
 .../freemius/languages/freemius-ru_RU.po      | 1101 ++-
 .../freemius/languages/freemius.pot           |  943 +-
 .../nextgen-gallery/freemius/start.php        |   29 +-
 .../freemius/templates/account.php            |  115 +-
 .../templates/account/partials/addon.php      |  693 +-
 .../templates/account/partials/site.php       |   15 +-
 .../freemius/templates/add-ons.php            |    2 +-
 .../freemius/templates/admin-notice.php       |   30 +-
 .../freemius/templates/checkout.php           |    4 +-
 .../freemius/templates/connect.php            |   12 +-
 .../freemius/templates/contact.php            |    6 +-
 .../freemius/templates/debug.php              |    6 +-
 .../templates/forms/deactivation/form.php     |  129 +-
 .../premium-versions-upgrade-handler.php      |   32 +-
 .../premium-versions-upgrade-metadata.php     |   18 +-
 .../forms/subscription-cancellation.php       |  277 +
 .../freemius/templates/pricing.php            |    4 +-
 .../freemius/templates/tabs.php               |    4 +
 .../plugins/nextgen-gallery/nggallery.php     |  135 +-
 .../non_pope/class.photocrati_installer.php   |   42 +-
 .../pope/lib/class.component_registry.php     |    2 +-
 .../class.nextgen_product_installer.php       |   14 +
 .../modules/ajax/module.ajax.php              |    2 +-
 .../modules/ajax/package.module.ajax.php      |   17 +-
 .../attach_to_post/module.attach_to_post.php  |   14 +-
 .../package.module.attach_to_post.php         |   27 +-
 .../attach_to_post/static/attach_to_post.css  |  161 +-
 .../static/attach_to_post.min.css             |    2 +-
 .../static/attach_to_post_dialog.css          |   51 +-
 .../static/attach_to_post_dialog.min.css      |    2 +-
 .../attach_to_post/static/display_tab.js      |   23 +-
 .../attach_to_post/static/display_tab.min.js  |    2 +-
 .../attach_to_post/static/iframely.css        |   51 +-
 .../attach_to_post/static/iframely.min.css    |    2 +-
 .../attach_to_post/static/igw_button.png      |  Bin 45524 -> 28891 bytes
 .../attach_to_post/templates/display_tab.php  |    2 +-
 .../modules/datamapper/module.datamapper.php  |    2 +-
 .../datamapper/package.module.datamapper.php  |   10 +
 .../module.dynamic_thumbnails.php             |   11 +-
 .../package.module.dynamic_thumbnails.php     |  456 +-
 .../modules/fs/module.fs.php                  |    2 +-
 .../modules/fs/package.module.fs.php          |   93 +-
 .../modules/i18n/lang/nggallery-da_DK.po      |    4 +-
 .../modules/i18n/lang/nggallery-sv_SE.po      |    8 +-
 .../modules/i18n/lang/nggallery.po            |    4 +-
 .../modules/i18n/module.i18n.php              |    9 +-
 .../imagify/lib/class-imagify-partner.php     |    2 +-
 .../modules/imagify/module.imagify.php        |    2 +-
 .../modules/lightbox/module.lightbox.php      |    2 +-
 .../nextgen_simple_lightbox_init.js           |   26 +-
 .../nextgen_simple_lightbox_init.min.js       |    2 +-
 .../modules/mvc/module.mvc.php                |    4 +-
 .../modules/mvc/package.module.mvc.php        |  136 +-
 .../module.nextgen_addgallery_page.php        |    2 +-
 ...package.module.nextgen_addgallery_page.php |   54 +-
 .../static/media-library-import.js            |    5 +-
 .../static/media-library-import.min.js        |    2 +-
 .../nextgen_addgallery_page/static/styles.css |   34 +-
 .../static/styles.min.css                     |    2 +-
 .../templates/import_folder.php               |   17 +-
 .../templates/import_media_library.php        |    1 -
 .../templates/upload_images.php               |    4 +-
 .../nextgen_admin/module.nextgen_admin.php    |  981 +-
 .../package.module.nextgen_admin.php          |  117 +-
 .../nextgen_admin/static/dropdown_arrow.png   |  Bin 0 -> 5367 bytes
 .../nextgen_admin/static/imagely_icon.png     |  Bin 25988 -> 28891 bytes
 .../static/nextgen_admin_page.css             |  370 +-
 .../static/nextgen_admin_page.js              |    2 +-
 .../static/nextgen_admin_page.min.css         |    2 +-
 .../static/nextgen_admin_page.min.js          |    2 +-
 .../nextgen_admin/static/nextgen_wizards.css  |    6 +-
 .../nextgen_admin/static/nextgen_wizards.js   |   30 +-
 .../static/nextgen_wizards.min.css            |    2 +-
 .../static/nextgen_wizards.min.js             |    2 +-
 .../nextgen_admin/static/tourist/tourist.css  |    6 +-
 .../static/tourist/tourist.min.css            |    2 +-
 .../templates/nextgen_admin_page.php          |    3 +
 .../module.nextgen_basic_album.php            |    2 +-
 .../module.nextgen_basic_gallery.php          |    2 +-
 .../templates/thumbnails/default-view.php     |    5 +-
 .../templates/thumbnails/index.php            |    3 +-
 .../module.nextgen_basic_imagebrowser.php     |    2 +-
 .../module.nextgen_basic_singlepic.php        |    2 +-
 .../module.nextgen_basic_tagcloud.php         |    2 +-
 .../nextgen_block/module.nextgen_block.php    |    2 +-
 .../nextgen_block/static/build/block.min.js   |    2 +-
 .../static/build/block.min.js.map             |    2 +-
 .../static/build/post-thumbnail.min.js        |    2 +-
 .../static/build/post-thumbnail.min.js.map    |    2 +-
 .../modules/nextgen_block/static/editor.css   |   66 +-
 .../nextgen_block/static/editor.min.css       |    2 +-
 .../nextgen_block/static/src/block.min.js     |    3 +-
 .../nextgen_block/static/src/icons.min.js     |   15 +-
 .../static/src/post-thumbnail.min.js          |    3 +-
 .../nextgen_data/module.nextgen_data.php      |   23 +-
 .../package.module.nextgen_data.php           | 8053 +++++++++--------
 .../pel-0.9.6/class.exif_writer.php           |   31 +-
 .../module.nextgen_gallery_display.php        |   44 +-
 .../nextgen_gallery_display_settings.css      |    6 +
 .../nextgen_gallery_display_settings.min.css  |    2 +-
 .../module.nextgen_other_options.php          |    2 +-
 .../package.module.nextgen_other_options.php  |   49 +-
 .../templates/lightbox_library_tab.php        |    2 +-
 .../module.nextgen_pro_upgrade.php            |    2 +-
 .../package.module.nextgen_pro_upgrade.php    |    2 +-
 .../nextgen_pro_upgrade/static/style.css      |   16 +-
 .../nextgen_pro_upgrade/static/style.min.css  |    2 +-
 .../nextgen_pro_upgrade/templates/plus.php    |    2 +-
 .../nextgen_pro_upgrade/templates/pro.php     |    2 +-
 .../module.nextgen_settings.php               |    9 +-
 .../nextgen_xmlrpc/module.nextgen_xmlrpc.php  |    2 +-
 .../package.module.nextgen_xmlrpc.php         |   17 +-
 .../modules/ngglegacy/admin/admin.php         |    2 +-
 .../modules/ngglegacy/admin/album.php         |    4 +-
 .../modules/ngglegacy/admin/css/nggadmin.css  |  198 +-
 .../ngglegacy/admin/css/nggadmin.min.css      |    2 +-
 .../ngglegacy/admin/css/tags-admin.css        |   14 +-
 .../ngglegacy/admin/css/tags-admin.min.css    |    2 +-
 .../ngglegacy/admin/edit-thumbnail.php        |    4 +-
 .../modules/ngglegacy/admin/functions.php     |    2 +-
 .../ngglegacy/admin/images/imagely_icon.png   |  Bin 25101 -> 21802 bytes
 .../modules/ngglegacy/admin/install.php       |   31 +-
 .../modules/ngglegacy/admin/manage-images.php |   46 +-
 .../modules/ngglegacy/admin/manage.php        |   24 +-
 .../modules/ngglegacy/admin/overview.php      |   10 +-
 .../modules/ngglegacy/admin/rotate.php        |   25 +-
 .../modules/ngglegacy/module.ngglegacy.php    |   20 +-
 .../modules/ngglegacy/static/overview.css     |   28 +-
 .../modules/ngglegacy/static/overview.min.css |    2 +-
 .../modules/router/module.router.php          |    2 +-
 .../modules/router/package.module.router.php  |    8 +-
 .../modules/security/module.security.php      |  100 +-
 .../static_assets/module.static_assets.php    |  118 +
 .../package.module.static_assets.php          |    1 +
 .../module.third_party_compat.php             |    8 +-
 .../module.wordpress_routing.php              |    2 +-
 .../package.module.wordpress_routing.php      |   51 +-
 .../product.photocrati_nextgen.php            |   15 +-
 wp-content/plugins/nextgen-gallery/readme.txt |   84 +-
 187 files changed, 19513 insertions(+), 11091 deletions(-)
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_buttons.scss
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_plugin-upgrade-notice.scss
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_subscription-cancellation.scss
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-2.2.1.php
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.mo
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.po
 create mode 100644 wp-content/plugins/nextgen-gallery/freemius/templates/forms/subscription-cancellation.php
 create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/dropdown_arrow.png
 create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/module.static_assets.php
 create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/package.module.static_assets.php

diff --git a/wp-content/plugins/nextgen-gallery/changelog.txt b/wp-content/plugins/nextgen-gallery/changelog.txt
index 49caccf77..d5546a880 100644
--- a/wp-content/plugins/nextgen-gallery/changelog.txt
+++ b/wp-content/plugins/nextgen-gallery/changelog.txt
@@ -1,6 +1,54 @@
 NextGEN Gallery
 by Imagely
 
+= V3.2.2 - 05.09.2019 =
+* Changed: Updated video Links
+* Changed: Branding updates in Readme.txt file
+
+= V3.2.1 - 05.08.2019 =
+* Fixed:   Missing settings after Reset with NextGEN Plus
+* Fixed:   Small styling issues with WordPress 5.2
+
+= V3.2.0 - 05.07.2019 =
+* NEW:     Branding update
+* NEW:     API methods for detecting NextGEN provided pages and custom post types
+* Fixed:   Missing menus after Reset
+* Fixed:   Ajax pagination with Simplelightbox
+* Fixed:   Datamapper query cache not purged after saving an entity
+* Fixed:   Gallery folder not created when using Manage Galleries -> New Gallery
+* Fixed:   Notifications not appearing on all Nextgen-provided pages
+* Fixed:   Gallery wizard conflicting with NextGEN Pro ecommerce wizard
+* Fixed:   Upgrade to pro button
+* Fixed:   NGG activation transient not given a time-to-live value
+
+= V3.1.17 - 04.02.2019 =
+* Fixed:   Preview images for display types giving get_static_abspath error
+* Fixed:   Compatibility with the Imagely Lightroom plugin
+
+= V3.1.14 - 03.26.2019 =
+* Changed: Restored original behavior of ngg_after_new_images_added hook
+* Changed: Images with EXIF rotation metadata are now rotated automatically at upload
+* Changed: Moved confirmation message presented after editing a thumbnail
+* Fixed:   Ability to import zips of images
+* Fixed:   Gallery folder not created on filesystem after adding new gallery
+* Fixed:   IGW not working with Gutenberg / Block Editor
+* Fixed:   Compatibility with EWWW Image Optimizer
+* Fixed:   Compatibility with Elementor
+* Fixed:   Compatibility with Imagify
+* Fixed:   NextGen 3.1.11 passed an incorrect path to load_plugin_textdomain()
+* Fixed:   Simplelightbox initialization was opening more than once for certain images
+
+= V3.1.11 - 03.20.2019 =
+* NEW:     Many performance enhancements
+* Fixed:   Broken Overview page on WordPress 5.1
+* Fixed:   Problem with notices not being dismissible
+* Fixed:   Recover images from backup generating errors
+* Fixed:   Manage Tags the only menu option after activating
+* Fixed:   Compatibility with environments which don't have mime_content_type function
+
+= V3.1.7 - 02.26.2019 =
+* Changed: Upgraded Freemius SDK to latest release
+
 = V3.1.6 - 01.16.2019 =
 * NEW:     Option to control caching duration of random widget galleries
 * Secured: DB record serialization
diff --git a/wp-content/plugins/nextgen-gallery/composer.json b/wp-content/plugins/nextgen-gallery/composer.json
index 92300aaa4..2b65118e8 100644
--- a/wp-content/plugins/nextgen-gallery/composer.json
+++ b/wp-content/plugins/nextgen-gallery/composer.json
@@ -1,6 +1,6 @@
 {
     "name": "imagely/nextgen-gallery",
-    "description": "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 24 million downloads.",
+    "description": "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 25 million downloads.",
     "keywords": ["nextgen", "nextgen gallery", "gallery", "galleries", "image", "images", "image gallery", "photo", "photos", "photo gallery", "picture", "pictures", "picture gallery", "album", "albums", "photo albums", "image album", "media", "media gallery", "thumbnails", "thumbnail gallery", "thumbnail galleries", "slideshow", "slideshows", "slideshow gallery", "slideshow galleries", "fancybox", "lightbox", "responsive", "responsive gallery", "responsive galleries", "singlepic", "watermarks", "watermarking", "photography", "photographer"],
     "homepage": "https://www.imagely.com/",
     "license": "GPLv2",
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.css
index 99384d124..555b55d5b 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.css
@@ -1,2 +1,2 @@
-.theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);font-size:1.1em}#iframe{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
-.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}
+.theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);font-size:1.1em}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
+.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.min.css
index 733e9f259..c81181298 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/common.min.css
@@ -1 +1 @@
-.theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:700;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);box-shadow:0 2px 1px -1px rgba(0,0,0,.3);font-size:1.1em}#iframe{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2!important;background-color:#f2fcff!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:700;cursor:auto}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,.3);box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:500px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain}.wrap.fs-section h2{text-align:left}
\ No newline at end of file
+.theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:700;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.3);box-shadow:0 2px 1px -1px rgba(0,0,0,.3);font-size:1.1em}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2!important;background-color:#f2fcff!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:700;cursor:auto}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,.3);box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:500px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.css
index ec5fea509..aee10d535 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.css
@@ -1 +1,107 @@
 #fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key #sites_list_container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li div p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
+
+/* Customizations for Imagely opt in form */
+
+#fs_connect {
+    box-shadow: none;
+    border: 1px solid #e0e0e0;
+    margin-left: 10px;
+}
+
+#fs_connect .fs-content p {
+    font-size: 17px;
+    font-family: Lato, sans-serif;
+    font-weight: 300;
+}
+
+#fs_connect a {
+	color: #9fbb1a;
+}
+
+#fs_connect a:hover {
+	color: #b8d433;
+}
+
+#fs_connect .fs-visual {
+	padding: 30px 20px !important;
+    background: #fff;
+}
+
+#fs_connect .fs-visual .fs-plugin-icon, 
+#fs_connect .fs-visual .fs-connect-logo, 
+#fs_connect .fs-visual .fs-site-icon {
+    border: none;
+    padding: 0;
+    top: 30px;
+}
+
+#fs_connect .fs-content {
+    padding: 30px 20px;
+}
+
+#fs_connect .fs-actions,
+#fs_connect .fs-permissions,
+#fs_connect .fs-permissions.fs-open,
+#fs_connect .fs-terms {
+	background: black;
+	color: #fff;
+	padding: 0 !important;
+}
+
+#fs_connect .fs-actions {
+	padding: 30px 20px !important;
+}
+
+#fs_connect .fs-permissions ul li i.dashicons {
+    color: #9fbb1a;
+}
+
+#fs_connect .fs-permissions.fs-open ul {
+    margin-bottom: 0;
+    padding-bottom: 20px;
+}
+
+#fs_connect .fs-permissions ul li div span {
+    color: #fff;
+}
+
+#fs_connect .fs-terms {
+	padding-bottom: 15px !important;
+}
+
+#fs_connect .fs-actions .button.button-primary {
+	background-color: #9fbb1a !important;
+    color: #fff !important;
+    border: none !important;
+    box-shadow: none !important;
+    text-shadow: none !important;
+    height: 35px !important;
+    padding: 0 24px !important;
+    line-height: 35px;
+    width: auto !important;
+    border-radius: 0;
+    text-transform: uppercase;
+    font-size: 12px;
+    letter-spacing: .5px;
+    font-family: Lato, sans-serif;
+}
+
+#fs_connect .fs-actions .button.button-secondary {
+    border: none !important;
+    box-shadow: none !important;
+    text-shadow: none !important;
+    height: 35px !important;
+    padding: 0 24px !important;
+    line-height: 35px;
+    width: auto !important;
+    border-radius: 0;
+    text-transform: uppercase;
+    font-size: 12px;
+    letter-spacing: .5px;
+    font-family: Lato, sans-serif;
+}
+
+#fs_connect .fs-permissions a:hover,
+#fs_connect .fs-terms a:hover {
+	color: #fff;
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.min.css
index e73df72e9..c30f3656e 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/connect.min.css
@@ -1 +1 @@
-#fs_connect{width:480px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.3);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3);margin:20px 0}@media screen and (max-width:479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0}#fs_connect .fs-license-key-container input,#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key #sites_list_container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:700;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background .5s ease;-o-transition:background .5s ease;-ms-transition:background .5s ease;-webkit-transition:background .5s ease;transition:background .5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:700;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li div p{margin:2px 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px}@media screen and (max-width:479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-terms a,#multisite_options_container a{text-decoration:none}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:.85em;padding:5px;background:rgba(0,0,0,.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:700}#multisite_options_container.apply-on-all-sites{border:0;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:rgba(0,0,0,.8);color:#fff;font-family:arial,serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:700;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0;border-color:rgba(0,0,0,.8) transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:#fff;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
\ No newline at end of file
+#fs_connect{width:480px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.3);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);margin:20px 0}@media screen and (max-width:479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0}#fs_connect .fs-license-key-container input,#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key #sites_list_container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:700;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect .fs-permissions{-moz-transition:background .5s ease;-o-transition:background .5s ease;-ms-transition:background .5s ease;-webkit-transition:background .5s ease;transition:background .5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:700;text-transform:uppercase}#fs_connect .fs-permissions ul li div p{margin:2px 0 0}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px}@media screen and (max-width:479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-terms a,#multisite_options_container a{text-decoration:none}#fs_connect .fs-visual{line-height:0;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon{background:#fff}#fs_connect .fs-terms{text-align:center;font-size:.85em}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:700}#multisite_options_container.apply-on-all-sites{border:0;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;-ms-transition:opacity .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;position:absolute;background:rgba(0,0,0,.8);color:#fff;font-family:arial,serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.3em;font-weight:700;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0;border-color:rgba(0,0,0,.8) transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:#fff;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}#fs_connect{box-shadow:none;border:1px solid #e0e0e0;margin-left:10px}#fs_connect .fs-content p{font-size:17px;font-family:Lato,sans-serif;font-weight:300}#fs_connect a{color:#9fbb1a}#fs_connect a:hover{color:#b8d433}#fs_connect .fs-visual{padding:30px 20px!important;background:#fff}#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon{border:none;padding:0;top:30px}#fs_connect .fs-content{padding:30px 20px}#fs_connect .fs-actions,#fs_connect .fs-permissions,#fs_connect .fs-permissions.fs-open,#fs_connect .fs-terms{background:#000;color:#fff;padding:0!important}#fs_connect .fs-actions{padding:30px 20px!important}#fs_connect .fs-permissions ul li i.dashicons{color:#9fbb1a}#fs_connect .fs-permissions.fs-open ul{margin-bottom:0;padding-bottom:20px}#fs_connect .fs-permissions ul li div span{color:#fff}#fs_connect .fs-terms{padding-bottom:15px!important}#fs_connect .fs-actions .button.button-primary,#fs_connect .fs-actions .button.button-secondary{box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;text-transform:uppercase;font-size:12px;letter-spacing:.5px;font-family:Lato,sans-serif}#fs_connect .fs-actions .button.button-primary{background-color:#9fbb1a!important;color:#fff!important;border:none!important;border-radius:0}#fs_connect .fs-actions .button.button-secondary{border:none!important;border-radius:0}#fs_connect .fs-permissions a:hover,#fs_connect .fs-terms a:hover{color:#fff}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.css
index bc33fe883..f76befffe 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.css
@@ -1,2 +1,49 @@
-.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}#license_options_container table,#license_options_container table select,#license_options_container table #available_license_key{width:100%}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
-.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}
+.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}#license_options_container table,#license_options_container table select,#license_options_container table #available_license_key{width:100%}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
+.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,0.1) !important}
+
+
+/* Customizations for NextGEN Gallery */
+
+.fs-modal .fs-modal-header {
+	background: black;
+	color: #fff;
+}
+
+.fs-modal .fs-modal-header h4 {
+	text-shadow: none;
+	color: #fff;
+}
+
+.fs-modal .fs-modal-body {
+    padding-top: 35px;
+}
+
+.fs-modal a.button-primary {
+	background-color: #9fbb1a !important;
+    color: #fff !important;
+    border: none !important;
+    box-shadow: none !important;
+    text-shadow: none !important;
+    height: 35px !important;
+    padding: 0 24px !important;
+    line-height: 35px;
+    width: auto !important;
+    border-radius: 0;
+    text-transform: uppercase;
+    letter-spacing: .5px;
+    font-family: Lato, sans-serif;
+}
+
+.fs-modal a.button-secondary {
+	border: none !important;
+    box-shadow: none !important;
+    text-shadow: none !important;
+    height: 35px !important;
+    padding: 0 24px !important;
+    line-height: 35px;
+    width: auto !important;
+    border-radius: 0;
+    text-transform: uppercase;
+    letter-spacing: .5px;
+    font-family: Lato, sans-serif;
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.min.css
index 925d67f97..1ea5121c9 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/dialog-boxes.min.css
@@ -1 +1 @@
-#multisite_options_container a,.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,.6)}.fs-modal .fs-modal-dialog{background:0 0;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}#license_options_container table,#license_options_container table #available_license_key,#license_options_container table select,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}@media (max-width:650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:700;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:700;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child),#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:700}#multisite_options_container.apply-on-all-sites{border:0;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:.3;-o-transform:.3;-ms-transform:.3;-webkit-transform:.3;transform:.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0;animation-delay:.6s;-o-animation-delay:.6s;-ms-animation-delay:.6s;-webkit-animation-delay:.6s;-moz-animation-delay:.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:.75s;-o-animation-delay:.75s;-ms-animation-delay:.75s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:.9s;-o-animation-delay:.9s;-ms-animation-delay:.9s;-webkit-animation-delay:.9s;-moz-animation-delay:.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{width:300px;max-width:100%;margin:0 auto;display:block}
\ No newline at end of file
+#multisite_options_container a,.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,.6)}.fs-modal .fs-modal-dialog{background:0 0;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}#license_options_container table,#license_options_container table #available_license_key,#license_options_container table select,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}@media (max-width:650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eee solid 1px;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:700;letter-spacing:.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:700;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:700;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a:focus{box-shadow:none}#multisite_options_container a.selected{font-weight:700}#multisite_options_container.apply-on-all-sites{border:0;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:.3;-o-transform:.3;-ms-transform:.3;-webkit-transform:.3;transform:.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0;animation-delay:.6s;-o-animation-delay:.6s;-ms-animation-delay:.6s;-webkit-animation-delay:.6s;-moz-animation-delay:.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:.75s;-o-animation-delay:.75s;-ms-animation-delay:.75s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:.9s;-o-animation-delay:.9s;-ms-animation-delay:.9s;-webkit-animation-delay:.9s;-moz-animation-delay:.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(.3);-o-transform:scale(.3);-ms-transform:scale(.3);-webkit-transform:scale(.3);transform:scale(.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1!important;background:#e76444!important;border-color:#d85e40!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.fs-modal .fs-modal-header{background:#000;color:#fff}.fs-modal .fs-modal-header h4{text-shadow:none;color:#fff}.fs-modal .fs-modal-body{padding-top:35px}.fs-modal a.button-primary,.fs-modal a.button-secondary{box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;text-transform:uppercase;letter-spacing:.5px;font-family:Lato,sans-serif}.fs-modal a.button-primary{background-color:#9fbb1a!important;color:#fff!important;border:none!important;border-radius:0}.fs-modal a.button-secondary{border:none!important;border-radius:0}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/img/nextgen-gallery.png b/wp-content/plugins/nextgen-gallery/freemius/assets/img/nextgen-gallery.png
index 2cef0cae5026801384bf570e89bc9674d9e1537c..29e0c6cff5043a4754777eea326f06a1023d22c6 100644
GIT binary patch
delta 14178
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
S{E~rzfx*+&&t;ucLK6T22|x`1

delta 10744
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/_colors.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/_colors.scss
index 77349cb40..f41f62a5e 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/_colors.scss
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/_colors.scss
@@ -44,6 +44,17 @@ $button-secondary-bkg: #333;
 $button-secondary-color: $fms-white;
 $featured-color: #6bc406;
 $wp-selected-color: #0074a3;
+$wp-button-alert-border-color: #d2593c;
+$wp-button-alert-border-top-color: #ec6544;
+$wp-button-alert-shadow-color: #d2593c;
+$wp-button-alert-focused-shadow1-color: #dd6041;
+$wp-button-alert-focused-shadow2-color: #e4a796;
+$wp-button-alert-background-color: #f56a48;
+$wp-button-alert-hovered-background-color: #fd6d4a;
+$wp-button-alert-active-background-color: #dd6041;
+$wp-button-alert-disabled-color: #f5b3a1;
+$wp-button-alert-disabled-background-color: #e76444;
+$wp-button-alert-disabled-border-color: #d85e40;
 
 $wordpress_color: #01749A;
 $blogger_color: #ff8100;
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_buttons.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_buttons.scss
new file mode 100644
index 000000000..a7e02eb1d
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_buttons.scss
@@ -0,0 +1,28 @@
+.button-primary.warn {
+    box-shadow: 0 1px 0 $wp-button-alert-shadow-color;
+    text-shadow: 0 -1px 1px $wp-button-alert-shadow-color, 1px 0 1px $wp-button-alert-shadow-color, 0 1px 1px $wp-button-alert-shadow-color, -1px 0 1px $wp-button-alert-shadow-color;
+    background: $wp-button-alert-background-color;
+    border-color: $wp-button-alert-border-top-color $wp-button-alert-border-color $wp-button-alert-border-color;
+
+    &:hover {
+        background: $wp-button-alert-hovered-background-color;
+        border-color: $wp-button-alert-border-color;
+    }
+
+    &:focus {
+        box-shadow: 0 1px 0 $wp-button-alert-focused-shadow1-color, 0 0 2px 1px $wp-button-alert-focused-shadow2-color;
+    }
+
+    &:active {
+        background: $wp-button-alert-active-background-color;
+        border-color: $wp-button-alert-border-color;
+        box-shadow: inset 0 2px 0 $wp-button-alert-shadow-color;
+    }
+
+    &.disabled {
+        color: $wp-button-alert-disabled-color !important;
+        background: $wp-button-alert-disabled-background-color !important;
+        border-color: $wp-button-alert-disabled-border-color !important;
+        text-shadow: 0 -1px 0 rgba(0,0,0,.1) !important;
+    }
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_plugin-upgrade-notice.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_plugin-upgrade-notice.scss
new file mode 100644
index 000000000..ba8862fc1
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_plugin-upgrade-notice.scss
@@ -0,0 +1,8 @@
+.plugins p.fs-upgrade-notice
+{
+    border: 0;
+    background-color: #d54e21;
+    padding: 10px;
+    color: #f9f9f9;
+    margin-top: 10px;
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_subscription-cancellation.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_subscription-cancellation.scss
new file mode 100644
index 000000000..c9a86b84c
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/_subscription-cancellation.scss
@@ -0,0 +1,30 @@
+.fs-modal.fs-modal-subscription-cancellation {
+	.fs-price-increase-warning {
+		color: red;
+		font-weight: bold;
+		padding: 0 25px;
+		margin-bottom: 0;
+	}
+
+    ul.subscription-actions label {
+        input {
+            float: left;
+            top: 5px;
+            position: relative;
+
+            .rtl & {
+                float: right;
+            }
+        }
+
+        span {
+            display: block;
+            margin-left: 24px;
+
+            .rtl & {
+                margin-left: 0;
+                margin-right: 24px;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/common.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/common.scss
index 86cc6c347..4bbba1fc2 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/common.scss
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/common.scss
@@ -1,7 +1,7 @@
 @import "../start";
 @import "themes";
 
-#iframe
+#fs_frame
 {
     line-height: 0;
     font-size:   0;
@@ -215,4 +215,6 @@ span.fs-submenu-item.fs-sub:before
     h2 {
         text-align: left;
     }
-}
\ No newline at end of file
+}
+
+@import "plugin-upgrade-notice";
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/dialog-boxes.scss b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/dialog-boxes.scss
index d479627bb..f4408a3b4 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/dialog-boxes.scss
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/scss/admin/dialog-boxes.scss
@@ -1,8 +1,10 @@
 @import "../start";
 @import "modal-common";
 @import "deactivation-feedback";
+@import "subscription-cancellation";
 @import "license-activation";
 @import "multisite-options";
 @import "license-key-resend";
 @import "ajax-loader";
-@import "auto-install";
\ No newline at end of file
+@import "auto-install";
+@import "buttons";
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/class-freemius.php b/wp-content/plugins/nextgen-gallery/freemius/includes/class-freemius.php
index a8265372c..d85a5baf8 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/class-freemius.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/class-freemius.php
@@ -33,6 +33,12 @@
          * @var string
          */
         private $_plugin_basename;
+        /**
+         * @since 2.2.1
+         *
+         * @var string
+         */
+        private $_premium_plugin_basename;
         /**
          * @since 1.0.0
          *
@@ -671,11 +677,12 @@
                  version_compare( $sdk_version, '1.2.3', '>=' )
             ) {
                 /**
-                 * Starting from version 1.2.3, paths are stored as relative paths and not absolute paths; so when upgrading to 1.2.3, make paths relative.
+                 * Starting from version 1.2.3, paths are stored as relative instead of absolute and some of them can be
+                 * invalid.
                  *
                  * @author Leo Fajardo (@leorw)
                  */
-                $this->make_paths_relative();
+                $this->remove_invalid_paths();
             }
 
             if ( version_compare( $sdk_prev_version, '1.1.5', '<' ) &&
@@ -699,6 +706,25 @@
 
                 }
             }
+
+            if (
+                version_compare( $sdk_prev_version, '2.2.1', '<' ) &&
+                version_compare( $sdk_version, '2.2.1', '>=' )
+            ) {
+                /**
+                 * Clear the file cache without storing the previous path since it could be a wrong path. For example,
+                 * in the versions of the SDK lower than 2.2.1, it's possible for the path of an add-on to be the same
+                 * as the parent plugin's when the add-on was auto-installed since the relevant method names were not
+                 * skipped in the logic that determines the right path in the `get_caller_main_file_and_type` method
+                 * (e.g. `try_activate_plugin`). Since it was an auto-installation, the caller was the parent plugin
+                 * and so its path was used. In case the stored path is wrong, clearing the cache will resolve issues
+                 * related to data mix-up between plugins (e.g. titles and versions of an add-on and its parent plugin).
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                $this->clear_module_main_file_cache( false );
+            }
         }
 
         /**
@@ -824,30 +850,12 @@
         }
 
         /**
-         * Makes paths relative.
+         * Remove invalid paths.
          *
          * @author Leo Fajardo (@leorw)
          * @since  1.2.3
          */
-        private function make_paths_relative() {
-            $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array() );
-
-            if ( isset( $id_slug_type_path_map[ $this->_module_id ]['path'] ) ) {
-                $id_slug_type_path_map[ $this->_module_id ]['path'] = $this->get_relative_path( $id_slug_type_path_map[ $this->_module_id ]['path'] );
-
-                self::$_accounts->set_option( 'id_slug_type_path_map', $id_slug_type_path_map, true );
-            }
-
-            if ( isset( $this->_storage->plugin_main_file ) ) {
-                $plugin_main_file = $this->_storage->plugin_main_file;
-
-                if ( isset( $plugin_main_file->path ) ) {
-                    $this->_storage->plugin_main_file->path = $this->get_relative_path( $this->_storage->plugin_main_file->path );
-                } else if ( isset( $plugin_main_file->prev_path ) ) {
-                    $this->_storage->plugin_main_file->prev_path = $this->get_relative_path( $this->_storage->plugin_main_file->prev_path );
-                }
-            }
-
+        private function remove_invalid_paths() {
             // Remove invalid path that is still associated with the current slug if there's any.
             $file_slug_map = self::$_accounts->get_option( 'file_slug_map', array() );
             foreach ( $file_slug_map as $plugin_basename => $slug ) {
@@ -1230,6 +1238,22 @@
             <?php
         }
 
+        /**
+         * Opens the support forum subemenu item in a new browser page.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.1.4
+         */
+        static function _open_support_forum_in_new_page() {
+            ?>
+            <script type="text/javascript">
+                (function ($) {
+                    $('.fs-submenu-item.wp-support-forum').parent().attr('target', '_blank');
+                })(jQuery);
+            </script>
+            <?php
+        }
+
         /**
          * @author Vova Feldman (@svovaf)
          * @since  1.0.9
@@ -1241,6 +1265,26 @@
                 add_action( 'plugins_loaded', array( &$this, '_hook_action_links_and_register_account_hooks' ) );
 
                 if ( $this->is_plugin() ) {
+                    if ( self::is_plugin_install_page() && true !== fs_request_get_bool( 'fs_allow_updater_and_dialog' ) ) {
+                        /**
+                         * Unless the `fs_allow_updater_and_dialog` URL param exists and its value is `true`, make
+                         * Freemius-related updates unavailable on the "Add Plugins" admin page (/plugin-install.php)
+                         * so that they won't interfere with the .org plugins' functionalities on that page (e.g.
+                         * updating of a .org plugin).
+                         */
+                        add_filter( 'site_transient_update_plugins', array( 'Freemius', '_remove_fs_updates_from_plugin_install_page' ), 10, 2 );
+                    } else if ( self::is_plugins_page() || self::is_updates_page() ) {
+                        /**
+                         * On the "Plugins" and "Updates" admin pages, if there are premium or non–org-compliant
+                         * plugins, modify their details dialog URLs (add a Freemius-specific param) so that the SDK can
+                         * determine if the plugin information dialog should show information from Freemius.
+                         *
+                         * @author Leo Fajardo (@leorw)
+                         * @since 2.2.3
+                         */
+                        add_action( 'admin_footer', array( 'Freemius', '_prepend_fs_allow_updater_and_dialog_flag_url_param' ) );
+                    }
+
                     $plugin_dir = dirname( $this->_plugin_dir_path ) . '/';
 
                     /**
@@ -1408,6 +1452,84 @@
             }
         }
 
+        /**
+         * Makes Freemius-related updates unavailable on the "Add Plugins" admin page (/plugin-install.php) so that
+         * they won't interfere with the .org plugins' functionalities on that page (e.g. updating of a .org plugin).
+         *
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.3
+         *
+         * @param object      $updates
+         * @param string|null $transient
+         *
+         * @return object
+         */
+        static function _remove_fs_updates_from_plugin_install_page( $updates, $transient = null ) {
+            if ( is_object( $updates ) && isset( $updates->response ) ) {
+                foreach ( $updates->response as $file => $plugin ) {
+                    if ( false !== strpos( $plugin->package, 'api.freemius' ) ) {
+                        unset( $updates->response[ $file ] );
+                    }
+                }
+            }
+
+            return $updates;
+        }
+
+        /**
+         * Prepends the `fs_allow_updater_and_dialog` param to the plugin information URLs to tell the SDK to handle
+         * the information that is shown on the plugin details dialog that is shown when the relevant link is clicked.
+         *
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.3
+         *
+         * @return string
+         */
+        static function _prepend_fs_allow_updater_and_dialog_flag_url_param() {
+            $slug_basename_map = array();
+            foreach ( self::$_instances as $instance ) {
+                if ( ! $instance->is_plugin() ) {
+                    continue;
+                }
+
+                $slug_basename_map[ $instance->get_slug() ] = $instance->premium_plugin_basename();
+            }
+            ?>
+            <script type="text/javascript">
+            (function( $ ) {
+                var slugBasenameMap = <?php echo json_encode( $slug_basename_map ) ?>;
+                for ( var slug in slugBasenameMap ) {
+                    var basename = slugBasenameMap[ slug ];
+
+                    // Try to get the plugin rows if on the "Plugins" page.
+                    var $pluginRows = $( '.wp-list-table.plugins tr[data-plugin="' + basename + '"]');
+
+                    if ( 0 === $pluginRows.length ) {
+                        // Try to get the plugin rows if on the "Updates" page.
+                        var $pluginCheckbox = $( '#update-plugins-table input[type="checkbox"][value="' + basename + '"]' );
+                        if ( 0 !== $pluginCheckbox.length ) {
+                            $pluginRows = $pluginCheckbox.parents( 'tr:first' );
+                        }
+                    }
+
+                    if ( 0 === $pluginRows.length ) {
+                        // No plugin rows found.
+                        continue;
+                    }
+
+                    // Find the "View details" links and add the `fs_allow_updater_and_dialog` param to the URL.
+                    $pluginRows.find( 'a[href*="plugin-install.php?tab=plugin-information"]' ).each(function() {
+                        var $this = $( this ),
+                            href  = $this.attr( 'href' ).replace( '?tab=', '?fs_allow_updater_and_dialog=true&tab=');
+
+                        $this.attr( 'href', href );
+                    });
+                }
+            })( jQuery );
+            </script>
+            <?php
+        }
+
         /**
          * Keeping the uninstall hook registered for free or premium plugin version may result to a fatal error that
          * could happen when a user tries to uninstall either version while one of them is still active. Uninstalling a
@@ -1428,23 +1550,37 @@
 
         /**
          * @since 1.2.0 Invalidate module's main file cache, otherwise, FS_Plugin_Updater will not fetch updates.
+         *
+         * @param bool $store_prev_path
          */
-        private function clear_module_main_file_cache() {
+        private function clear_module_main_file_cache( $store_prev_path = true ) {
             if ( ! isset( $this->_storage->plugin_main_file ) ||
-                 empty( $this->_storage->plugin_main_file->path )
+                empty( $this->_storage->plugin_main_file->path )
             ) {
                 return;
             }
 
-            $plugin_main_file = clone $this->_storage->plugin_main_file;
+            if ( ! $store_prev_path ) {
+                /**
+                 * Storing the previous path is not needed when clearing the cache after an SDK version update since
+                 * the main purpose of the cache clearing in that event is to correct a wrong plugin main file path
+                 * which causes data mix-up between plugins (e.g. titles and versions of an add-on and its parent plugin).
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                unset( $this->_storage->plugin_main_file->path );
+            } else {
+                $plugin_main_file = clone $this->_storage->plugin_main_file;
 
-            // Store cached path (2nd layer cache).
-            $plugin_main_file->prev_path = $plugin_main_file->path;
+                // Store cached path (2nd layer cache).
+                $plugin_main_file->prev_path = $plugin_main_file->path;
 
-            // Clear cached path.
-            unset( $plugin_main_file->path );
+                // Clear cached path.
+                unset( $plugin_main_file->path );
 
-            $this->_storage->plugin_main_file = $plugin_main_file;
+                $this->_storage->plugin_main_file = $plugin_main_file;
+            }
 
             /**
              * Clear global cached path.
@@ -1491,6 +1627,11 @@
                 array( &$this, '_submit_uninstall_reason_action' )
             );
 
+            $this->add_ajax_action(
+                'cancel_subscription_or_trial',
+                array( &$this, 'cancel_subscription_or_trial_ajax_action' )
+            );
+
             if ( ! $this->is_addon() || $this->is_parent_plugin_installed() ) {
                 if ( ( $this->is_plugin() && self::is_plugins_page() ) ||
                      ( $this->is_theme() && self::is_themes_page() )
@@ -1615,7 +1756,7 @@
 
             return fs_normalize_path( trailingslashit( $is_plugin ?
                 WP_PLUGIN_DIR :
-                get_theme_root() ) );
+                get_theme_root( get_stylesheet() ) ) );
         }
 
         /**
@@ -1680,11 +1821,11 @@
         private function get_caller_main_file_and_type() {
             self::require_plugin_essentials();
 
-            $all_plugins       = get_plugins();
+            $all_plugins       = fs_get_plugins( true );
             $all_plugins_paths = array();
 
             // Get active plugin's main files real full names (might be symlinks).
-            foreach ( $all_plugins as $relative_path => &$data ) {
+            foreach ( $all_plugins as $relative_path => $data ) {
                 if ( false === strpos( fs_normalize_path( $relative_path ), '/' ) ) {
                     /**
                      * Ignore plugins that don't have a folder (e.g. Hello Dolly) since they
@@ -1702,7 +1843,7 @@
             $caller_file_candidate = false;
             $caller_map            = array();
             $module_type           = WP_FS__MODULE_TYPE_PLUGIN;
-            $themes_dir            = fs_normalize_path( get_theme_root() );
+            $themes_dir            = fs_normalize_path( get_theme_root( get_stylesheet() ) );
 
             for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
                 if ( empty( $bt[ $i ]['file'] ) ) {
@@ -1722,7 +1863,10 @@
                         'requir' . 'e_once',
                         'requir' . 'e',
                         'includ' . 'e_once',
-                        'includ' . 'e'
+                        'includ' . 'e',
+                        'install_and_activate_plugin',
+                        'try_activate_plugin',
+                        'activate_plugin'
                     ) )
                 ) {
                     // Ignore call stack hooks and files inclusion.
@@ -2058,6 +2202,51 @@
             exit;
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since  2.1.4
+         */
+        function cancel_subscription_or_trial_ajax_action() {
+            $this->_logger->entrance();
+
+            $this->check_ajax_referer( 'cancel_subscription_or_trial' );
+
+            $result = $this->cancel_subscription_or_trial( fs_request_get( 'plugin_id', $this->get_id() ), false );
+
+            if ( $this->is_api_error( $result ) ) {
+                $this->shoot_ajax_failure( $result->error->message );
+            }
+
+            $this->shoot_ajax_success();
+        }
+
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since  2.1.4
+         *
+         * @param number $plugin_id
+         *
+         * @return object
+         */
+        private function cancel_subscription_or_trial( $plugin_id ) {
+            $fs = null;
+            if ( $plugin_id == $this->get_id() ) {
+                $fs = $this;
+            } else if ( $this->is_addon_activated( $plugin_id ) ) {
+                $fs = self::get_instance_by_id( $plugin_id );
+            }
+
+            $result = null;
+
+            if ( ! is_null( $fs ) ) {
+                $result = $fs->is_paid_trial() ?
+                    $fs->_cancel_trial() :
+                    $fs->_downgrade_site();
+            }
+
+            return $result;
+        }
+
         /**
          * @author Leo Fajardo (@leorw)
          * @since 2.0.2
@@ -2134,16 +2323,18 @@
          * @since  1.2.2
          *
          * @param  string|number $id_or_slug
+         * @param  string        $module_type
          *
          * @return number|false
          */
-        private static function get_module_id( $id_or_slug ) {
+        private static function get_module_id( $id_or_slug, $module_type = WP_FS__MODULE_TYPE_PLUGIN ) {
             if ( is_numeric( $id_or_slug ) ) {
                 return $id_or_slug;
             }
 
             foreach ( self::$_instances as $instance ) {
-                if ( $instance->is_plugin() && ( $id_or_slug === $instance->get_slug() ) ) {
+                // Also check the module type since there can be a plugin and a theme with the same slug.
+                if ( ( $module_type === $instance->get_module_type() ) && ( $id_or_slug === $instance->get_slug() ) ) {
                     return $instance->get_id();
                 }
             }
@@ -2170,15 +2361,16 @@
          * @author Vova Feldman (@svovaf)
          * @since  1.0.1
          *
-         * @param $plugin_file
+         * @param string $plugin_file
+         * @param string $module_type
          *
          * @return false|Freemius
          */
-        static function get_instance_by_file( $plugin_file ) {
+        static function get_instance_by_file( $plugin_file, $module_type = WP_FS__MODULE_TYPE_PLUGIN ) {
             $slug = self::find_slug_by_basename( $plugin_file );
 
             return ( false !== $slug ) ?
-                self::instance( self::get_module_id( $slug ) ) :
+                self::instance( self::get_module_id( $slug, $module_type ) ) :
                 false;
         }
 
@@ -2292,10 +2484,13 @@
         function is_site_activation_mode( $and_on = true ) {
             return (
                 ( $this->is_on() || ! $and_on ) &&
-                ( ! $this->is_registered() ||
-                  ( $this->is_only_premium() && ! $this->has_features_enabled_license() ) ) &&
-                ( ! $this->is_enable_anonymous() ||
-                  ( ! $this->is_anonymous() && ! $this->is_pending_activation() ) )
+                ( $this->is_premium() && true === $this->_storage->require_license_activation ) ||
+                (
+                    ( ! $this->is_registered() ||
+                      ( $this->is_only_premium() && ! $this->has_features_enabled_license() ) ) &&
+                    ( ! $this->is_enable_anonymous() ||
+                      ( ! $this->is_anonymous() && ! $this->is_pending_activation() ) )
+                )
             );
         }
 
@@ -2330,7 +2525,7 @@
                 return false;
             }
 
-            if ( $this->is_network_anonymous() ) {
+            if ( $this->is_network_anonymous() && true !== $this->_storage->require_license_activation ) {
                 // Super-admin skipped the connection network wide -> not activation mode.
                 return false;
             }
@@ -2451,7 +2646,7 @@
             self::require_plugin_essentials();
 
             $active_plugin            = array();
-            $all_plugins              = get_plugins();
+            $all_plugins              = fs_get_plugins();
             $active_plugins_basenames = self::get_active_plugins_basenames( $blog_id );
 
             foreach ( $active_plugins_basenames as $plugin_basename ) {
@@ -2477,6 +2672,11 @@
                 get_option( 'active_plugins' );
 
             $active = array();
+
+            if ( ! is_array( $active_basenames ) ) {
+                return $active;
+            }
+
             foreach ( $active_basenames as $basename ) {
                 $active[ $basename ] = array(
                     'is_active' => true,
@@ -2501,7 +2701,7 @@
         private static function get_all_plugins( $blog_id = 0 ) {
             self::require_plugin_essentials();
 
-            $all_plugins = get_plugins();
+            $all_plugins = fs_get_plugins();
 
             $active_plugins_basenames = self::get_active_plugins_basenames( $blog_id );
 
@@ -2533,7 +2733,7 @@
         private static function get_network_plugins() {
             self::require_plugin_essentials();
 
-            $all_plugins = get_plugins();
+            $all_plugins = fs_get_plugins();
 
             $network_active_basenames = is_multisite() ?
                 get_site_option( 'active_sitewide_plugins' ) :
@@ -2677,6 +2877,8 @@
             }
 
             add_action( 'admin_footer', array( 'Freemius', '_enrich_ajax_url' ) );
+            add_action( 'admin_footer', array( 'Freemius', '_open_support_forum_in_new_page' ) );
+
 
             self::$_statics_loaded = true;
         }
@@ -2775,6 +2977,10 @@
          * @since  1.1.7.3
          */
         static function _toggle_debug_mode() {
+            if ( ! is_super_admin() ) {
+                return;
+            }
+
             $is_on = fs_request_get( 'is_on', false, 'post' );
 
             if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {
@@ -2806,8 +3012,16 @@
          * @since  1.2.1.7
          */
         static function _get_db_option() {
+            check_admin_referer( 'fs_get_db_option' );
+
             $option_name = fs_request_get( 'option_name' );
 
+            if ( ! is_super_admin() ||
+                 ! fs_starts_with( $option_name, 'fs_' )
+            ) {
+                self::shoot_ajax_failure();
+            }
+
             $value = get_option( $option_name );
 
             $result = array(
@@ -2830,7 +3044,16 @@
          * @since  1.2.1.7
          */
         static function _set_db_option() {
-            $option_name  = fs_request_get( 'option_name' );
+            check_admin_referer( 'fs_set_db_option' );
+
+            $option_name = fs_request_get( 'option_name' );
+
+            if ( ! is_super_admin() ||
+                 ! fs_starts_with( $option_name, 'fs_' )
+            ) {
+                self::shoot_ajax_failure();
+            }
+
             $option_value = fs_request_get( 'option_value' );
 
             if ( ! empty( $option_value ) ) {
@@ -4068,14 +4291,16 @@
              * @author Vova Feldman (@svovaf)
              */
             if ( $this->is_user_in_admin() &&
-                 ! $this->is_addon() &&
-                 $this->has_addons() &&
-                 'plugin-information' === fs_request_get( 'tab', false ) &&
-                 $this->get_id() == fs_request_get( 'parent_plugin_id', false )
+                'plugin-information' === fs_request_get( 'tab', false ) &&
+                 $this->should_use_freemius_updater_and_dialog() &&
+                 (
+                     ( $this->is_addon() && $this->get_slug() == fs_request_get( 'plugin', false ) ) ||
+                     ( $this->has_addons() && $this->get_id() == fs_request_get( 'parent_plugin_id', false ) )
+                 )
             ) {
                 require_once WP_FS__DIR_INCLUDES . '/fs-plugin-info-dialog.php';
 
-                new FS_Plugin_Info_Dialog( $this );
+                new FS_Plugin_Info_Dialog( $this->is_addon() ? $this->get_parent_instance() : $this );
             }
 
             // Check if Freemius is on for the current plugin.
@@ -4189,7 +4414,21 @@
              * @author Vova Feldman
              * @since  1.2.1.6
              */
-            if ( $this->is_premium() && $this->has_release_on_freemius() ) {
+            if (
+                $this->should_use_freemius_updater_and_dialog() &&
+                (
+                    $this->is_premium() ||
+                    /**
+                     * If not premium but the premium version is installed, also instantiate the updater so that the
+                     * plugin information dialog of the premium version will have the information from the server.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since 2.2.3
+                     */
+                    ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this->premium_plugin_basename() ) ) )
+                ) &&
+                $this->has_release_on_freemius()
+            ) {
                 FS_Plugin_Updater::instance( $this );
             }
 
@@ -4232,6 +4471,26 @@
             }
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.3
+         *
+         * @return bool
+         */
+        private function should_use_freemius_updater_and_dialog() {
+            return (
+                /**
+                 * Unless the `fs_allow_updater_and_dialog` URL param exists and its value is `true`, disallow updater
+                 * and dialog on the "Add Plugins" admin page (/plugin-install.php) so that they won't interfere with
+                 * the .org plugins' functionalities on that page (e.g. installation and viewing plugin details from
+                 * .org).
+                 */
+                ( ! self::is_plugin_install_page() || true === fs_request_get_bool( 'fs_allow_updater_and_dialog' ) ) &&
+                // Disallow updater and dialog when installing a plugin, otherwise .org "add-on" plugins will be affected.
+                ( 'install-plugin' !== fs_request_get( 'action' ) )
+            );
+        }
+
         /**
          * @author Leo Fajardo (@leorw)
          *
@@ -4668,16 +4927,20 @@
                 $this->_plugin :
                 new FS_Plugin();
 
+            $premium_suffix = $this->get_option( $plugin_info, 'premium_suffix', '(Premium)' );
+
             $plugin->update( array(
                 'id'                   => $id,
                 'type'                 => $this->get_option( $plugin_info, 'type', $this->_module_type ),
                 'public_key'           => $public_key,
                 'slug'                 => $this->_slug,
+                'premium_slug'         => $this->get_option( $plugin_info, 'premium_slug', "{$this->_slug}-premium" ),
                 'parent_plugin_id'     => $parent_id,
                 'version'              => $this->get_plugin_version(),
-                'title'                => $this->get_plugin_name(),
+                'title'                => $this->get_plugin_name( $premium_suffix ),
                 'file'                 => $this->_plugin_basename,
                 'is_premium'           => $this->get_bool_option( $plugin_info, 'is_premium', true ),
+                'premium_suffix'       => $premium_suffix,
                 'is_live'              => $this->get_bool_option( $plugin_info, 'is_live', true ),
                 'affiliate_moderation' => $this->get_option( $plugin_info, 'has_affiliation' ),
             ) );
@@ -5058,7 +5321,7 @@
             }
 
             $addon            = $this->get_addon( $addon_id );
-            $premium_basename = "{$addon->slug}-premium/{$addon->slug}.php";
+            $premium_basename = "{$addon->premium_slug}/{$addon->slug}.php";
 
             if ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_basename ) ) ) {
                 return $premium_basename;
@@ -5066,9 +5329,9 @@
 
             $all_plugins = $this->get_all_plugins();
 
-            foreach ( $all_plugins as $basename => &$data ) {
+            foreach ( $all_plugins as $basename => $data ) {
                 if ( $addon->slug === $data['slug'] ||
-                     $addon->slug . '-premium' === $data['slug']
+                     $addon->premium_slug === $data['slug']
                 ) {
                     return $basename;
                 }
@@ -5308,7 +5571,7 @@
             if ( ! isset( $this->_is_anonymous ) ) {
                 if ( $this->is_network_anonymous() ) {
                     $this->_is_anonymous = true;
-                } else {
+                } else if ( ! fs_is_network_admin() ) {
                     if ( ! isset( $this->_storage->is_anonymous ) ) {
                         // Not skipped.
                         $this->_is_anonymous = false;
@@ -5499,6 +5762,20 @@
             $this->_storage->store( "{$name}_timestamp", time() );
         }
 
+        /**
+         * Sets the keepalive time to now.
+         *
+         * @author Leo Fajardo (@leorw)
+         * @since  2.2.3
+         *
+         * @param bool|null $use_network_level_storage
+         */
+        private function set_keepalive_timestamp( $use_network_level_storage = null ) {
+            $this->_logger->entrance();
+
+            $this->_storage->store( 'keepalive_timestamp', time(), $use_network_level_storage );
+        }
+
         /**
          * Check if cron was executed in the last $period of seconds.
          *
@@ -5513,7 +5790,7 @@
         private function is_cron_executed( $name, $period = WP_FS__TIME_24_HOURS_IN_SEC ) {
             $this->_logger->entrance( $name );
 
-            $last_execution = $this->set_cron_execution_timestamp( $name );
+            $last_execution = $this->cron_last_execution( $name );
 
             if ( ! is_numeric( $last_execution ) ) {
                 return false;
@@ -5774,12 +6051,14 @@
                 }
             }
 
+            $current_blog_id = get_current_blog_id();
+
             foreach ( $users_2_blog_ids as $user_id => $blog_ids ) {
                 if ( 0 < $blog_ids[0] ) {
                     $this->switch_to_blog( $blog_ids[0] );
                 }
 
-                call_user_func_array( $callable, array( $blog_ids ) );
+                call_user_func_array( $callable, array( $blog_ids, ( is_multisite() ? $current_blog_id : null ) ) );
 
                 foreach ( $blog_ids as $blog_id ) {
                     $this->do_action( "after_{$name}_cron", $blog_id );
@@ -5787,6 +6066,8 @@
             }
 
             if ( is_multisite() ) {
+                $this->switch_to_blog( $current_blog_id );
+
                 $this->do_action( "after_{$name}_cron_multisite" );
             }
         }
@@ -5858,13 +6139,16 @@
          * @author Vova Feldman (@svovaf)
          * @since  2.0.0
          *
-         * @param int[] $blog_ids
+         * @param int[]    $blog_ids
+         * @param int|null $current_blog_id @since 2.2.3. This is passed from the `execute_cron` method and used by the
+         *                                  `_sync_plugin_license` method in order to switch to the previous blog when sending
+         *                                  updates for a single site in case `execute_cron` has switched to a different blog.
          */
-        function _sync_cron_method( array $blog_ids ) {
+        function _sync_cron_method( array $blog_ids, $current_blog_id = null ) {
             if ( $this->is_registered() ) {
                 if ( $this->has_paid_plan() ) {
                     // Initiate background plan sync.
-                    $this->_sync_license( true );
+                    $this->_sync_license( true, false, $current_blog_id );
 
                     if ( $this->is_paying() ) {
                         // Check for premium plugin updates.
@@ -6079,9 +6363,10 @@
          * @author Vova Feldman (@svovaf)
          * @since  2.0.0
          *
-         * @param int[] $blog_ids
+         * @param int[]    $blog_ids
+         * @param int|null $current_blog_id
          */
-        function _sync_install_cron_method( array $blog_ids ) {
+        function _sync_install_cron_method( array $blog_ids, $current_blog_id = null ) {
             if ( $this->is_registered() ) {
                 if ( 1 < count( $blog_ids ) ) {
                     $this->sync_installs( array(), true );
@@ -6185,6 +6470,7 @@
             if ( ! $this->is_addon() &&
                  ! ( ! $this->_is_network_active && fs_is_network_admin() ) &&
                  (
+                     ( true === $this->_storage->require_license_activation ) ||
                      // Not registered nor anonymous.
                      ( ! $this->is_registered() && ! $this->is_anonymous() ) ||
                      // OR, network level and in network upgrade mode.
@@ -6201,14 +6487,18 @@
                          * @since  1.2.2
                          */
                         if ( $this->is_theme()
-                             && $this->is_only_premium()
                              && ! $this->has_settings_menu()
                              && ! isset( $_REQUEST['fs_action'] )
                              && $this->can_activate_previous_theme()
                         ) {
-                            $this->activate_previous_theme();
+                            if ( $this->is_only_premium() ) {
+                                $this->activate_previous_theme();
+                                return;
+                            }
 
-                            return;
+                            if ( true === $this->_storage->require_license_activation ) {
+                                $this->_storage->require_license_activation = false;
+                            }
                         }
 
                         if ( ! fs_is_network_admin() &&
@@ -6308,7 +6598,7 @@
                     $this->_module_type,
                     sprintf( '<b><a href="%s">%s</a></b>',
                         $this->get_activation_url(),
-                        sprintf( $this->get_text_inline( 'Opt in to make "%s" Better!', 'optin-x-now' ), $this->get_plugin_name() )
+                        sprintf( $this->get_text_inline( 'Opt in to make "%s" better!', 'optin-x-now' ), $this->get_plugin_name() )
                     )
                 ),
                 'connect_account',
@@ -6770,6 +7060,20 @@
                 }
             }
 
+            if (
+                $is_premium_version_activation &&
+                (
+                    ( ! $this->is_registered() && $this->is_anonymous() ) ||
+                    (
+                        $this->is_registered() &&
+                        ! $this->is_trial() &&
+                        ! $this->has_features_enabled_license()
+                    )
+                )
+            ) {
+                $this->_storage->require_license_activation = true;
+            }
+
             if ( ! isset( $this->_storage->is_plugin_new_install ) ) {
                 /**
                  * If no previous version of plugin's version exist, it means that it's either
@@ -7039,7 +7343,7 @@
         private function remove_sdk_reference() {
             global $fs_active_plugins;
 
-            foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
+            foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) {
                 if ( $this->_plugin_basename == $data->plugin_path ) {
                     unset( $fs_active_plugins->plugins[ $sdk_path ] );
                     break;
@@ -7221,6 +7525,23 @@
             }
         }
 
+        /**
+         * This is used to ensure that before redirecting to the opt-in page after resetting the anonymous mode or
+         * deleting the account in the network level, the URL of the page to redirect to is correct.
+         *
+         * @author Leo Fajardo (@leorw)
+         *
+         * @since 2.1.3
+         */
+        private function maybe_set_slug_and_network_menu_exists_flag() {
+            if ( ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
+                $this->_menu->set_slug_and_network_menu_exists_flag( $this->_menu->has_menu() ?
+                    $this->_menu->get_slug() :
+                    $this->_slug
+                );
+            }
+        }
+
         /**
          * Clears the anonymous mode and redirects to the opt-in screen.
          *
@@ -7234,6 +7555,8 @@
 
             $this->reset_anonymous_mode( fs_is_network_admin() );
 
+            $this->maybe_set_slug_and_network_menu_exists_flag();
+
             fs_redirect( $this->get_activation_url() );
         }
 
@@ -7673,39 +7996,43 @@
             $include_plugins = true,
             $include_themes = true
         ) {
-            /**
-             * @since 1.1.8 Also send plugin updates.
-             */
-            if ( $include_plugins && ! isset( $override['plugins'] ) ) {
-                $plugins = $this->get_plugins_data_for_api();
-                if ( ! empty( $plugins ) ) {
-                    $override['plugins'] = $plugins;
+            if ( ! defined( 'WP_FS__TRACK_PLUGINS' ) || false !== WP_FS__TRACK_PLUGINS ) {
+                /**
+                 * @since 1.1.8 Also send plugin updates.
+                 */
+                if ( $include_plugins && ! isset( $override['plugins'] ) ) {
+                    $plugins = $this->get_plugins_data_for_api();
+                    if ( ! empty( $plugins ) ) {
+                        $override['plugins'] = $plugins;
+                    }
                 }
             }
-            /**
-             * @since 1.1.8 Also send themes updates.
-             */
-            if ( $include_themes && ! isset( $override['themes'] ) ) {
-                $themes = $this->get_themes_data_for_api();
-                if ( ! empty( $themes ) ) {
-                    $override['themes'] = $themes;
+
+            if ( ! defined( 'WP_FS__TRACK_THEMES' ) || false !== WP_FS__TRACK_THEMES ) {
+                /**
+                 * @since 1.1.8 Also send themes updates.
+                 */
+                if ( $include_themes && ! isset( $override['themes'] ) ) {
+                    $themes = $this->get_themes_data_for_api();
+                    if ( ! empty( $themes ) ) {
+                        $override['themes'] = $themes;
+                    }
                 }
             }
 
-            return array_merge( array(
-                'version'                      => $this->get_plugin_version(),
-                'is_premium'                   => $this->is_premium(),
-                'language'                     => get_bloginfo( 'language' ),
-                'charset'                      => get_bloginfo( 'charset' ),
-                'platform_version'             => get_bloginfo( 'version' ),
-                'sdk_version'                  => $this->version,
-                'programming_language_version' => phpversion(),
-                'title'                        => get_bloginfo( 'name' ),
-                'url'                          => get_site_url(),
+            $versions = $this->get_versions();
+
+            return array_merge( $versions, array(
+                'version'         => $this->get_plugin_version(),
+                'is_premium'      => $this->is_premium(),
+                'language'        => get_bloginfo( 'language' ),
+                'charset'         => get_bloginfo( 'charset' ),
+                'title'           => get_bloginfo( 'name' ),
+                'url'             => get_site_url(),
                 // Special params.
-                'is_active'                    => true,
-                'is_disconnected'              => $this->is_tracking_prohibited(),
-                'is_uninstalled'               => false,
+                'is_active'       => true,
+                'is_disconnected' => $this->is_tracking_prohibited(),
+                'is_uninstalled'  => false,
             ), $override );
         }
 
@@ -7750,12 +8077,10 @@
 //            }
 
             // Common properties.
-            $common = array_merge( array(
-                'version'                      => $this->get_plugin_version(),
-                'is_premium'                   => $this->is_premium(),
-                'sdk_version'                  => $this->version,
-                'programming_language_version' => phpversion(),
-                'platform_version'             => get_bloginfo( 'version' ),
+            $versions = $this->get_versions();
+            $common   = array_merge( $versions, array(
+                'version'    => $this->get_plugin_version(),
+                'is_premium' => $this->is_premium(),
             ), $override );
 
 
@@ -7909,28 +8234,56 @@
                 $params = $this->get_install_diff_for_api( $check_properties, $this->_site, $override );
             }
 
-            if ( 0 < count( $params ) ) {
+            $keepalive_only_update = false;
+            if ( empty( $params ) ) {
+                $keepalive_only_update = $this->should_send_keepalive_update();
+
+                if ( ! $keepalive_only_update ) {
+                    /**
+                     * There are no updates to send including keepalive.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since 2.2.3
+                     */
+                    return false;
+                }
+            }
+
+            if ( ! $keepalive_only_update ) {
+                /**
+                 * Do not update the last install sync timestamp after a keepalive-only call since there were no actual
+                 * updates sent.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.3
+                 */
                 if ( ! is_multisite() ) {
                     // Update last install sync timestamp.
                     $this->set_cron_execution_timestamp( 'install_sync' );
                 }
 
                 $params['uid'] = $this->get_anonymous_id();
+            }
 
-                // Send updated values to FS.
-                $site = $this->get_api_site_scope()->call( '/', 'put', $params );
+            $this->set_keepalive_timestamp();
 
-                if ( $this->is_api_result_entity( $site ) ) {
-                    if ( ! is_multisite() ) {
-                        // I successfully sent install update, clear scheduled sync if exist.
-                        $this->clear_install_sync_cron();
-                    }
-                }
+            // Send updated values to FS.
+            $site = $this->get_api_site_scope()->call( '/', 'put', $params );
 
-                return $site;
+            if ( ! $keepalive_only_update && $this->is_api_result_entity( $site ) ) {
+                /**
+                 * Do not clear scheduled sync after a keepalive-only call since there were no actual updates sent.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.3
+                 */
+                if ( ! is_multisite() ) {
+                    // I successfully sent install update, clear scheduled sync if exist.
+                    $this->clear_install_sync_cron();
+                }
             }
 
-            return false;
+            return $site;
         }
 
         /**
@@ -7949,24 +8302,70 @@
 
             $installs_data = $this->get_installs_data_for_api( $override, ! $flush );
 
+            $keepalive_only_update = false;
             if ( empty( $installs_data ) ) {
-                return false;
+                /**
+                 * Pass `true` to use the network level storage since the update is for many installs.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.3
+                 */
+                $keepalive_only_update = $this->should_send_keepalive_update( true );
+
+                if ( ! $keepalive_only_update ) {
+                    /**
+                     * There are no updates to send including keepalive.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since 2.2.3
+                     */
+                    return false;
+                }
+            }
+
+            if ( ! $keepalive_only_update ) {
+                // Update last install sync timestamp if there were actual updates sent (i.e., not a keepalive-only call).
+                $this->set_cron_execution_timestamp( 'install_sync' );
             }
 
-            // Update last install sync timestamp.
-            $this->set_cron_execution_timestamp( 'install_sync' );
+            /**
+             * Pass `true` to use the network level storage since the update is for many installs.
+             *
+             * @author Leo Fajardo (@leorw)
+             * @since 2.2.3
+             */
+            $this->set_keepalive_timestamp( true );
 
             // Send updated values to FS.
             $result = $this->get_api_user_scope()->call( "/plugins/{$this->_plugin->id}/installs.json", 'put', $installs_data );
 
-            if ( $this->is_api_result_object( $result, 'installs' ) ) {
-                // I successfully sent installs update, clear scheduled sync if exist.
+            if ( ! $keepalive_only_update && $this->is_api_result_object( $result, 'installs' ) ) {
+                // I successfully sent installs update (there was an actual update sent and it's not just a keepalive-only call), clear scheduled sync if exist.
                 $this->clear_install_sync_cron();
             }
 
             return $result;
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         *
+         * @param bool|null $use_network_level_storage
+         *
+         * @return bool
+         */
+        private function should_send_keepalive_update( $use_network_level_storage = null ) {
+            $keepalive_timestamp = $this->_storage->get( 'keepalive_timestamp', 0, $use_network_level_storage );
+
+            if ( $keepalive_timestamp < ( time() - WP_FS__TIME_WEEK_IN_SEC ) ) {
+                // If updated more than 7 days ago, trigger a keepalive and update the time it was triggered.
+                return true;
+            } else {
+                // If updated 7 days ago or less, "flip a coin", if the value is 7 trigger a keepalive and update the last time it was triggered.
+                return ( 7 == rand( 1, 7 ) );
+            }
+        }
+
         /**
          * Update install only if changed.
          *
@@ -8171,14 +8570,59 @@
             // @todo Decide if we want to delete plugin information from db.
         }
 
+        /**
+         * Set the basename of the current product and hook _activate_plugin_event_hook() to the activation action.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.2.1
+         *
+         * @param string $is_premium
+         * @param string $caller
+         *
+         * @return string
+         */
+        function set_basename( $is_premium, $caller ) {
+            $basename = plugin_basename( $caller );
+
+            $current_basename = $is_premium ?
+                $this->_premium_plugin_basename :
+                $this->_free_plugin_basename;
+
+            if ( $current_basename == $basename ) {
+                // Basename value set correctly.
+                return;
+            }
+
+            if ( $is_premium ) {
+                $this->_premium_plugin_basename = $basename;
+            } else {
+                $this->_free_plugin_basename = $basename;
+            }
+
+            $plugin_dir = dirname( $this->_plugin_dir_path ) . '/';
+
+            register_activation_hook(
+                $plugin_dir . $basename,
+                array( &$this, '_activate_plugin_event_hook' )
+            );
+        }
+
         /**
          * @author Vova Feldman (@svovaf)
          * @since  1.1.1
+         * @since  2.2.1 If the context product is in its premium version, use the current module's basename, even if it was renamed.
          *
          * @return string
          */
         function premium_plugin_basename() {
-            return "{$this->_slug}-premium/" . basename( $this->_free_plugin_basename );
+            if ( ! isset( $this->_premium_plugin_basename ) ) {
+                $this->_premium_plugin_basename = $this->is_premium() ?
+                    // The product is premium, so use the current basename.
+                    $this->_plugin_basename :
+                    $this->get_premium_slug() . '/' . basename( $this->_free_plugin_basename );
+            }
+
+            return $this->_premium_plugin_basename;
         }
 
         /**
@@ -8317,13 +8761,29 @@
         }
 
         /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @return string
+         */
+        function get_premium_slug() {
+            return is_object( $this->_plugin ) ?
+                $this->_plugin->premium_slug :
+                "{$this->_slug}-premium";
+        }
+
+        /**
+         * Retrieve the desired folder name for the product.
+         *
          * @author Vova Feldman (@svovaf)
          * @since  1.2.1.7
          *
          * @return string Plugin slug.
          */
         function get_target_folder_name() {
-            return $this->_slug . ( $this->can_use_premium_code() ? '-premium' : '' );
+            return $this->can_use_premium_code() ?
+                $this->_plugin->premium_slug :
+                $this->_slug;
         }
 
         /**
@@ -8394,31 +8854,63 @@
          * @author Vova Feldman (@svovaf)
          * @since  1.0.9
          *
-         * @return string
+         * @param string|bool $premium_suffix
+         *
+         * @return string
+         */
+        function get_plugin_name( $premium_suffix = false ) {
+            $this->_logger->entrance();
+
+            /**
+             * This `if-else` can be squeezed into a single `if` but I intentionally split it for code readability.
+             *
+             * @author Vova Feldman
+             */
+            if ( ! isset( $this->_plugin_name ) ) {
+                // Name is not yet set.
+                $this->set_name( $premium_suffix );
+            } else if (
+                ! empty( $premium_suffix ) &&
+                ( ! is_object( $this->_plugin ) || $this->_plugin->premium_suffix !== $premium_suffix )
+            ) {
+                // Name is already set, but there's a change in the premium suffix.
+                $this->set_name( $premium_suffix );
+            }
+
+            return $this->_plugin_name;
+        }
+
+        /**
+         * Calculates and stores the product's name. This helper function was created specifically for get_plugin_name() just to make the code clearer.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.2.1
+         *
+         * @param string $premium_suffix
          */
-        function get_plugin_name() {
-            $this->_logger->entrance();
+        private function set_name( $premium_suffix = '' ) {
+            $plugin_data = $this->get_plugin_data();
 
-            if ( ! isset( $this->_plugin_name ) ) {
-                $plugin_data = $this->get_plugin_data();
+            // Get name.
+            $this->_plugin_name = $plugin_data['Name'];
 
-                // Get name.
-                $this->_plugin_name = $plugin_data['Name'];
+            if ( is_string( $premium_suffix ) ) {
+                $premium_suffix = trim( $premium_suffix );
 
-                // Check if plugin name contains "(Premium)" suffix and remove it.
-                $suffix     = ' (premium)';
-                $suffix_len = strlen( $suffix );
+                if ( ! empty( $premium_suffix ) ) {
+                    // Check if plugin name contains " (premium)" or a custom suffix and remove it.
+                    $suffix     = ( ' ' . strtolower( $premium_suffix ) );
+                    $suffix_len = strlen( $suffix );
 
-                if ( strlen( $plugin_data['Name'] ) > $suffix_len &&
-                     $suffix === substr( strtolower( $plugin_data['Name'] ), - $suffix_len )
-                ) {
-                    $this->_plugin_name = substr( $plugin_data['Name'], 0, - $suffix_len );
+                    if ( strlen( $plugin_data['Name'] ) > $suffix_len &&
+                         $suffix === substr( strtolower( $plugin_data['Name'] ), - $suffix_len )
+                    ) {
+                        $this->_plugin_name = substr( $plugin_data['Name'], 0, - $suffix_len );
+                    }
                 }
-
-                $this->_logger->departure( 'Name = ' . $this->_plugin_name );
             }
 
-            return $this->_plugin_name;
+            $this->_logger->departure( 'Name = ' . $this->_plugin_name );
         }
 
         /**
@@ -9124,7 +9616,16 @@
          * @return bool
          */
         function is_premium() {
-            return $this->_plugin->is_premium;
+            /**
+             * `$this->_plugin` will be `false` when `is_activation_mode` calls this method directly from the
+             * `_register_hooks` method.
+             *
+             * @author Leo Fajardo (@leorw)
+             * @since 2.2.3
+             */
+            return is_object( $this->_plugin ) ?
+                $this->_plugin->is_premium :
+                false;
         }
 
         /**
@@ -10514,6 +11015,56 @@
             fs_require_template( 'forms/resend-key.php', $vars );
         }
 
+        /**
+         * Displays a subscription cancellation dialog box when the user clicks on the "Deactivate License"
+         * link on the "Account" page or deactivates a plugin and there's an active subscription that is
+         * either associated with a non-lifetime single-site license or non-lifetime multisite license that
+         * is only activated on a single production site.
+         *
+         * @author Leo Fajardo (@leorw)
+         * @since  2.2.1
+         *
+         * @param bool $is_license_deactivation
+         */
+        function _maybe_add_subscription_cancellation_dialog_box( $is_license_deactivation = false ) {
+            if ( fs_is_network_admin() ) {
+                // Subscription cancellation dialog box is currently not supported for multisite networks.
+                return;
+            }
+
+            $license = $this->_get_license();
+
+            /**
+             * If the installation is associated with a non-lifetime license, which is either a single-site or only activated on a single production site (or zero), and connected to an active subscription, suggest the customer to cancel the subscription upon deactivation.
+             *
+             * @author Leo Fajardo (@leorw) (Comment added by Vova Feldman @svovaf)
+             * @since 2.2.1
+             */
+            if ( ! is_object( $license ) ||
+                $license->is_lifetime() ||
+                ( ! $license->is_single_site() && $license->activated > 1 )
+            ) {
+                return;
+            }
+
+            /**
+             * @var FS_Subscription $subscription
+             */
+            $subscription = $this->_get_subscription( $license->id );
+            if ( ! is_object( $subscription ) || ! $subscription->is_active() ) {
+                return;
+            }
+
+            $vars = array(
+                'id'                      => $this->_module_id,
+                'license'                 => $license,
+                'has_trial'               => $this->is_paid_trial(),
+                'is_license_deactivation' => $is_license_deactivation,
+            );
+
+            fs_require_template( 'forms/subscription-cancellation.php', $vars );
+        }
+
         /**
          * @author Leo Fajardo (@leorw)
          * @since  2.0.2
@@ -10698,7 +11249,7 @@
                         'license_key' => $fs->apply_filters( 'license_key', $license_key )
                     );
 
-                    $install = $api->call( '/', 'put', $params );
+                    $install = $api->call( $fs->add_show_pending( '/' ), 'put', $params );
 
                     if ( FS_Api::is_api_error( $install ) ) {
                         $error = FS_Api::is_api_error_object( $install ) ?
@@ -10791,6 +11342,10 @@
                 }
             }
 
+            if ( false === $error && true === $this->_storage->require_license_activation ) {
+                $this->_storage->require_license_activation = false;
+            }
+
             $result = array(
                 'success' => ( false === $error )
             );
@@ -11045,6 +11600,34 @@
         static function get_current_page() {
             if ( ! isset( self::$_pagenow ) ) {
                 global $pagenow;
+                if ( empty( $pagenow ) && is_admin() && is_multisite() ) {
+                    /**
+                     * It appears that `$pagenow` is not yet initialized in some network admin pages when this method
+                     * is called, so initialize it here using some pieces of code from `wp-includes/vars.php`.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since 2.2.3
+                     */
+                    if ( is_network_admin() ) {
+                        preg_match( '#/wp-admin/network/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
+                    } else if ( is_user_admin() ) {
+                        preg_match( '#/wp-admin/user/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
+                    } else {
+                        preg_match( '#/wp-admin/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
+                    }
+
+                    $pagenow = $self_matches[1];
+                    $pagenow = trim( $pagenow, '/' );
+                    $pagenow = preg_replace( '#\?.*?$#', '', $pagenow );
+                    if ( '' === $pagenow || 'index' === $pagenow || 'index.php' === $pagenow ) {
+                        $pagenow = 'index.php';
+                    } else {
+                        preg_match( '#(.*?)(/|$)#', $pagenow, $self_matches );
+                        $pagenow = strtolower( $self_matches[1] );
+                        if ( '.php' !== substr($pagenow, -4, 4) )
+                            $pagenow .= '.php'; // for Options +Multiviews: /wp-admin/themes/index.php (themes.php is queried)
+                    }
+                }
 
                 self::$_pagenow = $pagenow;
 
@@ -11076,6 +11659,16 @@
             return ( 'plugins.php' === self::get_current_page() );
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since  2.2.3
+         *
+         * @return bool
+         */
+        static function is_plugin_install_page() {
+            return ( 'plugin-install.php' === self::get_current_page() );
+        }
+
         /**
          * @author Leo Fajardo (@leorw)
          * @since  2.0.2
@@ -11343,6 +11936,40 @@
             return $this->get_upgrade_url( WP_FS__PERIOD_ANNUALLY, true );
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.1.4
+         *
+         * @param string $new_version
+         *
+         * @return string
+         */
+        function version_upgrade_checkout_link( $new_version ) {
+            if ( ! is_object( $this->_license ) ) {
+                $url = $this->pricing_url();
+
+                $purchase_license_text = $this->get_text_inline( 'Buy a license now', 'buy-license-now' );
+            } else {
+                $subscription = $this->_get_subscription( $this->_license->id );
+
+                $url = $this->checkout_url(
+                    is_object( $subscription ) ?
+                        ( 1 == $subscription->billing_cycle ? WP_FS__PERIOD_MONTHLY : WP_FS__PERIOD_ANNUALLY ) :
+                        WP_FS__PERIOD_LIFETIME,
+                    false,
+                    array( 'licenses' => $this->_license->quota )
+                );
+
+                $purchase_license_text = $this->get_text_inline( 'Renew your license now', 'renew-license-now' );
+            }
+
+            return sprintf(
+                $this->get_text_inline( '%s to access version %s security & feature updates, and support.', 'x-for-updates-and-support' ),
+                sprintf( '<a href="%s">%s</a>', $url, $purchase_license_text ),
+                $new_version
+            );
+        }
+
         /**
          * Plugin's pricing URL.
          *
@@ -11977,7 +12604,13 @@
              * @author Vova Feldman (@svovaf)
              */
             $args = array(
-                'public'   => 1,
+                /**
+                 * Commented out in order to handle the migration of site options whether the site is public or not.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                // 'public'   => 1,
                 'archived' => 0,
                 'mature'   => 0,
                 'spam'     => 0,
@@ -12173,7 +12806,7 @@
 
             self::$_accounts->set_site_blog_context( $blog_id );
             $this->_storage->set_site_blog_context( $blog_id );
-            $this->_storage->set_network_active( true, $this->is_delegated_connection( $blog_id ) );
+            $this->_storage->set_network_active( $this->_is_network_active, $this->is_delegated_connection( $blog_id ) );
 
             $this->_site = is_object( $install ) ?
                 $install :
@@ -13122,6 +13755,12 @@
                 }
             }
 
+            if ( true === $this->_storage->require_license_activation &&
+                ! fs_request_get_bool( 'require_license', true )
+            ) {
+                $this->_storage->require_license_activation = false;
+            }
+
             if ( $this->is_theme() ) {
                 $this->_register_account_hooks();
             }
@@ -13187,6 +13826,30 @@
 
         }
 
+        /**
+         * Get a sanitized array with the WordPress version, SDK version, and PHP version.
+         * Each version is trimmed after the 16th char.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.2.1
+         *
+         * @return array
+         */
+        private function get_versions() {
+            $versions = array();
+            $versions['platform_version']             = get_bloginfo( 'version' );
+            $versions['sdk_version']                  = $this->version;
+            $versions['programming_language_version'] = phpversion();
+
+            foreach ( $versions as $k => $version ) {
+                if ( is_string( $versions[ $k ] ) && ! empty( $versions[ $k ] ) ) {
+                    $versions[ $k ] = substr( $versions[ $k ], 0, 16 );
+                }
+            }
+
+            return $versions;
+        }
+
         /**
          * @author Vova Feldman (@svovaf)
          * @since  1.1.7.4
@@ -13208,7 +13871,9 @@
                 // Return to the module's main page.
                 $this->get_after_activation_url( 'after_connect_url', array( 'fs_action' => $activation_action ) );
 
-            $params = array(
+            $versions = $this->get_versions();
+
+            $params = array_merge( $versions, array(
                 'user_firstname'               => $current_user->user_firstname,
                 'user_lastname'                => $current_user->user_lastname,
                 'user_nickname'                => $current_user->user_nicename,
@@ -13223,13 +13888,10 @@
                     'account',
                     array( 'fs_action' => 'sync_user' )
                 ), 'sync_user' ),
-                'platform_version'             => get_bloginfo( 'version' ),
-                'sdk_version'                  => $this->version,
-                'programming_language_version' => phpversion(),
                 'is_premium'                   => $this->is_premium(),
                 'is_active'                    => true,
                 'is_uninstalled'               => false,
-            );
+            ) );
 
             if ( true === $network_level_or_blog_id ) {
                 if ( ! isset( $override_with['sites'] ) ) {
@@ -13415,7 +14077,7 @@
                 'timeout' => WP_FS__DEBUG_SDK ? 60 : 30,
             );
 
-            $url = WP_FS__ADDRESS . '/action/service/user/install/';
+            $url = $this->add_show_pending( WP_FS__ADDRESS . '/action/service/user/install/' );
             $response = self::safe_remote_post( $url, $request );
 
             if ( is_wp_error( $response ) ) {
@@ -14572,7 +15234,7 @@
 
             $hook = false;
 
-            if ( ! $this->_menu->has_menu() ) {
+            if ( ! $this->has_settings_menu() ) {
                 // Add the opt-in page without a menu item.
                 $hook = FS_Admin_Menu_Manager::add_subpage(
                     null,
@@ -14920,15 +15582,25 @@
                 }
             }
 
-            if ( 0 < count( $this->_menu_items ) ) {
-                if ( ! $this->_menu->is_top_level() ) {
-                    fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
+            if ( ! $is_activation_mode || ( true !== $this->_storage->require_license_activation ) ) {
+                /**
+                 * Add the other menu items if there are any when not in activation mode or license activation is not
+                 * required (license activation is required for registered or anonymous users after activating the
+                 * premium version when the site is not in trial mode or there's no active valid license).
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                if ( 0 < count( $this->_menu_items ) ) {
+                    if ( ! $this->_menu->is_top_level() ) {
+                        fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
 
-                    // Append submenu items right after the plugin's submenu item.
-                    $this->order_sub_submenu_items();
-                } else {
-                    // Append submenu items.
-                    $this->embed_submenu_items();
+                        // Append submenu items right after the plugin's submenu item.
+                        $this->order_sub_submenu_items();
+                    } else {
+                        // Append submenu items.
+                        $this->embed_submenu_items();
+                    }
                 }
             }
         }
@@ -14954,16 +15626,6 @@
 
             foreach ( $this->_menu_items as $priority => $items ) {
                 foreach ( $items as $item ) {
-                    if ( $item['show_submenu'] && $is_first_submenu_item ) {
-                        if ( $this->_is_network_active && ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
-                            $item['menu_slug'] = '';
-
-                            $this->_menu->override_menu_item( $item['render_function'] );
-                        }
-
-                        $is_first_submenu_item = false;
-                    }
-
                     $capability = ( ! empty( $item['capability'] ) ? $item['capability'] : $top_level_menu_capability );
 
                     $menu_item = sprintf(
@@ -14974,12 +15636,13 @@
                         $item['menu_title']
                     );
 
-                    $menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
+                    $top_level_menu_slug = $this->get_top_level_menu_slug();
+                    $menu_slug           = $this->_menu->get_slug( $item['menu_slug'] );
 
                     if ( ! isset( $item['url'] ) ) {
                         $hook = FS_Admin_Menu_Manager::add_subpage(
                             $item['show_submenu'] ?
-                                $this->get_top_level_menu_slug() :
+                                $top_level_menu_slug :
                                 null,
                             $item['page_title'],
                             $menu_item,
@@ -14994,7 +15657,7 @@
                     } else {
                         FS_Admin_Menu_Manager::add_subpage(
                             $item['show_submenu'] ?
-                                $this->get_top_level_menu_slug() :
+                                $top_level_menu_slug :
                                 null,
                             $item['page_title'],
                             $menu_item,
@@ -15003,6 +15666,24 @@
                             array( $this, '' )
                         );
                     }
+
+                    if ( $item['show_submenu'] && $is_first_submenu_item ) {
+                        if ( $this->_is_network_active && ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
+                            /**
+                             * If the top-level menu has been dynamically created, remove the first submenu item that
+                             * WordPress automatically creates when there's no submenu item whose slug matches the
+                             * parent's. In the following example, the `Awesome Plugin` submenu item will be removed.
+                             *
+                             * Awesome Plugin
+                             *     - Awesome Plugin <-- we want to remove this since there's no real setting page for the top-level
+                             *
+                             * @author Leo Fajardo (@leorw)
+                             */
+                            remove_submenu_page( $top_level_menu_slug, $top_level_menu_slug );
+                        }
+
+                        $is_first_submenu_item = false;
+                    }
                 }
             }
         }
@@ -16245,11 +16926,12 @@
          * @param bool|number $plugin_id
          * @param bool        $flush      Since 1.1.7.3
          * @param int         $expiration Since 1.2.2.7
+         * @param bool|string $newer_than Since 2.2.1
          *
          * @return object|false New plugin tag info if exist.
          */
-        private function _fetch_newer_version( $plugin_id = false, $flush = true, $expiration = WP_FS__TIME_24_HOURS_IN_SEC ) {
-            $latest_tag = $this->_fetch_latest_version( $plugin_id, $flush, $expiration );
+        private function _fetch_newer_version( $plugin_id = false, $flush = true, $expiration = WP_FS__TIME_24_HOURS_IN_SEC, $newer_than = false ) {
+            $latest_tag = $this->_fetch_latest_version( $plugin_id, $flush, $expiration, $newer_than );
 
             if ( ! is_object( $latest_tag ) ) {
                 return false;
@@ -16274,17 +16956,18 @@
          * @param bool|number $plugin_id
          * @param bool        $flush      Since 1.1.7.3
          * @param int         $expiration Since 1.2.2.7
+         * @param bool|string $newer_than Since 2.2.1
          *
          * @return bool|FS_Plugin_Tag
          */
-        function get_update( $plugin_id = false, $flush = true, $expiration = WP_FS__TIME_24_HOURS_IN_SEC ) {
+        function get_update( $plugin_id = false, $flush = true, $expiration = WP_FS__TIME_24_HOURS_IN_SEC, $newer_than = false ) {
             $this->_logger->entrance();
 
             if ( ! is_numeric( $plugin_id ) ) {
                 $plugin_id = $this->_plugin->id;
             }
 
-            $this->check_updates( true, $plugin_id, $flush, $expiration );
+            $this->check_updates( true, $plugin_id, $flush, $expiration, $newer_than );
             $updates = $this->get_all_updates();
 
             return isset( $updates[ $plugin_id ] ) && is_object( $updates[ $plugin_id ] ) ? $updates[ $plugin_id ] : false;
@@ -16437,8 +17120,11 @@
          *                                     the admin.
          * @param bool $is_context_single_site @since 2.0.0. This is used when syncing a license for a single install from the
          *                                     network-level "Account" page.
+         * @param int|null $current_blog_id    @since 2.2.3. This is passed from the `execute_cron` method and used by the
+         *                                     `_sync_plugin_license` method in order to switch to the previous blog when sending
+         *                                      updates for a single site in case `execute_cron` has switched to a different blog.
          */
-        private function _sync_license( $background = false, $is_context_single_site = false ) {
+        private function _sync_license( $background = false, $is_context_single_site = false, $current_blog_id = null ) {
             $this->_logger->entrance();
 
             $plugin_id = fs_request_get( 'plugin_id', $this->get_id() );
@@ -16448,7 +17134,7 @@
             if ( $is_addon_sync ) {
                 $this->_sync_addon_license( $plugin_id, $background );
             } else {
-                $this->_sync_plugin_license( $background, true, $is_context_single_site );
+                $this->_sync_plugin_license( $background, true, $is_context_single_site, $current_blog_id );
             }
 
             $this->do_action( 'after_account_plan_sync', $this->get_plan_name() );
@@ -16538,11 +17224,15 @@
          * @param bool $is_context_single_site Since 2.0.0. This is used when sending an update for a single install and
          *                                     syncing its license from the network-level "Account" page (e.g.: after
          *                                     activating a license only for the single install).
+         * @param int|null $current_blog_id    Since 2.2.3. This is passed from the `execute_cron` method so that it
+         *                                     can be used here to switch to the previous blog in case `execute_cron`
+         *                                     has switched to a different blog.
          */
         private function _sync_plugin_license(
             $background = false,
             $send_installs_update = true,
-            $is_context_single_site = false
+            $is_context_single_site = false,
+            $current_blog_id = null
         ) {
             $this->_logger->entrance();
 
@@ -16559,6 +17249,16 @@
                  * @todo This line will execute install sync on a daily basis, even if running the free version (for opted-in users). The reason we want to keep it that way is for cases when the user was a paying customer, then there was a failure in subscription payment, and then after some time the payment was successful. This could be heavily optimized. For example, we can skip the $flush if the current install was never associated with a paid version.
                  */
                 if ( $is_site_level_sync ) {
+                    /**
+                     * Switch to the previous blog since `execute_cron` may have switched to a different blog.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since 2.2.3
+                     */
+                    if ( is_numeric( $current_blog_id ) ) {
+                        $this->switch_to_blog( $current_blog_id );
+                    }
+
                     $result   = $this->send_install_update( array(), true );
                     $is_valid = $this->is_api_result_entity( $result );
                 } else {
@@ -17068,6 +17768,18 @@
             $api     = $this->get_api_site_scope();
             $license = $api->call( "/licenses/{$this->_site->license_id}.json", 'delete' );
 
+            $this->handle_license_deactivation_result( $license, $hmm_text, $show_notice );
+        }
+
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @param FS_Plugin_License $license
+         * @param bool|string       $hmm_text
+         * @param bool              $show_notice
+         */
+        private function handle_license_deactivation_result( $license, $hmm_text = false, $show_notice = true ) {
             if ( isset( $license->error ) ) {
                 $this->_admin_notices->add(
                     $this->get_text_inline( 'It looks like the license deactivation failed.', 'license-deactivation-failed-message' ) . '<br> ' .
@@ -17088,7 +17800,7 @@
                 }
             }
 
-            // Updated site plan to default.
+            // Update site plan to default.
             $this->_sync_plans();
             $this->_site->plan_id = $this->_plans[0]->id;
             // Unlink license from site.
@@ -17115,13 +17827,17 @@
          * @author Vova Feldman (@svovaf)
          * @since  1.0.4
          *
+         * @return object
+         *
          * @uses   FS_Api
          */
         private function _downgrade_site() {
             $this->_logger->entrance();
 
+            $deactivate_license = fs_request_get_bool( 'deactivate_license' );
+
             $api  = $this->get_api_site_scope();
-            $site = $api->call( 'downgrade.json', 'put' );
+            $site = $api->call( 'downgrade.json', 'put', array( 'deactivate_license' => $deactivate_license ) );
 
             $plan_downgraded = false;
             $plan            = false;
@@ -17139,29 +17855,47 @@
                                    ( is_object( $subscription ) && ! isset( $subscription->error ) && ! $subscription->is_active() );
             } else {
                 // handle different error cases.
-
+                $this->handle_license_deactivation_result(
+                    $site,
+                    $this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...'
+                );
             }
 
-            if ( $plan_downgraded ) {
-                // Remove previous sticky message about upgrade (if exist).
-                $this->_admin_notices->remove_sticky( 'plan_upgraded' );
-
-                $this->_admin_notices->add(
-                    sprintf( $this->get_text_inline( 'Your plan was successfully downgraded. Your %s plan license will expire in %s.', 'plan-x-downgraded-message' ),
-                        $plan->title,
-                        human_time_diff( time(), strtotime( $this->_license->expiration ) )
+            if ( ! $plan_downgraded ) {
+                return (object) array(
+                    'error' => (object) array(
+                        'message' => $this->get_text_inline( 'Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes.', 'subscription-cancellation-failure-message' )
                     )
                 );
+            }
 
-                // Store site updates.
-                $this->_store_site();
-            } else {
-                $this->_admin_notices->add(
-                    $this->get_text_inline( 'Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes.', 'plan-downgraded-failure-message' ),
-                    $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
-                    'error'
-                );
+            // Remove previous sticky message about upgrade (if exist).
+            $this->_admin_notices->remove_sticky( 'plan_upgraded' );
+
+            $this->_admin_notices->add(
+                sprintf( $this->get_text_inline( 'Your subscription was successfully cancelled. Your %s plan license will expire in %s.', 'plan-x-downgraded-message' ),
+                    $plan->title,
+                    human_time_diff( time(), strtotime( $this->_license->expiration ) )
+                )
+            );
+
+            // Store site updates.
+            $this->_store_site();
+
+            if ( $deactivate_license &&
+                 ! FS_Plugin_License::is_valid_id( $site->license_id )
+            ) {
+                if ( $this->_site->is_localhost() ) {
+                    $this->_license->activated_local = max( 0, $this->_license->activated_local - 1 );
+                } else {
+                    $this->_license->activated = max( 0, $this->_license->activated - 1 );
+                }
+
+                // Handle successful license deactivation result.
+                $this->handle_license_deactivation_result( $this->_license );
             }
+
+            return $site;
         }
 
         /**
@@ -17268,22 +18002,19 @@
          * @author Vova Feldman (@svovaf)
          * @since  1.0.9
          *
+         * @return object
+         *
          * @uses   FS_Api
          */
         private function _cancel_trial() {
             $this->_logger->entrance();
 
-            // Alias.
-            $oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
-
             if ( ! $this->is_trial() ) {
-                $this->_admin_notices->add(
-                    $this->get_text_inline( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)', 'trial-cancel-no-trial-message' ),
-                    $oops_text,
-                    'error'
+                return (object) array(
+                    'error' => (object) array(
+                        'message' => $this->get_text_inline( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)', 'trial-cancel-no-trial-message' )
+                    )
                 );
-
-                return;
             }
 
             $trial_plan = $this->get_trial_plan();
@@ -17314,31 +18045,33 @@
                 // @todo handle different error cases.
             }
 
-            if ( $trial_cancelled ) {
-                // Remove previous sticky messages about upgrade or trial (if exist).
-                $this->_admin_notices->remove_sticky( array(
-                    'trial_started',
-                    'trial_promotion',
-                    'plan_upgraded',
-                ) );
+            if ( ! $trial_cancelled ) {
+                return (object) array(
+                    'error' => (object) array(
+                        'message' => $this->get_text_inline( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.', 'trial-cancel-failure-message' )
+                    )
+                );
+            }
 
-                // Store site updates.
-                $this->_store_site();
+            // Remove previous sticky messages about upgrade or trial (if exist).
+            $this->_admin_notices->remove_sticky( array(
+                'trial_started',
+                'trial_promotion',
+                'plan_upgraded',
+            ) );
 
-                if ( ! $this->is_addon() ||
-                     ! $this->deactivate_premium_only_addon_without_license( true )
-                ) {
-                    $this->_admin_notices->add(
-                        sprintf( $this->get_text_inline( 'Your %s free trial was successfully cancelled.', 'trial-cancel-message' ), $trial_plan->title )
-                    );
-                }
-            } else {
+            // Store site updates.
+            $this->_store_site();
+
+            if ( ! $this->is_addon() ||
+                 ! $this->deactivate_premium_only_addon_without_license( true )
+            ) {
                 $this->_admin_notices->add(
-                    $this->get_text_inline( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.', 'trial-cancel-failure-message' ),
-                    $oops_text,
-                    'error'
+                    sprintf( $this->get_text_inline( 'Your %s free trial was successfully cancelled.', 'trial-cancel-message' ), $trial_plan->title )
                 );
             }
+
+            return $site;
         }
 
         /**
@@ -17409,15 +18142,19 @@
          * @since  1.0.4
          *
          * @param bool|number $addon_id
-         * @param bool        $flush      Since 1.1.7.3
-         * @param int         $expiration Since 1.2.2.7
+         * @param bool        $flush        Since 1.1.7.3
+         * @param int         $expiration   Since 1.2.2.7
+         * @param bool|string $newer_than   Since 2.2.1
+         * @param bool|string $fetch_readme Since 2.2.1
          *
          * @return object|false Plugin latest tag info.
          */
         function _fetch_latest_version(
             $addon_id = false,
             $flush = true,
-            $expiration = WP_FS__TIME_24_HOURS_IN_SEC
+            $expiration = WP_FS__TIME_24_HOURS_IN_SEC,
+            $newer_than = false,
+            $fetch_readme = true
         ) {
             $this->_logger->entrance();
 
@@ -17468,8 +18205,18 @@
                 $this->switch_to_blog( $switch_to_blog_id );
             }
 
+            $latest_version_endpoint = $this->_get_latest_version_endpoint( $addon_id, 'json' );
+
+            if ( ! empty( $newer_than ) ) {
+                $latest_version_endpoint = add_query_arg( 'newer_than', $newer_than, $latest_version_endpoint );
+            }
+
+            if ( true === $fetch_readme ) {
+                $latest_version_endpoint = add_query_arg( 'readme', 'true', $latest_version_endpoint );
+            }
+
             $tag = $this->get_api_site_or_plugin_scope()->get(
-                $this->_get_latest_version_endpoint( $addon_id, 'json' ),
+                $latest_version_endpoint,
                 $flush,
                 $expiration
             );
@@ -17605,17 +18352,19 @@
          * @param bool|number $plugin_id
          * @param bool        $flush      Since 1.1.7.3
          * @param int         $expiration Since 1.2.2.7
+         * @param bool|string $newer_than Since 2.2.1
          */
         private function check_updates(
             $background = false,
             $plugin_id = false,
             $flush = true,
-            $expiration = WP_FS__TIME_24_HOURS_IN_SEC
+            $expiration = WP_FS__TIME_24_HOURS_IN_SEC,
+            $newer_than = false
         ) {
             $this->_logger->entrance();
 
             // Check if there's a newer version for download.
-            $new_version = $this->_fetch_newer_version( $plugin_id, $flush, $expiration );
+            $new_version = $this->_fetch_newer_version( $plugin_id, $flush, $expiration, $newer_than );
 
             $update = null;
             if ( is_object( $new_version ) ) {
@@ -17971,7 +18720,9 @@
          */
         function get_after_activation_url( $filter, $params = array(), $network = null ) {
             if ( $this->is_free_wp_org_theme() &&
-                 fs_request_has( 'pending_activation' )
+                 ( fs_request_has( 'pending_activation' ) ||
+                   // For cases when the first time path is set, even though it's a WP.org theme.
+                   fs_request_get_bool( $this->get_unique_affix() . '_show_optin' ) )
             ) {
                 $first_time_path = '';
             } else {
@@ -18103,6 +18854,8 @@
                         $this->_site = null;
                         $this->_user = null;
 
+                        $this->maybe_set_slug_and_network_menu_exists_flag();
+
                         fs_redirect( $this->get_activation_url() );
                     } else {
                         if ( $this->is_addon_activated( $plugin_id ) ) {
@@ -18122,15 +18875,23 @@
                         check_admin_referer( $action );
                     }
 
-                    if ( $plugin_id == $this->get_id() ) {
-                        $this->_downgrade_site();
+                    $switch_to_network_install_blog_after_cancellation = (
+                        is_numeric( $blog_id ) &&
+                        $plugin_id == $this->get_id() &&
+                        ! $this->is_trial()
+                    );
 
-                        if ( is_numeric( $blog_id ) ) {
-                            $this->switch_to_blog( $this->_storage->network_install_blog_id );
-                        }
-                    } else if ( $this->is_addon_activated( $plugin_id ) ) {
-                        $fs_addon = self::get_instance_by_id( $plugin_id );
-                        $fs_addon->_downgrade_site();
+                    $result = $this->cancel_subscription_or_trial( $plugin_id );
+                    if ( $this->is_api_error( $result ) ) {
+                        $this->_admin_notices->add(
+                            $result->error->message,
+                            $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
+                            'error'
+                        );
+                    }
+
+                    if ( $switch_to_network_install_blog_after_cancellation ) {
+                        $this->switch_to_blog( $this->_storage->network_install_blog_id );
                     }
 
                     return;
@@ -18162,7 +18923,11 @@
                             $this->_site = null;
                             $this->_user = null;
 
-                            fs_redirect( $this->get_activation_url() );
+                            if ( ! $is_network_action ) {
+                                fs_redirect( $this->get_activation_url() );
+                            } else if ( is_numeric( $blog_id ) ) {
+                                $this->switch_to_blog( $this->_storage->network_install_blog_id );
+                            }
                         }
                     } else {
                         if ( $this->is_addon_activated( $plugin_id ) ) {
@@ -18260,13 +19025,13 @@
                 #region Actions that might be called from external links (e.g. email)
 
                 case 'cancel_trial':
-                    if ( $plugin_id == $this->get_id() ) {
-                        $this->_cancel_trial();
-                    } else {
-                        if ( $this->is_addon_activated( $plugin_id ) ) {
-                            $fs_addon = self::get_instance_by_id( $plugin_id );
-                            $fs_addon->_cancel_trial();
-                        }
+                    $result = $this->cancel_subscription_or_trial( $plugin_id );
+                    if ( $this->is_api_error( $result ) ) {
+                        $this->_admin_notices->add(
+                            $result->error->message,
+                            $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
+                            'error'
+                        );
                     }
 
                     return;
@@ -19262,11 +20027,23 @@
 
             if ( ! $this->is_addon() || ! $this->has_free_plan() ) {
                 $first_time_path = $this->_menu->get_first_time_path();
-                $url             = $this->is_activation_mode() ?
-                    $this->get_activation_url() :
-                    ( empty( $first_time_path ) ?
-                        $this->_get_admin_page_url() :
-                        $first_time_path );
+
+                if ( $this->is_activation_mode() ) {
+                    $url = $this->get_activation_url();
+                } else if ( ! empty( $first_time_path ) ) {
+                    $url = $first_time_path;
+                } else {
+                    $page = '';
+                    if ( ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
+                        if ( $this->is_network_registered() ) {
+                            $page = 'account';
+                        } else if ( $this->is_network_anonymous() ) {
+                            $this->maybe_set_slug_and_network_menu_exists_flag();
+                        }
+                    }
+
+                    $url = $this->_get_admin_page_url( $page );
+                }
             } else {
                 $plugin_fs = false;
 
@@ -19386,6 +20163,21 @@
             $this->_admin_notices->add_sticky( $message, $id, $title, $type );
         }
 
+        /**
+         * Check if the paid version of the module is installed.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.2.0
+         *
+         * @return bool
+         */
+        private function is_premium_version_installed() {
+            $premium_plugin_basename = $this->premium_plugin_basename();
+            $premium_plugin          = get_plugins( '/' . dirname( $premium_plugin_basename ) );
+
+            return ! empty( $premium_plugin );
+        }
+
         /**
          * Helper function that returns the final steps for the upgrade completion.
          *
@@ -19411,25 +20203,52 @@
                 $plan_title = $this->get_plan_title();
             }
 
-            // @since 1.2.1.5 The free version is auto deactivated.
-            $deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
-                ( '<li>' . $this->esc_html_inline( 'Deactivate the free version', 'deactivate-free-version' ) . '.</li>' ) :
-                '';
+            if ( $this->is_premium_version_installed() ) {
+                /**
+                 * If the premium version is already installed, instead of showing the installation instructions,
+                 * tell the current user to activate it.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                $premium_plugin_basename = $this->premium_plugin_basename();
 
-            return sprintf(
-                ' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
-                $this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
-                ( empty( $activate_license_string ) ? '' : $activate_license_string . '</li><li>' ) .
-                $this->get_latest_download_link( sprintf(
-                /* translators: %s: Plan title */
-                    $this->get_text_inline( 'Download the latest %s version', 'download-latest-x-version' ),
-                    $plan_title
-                ) ),
-                $deactivation_step,
-                $this->get_text_inline( 'Upload and activate the downloaded version', 'upload-and-activate' ),
-                '//bit.ly/upload-wp-' . $this->_module_type . 's',
-                $this->get_text_inline( 'How to upload and activate?', 'howto-upload-activate' )
-            );
+                return sprintf(
+                /* translators: %1s: Product title; %2s: Plan title */
+                    $this->get_text_inline( ' The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s', 'activate-premium-version' ),
+                    sprintf( '<em>%s</em>', esc_html( $this->get_plugin_title() ) ),
+                    $plan_title,
+                    sprintf(
+                        '<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s</button></a>',
+                        wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $premium_plugin_basename, 'activate-plugin_' . $premium_plugin_basename ),
+                        esc_html( sprintf(
+                        /* translators: %s: Plan title */
+                            $this->get_text_inline( 'Activate %s features', 'activate-x-features' ),
+                            $plan_title
+                        ) )
+                    )
+                );
+            } else {
+                // @since 1.2.1.5 The free version is auto deactivated.
+                $deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
+                    ( '<li>' . $this->esc_html_inline( 'Deactivate the free version', 'deactivate-free-version' ) . '.</li>' ) :
+                    '';
+
+                return sprintf(
+                    ' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
+                    $this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
+                    ( empty( $activate_license_string ) ? '' : $activate_license_string . '</li><li>' ) .
+                    $this->get_latest_download_link( sprintf(
+                    /* translators: %s: Plan title */
+                        $this->get_text_inline( 'Download the latest %s version', 'download-latest-x-version' ),
+                        $plan_title
+                    ) ),
+                    $deactivation_step,
+                    $this->get_text_inline( 'Upload and activate the downloaded version', 'upload-and-activate' ),
+                    '//bit.ly/upload-wp-' . $this->_module_type . 's',
+                    $this->get_text_inline( 'How to upload and activate?', 'howto-upload-activate' )
+                );
+            }
         }
 
         /**
@@ -20212,13 +21031,19 @@
 
                 // Locate the main assets folder.
                 if ( 1 < count( $fs_active_plugins->plugins ) ) {
-                    $plugin_or_theme_img_dir = ( $this->is_plugin() ? WP_PLUGIN_DIR : get_theme_root() );
+                    $plugin_or_theme_img_dir = ( $this->is_plugin() ? WP_PLUGIN_DIR : get_theme_root( get_stylesheet() ) );
 
                     foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
                         if ( $data->plugin_path == $this->get_plugin_basename() ) {
                             $img_dir = $plugin_or_theme_img_dir
                                        . '/'
-                                       . str_replace( '../themes/', '', $sdk_path )
+                                       /**
+                                        * The basename will be `themes` or the basename of a custom themes directory.
+                                        *
+                                        * @author Leo Fajardo (@leorw)
+                                        * @since 2.2.3
+                                        */
+                                       . str_replace( '../' . basename( $plugin_or_theme_img_dir ) . '/', '', $sdk_path )
                                        . '/assets/img';
 
                             break;
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-api.php b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-api.php
index 00a116e1a..0727fc074 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-api.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-api.php
@@ -238,7 +238,7 @@
 				if ( ! is_object( $result ) || isset( $result->error ) ) {
 					// Api returned an error.
 					if ( is_object( $cached_result ) &&
-					     ! isset( $cached_result )
+					     ! isset( $cached_result->error )
 					) {
 						// If there was an error during a newer data fetch,
 						// fallback to older data version.
@@ -248,9 +248,19 @@
 							$this->_logger->warn( 'Fallback to cached API result: ' . var_export( $cached_result, true ) );
 						}
 					} else {
-						// If no older data version, return result without
-						// caching the error.
-						return $result;
+					    if ( is_object( $result ) && 404 == $result->error->http ) {
+                            /**
+                             * If the response code is 404, cache the result for half of the `$expiration`.
+                             *
+                             * @author Leo Fajardo (@leorw)
+                             * @since 2.2.3.1
+                             */
+					        $expiration /= 2;
+                        } else {
+                            // If no older data version and the response code is not 404, return result without
+                            // caching the error.
+                            return $result;
+                        }
 					}
 				}
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-plugin-updater.php b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-plugin-updater.php
index 5aba1701f..bcd416b50 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-plugin-updater.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-plugin-updater.php
@@ -35,6 +35,8 @@
          */
         private $_translation_updates;
 
+        private static $_upgrade_basename = null;
+
         #--------------------------------------------------------------------------------
         #region Singleton
         #--------------------------------------------------------------------------------
@@ -82,25 +84,25 @@
 
             $this->add_transient_filters();
 
-            if ( ! $this->_fs->has_any_active_valid_license() ) {
-                /**
-                 * If user has the premium plugin's code but do NOT have an active license,
-                 * encourage him to upgrade by showing that there's a new release, but instead
-                 * of showing an update link, show upgrade link to the pricing page.
-                 *
-                 * @since 1.1.6
-                 *
-                 */
-                // WP 2.9+
-                add_action( "after_plugin_row_{$this->_fs->get_plugin_basename()}", array(
-                    &$this,
-                    'catch_plugin_update_row'
-                ), 9 );
-                add_action( "after_plugin_row_{$this->_fs->get_plugin_basename()}", array(
-                    &$this,
-                    'edit_and_echo_plugin_update_row'
-                ), 11, 2 );
-            }
+            /**
+             * If user has the premium plugin's code but do NOT have an active license,
+             * encourage him to upgrade by showing that there's a new release, but instead
+             * of showing an update link, show upgrade link to the pricing page.
+             *
+             * @since 1.1.6
+             *
+             */
+            // WP 2.9+
+            add_action( "after_plugin_row_{$this->_fs->get_plugin_basename()}", array(
+                &$this,
+                'catch_plugin_update_row'
+            ), 9 );
+            add_action( "after_plugin_row_{$this->_fs->get_plugin_basename()}", array(
+                &$this,
+                'edit_and_echo_plugin_update_row'
+            ), 11, 2 );
+
+            add_action( 'admin_head', array( &$this, 'catch_plugin_information_dialog_contents' ) );
 
             if ( ! WP_FS__IS_PRODUCTION_MODE ) {
                 add_filter( 'http_request_host_is_external', array(
@@ -110,16 +112,88 @@
             }
 
             if ( $this->_fs->is_premium() ) {
-                if ( $this->is_correct_folder_name() ) {
+                if ( ! $this->is_correct_folder_name() ) {
                     add_filter( 'upgrader_post_install', array( &$this, '_maybe_update_folder_name' ), 10, 3 );
                 }
 
+                add_filter( 'upgrader_pre_install', array( 'FS_Plugin_Updater', '_store_basename_for_source_adjustment' ), 1, 2 );
+                add_filter( 'upgrader_source_selection', array( 'FS_Plugin_Updater', '_maybe_adjust_source_dir' ), 1, 3 );
+
                 if ( ! $this->_fs->has_any_active_valid_license() ) {
                     add_filter( 'wp_prepare_themes_for_js', array( &$this, 'change_theme_update_info_html' ), 10, 1 );
                 }
             }
         }
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.1.4
+         */
+        function catch_plugin_information_dialog_contents() {
+            if (
+                'plugin-information' !== fs_request_get( 'tab', false ) ||
+                $this->_fs->get_slug() !== fs_request_get( 'plugin', false )
+            ) {
+                return;
+            }
+
+            add_action( 'admin_footer', array( &$this, 'edit_and_echo_plugin_information_dialog_contents' ), 0, 1 );
+
+            ob_start();
+        }
+
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.1.4
+         *
+         * @param string $hook_suffix
+         */
+        function edit_and_echo_plugin_information_dialog_contents( $hook_suffix ) {
+            if (
+                'plugin-information' !== fs_request_get( 'tab', false ) ||
+                $this->_fs->get_slug() !== fs_request_get( 'plugin', false )
+            ) {
+                return;
+            }
+
+            $license = $this->_fs->_get_license();
+
+            $subscription = ( is_object( $license ) && ! $license->is_lifetime() ) ?
+                $this->_fs->_get_subscription( $license->id ) :
+                null;
+
+            $contents = ob_get_clean();
+
+            /**
+             * Replace the plugin information dialog's "Install Update Now" button's text and URL. If there's a license,
+             * the text will be "Renew license" and will link to the checkout page with the license's billing cycle
+             * and quota. If there's no license, the text will be "Buy license" and will link to the pricing page.
+             */
+            $contents = preg_replace(
+                '/(.+\<a.+)(id="plugin_update_from_iframe")(.+href=")([^\s]+)(".+\>)(.+)(\<\/a.+)/is',
+                is_object( $license ) ?
+                    sprintf(
+                        '$1$3%s$5%s$7',
+                        $this->_fs->checkout_url(
+                            is_object( $subscription ) ?
+                                ( 1 == $subscription->billing_cycle ? WP_FS__PERIOD_MONTHLY : WP_FS__PERIOD_ANNUALLY ) :
+                                WP_FS__PERIOD_LIFETIME,
+                            false,
+                            array( 'licenses' => $license->quota )
+                        ),
+                        fs_text_inline( 'Renew license', 'renew-license', $this->_fs->get_slug() )
+                    ) :
+                    sprintf(
+                        '$1$3%s$5%s$7',
+                        $this->_fs->pricing_url(),
+                        fs_text_inline( 'Buy license', 'buy-license', $this->_fs->get_slug() )
+                    ),
+                $contents
+            );
+
+            echo $contents;
+        }
+
         /**
          * @author Vova Feldman (@svovaf)
          * @since  2.0.0
@@ -183,15 +257,57 @@
 
             $r = $current->response[ $file ];
 
-            $plugin_update_row = preg_replace(
-                '/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
-                '$1 $2 ' . sprintf(
-                    $this->_fs->get_text_inline( '%sRenew your license now%s to access version %s security & feature updates, and support.', 'renew-license-now' ),
-                    '<a href="' . $this->_fs->pricing_url() . '">', '</a>',
-                    $r->new_version ) .
-                '$4',
-                $plugin_update_row
-            );
+            if ( ! $this->_fs->has_any_active_valid_license() ) {
+                /**
+                 * Turn the "new version" text into a link that opens the plugin information dialog when clicked and
+                 * make the "View version x details" text link to the checkout page instead of opening the plugin
+                 * information dialog when clicked.
+                 *
+                 * Sample input:
+                 *      There is a new version of Awesome Plugin available. <a href="...>View version x.y.z details</a> or <a href="...>update now</a>.
+                 * Output:
+                 *      There is a <a href="...>new version</a> of Awesome Plugin available. <a href="...>Buy a license now</a> to access version x.y.z security & feature updates, and support.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 */
+                $plugin_update_row = preg_replace(
+                    '/(\<div.+>)(.+)(\<a.+href="([^\s]+)"([^\<]+)\>.+\<a.+)(\<\/div\>)/is',
+                    (
+                        '$1' .
+                        sprintf(
+                            fs_text_inline( 'There is a %s of %s available.', 'new-version-available', $this->_fs->get_slug() ),
+                            sprintf(
+                                '<a href="$4"%s>%s</a>',
+                                '$5',
+                                fs_text_inline( 'new version', 'new-version', $this->_fs->get_slug() )
+                            ),
+                            $this->_fs->get_plugin_title()
+                        ) .
+                        ' ' .
+                        $this->_fs->version_upgrade_checkout_link( $r->new_version ) .
+                        '$6'
+                    ),
+                    $plugin_update_row
+                );
+            }
+
+            if (
+                $this->_fs->is_plugin() &&
+                isset( $r->upgrade_notice ) &&
+                strlen( trim( $r->upgrade_notice ) ) > 0
+            ) {
+                $slug = $this->_fs->get_slug();
+
+                $upgrade_notice_html = sprintf(
+                    '<p class="notice fs-upgrade-notice fs-slug-%1s fs-type-%2s" data-slug="%1s" data-type="%2s"><strong>%3s</strong> %4s</p>',
+                    $slug,
+                    $this->_fs->get_module_type(),
+                    fs_text_inline( 'Important Upgrade Notice:', 'upgrade_notice', $slug ),
+                    esc_html( $r->upgrade_notice )
+                );
+
+                $plugin_update_row = str_replace( '</div>', '</div>' . $upgrade_notice_html, $plugin_update_row );
+            }
 
             echo $plugin_update_row;
         }
@@ -220,10 +336,7 @@
 
             $prepared_themes[ $theme_basename ]['update'] = preg_replace(
                 '/(\<p.+>)(.+)(\<a.+\<a.+)\.(.+\<\/p\>)/is',
-                '$1 $2 ' . sprintf(
-                    $this->_fs->get_text_inline( '%sRenew your license now%s to access version %s security & feature updates, and support.', 'renew-license-now' ),
-                    '<a href="' . $this->_fs->pricing_url() . '">', '</a>',
-                    $themes_update->response[ $theme_basename ]['new_version'] ) .
+                '$1 $2 ' . $this->_fs->version_upgrade_checkout_link( $themes_update->response[ $theme_basename ]['new_version'] ) .
                 '$4',
                 $prepared_themes[ $theme_basename ]['update']
             );
@@ -303,7 +416,8 @@
                 $new_version = $this->_fs->get_update(
                     false,
                     fs_request_get_bool( 'force-check' ),
-                    WP_FS__TIME_24_HOURS_IN_SEC / 24
+                    WP_FS__TIME_24_HOURS_IN_SEC / 24,
+                    $this->_fs->get_plugin_version()
                 );
 
                 $this->_update_details = false;
@@ -401,6 +515,18 @@
                 );
             }
 
+            if ( $this->_fs->is_premium() ) {
+                $latest_tag = $this->_fs->_fetch_latest_version( $this->_fs->get_id(), false );
+
+                if (
+                    isset( $latest_tag->readme ) &&
+                    isset( $latest_tag->readme->upgrade_notice ) &&
+                    ! empty( $latest_tag->readme->upgrade_notice )
+                ) {
+                    $update->upgrade_notice = $latest_tag->readme->upgrade_notice;
+                }
+            }
+
             $update->{$this->_fs->get_module_type()} = $this->_fs->get_plugin_basename();
 
             return $update;
@@ -573,7 +699,7 @@
 
             $plugin_basename = $this->_fs->get_plugin_basename();
             if ( 'themes' === $module_type ) {
-                $plugin_basename = str_replace( '-premium', '', $plugin_basename );
+                $plugin_basename = $slug;
             }
 
             global $wp_version;
@@ -585,7 +711,7 @@
                         array(
                             "{$module_type}" => array(
                                 $plugin_basename => array(
-                                    'Name'   => trim( str_replace( '(Premium)', '', $plugin_data['Name'] ) ),
+                                    'Name'   => trim( str_replace( $this->_fs->get_plugin()->premium_suffix, '', $plugin_data['Name'] ) ),
                                     'Author' => $plugin_data['Author'],
                                 )
                             )
@@ -748,11 +874,13 @@ if ( !isset($info->error) ) {
 }*/
             }
 
+            $plugin_version = $this->_fs->get_plugin_version();
+
             // Get plugin's newest update.
-            $new_version = $this->get_latest_download_details( $is_addon ? $addon->id : false );
+            $new_version = $this->get_latest_download_details( $is_addon ? $addon->id : false, $plugin_version );
 
             if ( ! is_object( $new_version ) || empty( $new_version->version ) ) {
-                $data->version = $this->_fs->get_plugin_version();
+                $data->version = $plugin_version;
             } else {
                 if ( $is_addon ) {
                     $data->name    = $addon->title . ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' );
@@ -769,6 +897,52 @@ if ( !isset($info->error) ) {
 
                 $data->version       = $new_version->version;
                 $data->download_link = $new_version->url;
+
+                if ( isset( $new_version->readme ) && is_object( $new_version->readme ) ) {
+                    $new_version_readme_data = $new_version->readme;
+                    if ( isset( $new_version_readme_data->sections ) ) {
+                        $new_version_readme_data->sections = (array) $new_version_readme_data->sections;
+                    } else {
+                        $new_version_readme_data->sections = array();
+                    }
+
+                    if ( isset( $data->sections ) ) {
+                        if ( isset( $data->sections['screenshots'] ) ) {
+                            $new_version_readme_data->sections['screenshots'] = $data->sections['screenshots'];
+                        }
+
+                        if ( isset( $data->sections['reviews'] ) ) {
+                            $new_version_readme_data->sections['reviews'] = $data->sections['reviews'];
+                        }
+                    }
+
+                    if ( isset( $new_version_readme_data->banners ) ) {
+                        $new_version_readme_data->banners = (array) $new_version_readme_data->banners;
+                    } else if ( isset( $data->banners ) ) {
+                        $new_version_readme_data->banners = $data->banners;
+                    }
+
+                    $wp_org_sections = array(
+                        'author',
+                        'author_profile',
+                        'rating',
+                        'ratings',
+                        'num_ratings',
+                        'support_threads',
+                        'support_threads_resolved',
+                        'active_installs',
+                        'added',
+                        'homepage'
+                    );
+
+                    foreach ( $wp_org_sections as $wp_org_section ) {
+                        if ( isset( $data->{$wp_org_section} ) ) {
+                            $new_version_readme_data->{$wp_org_section} = $data->{$wp_org_section};
+                        }
+                    }
+
+                    $data = $new_version_readme_data;
+                }
             }
 
             return $data;
@@ -779,11 +953,13 @@ if ( !isset($info->error) ) {
          * @since  1.2.1.7
          *
          * @param number|bool $addon_id
+         * @param bool|string $newer_than   Since 2.2.1
+         * @param bool|string $fetch_readme Since 2.2.1
          *
          * @return object
          */
-        private function get_latest_download_details( $addon_id = false ) {
-            return $this->_fs->_fetch_latest_version( $addon_id );
+        private function get_latest_download_details( $addon_id = false, $newer_than = false, $fetch_readme = true ) {
+            return $this->_fs->_fetch_latest_version( $addon_id, true, WP_FS__TIME_24_HOURS_IN_SEC, $newer_than, $fetch_readme );
         }
 
         /**
@@ -793,16 +969,10 @@ if ( !isset($info->error) ) {
          * @author Vova Feldman (@svovaf)
          * @since  1.2.1.6
          *
-         * @param string $basename Current plugin's basename.
-         *
          * @return bool
          */
-        private function is_correct_folder_name( $basename = '' ) {
-            if ( empty( $basename ) ) {
-                $basename = $this->_fs->get_plugin_basename();
-            }
-
-            return ( $this->_fs->get_target_folder_name() != trim( dirname( $basename ), '/\\' ) );
+        private function is_correct_folder_name() {
+            return ( $this->_fs->get_target_folder_name() == trim( dirname( $this->_fs->get_plugin_basename() ), '/\\' ) );
         }
 
         /**
@@ -838,7 +1008,7 @@ if ( !isset($info->error) ) {
                     $filename = basename( $basename );
 
                     $new_basename = plugin_basename(
-                        trailingslashit( $this->_fs->get_slug() . ( $this->_fs->is_premium() ? '-premium' : '' ) ) .
+                        trailingslashit( $this->_fs->is_premium() ? $this->_fs->get_premium_slug() : $this->_fs->get_slug() ) .
                         $filename
                     );
 
@@ -906,14 +1076,16 @@ if ( !isset($info->error) ) {
                     );
                 }
 
-                $slug  = $addon->slug;
-                $title = $addon->title . ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' );
+                $slug          = $addon->slug;
+                $premium_slug  = $addon->premium_slug;
+                $title         = $addon->title . ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' );
 
                 $is_addon = true;
             } else {
-                $slug  = $this->_fs->get_slug();
-                $title = $this->_fs->get_plugin_title() .
-                         ( $this->_fs->is_addon() ? ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' ) : '' );
+                $slug          = $this->_fs->get_slug();
+                $premium_slug  = $this->_fs->get_premium_slug();
+                $title         = $this->_fs->get_plugin_title() .
+                                 ( $this->_fs->is_addon() ? ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' ) : '' );
             }
 
             if ( $this->is_premium_plugin_active( $plugin_id ) ) {
@@ -926,8 +1098,8 @@ if ( !isset($info->error) ) {
                 );
             }
 
-            $latest_version = $this->get_latest_download_details( $plugin_id );
-            $target_folder  = "{$slug}-premium";
+            $latest_version = $this->get_latest_download_details( $plugin_id, false, false );
+            $target_folder  = $premium_slug;
 
             // Prep variables for Plugin_Installer_Skin class.
             $extra         = array();
@@ -966,11 +1138,11 @@ if ( !isset($info->error) ) {
             $upgrader = new Plugin_Upgrader( $skin );
 
             // Perform the action and install the plugin from the $source urldecode().
-            add_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1, 3 );
+            add_filter( 'upgrader_source_selection', array( 'FS_Plugin_Updater', '_maybe_adjust_source_dir' ), 1, 3 );
 
             $install_result = $upgrader->install( $source );
 
-            remove_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1 );
+            remove_filter( 'upgrader_source_selection', array( 'FS_Plugin_Updater', '_maybe_adjust_source_dir' ), 1 );
 
             if ( is_wp_error( $install_result ) ) {
                 return array(
@@ -1060,6 +1232,29 @@ if ( !isset($info->error) ) {
             return is_plugin_active( $this->_fs->premium_plugin_basename() );
         }
 
+        /**
+         * Store the basename since it's not always available in the `_maybe_adjust_source_dir` method below.
+         *
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @param bool|WP_Error $response   Response.
+         * @param array         $hook_extra Extra arguments passed to hooked filters.
+         *
+         * @return bool|WP_Error
+         */
+        static function _store_basename_for_source_adjustment( $response, $hook_extra ) {
+            if ( isset( $hook_extra['plugin'] ) ) {
+                self::$_upgrade_basename = $hook_extra['plugin'];
+            } else if ( isset( $hook_extra['theme'] ) ) {
+                self::$_upgrade_basename = $hook_extra['theme'];
+            } else {
+                self::$_upgrade_basename = null;
+            }
+
+            return $response;
+        }
+
         /**
          * Adjust the plugin directory name if necessary.
          * Assumes plugin has a folder (not a single file plugin).
@@ -1071,6 +1266,7 @@ if ( !isset($info->error) ) {
          *
          * @author Vova Feldman
          * @since  1.2.1.7
+         * @since  2.2.1 The method was converted to static since when the admin update bulk products via the Updates section, the logic applies the `upgrader_source_selection` filter for every product that is being updated.
          *
          * @param string       $source        Path to upgrade/zip-file-name.tmp/subdirectory/.
          * @param string       $remote_source Path to upgrade/zip-file-name.tmp.
@@ -1078,13 +1274,64 @@ if ( !isset($info->error) ) {
          *
          * @return string|WP_Error
          */
-        function _maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
+        static function _maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
             if ( ! is_object( $GLOBALS['wp_filesystem'] ) ) {
                 return $source;
             }
 
+            $basename = self::$_upgrade_basename;
+            $is_theme = false;
+
             // Figure out what the slug is supposed to be.
-            $desired_slug = $upgrader->skin->options['extra']['slug'];
+            if ( isset( $upgrader->skin->options['extra'] ) ) {
+                // Set by the auto-install logic.
+                $desired_slug = $upgrader->skin->options['extra']['slug'];
+            } else if ( ! empty( $basename ) ) {
+                /**
+                 * If it doesn't end with ".php", it's a theme.
+                 *
+                 * @author Leo Fajardo (@leorw)
+                 * @since 2.2.1
+                 */
+                $is_theme = ( ! fs_ends_with( $basename, '.php' ) );
+
+                $desired_slug = ( ! $is_theme ) ?
+                    dirname( $basename ) :
+                    // Theme slug
+                    $basename;
+            } else {
+                // Can't figure out the desired slug, stop the execution.
+                return $source;
+            }
+
+            if ( is_multisite() ) {
+                /**
+                 * If we are running in a multisite environment and the product is not network activated,
+                 * the instance will not exist anyway. Therefore, try to update the source if necessary
+                 * regardless if the Freemius instance of the product exists or not.
+                 *
+                 * @author Vova Feldman
+                 */
+            } else if ( ! empty( $basename ) ) {
+                $fs = Freemius::get_instance_by_file(
+                    $basename,
+                    $is_theme ?
+                        WP_FS__MODULE_TYPE_THEME :
+                        WP_FS__MODULE_TYPE_PLUGIN
+                );
+
+                if ( ! is_object( $fs ) ) {
+                    /**
+                     * If the Freemius instance does not exist on a non-multisite network environment, it means that:
+                     *  1. The product is not powered by Freemius; OR
+                     *  2. The product is not activated, therefore, we don't mind if after the update the folder name will change.
+                     *
+                     * @author Leo Fajardo (@leorw)
+                     * @since  2.2.1
+                     */
+                    return $source;
+                }
+            }
 
             $subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) );
 
@@ -1094,19 +1341,20 @@ if ( !isset($info->error) ) {
 
                 if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) {
                     return trailingslashit( $to_path );
-                } else {
-                    return new WP_Error(
-                        'rename_failed',
-                        $this->_fs->get_text_inline( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'module-package-rename-failure' ),
-                        array(
-                            'found'    => $subdir_name,
-                            'expected' => $desired_slug
-                        ) );
                 }
+
+                return new WP_Error(
+                    'rename_failed',
+                    fs_text_inline( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'module-package-rename-failure' ),
+                    array(
+                        'found'    => $subdir_name,
+                        'expected' => $desired_slug
+                    )
+                );
             }
 
             return $source;
         }
 
         #endregion
-    }
\ No newline at end of file
+    }
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-storage.php b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-storage.php
index c46a84d2b..084921251 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-storage.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/class-fs-storage.php
@@ -132,9 +132,8 @@
          * @param int $blog_id
          */
         function set_site_blog_context( $blog_id ) {
+            $this->_storage = $this->get_site_storage( $blog_id );
             $this->_blog_id = $blog_id;
-
-            $this->_storage = $this->get_site_storage( $this->_blog_id );
         }
 
         /**
@@ -374,6 +373,7 @@
                 // When network activated, then network level.
                 'install_timestamp'          => 1,
                 'prev_is_premium'            => 1,
+                'require_license_activation' => 1,
 
                 // If not network activated OR delegated, then site level.
                 'activation_timestamp'       => 2,
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-plugin.php b/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-plugin.php
index cc45e6973..4623403bf 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-plugin.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-plugin.php
@@ -24,6 +24,13 @@
          * @var string
          */
         public $slug;
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @var string
+         */
+        public $premium_slug;
         /**
          * @since 1.2.2
          *
@@ -67,6 +74,13 @@
          * @var bool
          */
         public $is_premium;
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @var string
+         */
+        public $premium_suffix;
         /**
          * @since 1.0.9
          *
@@ -87,6 +101,14 @@
             $this->is_premium = false;
             $this->is_live    = true;
 
+            if ( empty( $this->premium_slug ) && ! empty( $plugin->slug ) ) {
+                $this->premium_slug = "{$this->slug}-premium";
+            }
+
+            if ( empty( $this->premium_suffix ) ) {
+                $this->premium_suffix = '(Premium)';
+            }
+
             if ( isset( $plugin->info ) && is_object( $plugin->info ) ) {
                 $this->info = new FS_Plugin_Info( $plugin->info );
             }
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-site.php b/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-site.php
index c74bb55ba..1e2c82f8a 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-site.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/entities/class-fs-site.php
@@ -164,6 +164,8 @@
                 fs_ends_with( $subdomain, '.myftpupload.com' ) ||
                 // ngrok tunneling.
                 fs_ends_with( $subdomain, '.ngrok.io' ) ||
+                // wpsandbox.
+                fs_ends_with( $subdomain, '.wpsandbox.pro' ) ||
                 // SiteGround staging.
                 fs_starts_with( $subdomain, 'staging' ) ||
                 // WPEngine staging.
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-core-functions.php b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-core-functions.php
index c419a6ed5..3ccdf09bc 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-core-functions.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-core-functions.php
@@ -86,9 +86,25 @@
     function fs_asset_url( $asset_abs_path ) {
         $wp_content_dir = fs_normalize_path( WP_CONTENT_DIR );
         $asset_abs_path = fs_normalize_path( $asset_abs_path );
-        $asset_rel_path = str_replace( $wp_content_dir, '', $asset_abs_path );
 
-        $asset_url = content_url( fs_normalize_path( $asset_rel_path ) );
+        if ( 0 === strpos( $asset_abs_path, $wp_content_dir ) ) {
+            // Handle both theme and plugin assets located in the standard directories.
+            $asset_rel_path = str_replace( $wp_content_dir, '', $asset_abs_path );
+            $asset_url      = content_url( fs_normalize_path( $asset_rel_path ) );
+        } else {
+            $wp_plugins_dir = fs_normalize_path( WP_PLUGIN_DIR );
+            if ( 0 === strpos( $asset_abs_path, $wp_plugins_dir ) ) {
+                // Try to handle plugin assets that may be located in a non-standard plugins directory.
+                $asset_rel_path = str_replace( $wp_plugins_dir, '', $asset_abs_path );
+                $asset_url      = plugins_url( fs_normalize_path( $asset_rel_path ) );
+            } else {
+                // Try to handle theme assets that may be located in a non-standard themes directory.
+                $active_theme_stylesheet = get_stylesheet();
+                $wp_themes_dir           = fs_normalize_path( trailingslashit( get_theme_root( $active_theme_stylesheet ) ) );
+                $asset_rel_path          = str_replace( $wp_themes_dir, '', fs_normalize_path( $asset_abs_path ) );
+                $asset_url               = trailingslashit( get_theme_root_uri( $active_theme_stylesheet ) ) . fs_normalize_path( $asset_rel_path );
+            }
+        }
 
         return $asset_url;
     }
@@ -709,6 +725,97 @@
             return $key;
         }
 
+        #region Private
+
+        /**
+         * Retrieve an inline translated text by key with a context.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  1.2.3
+         *
+         * @param string $text    Translatable string.
+         * @param string $context Context information for the translators.
+         * @param string $key     String key for overrides.
+         * @param string $slug    Module slug for overrides.
+         *
+         * @return string
+         *
+         * @global       $fs_text_overrides
+         */
+        function _fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
+            list( $text, $text_domain ) = fs_text_and_domain( $text, $key, $slug );
+
+            // Avoid misleading Theme Check warning.
+            $fn = 'translate_with_gettext_context';
+
+            return $fn( $text, $context, $text_domain );
+        }
+
+        #endregion
+
+        /**
+         * Retrieve an inline translated text by key with a context.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  1.2.3
+         *
+         * @param string $text    Translatable string.
+         * @param string $context Context information for the translators.
+         * @param string $key     String key for overrides.
+         * @param string $slug    Module slug for overrides.
+         *
+         * @return string
+         *
+         * @global       $fs_text_overrides
+         */
+        function fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
+            return _fs_text_x_inline( $text, $context, $key, $slug );
+        }
+
+        /**
+         * Output a translated text by key.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  1.2.1.7
+         *
+         * @param string $key
+         * @param string $slug
+         */
+        function fs_echo( $key, $slug = 'freemius' ) {
+            echo fs_text( $key, $slug );
+        }
+
+        /**
+         * Output an inline translated text.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  1.2.3
+         *
+         * @param string $text Translatable string.
+         * @param string $key  String key for overrides.
+         * @param string $slug Module slug for overrides.
+         */
+        function fs_echo_inline( $text, $key = '', $slug = 'freemius' ) {
+            echo _fs_text_inline( $text, $key, $slug );
+        }
+
+        /**
+         * Output an inline translated text with a context.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  1.2.3
+         *
+         * @param string $text    Translatable string.
+         * @param string $context Context information for the translators.
+         * @param string $key     String key for overrides.
+         * @param string $slug    Module slug for overrides.
+         */
+        function fs_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
+            echo _fs_text_x_inline( $text, $context, $key, $slug );
+        }
+    }
+
+    if ( ! function_exists( 'fs_text_override' ) ) {
         /**
          * Get a translatable text override if exists, or `false`.
          *
@@ -746,7 +853,9 @@
 
             return false;
         }
+    }
 
+    if ( ! function_exists( 'fs_text_and_domain' ) ) {
         /**
          * Get a translatable text and its text domain.
          *
@@ -776,9 +885,9 @@
 
             return array( $text, $text_domain );
         }
+    }
 
-        #region Private
-
+    if ( ! function_exists( '_fs_text_inline' ) ) {
         /**
          * Retrieve an inline translated text by key.
          *
@@ -801,33 +910,9 @@
 
             return $fn( $text, $text_domain );
         }
+    }
 
-        /**
-         * Retrieve an inline translated text by key with a context.
-         *
-         * @author Vova Feldman (@svovaf)
-         * @since  1.2.3
-         *
-         * @param string $text    Translatable string.
-         * @param string $context Context information for the translators.
-         * @param string $key     String key for overrides.
-         * @param string $slug    Module slug for overrides.
-         *
-         * @return string
-         *
-         * @global       $fs_text_overrides
-         */
-        function _fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
-            list( $text, $text_domain ) = fs_text_and_domain( $text, $key, $slug );
-
-            // Avoid misleading Theme Check warning.
-            $fn = 'translate_with_gettext_context';
-
-            return $fn( $text, $context, $text_domain );
-        }
-
-        #endregion
-
+    if ( ! function_exists( 'fs_text_inline' ) ) {
         /**
          * Retrieve an inline translated text by key.
          *
@@ -845,67 +930,6 @@
         function fs_text_inline( $text, $key = '', $slug = 'freemius' ) {
             return _fs_text_inline( $text, $key, $slug );
         }
-
-        /**
-         * Retrieve an inline translated text by key with a context.
-         *
-         * @author Vova Feldman (@svovaf)
-         * @since  1.2.3
-         *
-         * @param string $text    Translatable string.
-         * @param string $context Context information for the translators.
-         * @param string $key     String key for overrides.
-         * @param string $slug    Module slug for overrides.
-         *
-         * @return string
-         *
-         * @global       $fs_text_overrides
-         */
-        function fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
-            return _fs_text_x_inline( $text, $context, $key, $slug );
-        }
-
-        /**
-         * Output a translated text by key.
-         *
-         * @author Vova Feldman (@svovaf)
-         * @since  1.2.1.7
-         *
-         * @param string $key
-         * @param string $slug
-         */
-        function fs_echo( $key, $slug = 'freemius' ) {
-            echo fs_text( $key, $slug );
-        }
-
-        /**
-         * Output an inline translated text.
-         *
-         * @author Vova Feldman (@svovaf)
-         * @since  1.2.3
-         *
-         * @param string $text Translatable string.
-         * @param string $key  String key for overrides.
-         * @param string $slug Module slug for overrides.
-         */
-        function fs_echo_inline( $text, $key = '', $slug = 'freemius' ) {
-            echo _fs_text_inline( $text, $key, $slug );
-        }
-
-        /**
-         * Output an inline translated text with a context.
-         *
-         * @author Vova Feldman (@svovaf)
-         * @since  1.2.3
-         *
-         * @param string $text    Translatable string.
-         * @param string $context Context information for the translators.
-         * @param string $key     String key for overrides.
-         * @param string $slug    Module slug for overrides.
-         */
-        function fs_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
-            echo _fs_text_x_inline( $text, $context, $key, $slug );
-        }
     }
 
     if ( ! function_exists( 'fs_esc_attr' ) ) {
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-essential-functions.php b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-essential-functions.php
index 727ef2e7b..7a1652688 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-essential-functions.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-essential-functions.php
@@ -36,6 +36,8 @@
 		}
 	}
 
+    require_once dirname( __FILE__ ) . '/supplements/fs-essential-functions-2.2.1.php';
+
 	#region Core Redirect (copied from BuddyPress) -----------------------------------------
 
 	if ( ! function_exists( 'fs_redirect' ) ) {
@@ -273,11 +275,11 @@
 			require_once ABSPATH . 'wp-admin/includes/plugin.php';
 		}
 
-		$all_plugins       = get_plugins();
+		$all_plugins       = fs_get_plugins( true );
 		$all_plugins_paths = array();
 
 		// Get active plugin's main files real full names (might be symlinks).
-		foreach ( $all_plugins as $relative_path => &$data ) {
+		foreach ( $all_plugins as $relative_path => $data ) {
 			$all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) );
 		}
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-plugin-info-dialog.php b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-plugin-info-dialog.php
index 489bb4c3e..022f8e7aa 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/fs-plugin-info-dialog.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/fs-plugin-info-dialog.php
@@ -64,7 +64,7 @@
         function _get_addon_info_filter( $data, $action = '', $args = null ) {
             $this->_logger->entrance();
 
-            $parent_plugin_id = fs_request_get( 'parent_plugin_id', false );
+            $parent_plugin_id = fs_request_get( 'parent_plugin_id', $this->_fs->get_id() );
 
             if ( $this->_fs->get_id() != $parent_plugin_id ||
                  ( 'plugin_information' !== $action ) ||
@@ -142,6 +142,8 @@
                 }
             }
 
+            $latest = null;
+
             if ( ! $has_paid_plan && $selected_addon->is_wp_org_compliant ) {
                 $repo_data = FS_Plugin_Updater::_fetch_plugin_info_from_repository(
                     'plugin_information', (object) array(
@@ -170,8 +172,28 @@
             } else {
                 $data->wp_org_missing = false;
 
+                $current_addon_version = false;
+                if ( $this->_fs->is_addon_activated( $selected_addon->id ) ) {
+                    $current_addon_version = $this->_fs->get_addon_instance( $selected_addon->id )->get_plugin_version();
+                } else if ( $this->_fs->is_addon_installed( $selected_addon->id ) ) {
+                    $addon_plugin_data = get_plugin_data(
+                        ( WP_PLUGIN_DIR . '/' . $this->_fs->get_addon_basename( $selected_addon->id ) ),
+                        false,
+                        false
+                    );
+
+                    if ( ! empty( $addon_plugin_data ) ) {
+                        $current_addon_version = $addon_plugin_data['Version'];
+                    }
+                }
+
                 // Fetch latest version from Freemius.
-                $latest = $this->_fs->_fetch_latest_version( $selected_addon->id );
+                $latest = $this->_fs->_fetch_latest_version(
+                    $selected_addon->id,
+                    true,
+                    WP_FS__TIME_24_HOURS_IN_SEC,
+                    $current_addon_version
+                );
 
                 if ( $has_paid_plan ) {
                     $data->checkout_link = $this->_fs->checkout_url();
@@ -214,11 +236,19 @@
                 }
             }
 
-            $data->name     = $selected_addon->title;
-            $view_vars      = array( 'plugin' => $selected_addon );
-            $data->sections = array(
-                'description' => fs_get_template( '/plugin-info/description.php', $view_vars ),
-            );
+            $data->name = $selected_addon->title;
+            $view_vars  = array( 'plugin' => $selected_addon );
+
+            if ( is_object( $latest ) && isset( $latest->readme ) && is_object( $latest->readme ) ) {
+                $latest_version_readme_data = $latest->readme;
+                if ( isset( $latest_version_readme_data->sections ) ) {
+                    $data->sections = (array) $latest_version_readme_data->sections;
+                } else {
+                    $data->sections = array();
+                }
+            }
+
+            $data->sections['description'] = fs_get_template( '/plugin-info/description.php', $view_vars );
 
             if ( $has_pricing ) {
                 // Add plans to data.
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/i18n.php b/wp-content/plugins/nextgen-gallery/freemius/includes/i18n.php
index 4de505c49..2f6b25b22 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/i18n.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/i18n.php
@@ -94,7 +94,7 @@
 		'activate-x-now'                => _fs_x( 'Complete "%s" Activation Now',
 			'%s - plugin name. As complete "Jetpack" activation now' ),
 		'few-plugin-tweaks'             => _fs_text( 'We made a few tweaks to the %s, %s' ),
-		'optin-x-now'                   => _fs_text( 'Opt in to make "%s" Better!' ),
+		'optin-x-now'                   => _fs_text( 'Opt in to make "%s" better!' ),
 		'error'                         => _fs_text( 'Error' ),
 		'failed-finding-main-path'      => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
         'learn-more'                    => _fs_text( 'Learn more' ),
@@ -215,7 +215,7 @@
 		'delete-account-confirm'       => _fs_text( 'Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?' ),
 		'downgrade-x-confirm'          => _fs_text( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.' ),
 		'cancel-trial-confirm'         => _fs_text( 'Cancelling the trial will immediately block access to all premium features. Are you sure?' ),
-		'after-downgrade-non-blocking' => _fs_text( 'You can still enjoy all %s features but you will not have access to %s updates and support.' ),
+		'after-downgrade-non-blocking' => _fs_text( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.' ),
 		'after-downgrade-blocking'     => _fs_text( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.' ),
 		'proceed-confirmation'         => _fs_text( 'Are you sure you want to proceed?' ),
 		#endregion Account
@@ -600,4 +600,4 @@
 		'not-compatible-warning'      => _fs_text( 'This plugin has not been marked as compatible with your version of WordPress.' ),
 		'newer-installed'             => _fs_text( 'Newer Version (%s) Installed' ),
 		'latest-installed'            => _fs_text( 'Latest Version Installed' ),
-	);
\ No newline at end of file
+	);
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-menu-manager.php b/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-menu-manager.php
index 489ddafee..439a84a98 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-menu-manager.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-menu-manager.php
@@ -181,11 +181,6 @@
 
                     // @deprecated
                     $this->_type = $this->get_option( $menu, 'type', 'page' );
-
-                    $this->_first_time_path = $this->get_option( $menu, 'first-path', false );
-                    if ( ! empty( $this->_first_time_path ) && is_string( $this->_first_time_path ) ) {
-                        $this->_first_time_path = admin_url( $this->_first_time_path, 'admin' );
-                    }
                 }
 
 				$this->_is_override_exact = $this->get_bool_option( $menu, 'override_exact' );
@@ -208,6 +203,11 @@
 //						'page'
 //					) );
 				}
+
+                $this->_first_time_path = $this->get_option( $menu, 'first-path', false );
+                if ( ! empty( $this->_first_time_path ) && is_string( $this->_first_time_path ) ) {
+                    $this->_first_time_path = admin_url( $this->_first_time_path, 'admin' );
+                }
 			}
 		}
 
@@ -280,6 +280,18 @@
 			return $this->_network_menu_exists;
 		}
 
+        /**
+         * @author Leo Fajardo (@leorw)
+         *
+         * @param string $menu_slug
+         *
+         * @since 2.1.3
+         */
+		function set_slug_and_network_menu_exists_flag($menu_slug ) {
+		    $this->_menu_slug           = $menu_slug;
+		    $this->_network_menu_exists = false;
+        }
+
 		/**
 		 * @author Vova Feldman (@svovaf)
 		 * @since  1.1.3
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-notice-manager.php b/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-notice-manager.php
index b68a479b5..1e911e055 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-notice-manager.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/managers/class-fs-admin-notice-manager.php
@@ -219,6 +219,9 @@
                 return;
             }
 
+
+            $show_admin_notices = ( ! $this->is_gutenberg_page() );
+
             foreach ( $this->_notices as $id => $msg ) {
                 if ( isset( $msg['wp_user_id'] ) && is_numeric( $msg['wp_user_id'] ) ) {
                     if ( get_current_user_id() != $msg['wp_user_id'] ) {
@@ -226,6 +229,49 @@
                     }
                 }
 
+                /**
+                 * Added a filter to control the visibility of admin notices.
+                 *
+                 * Usage example:
+                 *
+                 *     /**
+                 *      * @param bool  $show
+                 *      * @param array $msg {
+                 *      *     @var string $message The actual message.
+                 *      *     @var string $title An optional message title.
+                 *      *     @var string $type The type of the message ('success', 'update', 'warning', 'promotion').
+                 *      *     @var string $id The unique identifier of the message.
+                 *      *     @var string $manager_id The unique identifier of the notices manager. For plugins it would be the plugin's slug, for themes - `<slug>-theme`.
+                 *      *     @var string $plugin The product's title.
+                 *      *     @var string $wp_user_id An optional WP user ID that this admin notice is for.
+                 *      * }
+                 *      *
+                 *      * @return bool
+                 *      *\/
+                 *      function my_custom_show_admin_notice( $show, $msg ) {
+                 *          if ('trial_promotion' != $msg['id']) {
+                 *              return false;
+                 *          }
+                 *
+                 *          return $show;
+                 *      }
+                 *
+                 *      my_fs()->add_filter( 'show_admin_notice', 'my_custom_show_admin_notice', 10, 2 );
+                 *
+                 * @author Vova Feldman
+                 * @since 2.2.0
+                 */
+                $show_notice = call_user_func_array( 'fs_apply_filter', array(
+                    $this->_module_unique_affix,
+                    'show_admin_notice',
+                    $show_admin_notices,
+                    $msg
+                ) );
+
+                if ( true !== $show_notice ) {
+                    continue;
+                }
+
                 fs_require_template( 'admin-notice.php', $msg );
 
                 if ( $msg['sticky'] ) {
@@ -244,6 +290,34 @@
             fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
         }
 
+        /**
+         * Check if the current page is the Gutenberg block editor.
+         *
+         * @author Vova Feldman (@svovaf)
+         * @since  2.2.3
+         *
+         * @return bool
+         */
+        function is_gutenberg_page() {
+            if ( function_exists( 'is_gutenberg_page' ) &&
+                 is_gutenberg_page()
+            ) {
+                // The Gutenberg plugin is on.
+                return true;
+            }
+
+            $current_screen = get_current_screen();
+
+            if ( method_exists( $current_screen, 'is_block_editor' ) &&
+                 $current_screen->is_block_editor()
+            ) {
+                // Gutenberg page on 5+.
+                return true;
+            }
+
+            return false;
+        }
+
         /**
          * Add admin message to admin messages queue, and hook to admin_notices / all_admin_notices if not yet hooked.
          *
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php b/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php
index 96da5dfc5..5a0c2062f 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php
@@ -26,16 +26,12 @@
 		 * If the user changes the main plugin's file name, the file_exists()
 		 * will catch it.
 		 */
-		if ( ! function_exists( 'get_plugins' ) ) {
-			require_once ABSPATH . 'wp-admin/includes/plugin.php';
-		}
-
-		$all_plugins = get_plugins();
+		$all_plugins = fs_get_plugins( true );
 
 		$file_real_path = fs_normalize_path( realpath( $file ) );
 
 		// Get active plugin's main files real full names (might be symlinks).
-		foreach ( $all_plugins as $relative_path => &$data ) {
+		foreach ( $all_plugins as $relative_path => $data ) {
 			if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) ) ) ) {
 				if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
 	                return $relative_path;
diff --git a/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-2.2.1.php b/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-2.2.1.php
new file mode 100644
index 000000000..946a34d6c
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/includes/supplements/fs-essential-functions-2.2.1.php
@@ -0,0 +1,45 @@
+<?php
+    /**
+     * @package     Freemius
+     * @copyright   Copyright (c) 2015, Freemius, Inc.
+     * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
+     * @since       2.2.1
+     */
+
+    if ( ! defined( 'ABSPATH' ) ) {
+        exit;
+    }
+
+    if ( ! function_exists( 'fs_get_plugins' ) ) {
+        /**
+         * @author Leo Fajardo (@leorw)
+         * @since 2.2.1
+         *
+         * @param bool $delete_cache
+         *
+         * @return array
+         */
+        function fs_get_plugins( $delete_cache = false ) {
+            $cached_plugins = wp_cache_get( 'plugins', 'plugins' );
+            if ( ! is_array( $cached_plugins ) ) {
+                $cached_plugins = array();
+            }
+
+            $plugin_folder = '';
+            if ( isset( $cached_plugins[ $plugin_folder ] ) ) {
+                $plugins = $cached_plugins[ $plugin_folder ];
+            } else {
+                if ( ! function_exists( 'get_plugins' ) ) {
+                    require_once ABSPATH . 'wp-admin/includes/plugin.php';
+                }
+
+                $plugins = get_plugins();
+
+                if ( $delete_cache && is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
+                    wp_cache_delete( 'plugins', 'plugins' );
+                }
+            }
+
+            return $plugins;
+        }
+    }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.mo
index 76ec97cb756f6237de715ea61a197f2d896c515c..c5248c41291238fbffe113eb772814b1630cf7cf 100644
GIT binary patch
literal 51989
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

delta 194
zcmbO_jrlWU#62OFsSFGZ42%p63^EK13@RWF0|SE&5`C0`fk79<4=BpdN=+`&^-R$X
zOD!tS%+Iq@;0j7D$S*3<^({`%Own~JO)u6B$+uFNEK{zo%jJ_;T%sFNl$ckXlUR~p
zWTn96lbDxYnwXx7#MBK*P0Y1YnEa<)N|(zyKd&S;52`6GwMf@BFF8LYGcVmrfh!=V
Sv?wu0*Db#&x7bR7iva+}7dA}*

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.po
index fbc3cc027..44eaa8d9f 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-da_DK.po
@@ -1,12 +1,2434 @@
+# Copyright (C) 2019 freemius
+# This file is distributed under the same license as the freemius package.
+# Translators:
+# Joachim Jensen, 2016-2018
+# Lars Koudal, 2018
 msgid ""
 msgstr ""
-"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: WordPress SDK\n"
+"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: \n"
-"Language: \n"
-"Language-Team: \n"
-"Content-Type: \n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
+"PO-Revision-Date: 2018-11-25 07:22+0000\n"
+"Last-Translator: Vova Feldman <vova@freemius.com>\n"
+"Language: da_DK\n"
+"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"MIME-Version: 1.0\n"
+"X-Poedit-Basepath: ..\n"
+"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-SearchPathExcluded-0: *.js\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#: includes/class-freemius.php:1688
+msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
+msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
+
+#: includes/class-freemius.php:1690
+msgid "Error"
+msgstr "Fejl"
+
+#: includes/class-freemius.php:2011
+msgid "I found a better %s"
+msgstr "Jeg fandt et bedre %s"
+
+#: includes/class-freemius.php:2013
+msgid "What's the %s's name?"
+msgstr "Hvad er navnet på %s?"
+
+#: includes/class-freemius.php:2019
+msgid "It's a temporary %s. I'm just debugging an issue."
+msgstr "Det er en midlertidig %s. Jeg er i gang med fejlrettelser."
+
+#: includes/class-freemius.php:2021
+msgid "Deactivation"
+msgstr "Deaktivering"
+
+#: includes/class-freemius.php:2022
+msgid "Theme Switch"
+msgstr "Temaskift"
+
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
+msgid "Other"
+msgstr "Andet"
+
+#: includes/class-freemius.php:2039
+msgid "I no longer need the %s"
+msgstr "Jeg har ikke længere brug for %s"
+
+#: includes/class-freemius.php:2046
+msgid "I only needed the %s for a short period"
+msgstr "Jeg behøvede kun %s i en kort periode"
+
+#: includes/class-freemius.php:2052
+msgid "The %s broke my site"
+msgstr "%s ødelagde min webside"
+
+#: includes/class-freemius.php:2059
+msgid "The %s suddenly stopped working"
+msgstr "%s stoppede pludseligt med at virke"
+
+#: includes/class-freemius.php:2069
+msgid "I can't pay for it anymore"
+msgstr "Jeg kan ikke længere betale for det"
+
+#: includes/class-freemius.php:2071
+msgid "What price would you feel comfortable paying?"
+msgstr "Hvilken pris ville du foretrække at betale?"
+
+#: includes/class-freemius.php:2077
+msgid "I don't like to share my information with you"
+msgstr "Jeg har ikke lyst til at dele mine informationer med jer"
+
+#: includes/class-freemius.php:2098
+msgid "The %s didn't work"
+msgstr "%s virkede ikke"
+
+#: includes/class-freemius.php:2108
+msgid "I couldn't understand how to make it work"
+msgstr "Jeg forstod ikke, hvordan jeg skulle få det til at fungere."
+
+#: includes/class-freemius.php:2116
+msgid "The %s is great, but I need specific feature that you don't support"
+msgstr "%s er godt, men jeg har brug for en specifik feature, som ikke understøttes"
+
+#: includes/class-freemius.php:2118
+msgid "What feature?"
+msgstr "Hvilken feature?"
+
+#: includes/class-freemius.php:2122
+msgid "The %s is not working"
+msgstr "%s virker ikke"
+
+#: includes/class-freemius.php:2124
+msgid "Kindly share what didn't work so we can fix it for future users..."
+msgstr "Kindly share what didn't work so we can fix it for future users..."
+
+#: includes/class-freemius.php:2128
+msgid "It's not what I was looking for"
+msgstr "Det er ikke, hvad jeg søgte"
+
+#: includes/class-freemius.php:2130
+msgid "What you've been looking for?"
+msgstr "Hvad har du ledt efter?"
+
+#: includes/class-freemius.php:2134
+msgid "The %s didn't work as expected"
+msgstr "%s virkede ikke som forventet"
+
+#: includes/class-freemius.php:2136
+msgid "What did you expect?"
+msgstr "Hvad forventede du?"
+
+#: includes/class-freemius.php2942, templates/debug.php:20
+msgid "Freemius Debug"
+msgstr "Freemius Debug"
+
+#: includes/class-freemius.php:3670
+msgid "I don't know what is cURL or how to install it, help me!"
+msgstr "Jeg ved ikke hvad cURL er, eller hvordan jeg installerer det. Hjælp mig!"
+
+#: includes/class-freemius.php:3672
+msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
+msgstr "Vi vil kontakte din udbyder og løse problemet. Når vi har opdatinger i sagen, vil vi følge op med en email til dig på %s."
+
+#: includes/class-freemius.php:3679
+msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
+msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
+
+#: includes/class-freemius.php:3784
+msgid "Yes - do your thing"
+msgstr "Ja - fortsæt bare"
+
+#: includes/class-freemius.php:3789
+msgid "No - just deactivate"
+msgstr "Nej - bare deaktiver"
+
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
+msgctxt "exclamation"
+msgid "Oops"
+msgstr "Ups"
+
+#: includes/class-freemius.php:3903
+msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
+msgstr "Tak fordi du giver os en chance for at fixe det! En besked er lige blevet sendt til vores tekniske personale. Vi vil vende tilbage, så snart der er nyt om %s. Vi sætter pris på din tålmodighed."
+
+#: includes/class-freemius.php:4340
+msgctxt "addonX cannot run without pluginY"
+msgid "%s cannot run without %s."
+msgstr "%s virker ikke uden %s."
+
+#: includes/class-freemius.php:4341
+msgctxt "addonX cannot run..."
+msgid "%s cannot run without the plugin."
+msgstr "%s virker ikke uden pluginnet."
+
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
+msgid "Unexpected API error. Please contact the %s's author with the following error."
+msgstr "Unexpected API error. Please contact the %s's author with the following error."
+
+#: includes/class-freemius.php:5130
+msgid "Premium %s version was successfully activated."
+msgstr "Premium-versionen af %s blev aktiveret."
+
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
+msgctxt ""
+msgid "W00t"
+msgstr "W00t"
+
+#: includes/class-freemius.php:5157
+msgid "You have a %s license."
+msgstr "Du har en %s licens."
+
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
+msgctxt "interjection expressing joy or exuberance"
+msgid "Yee-haw"
+msgstr "Yee-haw"
+
+#: includes/class-freemius.php:5425
+msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
+msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
+
+#: includes/class-freemius.php:5429
+msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
+msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
+
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
+msgid "More information about %s"
+msgstr "Mere information om %s"
+
+#: includes/class-freemius.php:5439
+msgid "Purchase License"
+msgstr "Køb licens"
+
+#: includes/class-freemius.php6372, templates/connect.php:163
+msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
+msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
+
+#: includes/class-freemius.php:6376
+msgid "start the trial"
+msgstr "start prøveperioden"
+
+#: includes/class-freemius.php6377, templates/connect.php:167
+msgid "complete the install"
+msgstr "færdiggør installeringen"
+
+#: includes/class-freemius.php:6490
+msgid "You are just one step away - %s"
+msgstr "Du mangler kun ét skridt - %s"
+
+#: includes/class-freemius.php:6493
+msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
+msgid "Complete \"%s\" Activation Now"
+msgstr "Færdiggør aktivering af \"%s\" nu"
+
+#: includes/class-freemius.php:6571
+msgid "We made a few tweaks to the %s, %s"
+msgstr "Vi har foretaget nogle rettelser til %s, %s"
+
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
+
+#: includes/class-freemius.php:7003
+msgid "The upgrade of %s was successfully completed."
+msgstr "Opgraderingen af %s blev fuldendt."
+
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
+msgid "Add-On"
+msgstr "Tilføjelse"
+
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
+msgid "Plugin"
+msgstr "Plugin"
+
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
+msgid "Theme"
+msgstr "Tema"
+
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
+
+#: includes/class-freemius.php:11532
+msgid "We couldn't find your email address in the system, are you sure it's the right address?"
+msgstr "Vi kunne ikke finde din e-mailadresse i systemet, er du sikker på, det er den rigtige adresse?"
+
+#: includes/class-freemius.php:11534
+msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
+msgstr "Vi kan ikke finde nogen aktive licenser knyttet til den e-mailadresse, er du sikker på, det er den rigtige adresse?"
+
+#: includes/class-freemius.php:11808
+msgid "Account is pending activation."
+msgstr "Konto afventer aktivering."
+
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Buy a license now"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renew your license now"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
+msgid "%s activation was successfully completed."
+msgstr "Aktivering af %s blev gennemført."
+
+#: includes/class-freemius.php:14333
+msgid "Your account was successfully activated with the %s plan."
+msgstr "Din konto blev aktiveret med planen %s."
+
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
+msgid "Your trial has been successfully started."
+msgstr "Din prøveperiode er begyndt."
+
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
+msgid "Couldn't activate %s."
+msgstr "Kunne ikke aktivere %s."
+
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
+msgid "Please contact us with the following message:"
+msgstr "Kontakt os venligst med følgende besked:"
+
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
+msgid "Upgrade"
+msgstr "Opgrader"
+
+#: includes/class-freemius.php:15384
+msgid "Start Trial"
+msgstr "Start prøveperiode"
+
+#: includes/class-freemius.php:15386
+msgid "Pricing"
+msgstr "Priser"
+
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
+msgid "Affiliation"
+msgstr "Affiliation"
+
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
+msgid "Account"
+msgstr "Konto"
+
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
+#: includes/customizer/class-fs-customizer-support-section.php:60
+msgid "Contact Us"
+msgstr "Kontakt os"
+
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
+msgid "Add-Ons"
+msgstr "Tilføjelser"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
+msgctxt "noun"
+msgid "Pricing"
+msgstr "Priser"
+
+#: includes/class-freemius.php15756,
+#: includes/customizer/class-fs-customizer-support-section.php:67
+msgid "Support Forum"
+msgstr "Supportforum"
+
+#: includes/class-freemius.php:16542
+msgid "Your email has been successfully verified - you are AWESOME!"
+msgstr "Din e-mailadresse er blevet verificeret - du er FOR SEJ!"
+
+#: includes/class-freemius.php:16543
+msgctxt "a positive response"
+msgid "Right on"
+msgstr "Sådan"
+
+#: includes/class-freemius.php:17168
+msgid "Your %s Add-on plan was successfully upgraded."
+msgstr "Your %s Add-on plan was successfully upgraded."
+
+#: includes/class-freemius.php:17170
+msgid "%s Add-on was successfully purchased."
+msgstr "Betalingen for tilføjelsen %s blev gennemført."
+
+#: includes/class-freemius.php:17173
+msgid "Download the latest version"
+msgstr "Download den seneste version"
+
+#: includes/class-freemius.php:17259
+msgctxt "%1s - plugin title, %2s - API domain"
+msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
+msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
+
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
+msgid "Error received from the server:"
+msgstr "Fejl modtager fra serveren:"
+
+#: includes/class-freemius.php:17272
+msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
+msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
+
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
+msgctxt ""
+msgid "Hmm"
+msgstr "Hmm"
+
+#: includes/class-freemius.php:17467
+msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
+msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
+
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
+msgctxt "trial period"
+msgid "Trial"
+msgstr "Prøveperiode"
+
+#: includes/class-freemius.php:17473
+msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
+msgstr "Jeg har opgraderet min konto, men når jeg forsøger at synkronisere licensen, forbliver planen %s."
+
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
+msgid "Please contact us here"
+msgstr "Kontakt os her"
+
+#: includes/class-freemius.php:17487
+msgid "Your plan was successfully upgraded."
+msgstr "Din plan er blevet opgraderet."
+
+#: includes/class-freemius.php:17505
+msgid "Your plan was successfully changed to %s."
+msgstr "Din plan er blevet ændret til %s."
+
+#: includes/class-freemius.php:17521
+msgid "Your license has expired. You can still continue using the free %s forever."
+msgstr "Din licens er udløbet. Du kan stadig fortsætte med at benytte den gratis udgave af %s."
+
+#: includes/class-freemius.php:17523
+msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+msgstr "Din licens er udløbet. %1$sOpgrader nu%2$s for at fortsætte med at benytte %3$s uden forstyrrelser."
+
+#: includes/class-freemius.php:17531
+msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
+msgstr "Din licens er blevet annulleret. Hvis du mener, dette er en fejl, så kontakt venligst support."
+
+#: includes/class-freemius.php:17544
+msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
+msgstr "Din licens er udløbet. Du kan stadig benytte alle funktionerne i %s, men du bliver nødt til at fornye din licens for at få opdateringer og support."
+
+#: includes/class-freemius.php:17567
+msgid "Your free trial has expired. You can still continue using all our free features."
+msgstr "Din gratis prøveperiode er udløbet. Du kan stadig benytte alle de gratis features."
+
+#: includes/class-freemius.php:17569
+msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+msgstr "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+
+#: includes/class-freemius.php:17674
+msgid "It looks like the license could not be activated."
+msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
+
+#: includes/class-freemius.php:17704
+msgid "Your license was successfully activated."
+msgstr "Din licens er blevet aktiveret."
+
+#: includes/class-freemius.php:17730
+msgid "It looks like your site currently doesn't have an active license."
+msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
+
+#: includes/class-freemius.php:17754
+msgid "It looks like the license deactivation failed."
+msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
+
+#: includes/class-freemius.php:17782
+msgid "Your license was successfully deactivated, you are back to the %s plan."
+msgstr "Din licens blev deaktiveret, du er tilbage på planen %s."
+
+#: includes/class-freemius.php:17783
+msgid "O.K"
+msgstr "O.K"
+
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+
+#: includes/class-freemius.php:17887
+msgid "You are already running the %s in a trial mode."
+msgstr "Du benytter allerede %s under en prøveperiode."
+
+#: includes/class-freemius.php:17898
+msgid "You already utilized a trial before."
+msgstr "Du har allerede brugt din prøveperiode."
+
+#: includes/class-freemius.php:17912
+msgid "Plan %s do not exist, therefore, can't start a trial."
+msgstr "Plan %s eksisterer ikke og kan derfor ikke starte prøveperiode."
+
+#: includes/class-freemius.php:17923
+msgid "Plan %s does not support a trial period."
+msgstr "Plan %s understøtter ikke en prøveperiode."
+
+#: includes/class-freemius.php:17934
+msgid "None of the %s's plans supports a trial period."
+msgstr "None of the %s's plans supports a trial period."
+
+#: includes/class-freemius.php:17984
+msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
+msgstr "Det lader ikke til du er i en prøveperiode længere, så der er ikke noget at annullere :-)"
+
+#: includes/class-freemius.php:18020
+msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
+
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Din gratis prøveperiode for %s er blevet annulleret."
+
+#: includes/class-freemius.php:18346
+msgid "Version %s was released."
+msgstr "Version %s er blevet udgivet."
+
+#: includes/class-freemius.php:18346
+msgid "Please download %s."
+msgstr "Download venligst %s."
+
+#: includes/class-freemius.php:18353
+msgid "the latest %s version here"
+msgstr "den seneste version af %s her"
+
+#: includes/class-freemius.php:18358
+msgid "New"
+msgstr "Ny"
+
+#: includes/class-freemius.php:18363
+msgid "Seems like you got the latest release."
+msgstr "Det ser ud til, at du har den seneste udgivelse."
+
+#: includes/class-freemius.php:18364
+msgid "You are all good!"
+msgstr "Det var det!"
+
+#: includes/class-freemius.php:18632
+msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
+msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
+
+#: includes/class-freemius.php:18769
+msgid "Site successfully opted in."
+msgstr "Websted er tilmeldt."
+
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
+msgid "Awesome"
+msgstr "Sejt"
+
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
+msgid "We appreciate your help in making the %s better by letting us track some usage data."
+msgstr "Vi sætter pris på din hjælp med at forbedre %s ved at lade os indsamle brugsdata."
+
+#: includes/class-freemius.php:18787
+msgid "Thank you!"
+msgstr "Mange tak!"
+
+#: includes/class-freemius.php:18794
+msgid "We will no longer be sending any usage data of %s on %s to %s."
+msgstr "Vi vil ikke længere indsende brugsdata af %s på %s til %s."
+
+#: includes/class-freemius.php:18923
+msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
+msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
+
+#: includes/class-freemius.php:18929
+msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
+msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
+
+#: includes/class-freemius.php:18934
+msgid "%s is the new owner of the account."
+msgstr "%s er den nye ejer af kontoen."
+
+#: includes/class-freemius.php:18936
+msgctxt "as congratulations"
+msgid "Congrats"
+msgstr "Tillykke"
+
+#: includes/class-freemius.php:18956
+msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
+msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
+
+#: includes/class-freemius.php:18957
+msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
+msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
+
+#: includes/class-freemius.php:18964
+msgid "Change Ownership"
+msgstr "Skift ejerskab"
+
+#: includes/class-freemius.php:18972
+msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
+msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
+
+#: includes/class-freemius.php:18984
+msgid "Please provide your full name."
+msgstr "Indtast venligst dit fulde navn."
+
+#: includes/class-freemius.php:18989
+msgid "Your name was successfully updated."
+msgstr "Dit navn er blevet opdateret."
+
+#: includes/class-freemius.php:19050
+msgid "You have successfully updated your %s."
+msgstr "Opdatering af %s blev gennemført."
+
+#: includes/class-freemius.php:19190
+msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
+msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
+
+#: includes/class-freemius.php:19191
+msgctxt "advance notice of something that will need attention."
+msgid "Heads up"
+msgstr "Se her"
+
+#: includes/class-freemius.php:19621
+msgctxt "exclamation"
+msgid "Hey"
+msgstr "Hey"
+
+#: includes/class-freemius.php:19621
+msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
+msgstr "Hvad syntes du om %s indtil videre? Test alle %s premium funktioner med en %d-dags gratis prøveperiode."
+
+#: includes/class-freemius.php:19629
+msgid "No commitment for %s days - cancel anytime!"
+msgstr "Ingen bindinger i %s dage - annuller når som helst!"
+
+#: includes/class-freemius.php:19630
+msgid "No credit card required"
+msgstr "Betalingskort ikke påkrævet"
+
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
+msgctxt "call to action"
+msgid "Start free trial"
+msgstr "Start gratis prøveperiode"
+
+#: includes/class-freemius.php:19714
+msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
+msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
+
+#: includes/class-freemius.php:19723
+msgid "Learn more"
+msgstr "Læs mere"
+
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
+msgid "Activate License"
+msgstr "Aktiver licens"
+
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
+msgid "Change License"
+msgstr "Skift licens"
+
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
+msgid "Opt Out"
+msgstr "Frameld"
+
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
+#: templates/account/partials/site.php43,
+#: templates/account/partials/site.php:161
+msgid "Opt In"
+msgstr "Tilmeld"
+
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
+msgid "Please follow these steps to complete the upgrade"
+msgstr "Følg venligst disse trin for at færdiggøre opgraderingen"
+
+#: includes/class-freemius.php:20212
+msgid "Download the latest %s version"
+msgstr "Download den seneste version af %s"
+
+#: includes/class-freemius.php:20216
+msgid "Upload and activate the downloaded version"
+msgstr "Upload og aktiver den downloadede version"
+
+#: includes/class-freemius.php:20218
+msgid "How to upload and activate?"
+msgstr "Upload og aktivering, hvordan?"
+
+#: includes/class-freemius.php:20352
+msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
+msgstr "%sClick here%s to choose the sites where you'd like to activate the license on."
+
+#: includes/class-freemius.php:20513
+msgid "Auto installation only works for opted-in users."
+msgstr "Auto-installation fungerer kun for tilmeldte brugere."
+
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
+msgid "Invalid module ID."
+msgstr "Ugyldigt modul-ID."
+
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
+msgid "Premium version already active."
+msgstr "Premium version allerede aktiv."
+
+#: includes/class-freemius.php:20539
+msgid "You do not have a valid license to access the premium version."
+msgstr "Du har ikke en gyldig licens til at benytte premium-versionen."
+
+#: includes/class-freemius.php:20546
+msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
+msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
+
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
+msgid "Premium add-on version already installed."
+msgstr "Premium tilføjelse er allerede installeret."
+
+#: includes/class-freemius.php:20909
+msgid "View paid features"
+msgstr "Vis betalte features"
+
+#: includes/class-freemius.php:21229
+msgid "Thank you so much for using %s and its add-ons!"
+msgstr "Thank you so much for using %s and its add-ons!"
+
+#: includes/class-freemius.php:21230
+msgid "Thank you so much for using %s!"
+msgstr "Tak fordi du benytter %s!"
+
+#: includes/class-freemius.php:21236
+msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
+msgstr "Du er allerede tilmeldt vores brugssporing, hvilket hjælper os med at forbedre %s."
+
+#: includes/class-freemius.php:21240
+msgid "Thank you so much for using our products!"
+msgstr "Mange tak for at benytte vores produkter!"
+
+#: includes/class-freemius.php:21241
+msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
+msgstr "Du er allerede tilmeldt vores brugssporing, hvilket hjælper os med at forbedre dem."
+
+#: includes/class-freemius.php:21260
+msgid "%s and its add-ons"
+msgstr "%s og tilføjelser"
+
+#: includes/class-freemius.php:21269
+msgid "Products"
+msgstr "Produkter"
+
+#: includes/class-freemius.php21276, templates/connect.php:272
+msgid "Yes"
+msgstr "Ja"
+
+#: includes/class-freemius.php21277, templates/connect.php:273
+msgid "send me security & feature updates, educational content and offers."
+msgstr "send mig sikkerheds- og feature-opdateringer, informativt indhold og tilbud."
+
+#: includes/class-freemius.php21278, templates/connect.php:278
+msgid "No"
+msgstr "Nej"
+
+#: includes/class-freemius.php21280, templates/connect.php:280
+msgid "do %sNOT%s send me security & feature updates, educational content and offers."
+msgstr "send %sIKKE%s sikkerheds- og feature-opdateringer, informativt indhold og tilbud."
+
+#: includes/class-freemius.php:21290
+msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
+msgstr "Grundet krav i den nye %sEU General Data Protection Regulation (GDPR)%s, er det nødvendigt at du igen giver dit udtrykkelige samtykke og bekræfter, at du er ombord 🙂"
+
+#: includes/class-freemius.php21292, templates/connect.php:287
+msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
+msgstr "Lad os vide, om vi har lov til at kontakte dig med sikkerheds- og feature-opdateringer, informativt indhold og lejlighedsvise tilbud:"
+
+#: includes/class-freemius.php:21574
+msgid "License key is empty."
+msgstr "Licensnøglen er tom."
+
+#: includes/class-fs-plugin-updater.php184,
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Forny licens"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
+
+#: includes/class-fs-plugin-updater.php:1125
+msgid "Installing plugin: %s"
+msgstr "Installerer plugin: %s"
+
+#: includes/class-fs-plugin-updater.php:1166
+msgid "Unable to connect to the filesystem. Please confirm your credentials."
+msgstr "Unable to connect to the filesystem. Please confirm your credentials."
+
+#: includes/class-fs-plugin-updater.php:1348
+msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
+msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
+
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
+msgctxt "verb"
+msgid "Purchase"
+msgstr "Køb"
+
+#: includes/fs-plugin-info-dialog.php:372
+msgid "Start my free %s"
+msgstr "Start min gratis %s"
+
+#: includes/fs-plugin-info-dialog.php:413
+msgid "Install Free Version Now"
+msgstr "Installer gratis version nu"
+
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
+msgid "Install Now"
+msgstr "Installer nu"
+
+#: includes/fs-plugin-info-dialog.php:425
+msgctxt "as download latest version"
+msgid "Download Latest Free Version"
+msgstr "Download seneste gratis version"
+
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
+#: templates/account/partials/addon.php:21
+msgctxt "as download latest version"
+msgid "Download Latest"
+msgstr "Download seneste"
+
+#: includes/fs-plugin-info-dialog.php:436
+msgid "Install Free Version Update Now"
+msgstr "Installer opdatering til gratis version nu"
+
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
+msgid "Install Update Now"
+msgstr "Installer opdatering nu"
+
+#: includes/fs-plugin-info-dialog.php:448
+msgid "Newer Free Version (%s) Installed"
+msgstr "Nyere gratis version (%s) installeret"
+
+#: includes/fs-plugin-info-dialog.php:449
+msgid "Newer Version (%s) Installed"
+msgstr "Nyere version (%s) installeret"
+
+#: includes/fs-plugin-info-dialog.php:457
+msgid "Latest Free Version Installed"
+msgstr "Seneste gratis version installeret"
+
+#: includes/fs-plugin-info-dialog.php:458
+msgid "Latest Version Installed"
+msgstr "Seneste version installeret"
+
+#: includes/fs-plugin-info-dialog.php:613
+msgctxt "Plugin installer section title"
+msgid "Description"
+msgstr "Beskrivelse"
+
+#: includes/fs-plugin-info-dialog.php:614
+msgctxt "Plugin installer section title"
+msgid "Installation"
+msgstr "Installering"
+
+#: includes/fs-plugin-info-dialog.php:615
+msgctxt "Plugin installer section title"
+msgid "FAQ"
+msgstr "FAQ"
+
+#: includes/fs-plugin-info-dialog.php616,
+#: templates/plugin-info/description.php:55
+msgid "Screenshots"
+msgstr "Skærmbilleder"
+
+#: includes/fs-plugin-info-dialog.php:617
+msgctxt "Plugin installer section title"
+msgid "Changelog"
+msgstr "Ændringslog"
+
+#: includes/fs-plugin-info-dialog.php:618
+msgctxt "Plugin installer section title"
+msgid "Reviews"
+msgstr "Anmeldelser"
+
+#: includes/fs-plugin-info-dialog.php:619
+msgctxt "Plugin installer section title"
+msgid "Other Notes"
+msgstr "Andre noter"
+
+#: includes/fs-plugin-info-dialog.php:634
+msgctxt "Plugin installer section title"
+msgid "Features & Pricing"
+msgstr "Funktioner og priser"
+
+#: includes/fs-plugin-info-dialog.php:644
+msgid "Plugin Install"
+msgstr "Plugin-installering"
+
+#: includes/fs-plugin-info-dialog.php:716
+msgctxt "e.g. Professional Plan"
+msgid "%s Plan"
+msgstr "%s Plan"
+
+#: includes/fs-plugin-info-dialog.php:742
+msgctxt "e.g. the best product"
+msgid "Best"
+msgstr "Bedste"
+
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
+msgctxt "as every month"
+msgid "Monthly"
+msgstr "Månedligt"
+
+#: includes/fs-plugin-info-dialog.php:751
+msgctxt "as once a year"
+msgid "Annual"
+msgstr "Årligt"
+
+#: includes/fs-plugin-info-dialog.php:754
+msgid "Lifetime"
+msgstr "Livstid"
+
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
+msgctxt "e.g. billed monthly"
+msgid "Billed %s"
+msgstr "Faktureret %s"
+
+#: includes/fs-plugin-info-dialog.php:770
+msgctxt "as once a year"
+msgid "Annually"
+msgstr "Årligt"
+
+#: includes/fs-plugin-info-dialog.php:772
+msgctxt "as once a year"
+msgid "Once"
+msgstr "Engangsbeløb"
+
+#: includes/fs-plugin-info-dialog.php:778
+msgid "Single Site License"
+msgstr "Single Site License"
+
+#: includes/fs-plugin-info-dialog.php:780
+msgid "Unlimited Licenses"
+msgstr "Ubegrænsede licenser"
+
+#: includes/fs-plugin-info-dialog.php:782
+msgid "Up to %s Sites"
+msgstr "Op til %s websteder"
+
+#: includes/fs-plugin-info-dialog.php792,
+#: templates/plugin-info/features.php:82
+msgctxt "as monthly period"
+msgid "mo"
+msgstr "md"
+
+#: includes/fs-plugin-info-dialog.php799,
+#: templates/plugin-info/features.php:80
+msgctxt "as annual period"
+msgid "year"
+msgstr "år"
+
+#: includes/fs-plugin-info-dialog.php:853
+msgctxt "noun"
+msgid "Price"
+msgstr "Pris"
+
+#: includes/fs-plugin-info-dialog.php:901
+msgid "Save %s"
+msgstr "Spar %s"
+
+#: includes/fs-plugin-info-dialog.php:911
+msgid "No commitment for %s - cancel anytime"
+msgstr "Ingen bindinger ved %s - annuller når som helst"
+
+#: includes/fs-plugin-info-dialog.php:914
+msgid "After your free %s, pay as little as %s"
+msgstr "Efter din gratis %s er prisen kun %s"
+
+#: includes/fs-plugin-info-dialog.php:925
+msgid "Details"
+msgstr "Detaljer"
+
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
+msgctxt "product version"
+msgid "Version"
+msgstr "Version"
+
+#: includes/fs-plugin-info-dialog.php:936
+msgctxt "as the plugin author"
+msgid "Author"
+msgstr "Forfatter"
+
+#: includes/fs-plugin-info-dialog.php:943
+msgid "Last Updated"
+msgstr "Senest opdateret"
+
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
+msgctxt "x-ago"
+msgid "%s ago"
+msgstr "%s siden"
+
+#: includes/fs-plugin-info-dialog.php:957
+msgid "Requires WordPress Version"
+msgstr "Kræver WordPress-version"
+
+#: includes/fs-plugin-info-dialog.php:958
+msgid "%s or higher"
+msgstr "%s eller højere"
+
+#: includes/fs-plugin-info-dialog.php:965
+msgid "Compatible up to"
+msgstr "Kompatibel op til"
+
+#: includes/fs-plugin-info-dialog.php:973
+msgid "Downloaded"
+msgstr "Downloadet"
+
+#: includes/fs-plugin-info-dialog.php:977
+msgid "%s time"
+msgstr "%s gang"
+
+#: includes/fs-plugin-info-dialog.php:979
+msgid "%s times"
+msgstr "%s gange"
+
+#: includes/fs-plugin-info-dialog.php:989
+msgid "WordPress.org Plugin Page"
+msgstr "WordPress.org Plugin-side"
+
+#: includes/fs-plugin-info-dialog.php:997
+msgid "Plugin Homepage"
+msgstr "Plugin-websted"
+
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
+msgid "Donate to this plugin"
+msgstr "Donér til dette plugin"
+
+#: includes/fs-plugin-info-dialog.php:1012
+msgid "Average Rating"
+msgstr "Gennemsnitlig vurdering"
+
+#: includes/fs-plugin-info-dialog.php:1019
+msgid "based on %s"
+msgstr "baseret på %s"
+
+#: includes/fs-plugin-info-dialog.php:1023
+msgid "%s rating"
+msgstr "%s vurdering"
+
+#: includes/fs-plugin-info-dialog.php:1025
+msgid "%s ratings"
+msgstr "%s vurderinger"
+
+#: includes/fs-plugin-info-dialog.php:1040
+msgid "%s star"
+msgstr "%s stjerne"
+
+#: includes/fs-plugin-info-dialog.php:1042
+msgid "%s stars"
+msgstr "%s stjerner"
+
+#: includes/fs-plugin-info-dialog.php:1053
+msgid "Click to see reviews that provided a rating of %s"
+msgstr "Click to see reviews that provided a rating of %s"
+
+#: includes/fs-plugin-info-dialog.php:1066
+msgid "Contributors"
+msgstr "Bidragsydere"
+
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
+msgid "Warning"
+msgstr "Advarsel"
+
+#: includes/fs-plugin-info-dialog.php:1095
+msgid "This plugin has not been tested with your current version of WordPress."
+msgstr "Dette plugin er ikke blevet testet med din nuværende version af WordPress."
+
+#: includes/fs-plugin-info-dialog.php:1097
+msgid "This plugin has not been marked as compatible with your version of WordPress."
+msgstr "This plugin has not been marked as compatible with your version of WordPress."
+
+#: includes/fs-plugin-info-dialog.php:1116
+msgid "Paid add-on must be deployed to Freemius."
+msgstr "Paid add-on must be deployed to Freemius."
+
+#: includes/fs-plugin-info-dialog.php:1117
+msgid "Add-on must be deployed to WordPress.org or Freemius."
+msgstr "Add-on must be deployed to WordPress.org or Freemius."
+
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
+#: templates/account/partials/site.php:295
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
+msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
+msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
+
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
+msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
+msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
+
+#. translators: %s: Plan title (e.g. "Professional")
+#: templates/account.php90,
+#: templates/account/partials/activate-license-button.php31,
+#: templates/account/partials/addon.php:31
+msgid "Activate %s Plan"
+msgstr "Aktiver %s plan"
+
+#. translators: %s: Time period (e.g. Auto renews in "2 months")
+#: templates/account.php93, templates/account/partials/addon.php34,
+#: templates/account/partials/site.php:275
+msgid "Auto renews in %s"
+msgstr "Auto-fornyer om %s"
+
+#. translators: %s: Time period (e.g. Expires in "2 months")
+#: templates/account.php95, templates/account/partials/addon.php36,
+#: templates/account/partials/site.php:277
+msgid "Expires in %s"
+msgstr "Udløber om %s"
+
+#: templates/account.php96, templates/account/partials/addon.php:37
+msgctxt "as synchronize license"
+msgid "Sync License"
+msgstr "Synkroniser licens"
+
+#: templates/account.php97, templates/account/partials/addon.php:38
+msgid "Cancel Trial"
+msgstr "Annuller prøveperiode"
+
+#: templates/account.php98, templates/account/partials/addon.php:39
+msgid "Change Plan"
+msgstr "Skift plan"
+
+#: templates/account.php99, templates/account/partials/addon.php:40
+msgctxt "verb"
+msgid "Upgrade"
+msgstr "Opgrader"
+
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
+msgctxt "verb"
+msgid "Downgrade"
+msgstr "Nedgrader"
+
+#: templates/account.php103, templates/add-ons.php130,
+#: templates/plugin-info/features.php72,
+#: templates/account/partials/addon.php44,
+#: templates/account/partials/site.php:31
+msgid "Free"
+msgstr "Gratis"
+
+#: templates/account.php104, templates/account/partials/addon.php:45
+msgid "Activate"
+msgstr "Aktiver"
+
+#: templates/account.php105, templates/debug.php371,
+#: includes/customizer/class-fs-customizer-upsell-control.php106,
+#: templates/account/partials/addon.php:46
+msgctxt "as product pricing plan"
+msgid "Plan"
+msgstr "Plan"
+
+#: templates/account.php:158
+msgid "Free Trial"
+msgstr "Gratis prøveperiode"
+
+#: templates/account.php:169
+msgid "Account Details"
+msgstr "Kontodetaljer"
+
+#: templates/account.php:179
+msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
+msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
+
+#: templates/account.php:181
+msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
+msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
+
+#: templates/account.php:184
+msgid "Delete Account"
+msgstr "Slet konto"
+
+#: templates/account.php196, templates/account/partials/addon.php159,
+#: templates/account/partials/deactivate-license-button.php:35
+msgid "Deactivate License"
+msgstr "Deaktiver licens"
+
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
+msgid "Are you sure you want to proceed?"
+msgstr "Er du sikker på, du vil fortsætte?"
+
+#: templates/account.php219, templates/account/partials/addon.php:182
+msgid "Cancel Subscription"
+msgstr "Annuller abonnement"
+
+#: templates/account.php:247
+msgctxt "as synchronize"
+msgid "Sync"
+msgstr "Synkroniser"
+
+#: templates/account.php261, templates/debug.php:487
+msgid "Name"
+msgstr "Navn"
+
+#: templates/account.php267, templates/debug.php:488
+msgid "Email"
+msgstr "E-mail"
+
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
+msgid "User ID"
+msgstr "Bruger-ID"
+
+#: templates/account.php:282
+msgid "Site ID"
+msgstr "Websteds-ID"
+
+#: templates/account.php:285
+msgid "No ID"
+msgstr "Intet ID"
+
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
+#: templates/account/partials/site.php:219
+msgid "Public Key"
+msgstr "Offentlig nøgle"
+
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
+msgid "Secret Key"
+msgstr "Privat nøgle"
+
+#: templates/account.php:299
+msgctxt "as secret encryption key missing"
+msgid "No Secret"
+msgstr "Ingen privat nøgle"
+
+#: templates/account.php318, templates/account/partials/site.php112,
+#: templates/account/partials/site.php:114
+msgid "Trial"
+msgstr "Prøveperiode"
+
+#: templates/account.php337, templates/debug.php531,
+#: templates/account/partials/site.php:248
+msgid "License Key"
+msgstr "Licensnøgle"
+
+#: templates/account.php:367
+msgid "not verified"
+msgstr "ikke verificeret"
+
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Udløbet"
+
+#: templates/account.php:428
+msgid "Premium version"
+msgstr "Premium version"
+
+#: templates/account.php:430
+msgid "Free version"
+msgstr "Gratis version"
+
+#: templates/account.php:442
+msgid "Verify Email"
+msgstr "Verificer e-mail"
+
+#: templates/account.php:453
+msgid "Download %s Version"
+msgstr "Download 1%s version"
+
+#: templates/account.php467, templates/account.php649,
+#: templates/account/partials/site.php237,
+#: templates/account/partials/site.php:255
+msgctxt "verb"
+msgid "Show"
+msgstr "Vis"
+
+#: templates/account.php:481
+msgid "What is your %s?"
+msgstr "Angiv venligst %s?"
+
+#: templates/account.php489, templates/account/billing.php:27
+msgctxt "verb"
+msgid "Edit"
+msgstr "Rediger"
+
+#: templates/account.php:502
+msgid "Sites"
+msgstr "Websteder"
+
+#: templates/account.php:513
+msgid "Search by address"
+msgstr "Søg efter adresse"
+
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
+#: templates/account/payments.php35, templates/debug/logger.php:21
+msgid "ID"
+msgstr "ID"
+
+#: templates/account.php523, templates/debug.php:367
+msgid "Address"
+msgstr "Adresse"
+
+#: templates/account.php:524
+msgid "License"
+msgstr "Licens"
+
+#: templates/account.php:525
+msgid "Plan"
+msgstr "Plan"
+
+#: templates/account.php:573
+msgctxt "as software license"
+msgid "License"
+msgstr "Licens"
+
+#: templates/account.php:643
+msgctxt "verb"
+msgid "Hide"
+msgstr "Skjul"
+
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
+msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
+msgstr "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
+
+#: templates/add-ons.php:36
+msgid "Add Ons for %s"
+msgstr "Tilføjelser til %s"
+
+#: templates/add-ons.php:44
+msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
+msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
+
+#: templates/add-ons.php:139
+msgid "View details"
+msgstr "Vis detaljer"
+
+#: templates/admin-notice.php13, templates/forms/license-activation.php208,
+#: templates/forms/resend-key.php:77
+msgctxt "as close a window"
+msgid "Dismiss"
+msgstr "Fjern"
+
+#: templates/auto-installation.php:45
+msgid "%s sec"
+msgstr "1%s sek"
+
+#: templates/auto-installation.php:83
+msgid "Automatic Installation"
+msgstr "Automatisk installering"
+
+#: templates/auto-installation.php:93
+msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
+msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
+
+#: templates/auto-installation.php:104
+msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
+msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
+
+#: templates/auto-installation.php:109
+msgid "Cancel Installation"
+msgstr "Annuller installering"
+
+#: templates/checkout.php:172
+msgid "Checkout"
+msgstr "Udtjekning"
+
+#: templates/checkout.php:172
+msgid "PCI compliant"
+msgstr "PCI compliant"
+
+#. translators: %s: name (e.g. Hey John,)
+#: templates/connect.php:112
+msgctxt "greeting"
+msgid "Hey %s,"
+msgstr "Hey %s,"
+
+#: templates/connect.php:154
+msgid "Allow & Continue"
+msgstr "Tillad & Fortsæt"
+
+#: templates/connect.php:158
+msgid "Re-send activation email"
+msgstr "Gensend e-mail om aktivering"
+
+#: templates/connect.php:162
+msgid "Thanks %s!"
+msgstr "Tak %s!"
+
+#: templates/connect.php172, templates/forms/license-activation.php:43
+msgid "Agree & Activate License"
+msgstr "Accepter & aktiver licens"
+
+#: templates/connect.php:181
+msgid "Thanks for purchasing %s! To get started, please enter your license key:"
+msgstr "Tak for at købe %s! For at komme i gang, venligst indtast din licensnøgle:"
+
+#: templates/connect.php:188
+msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
+
+#: templates/connect.php:189
+msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
+msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
+
+#: templates/connect.php:195
+msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+
+#: templates/connect.php:196
+msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+
+#: templates/connect.php:230
+msgid "We're excited to introduce the Freemius network-level integration."
+msgstr "We're excited to introduce the Freemius network-level integration."
+
+#: templates/connect.php:233
+msgid "During the update process we detected %d site(s) that are still pending license activation."
+msgstr "During the update process we detected %d site(s) that are still pending license activation."
+
+#: templates/connect.php:235
+msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
+msgstr "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
+
+#: templates/connect.php:237
+msgid "%s's paid features"
+msgstr "%s's paid features"
+
+#: templates/connect.php:242
+msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
+msgstr "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
+
+#: templates/connect.php:244
+msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
+msgstr "During the update process we detected %s site(s) in the network that are still pending your attention."
+
+#: templates/connect.php253, templates/forms/license-activation.php:46
+msgid "License key"
+msgstr "Licensnøgle"
+
+#: templates/connect.php256, templates/forms/license-activation.php:19
+msgid "Can't find your license key?"
+msgstr "Kan du ikke finde din licensnøgle?"
+
+#: templates/connect.php315, templates/connect.php630,
+#: templates/forms/deactivation/retry-skip.php:20
+msgctxt "verb"
+msgid "Skip"
+msgstr "Spring over"
+
+#: templates/connect.php:318
+msgid "Delegate to Site Admins"
+msgstr "Delegate to Site Admins"
+
+#: templates/connect.php:318
+msgid "If you click it, this decision will be delegated to the sites administrators."
+msgstr "If you click it, this decision will be delegated to the sites administrators."
+
+#: templates/connect.php:346
+msgid "Your Profile Overview"
+msgstr "Overblik af din profil"
+
+#: templates/connect.php:347
+msgid "Name and email address"
+msgstr "Navn og e-mailadresse"
+
+#: templates/connect.php:352
+msgid "Your Site Overview"
+msgstr "Overblik af dit websted"
+
+#: templates/connect.php:353
+msgid "Site URL, WP version, PHP info, plugins & themes"
+msgstr "Websteds-URL, WP version, PHP info, plugins og temaer"
+
+#: templates/connect.php:358
+msgid "Admin Notices"
+msgstr "Admin-meddelelser"
+
+#: templates/connect.php359, templates/connect.php:375
+msgid "Updates, announcements, marketing, no spam"
+msgstr "Updates, announcements, marketing, no spam"
+
+#: templates/connect.php:364
+msgid "Current %s Events"
+msgstr "Current %s Events"
+
+#: templates/connect.php:365
+msgid "Activation, deactivation and uninstall"
+msgstr "Aktivering, deaktivering og afinstallering"
+
+#: templates/connect.php:374
+msgid "Newsletter"
+msgstr "Nyhedsbrev"
+
+#: templates/connect.php391, templates/forms/license-activation.php:38
+msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
+msgstr "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
+
+#: templates/connect.php:396
+msgid "What permissions are being granted?"
+msgstr "Hvilke tilladelser bliver givet?"
+
+#: templates/connect.php:417
+msgid "Don't have a license key?"
+msgstr "Har du ikke en licensnøgle?"
+
+#: templates/connect.php:418
+msgid "Activate Free Version"
+msgstr "Aktiver gratis version"
+
+#: templates/connect.php:420
+msgid "Have a license key?"
+msgstr "Har du en licensnøgle?"
+
+#: templates/connect.php:428
+msgid "Privacy Policy"
+msgstr "Privatlivspolitik"
+
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
+msgid "Terms of Service"
+msgstr "Servicevilkår"
+
+#: templates/connect.php:766
+msgctxt "as in the process of sending an email"
+msgid "Sending email"
+msgstr "Sender e-mail"
+
+#: templates/connect.php:767
+msgctxt "as activating plugin"
+msgid "Activating"
+msgstr "Aktiverer"
+
+#: templates/contact.php:78
+msgid "Contact"
+msgstr "Kontakt"
+
+#: templates/debug.php:17
+msgctxt "as turned off"
+msgid "Off"
+msgstr "Fra"
+
+#: templates/debug.php:18
+msgctxt "as turned on"
+msgid "On"
+msgstr "Til"
+
+#: templates/debug.php:20
+msgid "SDK"
+msgstr "SDK"
+
+#: templates/debug.php:24
+msgctxt "as code debugging"
+msgid "Debugging"
+msgstr "Fejlfinding"
+
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
+msgid "Actions"
+msgstr "Handlinger"
+
+#: templates/debug.php:64
+msgid "Are you sure you want to delete all Freemius data?"
+msgstr "Er du sikker på, du vil slette al Freemius data?"
+
+#: templates/debug.php:64
+msgid "Delete All Accounts"
+msgstr "Slet alle konti"
+
+#: templates/debug.php:71
+msgid "Clear API Cache"
+msgstr "Ryd API-cache"
+
+#: templates/debug.php:79
+msgid "Clear Updates Transients"
+msgstr "Clear Updates Transients"
+
+#: templates/debug.php:86
+msgid "Sync Data From Server"
+msgstr "Synkroniser data fra server"
+
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
+msgid "Load DB Option"
+msgstr "Hent DB-indstilling"
+
+#: templates/debug.php:103
+msgid "Set DB Option"
+msgstr "Sæt DB-indstilling"
+
+#: templates/debug.php:180
+msgid "Key"
+msgstr "Nøgle"
+
+#: templates/debug.php:181
+msgid "Value"
+msgstr "Værdi"
+
+#: templates/debug.php:197
+msgctxt "as software development kit versions"
+msgid "SDK Versions"
+msgstr "SDK-versioner"
+
+#: templates/debug.php:202
+msgid "SDK Path"
+msgstr "SDK-sti"
+
+#: templates/debug.php203, templates/debug.php:242
+msgid "Module Path"
+msgstr "Modul-sti"
+
+#: templates/debug.php:204
+msgid "Is Active"
+msgstr "Er aktiv"
+
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
+msgid "Plugins"
+msgstr "Plugins"
+
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
+msgid "Themes"
+msgstr "Temaer"
+
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
+#: templates/debug/scheduled-crons.php:80
+msgid "Slug"
+msgstr "Kortnavn"
+
+#: templates/debug.php239, templates/debug.php:450
+msgid "Title"
+msgstr "Titel"
+
+#: templates/debug.php:240
+msgctxt "as application program interface"
+msgid "API"
+msgstr "API"
+
+#: templates/debug.php:241
+msgid "Freemius State"
+msgstr "Freemius tilstand"
+
+#: templates/debug.php:245
+msgid "Network Blog"
+msgstr "Netværksblog"
+
+#: templates/debug.php:246
+msgid "Network User"
+msgstr "Netværksbruger"
+
+#: templates/debug.php:283
+msgctxt "as connection was successful"
+msgid "Connected"
+msgstr "Forbundet"
+
+#: templates/debug.php:284
+msgctxt "as connection blocked"
+msgid "Blocked"
+msgstr "Blokeret"
+
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
+
+#: templates/debug.php:332
+msgid "Simulate Network Upgrade"
+msgstr "Simuler netværksopgradering"
+
+#: templates/debug.php:358
+msgid "%s Installs"
+msgstr "%s installeringer"
+
+#: templates/debug.php:360
+msgctxt "like websites"
+msgid "Sites"
+msgstr "Websteder"
+
+#: templates/debug.php366, templates/account/partials/site.php:148
+msgid "Blog ID"
+msgstr "Blog-ID"
+
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
+msgctxt "verb"
+msgid "Delete"
+msgstr "Slet"
+
+#: templates/debug.php:445
+msgid "Add Ons of module %s"
+msgstr "Tilføjelser til modul %s"
+
+#: templates/debug.php:482
+msgid "Users"
+msgstr "Brugere"
+
+#: templates/debug.php:489
+msgid "Verified"
+msgstr "Verificeret"
+
+#: templates/debug.php:520
+msgid "%s Licenses"
+msgstr "1%s licenser"
+
+#: templates/debug.php:525
+msgid "Plugin ID"
+msgstr "Plugin-ID"
+
+#: templates/debug.php:527
+msgid "Plan ID"
+msgstr "Plan-ID"
+
+#: templates/debug.php:528
+msgid "Quota"
+msgstr "Kvote"
+
+#: templates/debug.php:529
+msgid "Activated"
+msgstr "Aktiveret"
+
+#: templates/debug.php:530
+msgid "Blocking"
+msgstr "Blokerer"
+
+#: templates/debug.php:532
+msgctxt "as expiration date"
+msgid "Expiration"
+msgstr "Udløber"
+
+#: templates/debug.php:555
+msgid "Debug Log"
+msgstr "Fejlfindingslog"
+
+#: templates/debug.php:559
+msgid "All Types"
+msgstr "Alle typer"
+
+#: templates/debug.php:566
+msgid "All Requests"
+msgstr "Alle forespørgsler"
+
+#: templates/debug.php571, templates/debug.php600,
+#: templates/debug/logger.php:25
+msgid "File"
+msgstr "Fil"
+
+#: templates/debug.php572, templates/debug.php598,
+#: templates/debug/logger.php:23
+msgid "Function"
+msgstr "Funktion"
+
+#: templates/debug.php:573
+msgid "Process ID"
+msgstr "Proces-ID"
+
+#: templates/debug.php:574
+msgid "Logger"
+msgstr "Logger"
+
+#: templates/debug.php575, templates/debug.php599,
+#: templates/debug/logger.php:24
+msgid "Message"
+msgstr "Besked"
+
+#: templates/debug.php:577
+msgid "Filter"
+msgstr "Filter"
+
+#: templates/debug.php:585
+msgid "Download"
+msgstr "Download"
+
+#: templates/debug.php596, templates/debug/logger.php:22
+msgid "Type"
+msgstr "Type"
+
+#: templates/debug.php601, templates/debug/logger.php:26
+msgid "Timestamp"
+msgstr "Tidsstempel"
+
+#: templates/secure-https-header.php:28
+msgid "Secure HTTPS %s page, running from an external domain"
+msgstr "Secure HTTPS %s page, running from an external domain"
+
+#: includes/customizer/class-fs-customizer-support-section.php55,
+#: templates/plugin-info/features.php:43
+msgid "Support"
+msgstr "Support"
+
+#: includes/debug/class-fs-debug-bar-panel.php48,
+#: templates/debug/api-calls.php54, templates/debug/logger.php:62
+msgctxt "milliseconds"
+msgid "ms"
+msgstr "ms"
+
+#: includes/debug/debug-bar-start.php:41
+msgid "Freemius API"
+msgstr "Freemius API"
+
+#: includes/debug/debug-bar-start.php:42
+msgid "Requests"
+msgstr "Requests"
+
+#: templates/account/billing.php:28
+msgctxt "verb"
+msgid "Update"
+msgstr "Opdater"
+
+#: templates/account/billing.php:39
+msgid "Billing"
+msgstr "Betaling"
+
+#: templates/account/billing.php44, templates/account/billing.php:44
+msgid "Business name"
+msgstr "Firmanavn"
+
+#: templates/account/billing.php45, templates/account/billing.php:45
+msgid "Tax / VAT ID"
+msgstr "Moms / VAT ID"
+
+#: templates/account/billing.php48, templates/account/billing.php48,
+#: templates/account/billing.php49, templates/account/billing.php:49
+msgid "Address Line %d"
+msgstr "Adresselinje %d"
+
+#: templates/account/billing.php52, templates/account/billing.php:52
+msgid "City"
+msgstr "By"
+
+#: templates/account/billing.php52, templates/account/billing.php:52
+msgid "Town"
+msgstr "By"
+
+#: templates/account/billing.php53, templates/account/billing.php:53
+msgid "ZIP / Postal Code"
+msgstr "ZIP / Postnummer"
+
+#: templates/account/billing.php:308
+msgid "Country"
+msgstr "Land"
+
+#: templates/account/billing.php:310
+msgid "Select Country"
+msgstr "Vælg land"
+
+#: templates/account/billing.php317, templates/account/billing.php:318
+msgid "State"
+msgstr "Stat"
+
+#: templates/account/billing.php317, templates/account/billing.php:318
+msgid "Province"
+msgstr "Provins"
+
+#: templates/account/payments.php:29
+msgid "Payments"
+msgstr "Betalinger"
+
+#: templates/account/payments.php:36
+msgid "Date"
+msgstr "Dato"
+
+#: templates/account/payments.php:37
+msgid "Amount"
+msgstr "Beløb"
+
+#: templates/account/payments.php38, templates/account/payments.php:50
+msgid "Invoice"
+msgstr "Faktura"
+
+#: templates/debug/api-calls.php:56
+msgid "API"
+msgstr "API"
+
+#: templates/debug/api-calls.php:68
+msgid "Method"
+msgstr "Metode"
+
+#: templates/debug/api-calls.php:69
+msgid "Code"
+msgstr "Kode"
+
+#: templates/debug/api-calls.php:70
+msgid "Length"
+msgstr "Længde"
+
+#: templates/debug/api-calls.php:71
+msgctxt "as file/folder path"
+msgid "Path"
+msgstr "Sti"
+
+#: templates/debug/api-calls.php:73
+msgid "Body"
+msgstr "Body"
+
+#: templates/debug/api-calls.php:75
+msgid "Result"
+msgstr "Resultat"
+
+#: templates/debug/api-calls.php:76
+msgid "Start"
+msgstr "Start"
+
+#: templates/debug/api-calls.php:77
+msgid "End"
+msgstr "Slut"
+
+#: templates/debug/logger.php:15
+msgid "Log"
+msgstr "Log"
+
+#. translators: %s: time period (e.g. In "2 hours")
+#: templates/debug/plugins-themes-sync.php18,
+#: templates/debug/scheduled-crons.php:91
+msgid "In %s"
+msgstr "Om %s"
+
+#. translators: %s: time period (e.g. "2 hours" ago)
+#: templates/debug/plugins-themes-sync.php20,
+#: templates/debug/scheduled-crons.php:93
+msgid "%s ago"
+msgstr "%s siden"
+
+#: templates/debug/plugins-themes-sync.php21,
+#: templates/debug/scheduled-crons.php:74
+msgctxt "seconds"
+msgid "sec"
+msgstr "sek"
+
+#: templates/debug/plugins-themes-sync.php:23
+msgid "Plugins & Themes Sync"
+msgstr "Synkronisering af plugins og temaer"
+
+#: templates/debug/plugins-themes-sync.php:28
+msgid "Total"
+msgstr "Total"
+
+#: templates/debug/plugins-themes-sync.php29,
+#: templates/debug/scheduled-crons.php:84
+msgid "Last"
+msgstr "Sidste"
+
+#: templates/debug/scheduled-crons.php:76
+msgid "Scheduled Crons"
+msgstr "Planlagte cron jobs"
+
+#: templates/debug/scheduled-crons.php:81
+msgid "Module"
+msgstr "Modul"
+
+#: templates/debug/scheduled-crons.php:82
+msgid "Module Type"
+msgstr "Modultype"
+
+#: templates/debug/scheduled-crons.php:83
+msgid "Cron Type"
+msgstr "Cron Type"
+
+#: templates/debug/scheduled-crons.php:85
+msgid "Next"
+msgstr "Næste"
+
+#: templates/forms/affiliation.php:82
+msgid "Non-expiring"
+msgstr "Udløber ikke"
+
+#: templates/forms/affiliation.php:85
+msgid "Apply to become an affiliate"
+msgstr "Apply to become an affiliate"
+
+#: templates/forms/affiliation.php:104
+msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
+msgstr "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
+
+#: templates/forms/affiliation.php:119
+msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
+msgstr "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
+
+#: templates/forms/affiliation.php:122
+msgid "Your affiliation account was temporarily suspended."
+msgstr "Your affiliation account was temporarily suspended."
+
+#: templates/forms/affiliation.php:125
+msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
+msgstr "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
+
+#: templates/forms/affiliation.php:128
+msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
+msgstr "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
+
+#: templates/forms/affiliation.php:141
+msgid "Like the %s? Become our ambassador and earn cash ;-)"
+msgstr "Like the %s? Become our ambassador and earn cash ;-)"
+
+#: templates/forms/affiliation.php:142
+msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
+msgstr "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
+
+#: templates/forms/affiliation.php:145
+msgid "Program Summary"
+msgstr "Programoversigt"
+
+#: templates/forms/affiliation.php:147
+msgid "%s commission when a customer purchases a new license."
+msgstr "%s commission when a customer purchases a new license."
+
+#: templates/forms/affiliation.php:149
+msgid "Get commission for automated subscription renewals."
+msgstr "Get commission for automated subscription renewals."
+
+#: templates/forms/affiliation.php:152
+msgid "%s tracking cookie after the first visit to maximize earnings potential."
+msgstr "%s tracking cookie after the first visit to maximize earnings potential."
+
+#: templates/forms/affiliation.php:155
+msgid "Unlimited commissions."
+msgstr "Unlimited commissions."
+
+#: templates/forms/affiliation.php:157
+msgid "%s minimum payout amount."
+msgstr "%s minimum payout amount."
+
+#: templates/forms/affiliation.php:158
+msgid "Payouts are in USD and processed monthly via PayPal."
+msgstr "Payouts are in USD and processed monthly via PayPal."
+
+#: templates/forms/affiliation.php:159
+msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
+msgstr "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
+
+#: templates/forms/affiliation.php:162
+msgid "Affiliate"
+msgstr "Affiliate"
+
+#: templates/forms/affiliation.php165, templates/forms/resend-key.php:23
+msgid "Email address"
+msgstr "E-mailadresse"
+
+#: templates/forms/affiliation.php:169
+msgid "Full name"
+msgstr "Fulde navn"
+
+#: templates/forms/affiliation.php:173
+msgid "PayPal account email address"
+msgstr "E-mailadresse til PayPal-konto"
+
+#: templates/forms/affiliation.php:177
+msgid "Where are you going to promote the %s?"
+msgstr "Hvor vil du promovere %s?"
+
+#: templates/forms/affiliation.php:179
+msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
+msgstr "Enter the domain of your website or other websites from where you plan to promote the %s."
+
+#: templates/forms/affiliation.php:181
+msgid "Add another domain"
+msgstr "Tilføj andet domæne"
+
+#: templates/forms/affiliation.php:185
+msgid "Extra Domains"
+msgstr "Ekstra domæner"
+
+#: templates/forms/affiliation.php:186
+msgid "Extra domains where you will be marketing the product from."
+msgstr "Andre domæner du vil markedsføre produktet fra."
+
+#: templates/forms/affiliation.php:196
+msgid "Promotion methods"
+msgstr "Promoveringsmetoder"
+
+#: templates/forms/affiliation.php:199
+msgid "Social media (Facebook, Twitter, etc.)"
+msgstr "Sociale medier (Facebook, Twitter osv.)"
+
+#: templates/forms/affiliation.php:203
+msgid "Mobile apps"
+msgstr "Mobil-apps"
+
+#: templates/forms/affiliation.php:207
+msgid "Website, email, and social media statistics (optional)"
+msgstr "Websted, e-mail, og statistikker for sociale medier (valgfrit)"
+
+#: templates/forms/affiliation.php:210
+msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
+msgstr "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
+
+#: templates/forms/affiliation.php:214
+msgid "How will you promote us?"
+msgstr "Hvordan vil du promovere os?"
+
+#: templates/forms/affiliation.php:217
+msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
+msgstr "Please provide details on how you intend to promote %s (please be as specific as possible)."
+
+#: templates/forms/affiliation.php223, templates/forms/resend-key.php:22
+msgid "Cancel"
+msgstr "Annuller"
+
+#: templates/forms/affiliation.php:225
+msgid "Become an affiliate"
+msgstr "Bliv en affiliate"
+
+#: templates/forms/license-activation.php:20
+msgid "Please enter the license key that you received in the email right after the purchase:"
+msgstr "Indtast licensnøglen, du modtog i e-mailen lige efter købet:"
+
+#: templates/forms/license-activation.php:25
+msgid "Update License"
+msgstr "Opdater licens"
+
+#: templates/forms/optout.php:30
+msgctxt "verb"
+msgid "Opt Out"
+msgstr "Frameld"
+
+#: templates/forms/optout.php:31
+msgctxt "verb"
+msgid "Opt In"
+msgstr "Tilmeld"
+
+#: templates/forms/optout.php:33
+msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
+msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
+
+#: templates/forms/optout.php:35
+msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
+msgstr "Ved at klikke \"Frameld\" vil vi ikke længere sende data fra %s til %s."
+
+#: templates/forms/premium-versions-upgrade-handler.php:40
+msgid "There is a new version of %s available."
+msgstr "En ny version af %s er tilgængelig."
+
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
+
+#: templates/forms/premium-versions-upgrade-handler.php:54
+msgid "New Version Available"
+msgstr "Ny version tilgængelig"
+
+#: templates/forms/premium-versions-upgrade-handler.php:75
+msgctxt "close a window"
+msgid "Dismiss"
+msgstr "Fjern"
+
+#: templates/forms/resend-key.php:21
+msgid "Send License Key"
+msgstr "Send licensnøgle"
+
+#: templates/forms/resend-key.php:57
+msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
+msgstr "Indtast e-mailadressen, som du benyttede ved opgraderingen, nedenfor og vi vil gensende licensnøglen til dig."
+
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
+#: templates/forms/trial-start.php:22
+msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
+msgstr "Du er 1 klik fra at begynde din %1$s dages gratis prøveperiode af planen %2$s."
+
+#: templates/forms/trial-start.php:28
+msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
+msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
+
+#: templates/js/style-premium-theme.php:37
+msgid "Premium"
+msgstr "Premium"
+
+#: templates/partials/network-activation.php:23
+msgid "Activate license on all sites in the network."
+msgstr "Aktiver licens på alle websteder i netværket."
+
+#: templates/partials/network-activation.php:24
+msgid "Apply on all sites in the network."
+msgstr "Anvend på alle websteder i netværket."
+
+#: templates/partials/network-activation.php:27
+msgid "Activate license on all pending sites."
+msgstr "Akiver licens på alle afventende websteder."
+
+#: templates/partials/network-activation.php:28
+msgid "Apply on all pending sites."
+msgstr "Anvend på alle afventende websteder."
+
+#: templates/partials/network-activation.php36,
+#: templates/partials/network-activation.php:68
+msgid "allow"
+msgstr "tillad"
+
+#: templates/partials/network-activation.php38,
+#: templates/partials/network-activation.php:70
+msgid "delegate"
+msgstr "delegér"
+
+#: templates/partials/network-activation.php41,
+#: templates/partials/network-activation.php:73
+msgid "skip"
+msgstr "spring over"
+
+#: templates/plugin-info/description.php72,
+#: templates/plugin-info/screenshots.php:31
+msgid "Click to view full-size screenshot %d"
+msgstr "Klik for at vise skærmbillede %d i fuld skærm"
+
+#: templates/plugin-info/features.php:56
+msgid "Unlimited Updates"
+msgstr "Ubegrænsede opdateringer"
+
+#: templates/account/partials/activate-license-button.php:46
+msgid "Localhost"
+msgstr "Localhost"
+
+#: templates/account/partials/activate-license-button.php:50
+msgctxt "as 5 licenses left"
+msgid "%s left"
+msgstr "%s tilbage"
+
+#: templates/account/partials/activate-license-button.php:51
+msgid "Last license"
+msgstr "Seneste license"
+
+#: templates/account/partials/addon.php:115
+msgid "Cancelled"
+msgstr "Annulleret"
+
+#: templates/account/partials/addon.php:125
+msgid "No expiration"
+msgstr "Udløber ikke"
+
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
+msgid "Activate this add-on"
+msgstr "Aktiver denne tilføjelse"
+
+#: templates/account/partials/site.php:181
+msgid "Owner Name"
+msgstr "Ejer-navn"
+
+#: templates/account/partials/site.php:193
+msgid "Owner Email"
+msgstr "E-mailadresse for ejer"
+
+#: templates/account/partials/site.php:205
+msgid "Owner ID"
+msgstr "Ejer-ID"
+
+#: templates/account/partials/site.php:270
+msgid "Subscription"
+msgstr "Abonnement"
+
+#: templates/forms/deactivation/contact.php:19
+msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
+msgstr "Vi beklager ulejligheden, og vi er her for at hjælpe, hvis du giver os chancen."
+
+#: templates/forms/deactivation/contact.php:22
+msgid "Contact Support"
+msgstr "Kontakt support"
+
+#: templates/forms/deactivation/form.php:59
+msgid "Anonymous feedback"
+msgstr "Anonym feedback"
+
+#: templates/forms/deactivation/form.php:66
+msgid "Deactivate"
+msgstr "Deaktiver"
+
+#: templates/forms/deactivation/form.php:68
+msgid "Activate %s"
+msgstr "Aktiver %s"
+
+#: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
+msgid "If you have a moment, please let us know why you are %s"
+msgstr "Hvis du har tid, så lad os venligst vide hvorfor du %s"
+
+#: templates/forms/deactivation/form.php:84
+msgid "deactivating"
+msgstr "deaktiverer"
+
+#: templates/forms/deactivation/form.php:84
+msgid "switching"
+msgstr "skifter"
+
+#: templates/forms/deactivation/form.php:332
+msgid "Submit & %s"
+msgstr "Send & %s"
+
+#: templates/forms/deactivation/form.php:353
+msgid "Kindly tell us the reason so we can improve."
+msgstr "Fortæl os venligst årsagen, så vi kan forbedre det."
+
+#: templates/forms/deactivation/form.php:478
+msgid "Yes - %s"
+msgstr "Ja - %s"
+
+#: templates/forms/deactivation/form.php:485
+msgid "Skip & %s"
+msgstr "Spring over & %s"
+
+#: templates/forms/deactivation/retry-skip.php:21
+msgid "Click here to use the plugin anonymously"
+msgstr "Klik her for at benytte pluginnet anonymt"
+
+#: templates/forms/deactivation/retry-skip.php:23
+msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
+msgstr "Du har måske overset det, men du behøver ikke at dele data og kan blot %s tilmeldingen."
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.mo
index be81534cbca7ba9f0eb111fb6f05626a3a138761..5e107d999ecf06a4608a7e724ac3751ded81df83 100755
GIT binary patch
delta 11931
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

delta 9096
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.po
index 8a23a1a54..7d3a40b2d 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-en.po
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 msgid ""
 msgstr ""
@@ -19,1222 +19,1301 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Error"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "I found a better %s"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "What's the %s's name?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "It's a temporary %s. I'm just debugging an issue."
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Deactivation"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Theme Switch"
 
-#: includes/class-freemius.php:1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php:2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Other"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "I no longer need the %s"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "I only needed the %s for a short period"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "The %s broke my site"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "The %s suddenly stopped working"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "I can't pay for it anymore"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "What price would you feel comfortable paying?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "I don't like to share my information with you"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "The %s didn't work"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "I couldn't understand how to make it work"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "The %s is great, but I need specific feature that you don't support"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "What feature?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "The %s is not working"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Kindly share what didn't work so we can fix it for future users..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "It's not what I was looking for"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "What you've been looking for?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "The %s didn't work as expected"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "What did you expect?"
 
-#: includes/class-freemius.php:2729, templates/debug.php:20
+#: includes/class-freemius.php:2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Freemius Debug"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "I don't know what is cURL or how to install it, help me!"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Yes - do your thing"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "No - just deactivate"
 
-#: includes/class-freemius.php:3566, includes/class-freemius.php:4066, includes/class-freemius.php:5127, includes/class-freemius.php:10941, includes/class-freemius.php:14205, includes/class-freemius.php:14257, includes/class-freemius.php:14319, includes/class-freemius.php:16448, includes/class-freemius.php:16458, includes/class-freemius.php:17014, includes/class-freemius.php:17032, includes/class-freemius.php:17130, includes/class-freemius.php:17866, templates/add-ons.php:43
+#: includes/class-freemius.php:3834, includes/class-freemius.php:4343, includes/class-freemius.php:5442, includes/class-freemius.php:11545, includes/class-freemius.php:14916, includes/class-freemius.php:14968, includes/class-freemius.php:15030, includes/class-freemius.php:17263, includes/class-freemius.php:17273, includes/class-freemius.php:17882, includes/class-freemius.php:18742, includes/class-freemius.php:18857, includes/class-freemius.php:19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Oops"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s cannot run without %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s cannot run without the plugin."
 
-#: includes/class-freemius.php:4176, includes/class-freemius.php:4201, includes/class-freemius.php:17103
+#: includes/class-freemius.php:4487, includes/class-freemius.php:4512, includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Unexpected API error. Please contact the %s's author with the following error."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "Premium %s version was successfully activated."
 
-#: includes/class-freemius.php:4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php:5142, includes/class-freemius.php:7004
 msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
 msgid "W00t"
 msgstr "W00t"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "You have a %s license."
 
-#: includes/class-freemius.php:4846, includes/class-freemius.php:13626, includes/class-freemius.php:13637, includes/class-freemius.php:16376, includes/class-freemius.php:16676, includes/class-freemius.php:16741, includes/class-freemius.php:16891
+#: includes/class-freemius.php:5161, includes/class-freemius.php:14337, includes/class-freemius.php:14348, includes/class-freemius.php:17177, includes/class-freemius.php:17491, includes/class-freemius.php:17557, includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Yee-haw"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 
-#: includes/class-freemius.php:5123, templates/add-ons.php:99, templates/account/partials/addon.php:283
+#: includes/class-freemius.php:5438, templates/add-ons.php:103, templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "More information about %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Purchase License"
 
-#: includes/class-freemius.php:6035, templates/connect.php:161
+#: includes/class-freemius.php:6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "start the trial"
 
-#: includes/class-freemius.php:6040, templates/connect.php:165
+#: includes/class-freemius.php:6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "complete the install"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "You are just one step away - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Complete \"%s\" Activation Now"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "We made a few tweaks to the %s, %s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "Opt in to make \"%s\" Better!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "The upgrade of %s was successfully completed."
 
-#: includes/class-freemius.php:8384, includes/class-fs-plugin-updater.php:581, includes/class-fs-plugin-updater.php:733, includes/class-fs-plugin-updater.php:739, templates/auto-installation.php:32
+#: includes/class-freemius.php:8925, includes/class-fs-plugin-updater.php:886, includes/class-fs-plugin-updater.php:1081, includes/class-fs-plugin-updater.php:1088, templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Add-On"
 
-#: includes/class-freemius.php:8386, templates/debug.php:349, templates/debug.php:510
+#: includes/class-freemius.php:8927, templates/debug.php:359, templates/debug.php:520
 msgid "Plugin"
 msgstr "Plugin"
 
-#: includes/class-freemius.php:8387, templates/debug.php:349, templates/debug.php:510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php:8928, templates/debug.php:359, templates/debug.php:520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Theme"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Account is pending activation."
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php:11920, templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Buy a license now"
+
+#: includes/class-freemius.php:11932, templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renew your license now"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "%s activation was successfully completed."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Your account was successfully activated with the %s plan."
 
-#: includes/class-freemius.php:13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php:14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "Your trial has been successfully started."
 
-#: includes/class-freemius.php:14203, includes/class-freemius.php:14255, includes/class-freemius.php:14317
+#: includes/class-freemius.php:14914, includes/class-freemius.php:14966, includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "Couldn't activate %s."
 
-#: includes/class-freemius.php:14204, includes/class-freemius.php:14256, includes/class-freemius.php:14318
+#: includes/class-freemius.php:14915, includes/class-freemius.php:14967, includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Please contact us with the following message:"
 
-#: includes/class-freemius.php:14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php:15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Upgrade"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Start Trial"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Pricing"
 
-#: includes/class-freemius.php:14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php:15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Affiliation"
 
-#: includes/class-freemius.php:14756, includes/class-freemius.php:14758, templates/account.php:146, templates/debug.php:314
+#: includes/class-freemius.php:15478, includes/class-freemius.php:15480, templates/account.php:150, templates/debug.php:324
 msgid "Account"
 msgstr "Account"
 
-#: includes/class-freemius.php:14769, includes/class-freemius.php:14771, includes/customizer/class-fs-customizer-support-section.php:60
+#: includes/class-freemius.php:15493, includes/class-freemius.php:15495, includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Contact Us"
 
-#: includes/class-freemius.php:14781, includes/class-freemius.php:14783, includes/class-freemius.php:18939, templates/account.php:96, templates/account/partials/addon.php:37
+#: includes/class-freemius.php:15505, includes/class-freemius.php:15507, includes/class-freemius.php:19849, templates/account.php:100, templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Add-Ons"
 
-#: includes/class-freemius.php:14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php:15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Pricing"
 
-#: includes/class-freemius.php:15009, includes/customizer/class-fs-customizer-support-section.php:67
+#: includes/class-freemius.php:15756, includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Support Forum"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Your email has been successfully verified - you are AWESOME!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Right on"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Your %s Add-on plan was successfully upgraded."
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "%s Add-on was successfully purchased."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Download the latest version"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 
-#: includes/class-freemius.php:16447, includes/class-freemius.php:16862, includes/class-freemius.php:16927
+#: includes/class-freemius.php:17262, includes/class-freemius.php:17678, includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Error received from the server:"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 
-#: includes/class-freemius.php:16639, includes/class-freemius.php:16867, includes/class-freemius.php:16910
+#: includes/class-freemius.php:17454, includes/class-freemius.php:17683, includes/class-freemius.php:17726, includes/class-freemius.php:17829
 msgctxt "something somebody says when they are thinking about what you have just said."
 msgid "Hmm"
 msgstr "Hmm"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 
-#: includes/class-freemius.php:16653, templates/account.php:98, templates/add-ons.php:130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php:17468, templates/account.php:102, templates/add-ons.php:134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Trial"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 
-#: includes/class-freemius.php:16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php:17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Please contact us here"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Your plan was successfully upgraded."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Your plan was successfully changed to %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Your license has expired. You can still continue using the free %s forever."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "Your free trial has expired. You can still continue using all our free features."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "It looks like the license could not be activated."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "Your license was successfully activated."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "It looks like your site currently doesn't have an active license."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "It looks like the license deactivation failed."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "Your license was successfully deactivated, you are back to the %s plan."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "O.K"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "You are already running the %s in a trial mode."
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "You already utilized a trial before."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "Plan %s do not exist, therefore, can't start a trial."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "Plan %s does not support a trial period."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "None of the %s's plans supports a trial period."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Your %s free trial was successfully cancelled."
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Your %s free trial was successfully cancelled."
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "Version %s was released."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "Please download %s."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "the latest %s version here"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "New"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Seems like you got the latest release."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "You are all good!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Site successfully opted in."
 
-#: includes/class-freemius.php:17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php:18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Awesome"
 
-#: includes/class-freemius.php:17910, templates/forms/optout.php:32
+#: includes/class-freemius.php:18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "We appreciate your help in making the %s better by letting us track some usage data."
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "Thank you!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "We will no longer be sending any usage data of %s on %s to %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s is the new owner of the account."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Congrats"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Change Ownership"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Please provide your full name."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Your name was successfully updated."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "You have successfully updated your %s."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Heads up"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "Hey"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "No commitment for %s days - cancel anytime!"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "No credit card required"
 
-#: includes/class-freemius.php:18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php:19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Start free trial"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Learn more"
 
-#: includes/class-freemius.php:18963, templates/account.php:394, templates/account.php:497, templates/connect.php:169, templates/connect.php:408, templates/forms/license-activation.php:24, templates/account/partials/addon.php:230
+#: includes/class-freemius.php:19873, templates/account.php:406, templates/account.php:509, templates/connect.php:171, templates/connect.php:421, templates/forms/license-activation.php:24, templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Activate License"
 
-#: includes/class-freemius.php:18964, templates/account.php:457, templates/account.php:496, templates/account/partials/site.php:256
+#: includes/class-freemius.php:19874, templates/account.php:469, templates/account.php:508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Change License"
 
-#: includes/class-freemius.php:19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php:19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Opt Out"
 
-#: includes/class-freemius.php:19048, includes/class-freemius.php:19053, templates/account/partials/site.php:43, templates/account/partials/site.php:161
+#: includes/class-freemius.php:19958, includes/class-freemius.php:19963, templates/account/partials/site.php:43, templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Opt In"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Please follow these steps to complete the upgrade"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Download the latest %s version"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Upload and activate the downloaded version"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "How to upload and activate?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sClick here%s to choose the sites where you'd like to activate the license on."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "Auto installation only works for opted-in users."
 
-#: includes/class-freemius.php:19555, includes/class-freemius.php:19588, includes/class-fs-plugin-updater.php:713, includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php:20523, includes/class-freemius.php:20556, includes/class-fs-plugin-updater.php:1060, includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "Invalid module ID."
 
-#: includes/class-freemius.php:19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php:20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Premium version already active."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "You do not have a valid license to access the premium version."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 
-#: includes/class-freemius.php:19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php:20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Premium add-on version already installed."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "View paid features"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Thank you so much for using %s and its add-ons!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "Thank you so much for using %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "Thank you so much for using our products!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving them."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%s and its add-ons"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Products"
 
-#: includes/class-freemius.php:20298, templates/connect.php:259
+#: includes/class-freemius.php:21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Yes"
 
-#: includes/class-freemius.php:20299, templates/connect.php:260
+#: includes/class-freemius.php:21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "send me security & feature updates, educational content and offers."
 
-#: includes/class-freemius.php:20300, templates/connect.php:265
+#: includes/class-freemius.php:21278, templates/connect.php:278
 msgid "No"
 msgstr "No"
 
-#: includes/class-freemius.php:20302, templates/connect.php:267
+#: includes/class-freemius.php:21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "do %sNOT%s send me security & feature updates, educational content and offers."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 
-#: includes/class-freemius.php:20314, templates/connect.php:274
+#: includes/class-freemius.php:21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "License key is empty."
 
-#: includes/class-fs-plugin-updater.php:184, includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRenew your license now%s to access version %s security & feature updates, and support."
+#: includes/class-fs-plugin-updater.php:184, templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Renew license"
+
+#: includes/class-fs-plugin-updater.php:189, templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
+
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Installing plugin: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Unable to connect to the filesystem. Please confirm your credentials."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 
-#: includes/fs-plugin-info-dialog.php:336, templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php:369, templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Purchase"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Start my free %s"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Install Free Version Now"
 
-#: includes/fs-plugin-info-dialog.php:381, templates/auto-installation.php:111, templates/account/partials/addon.php:267, templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php:414, templates/auto-installation.php:111, templates/account/partials/addon.php:272, templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Install Now"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Download Latest Free Version"
 
-#: includes/fs-plugin-info-dialog.php:393, templates/account.php:80, templates/account/partials/addon.php:21
+#: includes/fs-plugin-info-dialog.php:426, templates/account.php:80, templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Download Latest"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Install Free Version Update Now"
 
-#: includes/fs-plugin-info-dialog.php:404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php:437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Install Update Now"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Newer Free Version (%s) Installed"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Newer Version (%s) Installed"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "Latest Free Version Installed"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Latest Version Installed"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Description"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Installation"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "FAQ"
 
-#: includes/fs-plugin-info-dialog.php:583, templates/plugin-info/description.php:55
+#: includes/fs-plugin-info-dialog.php:616, templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Screenshots"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Changelog"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Reviews"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Other Notes"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Features & Pricing"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Plugin Install"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "%s Plan"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "Best"
 
-#: includes/fs-plugin-info-dialog.php:715, includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php:748, includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Monthly"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Annual"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "Lifetime"
 
-#: includes/fs-plugin-info-dialog.php:735, includes/fs-plugin-info-dialog.php:737, includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:768, includes/fs-plugin-info-dialog.php:770, includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "Billed %s"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Annually"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Once"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Single Site License"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Unlimited Licenses"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "Up to %s Sites"
 
-#: includes/fs-plugin-info-dialog.php:759, templates/plugin-info/features.php:82
+#: includes/fs-plugin-info-dialog.php:792, templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "mo"
 
-#: includes/fs-plugin-info-dialog.php:766, templates/plugin-info/features.php:80
+#: includes/fs-plugin-info-dialog.php:799, templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "year"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Price"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Save %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "No commitment for %s - cancel anytime"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "After your free %s, pay as little as %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Details"
 
-#: includes/fs-plugin-info-dialog.php:896, templates/account.php:87, templates/debug.php:191, templates/debug.php:228, templates/debug.php:442, templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php:929, templates/account.php:91, templates/debug.php:201, templates/debug.php:238, templates/debug.php:452, templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Version"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Author"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Last Updated"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php:948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "%s ago"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Requires WordPress Version"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s or higher"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatible up to"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Downloaded"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "%s time"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s times"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "WordPress.org Plugin Page"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Plugin Homepage"
 
-#: includes/fs-plugin-info-dialog.php:972, includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php:1005, includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Donate to this plugin"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Average Rating"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "based on %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s rating"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s ratings"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%s star"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s stars"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Click to see reviews that provided a rating of %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Contributors"
 
-#: includes/fs-plugin-info-dialog.php:1062, includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1095, includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Warning"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "This plugin has not been tested with your current version of WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "This plugin has not been marked as compatible with your version of WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Paid add-on must be deployed to Freemius."
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "Add-on must be deployed to WordPress.org or Freemius."
 
-#: templates/account.php:81, templates/account/partials/addon.php:22, templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
+#: templates/account.php:81, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:22, templates/account/partials/site.php:295
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php:82, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:23, templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
 
-#: templates/account.php:82, templates/account/partials/addon.php:23
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription'
+#: templates/account.php:84, templates/forms/subscription-cancellation.php:99, templates/account/partials/addon.php:25, templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+
+#: templates/account.php:85, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:26, templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php:86, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 
-#: templates/account.php:83, templates/account/partials/addon.php:24, templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "You can still enjoy all %s features but you will not have access to %s updates and support."
+#: templates/account.php:87, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:28, templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 
-#: templates/account.php:84, templates/account/partials/addon.php:25, templates/account/partials/site.php:297
+#: templates/account.php:88, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:29, templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php:86, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:27
+#: templates/account.php:90, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Activate %s Plan"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php:89, templates/account/partials/addon.php:30, templates/account/partials/site.php:275
+#: templates/account.php:93, templates/account/partials/addon.php:34, templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Auto renews in %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php:91, templates/account/partials/addon.php:32, templates/account/partials/site.php:277
+#: templates/account.php:95, templates/account/partials/addon.php:36, templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Expires in %s"
 
-#: templates/account.php:92, templates/account/partials/addon.php:33
+#: templates/account.php:96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Sync License"
 
-#: templates/account.php:93, templates/account/partials/addon.php:34
+#: templates/account.php:97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Cancel Trial"
 
-#: templates/account.php:94, templates/account/partials/addon.php:35
+#: templates/account.php:98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Change Plan"
 
-#: templates/account.php:95, templates/account/partials/addon.php:36
+#: templates/account.php:99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Upgrade"
 
-#: templates/account.php:97, templates/account/partials/addon.php:38, templates/account/partials/site.php:298
+#: templates/account.php:101, templates/account/partials/addon.php:42, templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Downgrade"
 
-#: templates/account.php:99, templates/add-ons.php:126, templates/plugin-info/features.php:72, templates/account/partials/addon.php:40, templates/account/partials/site.php:31
+#: templates/account.php:103, templates/add-ons.php:130, templates/plugin-info/features.php:72, templates/account/partials/addon.php:44, templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Free"
 
-#: templates/account.php:100, templates/account/partials/addon.php:41
+#: templates/account.php:104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Activate"
 
-#: templates/account.php:101, templates/debug.php:361, includes/customizer/class-fs-customizer-upsell-control.php:106, templates/account/partials/addon.php:42
+#: templates/account.php:105, templates/debug.php:371, includes/customizer/class-fs-customizer-upsell-control.php:106, templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Free Trial"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "Account Details"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Delete Account"
 
-#: templates/account.php:192, templates/account/partials/addon.php:155, templates/account/partials/deactivate-license-button.php:35
+#: templates/account.php:196, templates/account/partials/addon.php:159, templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Deactivate License"
 
-#: templates/account.php:210
+#: templates/account.php:219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "Are you sure you want to proceed?"
 
-#: templates/account.php:210, templates/account/partials/addon.php:177
+#: templates/account.php:219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Cancel Subscription"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Sync"
 
-#: templates/account.php:253, templates/debug.php:477
+#: templates/account.php:261, templates/debug.php:487
 msgid "Name"
 msgstr "Name"
 
-#: templates/account.php:259, templates/debug.php:478
+#: templates/account.php:267, templates/debug.php:488
 msgid "Email"
 msgstr "Email"
 
-#: templates/account.php:266, templates/debug.php:360, templates/debug.php:516
+#: templates/account.php:274, templates/debug.php:370, templates/debug.php:526
 msgid "User ID"
 msgstr "User ID"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "Site ID"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "No ID"
 
-#: templates/account.php:282, templates/debug.php:233, templates/debug.php:362, templates/debug.php:443, templates/debug.php:480, templates/account/partials/site.php:219
+#: templates/account.php:290, templates/debug.php:243, templates/debug.php:372, templates/debug.php:453, templates/debug.php:490, templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Public Key"
 
-#: templates/account.php:288, templates/debug.php:363, templates/debug.php:444, templates/debug.php:481, templates/account/partials/site.php:231
+#: templates/account.php:296, templates/debug.php:373, templates/debug.php:454, templates/debug.php:491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Secret Key"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "No Secret"
 
-#: templates/account.php:310, templates/account/partials/site.php:112, templates/account/partials/site.php:114
+#: templates/account.php:318, templates/account/partials/site.php:112, templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Trial"
 
-#: templates/account.php:329, templates/debug.php:521, templates/account/partials/site.php:248
+#: templates/account.php:337, templates/debug.php:531, templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "License Key"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "not verified"
 
-#: templates/account.php:416
+#: templates/account.php:376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Expired"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Premium version"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Free version"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Verify Email"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Download %s Version"
 
-#: templates/account.php:455, templates/account.php:636, templates/account/partials/site.php:237, templates/account/partials/site.php:255
+#: templates/account.php:467, templates/account.php:649, templates/account/partials/site.php:237, templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Show"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "What is your %s?"
 
-#: templates/account.php:477, templates/account/billing.php:27
+#: templates/account.php:489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Edit"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Search by address"
 
-#: templates/account.php:510, templates/account.php:558, templates/debug.php:226, templates/debug.php:354, templates/debug.php:439, templates/debug.php:476, templates/debug.php:514, templates/debug.php:587, templates/account/payments.php:35, templates/debug/logger.php:21
+#: templates/account.php:522, templates/account.php:570, templates/debug.php:236, templates/debug.php:364, templates/debug.php:449, templates/debug.php:486, templates/debug.php:524, templates/debug.php:597, templates/account/payments.php:35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php:511, templates/debug.php:357
+#: templates/account.php:523, templates/debug.php:367
 msgid "Address"
 msgstr "Address"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "License"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "License"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Hide"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php:686, templates/account.php:703, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php:701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php:704, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 
@@ -1246,7 +1325,7 @@ msgstr "Add Ons for %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "View details"
 
@@ -1284,162 +1363,166 @@ msgid "PCI compliant"
 msgstr "PCI compliant"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Hey %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Allow & Continue"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Re-send activation email"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "Thanks %s!"
 
-#: templates/connect.php:170, templates/forms/license-activation.php:43
+#: templates/connect.php:172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "Agree & Activate License"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "We're excited to introduce the Freemius network-level integration."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "During the update process we detected %d site(s) that are still pending license activation."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "%s's paid features"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "During the update process we detected %s site(s) in the network that are still pending your attention."
 
-#: templates/connect.php:251, templates/forms/license-activation.php:46
+#: templates/connect.php:253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "License key"
 
-#: templates/connect.php:254, templates/forms/license-activation.php:19
+#: templates/connect.php:256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "Can't find your license key?"
 
-#: templates/connect.php:302, templates/connect.php:617, templates/forms/deactivation/retry-skip.php:20
+#: templates/connect.php:315, templates/connect.php:630, templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Skip"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Delegate to Site Admins"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "If you click it, this decision will be delegated to the sites administrators."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Your Profile Overview"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Name and email address"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Your Site Overview"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "Site URL, WP version, PHP info, plugins & themes"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Admin Notices"
 
-#: templates/connect.php:346, templates/connect.php:362
+#: templates/connect.php:359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Updates, announcements, marketing, no spam"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Current %s Events"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Activation, deactivation and uninstall"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Newsletter"
 
-#: templates/connect.php:378, templates/forms/license-activation.php:38
+#: templates/connect.php:391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "What permissions are being granted?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "Don't have a license key?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Activate Free Version"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "Have a license key?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Privacy Policy"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Terms of Service"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "Sending email"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Activating"
@@ -1467,7 +1550,7 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Debugging"
 
-#: templates/debug.php:54, templates/debug.php:238, templates/debug.php:364, templates/debug.php:482
+#: templates/debug.php:54, templates/debug.php:248, templates/debug.php:374, templates/debug.php:492
 msgid "Actions"
 msgstr "Actions"
 
@@ -1491,194 +1574,198 @@ msgstr "Clear Updates Transients"
 msgid "Sync Data From Server"
 msgstr "Sync Data From Server"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Load DB Option"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Set DB Option"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Key"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Value"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "SDK Versions"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "SDK Path"
 
-#: templates/debug.php:193, templates/debug.php:232
+#: templates/debug.php:203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Module Path"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "Is Active"
 
-#: templates/debug.php:222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Plugins"
 
-#: templates/debug.php:222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Themes"
 
-#: templates/debug.php:227, templates/debug.php:359, templates/debug.php:441, templates/debug/scheduled-crons.php:80
+#: templates/debug.php:237, templates/debug.php:369, templates/debug.php:451, templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Slug"
 
-#: templates/debug.php:229, templates/debug.php:440
+#: templates/debug.php:239, templates/debug.php:450
 msgid "Title"
 msgstr "Title"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Freemius State"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Network Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Network User"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Connected"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Blocked"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Simulate Trial"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simulate Network Upgrade"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s Installs"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/debug.php:356, templates/account/partials/site.php:148
+#: templates/debug.php:366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "Blog ID"
 
-#: templates/debug.php:421, templates/debug.php:499, templates/account/partials/addon.php:334
+#: templates/debug.php:431, templates/debug.php:509, templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Delete"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Add Ons of module %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Users"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Verified"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licenses"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "Plugin ID"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "Plan ID"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Quota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Activated"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Blocking"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Expiration"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Debug Log"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "All Types"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "All Requests"
 
-#: templates/debug.php:561, templates/debug.php:590, templates/debug/logger.php:25
+#: templates/debug.php:571, templates/debug.php:600, templates/debug/logger.php:25
 msgid "File"
 msgstr "File"
 
-#: templates/debug.php:562, templates/debug.php:588, templates/debug/logger.php:23
+#: templates/debug.php:572, templates/debug.php:598, templates/debug/logger.php:23
 msgid "Function"
 msgstr "Function"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "Process ID"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php:565, templates/debug.php:589, templates/debug/logger.php:24
+#: templates/debug.php:575, templates/debug.php:599, templates/debug/logger.php:24
 msgid "Message"
 msgstr "Message"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Filter"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Download"
 
-#: templates/debug.php:586, templates/debug/logger.php:22
+#: templates/debug.php:596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Type"
 
-#: templates/debug.php:591, templates/debug/logger.php:26
+#: templates/debug.php:601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Timestamp"
 
@@ -2022,23 +2109,19 @@ msgstr "Usage tracking is done in the name of making %s better. Making a better
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "There is a new version of %s available."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr " %sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "New Version Available"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Renew license"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Dismiss"
@@ -2051,6 +2134,42 @@ msgstr "Send License Key"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php:191, templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
@@ -2112,19 +2231,15 @@ msgstr "%s left"
 msgid "Last license"
 msgstr "Last license"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Cancelled"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Expired"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "No expiration"
 
-#: templates/account/partials/addon.php:259, templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php:264, templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Activate this add-on"
 
@@ -2152,47 +2267,47 @@ msgstr "Sorry for the inconvenience and we are here to help if you give us a cha
 msgid "Contact Support"
 msgstr "Contact Support"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Anonymous feedback"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Deactivate"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Activate %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "Quick feedback"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "If you have a moment, please let us know why you are %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "deactivating"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "switching"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Submit & %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "Kindly tell us the reason so we can improve."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Yes - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "Skip & %s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.mo
index afbe69c8fa13a6cc4307b1f13cf6d422f404f8ad..85d4a379e0dab155f300402b72a7c29d7af5e1c4 100644
GIT binary patch
delta 12531
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
U9%Khh_CBF8`Qr-V$;BtS09uI`O#lD@

delta 9379
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.po
index 74c2e91e7..dcaba7132 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-es_ES.po
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Carlos Longarela <carlos@longarela.eu>, 2017-2018
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-24 18:11+0000\n"
+"PO-Revision-Date: 2018-11-25 12:57+0000\n"
 "Last-Translator: Carlos Longarela <carlos@longarela.eu>\n"
 "Language: es_ES\n"
 "Language-Team: Spanish (Spain) (http://www.transifex.com/freemius/wordpress-sdk/language/es_ES/)\n"
@@ -21,1294 +21,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK no pudo encontrar el archivo principal del plugin. Por favor contacta a sdk@freemius.com con el error actual."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Error"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
-msgstr "He encontrado un mejor %s"
+msgstr "He encontrado un %s mejor"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "¿Cuál es el nombre de %s?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
-msgstr "Es temporal %s. Sólo estoy depurando un problema."
+msgstr "Es una %stemporal . Sólo estoy depurando un problema"
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Desactivación"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Cambiar tema"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Otra"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "Ya no necesito el %s"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "Sólo necesitaba la %s por un corto período"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "%s ha roto mi sitio"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "%s de repente ha dejado de funcionar"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "No puedo pagarlo durante más tiempo"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "¿Con qué precio te sentirías cómodo pagando?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "No me gusta compartir mi información contigo"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
-msgstr "%s no funcionaba"
+msgstr "El %s no funcionaba"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "No entiendo cómo hacerlo funcionar"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "%s es genial, pero necesito una característica que no soportáis"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "¿Qué característica?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
-msgstr "%s no funciona"
+msgstr " El %s no funciona"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Por favor, comparte lo que no funcionó para que podamos arreglarlo para los futuros usuarios..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "No es lo que estaba buscando"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "¿Que has estado buscando?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
-msgstr "%s no funciona como esperaba"
+msgstr " El %s no funciona como esperaba"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "¿Qué esperas?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Debug Freemius"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "No sé qué es cURL o cómo instalarlo, ¡ayúdame!"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "Nos aseguraremos de ponernos en contacto con tu empresa de alojamiento web y resolver el problema. Recibirás un correo electrónico de seguimiento a %s tan pronto tengamos una actualización."
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Genial, por favor instala cURL y habilítalo en el archivo php.ini. Además, busca la directiva 'disable_functions' en el archivo php.ini y quita cualquier método que comienza con 'curl_'. Para asegurarte de que se activó con éxito, utiliza 'phpinfo()'. Una vez activado, desactiva el %s y reactívalo de nuevo."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Vamos, adelante"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "No - sólo desactivar"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Oops"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "¡Gracias por darnos la oportunidad de arreglarlo! Acabamos de enviar un mensaje a nuestro personal técnico. Nos pondremos en contacto contigo tan pronto como tengamos una actualización de %s. Apreciamos tu paciencia."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s no se puede ejecutar sin %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s no se puede ejecutar sin el plugin."
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Error inesperado del API. Pónte en contacto con el autor de %s indicándole el siguiente error."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "La versión Premium %s ha sido activada con éxito."
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "W00t"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "Tienes una licencia %s."
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Vaya"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "la prueba gratuita de %s fue cancelada con éxito. Puesto que el complemento es sólo premium se desactivó automáticamente. Si quieres utilizarlo en el futuro, deberás comprar una licencia."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s es un complemento único de premium. Tienes que comprar una licencia primero antes de activar el plugin."
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "Más información sobre %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Comprar licencia"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "Recibirás un correo de activación para %s en tu buzón en %s. Por favor, asegúrate de hacer clic en el botón de activación en ese correo electrónico para %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "comenzar el período de prueba"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "completar la instalación"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "Estás a sólo un paso - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Completar la activación de \"%s\" ahora"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "Hemos realizado algunas optimizaciones al %s, %s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "¡Inscribirte para hacer \"%s\" Mejor!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "¡Inscríbite para hacer \"%s\" Mejor!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "La actualización de %s se completó con éxito."
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Complemento"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "Plugin"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Tema"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Colección de detalles del sitio no válida."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "No podemos encontrar tu dirección de correo electrónico en el sistema, ¿estás seguro de que es la dirección de correo electrónico correcta?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "No vemos ninguna licencia activa asociada a esa dirección de correo electrónico, ¿estás seguro de que es la dirección de correo electrónico correcta?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "La cuenta está pendiente de activación"
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Compra una licencia ahora"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renueva tu licencia ahora"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s para acceder a la versión %s de actualizaciones de funciones, seguridad y soporte."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "%s activación se completó con éxito."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Tu cuenta se ha activado correctamente con el plan %s."
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "Tu versión de prueba se ha iniciado con éxito."
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "No se puede activar %s."
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Por favor contáctanos con el siguiente mensaje:"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Actualizar"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Comenzar el período de prueba"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Precio"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Afiliación"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "Cuenta"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Contáctanos"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Complementos"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Precio"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Foro de soporte"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Tu email ha sido verificado correctamente - ¡Eres IMPRESIONANTE!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Bien hecho"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Tu complemento %s del plan se actualizó con éxito."
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "El complemento %s ha sido comprado correctamente."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Descargar la última versión"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Tu servidor está bloqueando el acceso a la API de Freemius, que es crucial para la sincronización de licencia %1s. Por favor, ponte en contacto con tu host para que lo añadan a su lista blanca %2s"
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Error recibido del servidor:"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "Parece que uno de los parámetros de autenticación es incorrecto. Actualiza tu clave pública, clave secreta e ID de usuario e inténtelo de nuevo."
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "Hmm"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "Parece que todavía estás en el plan %s. Si actualizaste o cambiaste tu plan, probablemente sea un problema de nuestra parte - lo sentimos."
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Período de Prueba Gratuito"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "He actualizado mi cuenta, pero cuando intento sincronizar la licencia, el plan sigue siendo %s."
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Contacta aquí con nosotros"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Tu plan se actualizó con éxito."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Tu plan se cambió correctamente a %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Tu licencia ha caducado. Puedes seguir usando el plan gratuito %s para siempre."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Tu licencia ha caducado. %1$sActualiza ahora %2$s para continuar usando el %3$s sin interrupciones."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "Tu licencia ha sido cancelada. Si crees que es un error, ponte en contacto con el servicio de asistencia."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Tu licencia ha caducado. Todavía puedes seguir usando todas las funciones de %s, pero tendrás que renovar tu licencia para seguir recibiendo actualizaciones y soporte."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "Tu período de prueba ha caducado. Todavía puedes seguir usando todas nuestras funciones gratuitas."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Tu período de prueba ha caducado. %1$sActualiza ahora %2$s para continuar usando el %3$s sin interrupciones."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "Parece que la licencia no se pudo activar."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "Tu licencia fue activada correctamente."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "Parece que tu sitio actualmente no tiene una licencia activa."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "Parece que la desactivación de licencia ha fallado."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "Tu licencia fue desactivada correctamente, has vuelto al plan %s."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "O.K"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Tu plan fue degradado con éxito. Tu licencia %s plan caducará en %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Parece que estamos teniendo algún problema temporal con tu cancelación de la suscripción. Vuelve a intentarlo en unos minutos."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Parece que estamos teniendo algún problema temporal con tu degradación de plan. Vuelve a intentarlo en unos minutos."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Tu suscripción ha sido cancelada correctamente. Tu %s licencia del plan caducará en %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "Estás ejecutando %s en modo de prueba."
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "Ya utilizaste un período de prueba antes."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "El plan %s no existe, por lo tanto, no puedes comenzar un período de prueba."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "El plan %s no admite un período de prueba."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "Ninguno de los planes de %s soportan un período de prueba."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "Parece que ya no estás en modo de prueba, así que no hay nada que cancelar :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Tu prueba gratuita de %s fue cancelada con éxito."
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "Parece que estamos teniendo algún problema temporal con tu cancelación de prueba. Vuelve a intentarlo en unos minutos."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Tu prueba gratuita de %s fue cancelada con éxito."
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "La versión %s se ha lanzado."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "Por favor descarga %s."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "la última versión %s aquí"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "Nuevo"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Parece que tienes la última versión."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "¡Está todo listo!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "El correo de verificación se acaba de enviar a %s. Si no puedes encontrarlo después de 5 min, comprueba tu carpeta de spam."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Sitio dado de alta correctamente."
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Increíble"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "Agradecemos tu ayuda para mejorar %s y por permitirnos rastrear algunos datos de uso."
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "¡Gracias!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "No continuaremos enviando datos de uso de %s en %s a %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Comprueba tu buzón de correo, debes recibir un correo electrónico a través de %s para confirmar el cambio de propiedad. Por razones de seguridad, debes confirmar el cambio dentro de los próximos 15 min. Si no puedes encontrar el correo electrónico, comprueba tu carpeta de correo no deseado."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Gracias por confirmar el cambio de propiedad. Se envió un correo electrónico a %s para su aprobación final."
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s es el nuevo dueño de la cuenta."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Felicidades"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Lo sentimos, no podemos completar la actualización de correo electrónico. Ya hay registrado otro usuario con esa dirección de correo electrónico."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "Si deseas renunciar a la titularidad de la cuenta de %s a %s haz clic en el botón de cambio de titularidad."
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Cambiar propietario"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Se actualizó correctamente tu correo electrónico. Recibirás un correo electrónico con las instrucciones de confirmación en unos momentos."
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Por favor, dinos tu nombre completo."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Tu nombre fue actualizado correctamente."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "Has actualizado correctamente tu %s."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Sólo déjanos informarte que la información de complementos de %s se está extrayendo de un servidor externo."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Atención"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "Hey"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "¿Qué te pareció %s hasta ahora? Prueba todas nuestras funciones premium de %s con una prueba gratuita de % d-días."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "Sin compromiso por %s días - ¡cancelar en cualquier momento!"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "No se necesita tarjeta de crédito"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Comenzar el período de prueba gratuito"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Hey, ¿sabías que %s tiene un programa de afiliados? ¡Si te gusta %s puedes convertirte en nuestro embajador y ganar dinero!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Saber más"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Activar licencia"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Cambiar licencia"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Darse de baja"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Inscribirse"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr "La versión de pago de %1s ya está instalada. Actívala para comenzar a beneficiarte de las funciones de %2s. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activar características %s"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Por favor, sigue estos pasos para completar la actualización"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Descargar la última versión %s"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Cargar y activar la versión descargada"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "¿Cómo subirlo y activarlo?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sClick aquí %s para elegir los sitios sobre los que te gustaría activar la licencia."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "La instalación automática sólo funciona para usuarios que aceptaron."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "Id de módulo no válido."
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Versión premium ya activa."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "No tienes una licencia válida para acceder a la versión premium."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "El plugin es un \"Serviceware\" lo que significa que no tiene una versión de código premium."
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Versión del complemento premium ya instalada."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "Ver las funciones de pago"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "¡Muchas gracias por utilizar %s y sus complementos!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "¡Muchas gracias por utilizar %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "Ya has optado por nuestro seguimiento de uso, lo que nos ayuda a seguir mejorando %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "¡Muchas gracias por utilizar nuestros productos!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "Ya has optado por nuestro seguimiento de uso, lo que nos ayuda a seguir mejorando."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%s y sus complementos"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Productos"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Si"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "envíame actualizaciones de seguridad y nuevas funcionalidades, contenido educativo y ofertas."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "No"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "%sNO%s me envíes actualizaciones de seguridad y nuevas funcionalidades, contenido educativo y ofertas."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Debido a la nueva %s Regulación General de Protección de Datos de la UE  (GDPR)%s los requisitos de conformidad nos requieren que nos debes dar tu consentimiento explícito, de nuevo, confirmando que estás de acuerdo 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Indica si deseas que te contactemos para actualizaciones de seguridad y nuevas funciones, contenido educativo y ofertas ocasionales:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "La clave de licencia está vacía."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%s Renueva tu licencia ahora %s para acceder a la versión %s seguridad y nuevas características y soporte."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Renovar la licencia"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Comprar licencia"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "Hay una %s de %s disponible."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "nueva versión"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Aviso importante de actualización:"
+
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Instalando plugin: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "No es posible conectarse al sistema de archivos. Por favor, confirma tus credenciales."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "El paquete de plugin remoto no contiene una carpeta con el Slug deseado y el cambio de nombre no funcionó."
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Comprar"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Comenzar mi período gratuito de %s"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Instalar la versión gratuita ahora"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Instalar ahora"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Descargar la última versión gratuita"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Descargar la última"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Instalar la actualización gratuita ahora"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Instalar actualización ahora"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Versión gratuita más reciente (%s) instalada"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Versión más reciente (%s) instalada"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "Última versión gratuita instalada"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Última versión instalada"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Descripción"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Instalación"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "FAQ"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Capturas de pantalla"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Registro de cambios"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Valoraciones"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Otras notas"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Características y precios"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Instalar plugin"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "Plan %s"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "El mejor"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Mensual"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Anual"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "Permanente"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "Facturado %s"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Anualmente"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Una vez"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Licencia para un único sitio"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Licencias ilimitadas"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "Hasta %s sitios"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "me"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "año"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Precio"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Guardar %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "Sin compromiso para %s - cancelar en cualquier momento"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "Después de su período gratuito %s, pague sólo %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Detalles"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Versión"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Autor"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Última actualización"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "hace %s"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Necesita la versión de WordPress"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s o mayor"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatible hasta"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Descargado"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "% vez"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s veces"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "Página del plugin en WordPress.org"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Página web del plugin"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Donar a este plugin"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Calificación media"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "basado en %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s calificación"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s calificaciones"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%s estrella"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s estrellas"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Haz clic para ver los comentarios con una valoración de %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Colaboradores"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Atencion"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "Este plugin no ha sido probado con tu versión actual de WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "Este puglin no ha sido marcado como compatible con tu versión de WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "El complemento de pago se debe implementar en Freemius."
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "El complemento debe implementarse en WordPress.org o en Freemius."
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Degradando tu plan detendrás inmediatamente todos los pagos recurrentes futuros y tu licencia del plan %s expirará en %s."
+msgid "Downgrading your plan"
+msgstr "Bajando tu plan"
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelando la suscripción"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s detendrá inmediatamente todos los pagos recurrentes futuros y tu %s licencia del plan caducará en %s."
+
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Ten en cuenta que no podremos abaratar los precios desactualizados para renovaciones/nuevas suscripciones después de una cancelación. Si eliges renovar la suscripción manualmente en el futuro, después de un aumento de precio, que generalmente ocurre una vez al año, se te cobrará el precio actualizado."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "La cancelación del período de prueba bloqueará inmediatamente el acceso a todas las funciones premium. ¿Estás seguro?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "Todavía puedes disfrutar de todas las funciones de %s pero no tienes acceso a soporte y actualizaciones de %s."
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "Todavía puedes disfrutar de todas las funciones de %s pero no tendrás acceso a soporte y actualizaciones de %s."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Una vez que caduque tu licencia todavía puedes utilizar la versión gratuita pero NO tendrás acceso a las funciones de %s."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Activar plan %s"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Auto renovaciones en %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Caduca en %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Sincronizar licencia"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Cancelar período de prueba"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Cambiar Plan"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Actualizar"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Degradar"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Gratis"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Activar"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Período de prueba gratuito"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "Detalles de la cuenta"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "La eliminación de la cuenta desactivará automáticamente su licencia de plan %s para que pueda utilizarla en otros sitios. Si también desea cancelar los pagos periódicos, haga clic en el botón \"Cancelar\" y, en primer lugar, \"Degradar\" su cuenta. ¿Seguro que deseas continuar con la eliminación?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "La eliminación no es temporal. Sólo elimínalo si ya no deseas utilizar este %s más. ¿Estás seguro que desea continuar con la eliminación?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Borrar cuenta"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Desactivar licencia"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "¿Estás seguro que quieres proceder?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Cancelar suscripción"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Sincronizar"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "Nombre"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "Correo electrónico"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "ID de usuario"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "ID del sitio"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "Sin ID"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Clave pública"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Clave secreta"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "Sin clave secreta"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Período de prueba gratuito"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "Clave de licencia"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "no verificado"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Caducado"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Versión premium"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Versión gratuita"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Verificar correo electrónico"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Descargar versión %s"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Mostrar"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "¿Cual es tú %s?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Editar"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Sitios"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Buscar por dirección"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "Dirección"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "Licencia"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "Licencia"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Ocultar"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelando %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "período de prueba"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelando %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "suscripción"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Al desactivar tu licencia todas las características premium se bloquearán, pero posibilitará poder activar tu licencia en otro sitio. ¿Estás seguro que quieres continuar?"
 
@@ -1320,7 +1417,7 @@ msgstr "Complementos para %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "No podemos cargar la lista de complementos. Probablemente es un problema por nuestro parte, por favor inténtalo de nuevo en unos minutos."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "Ver detalles"
 
@@ -1359,163 +1456,167 @@ msgid "PCI compliant"
 msgstr "Compatible con PCI"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Hey %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Permitir y continuar"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Reenviar correo electrónico de activación"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "¡Gracias %s!"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "De acuerdo y activar licencia"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "¡Gracias por comprar %s! Para empezar, escribe tu clave de licencia:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "No te pierdas ninguna actualización importante - acepta para notificaciones de seguridad y de actualizaciones, ofertas y seguimiento de diagnóstico con datos no sensibles con %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "No te pierdas ninguna actualización importante - acepta para notificaciones de seguridad y de actualizaciones y seguimiento de diagnóstico con datos no sensibles con %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "No te pierdas ninguna actualización importante - acepta las notificaciones de seguridad y de actualizaciones, contenido educacional, ofertas y seguimiento de diagnóstico con datos no sensibles con %4$s. ¡Si te saltas esto, no pasa nada! %1$s seguirá funcionando bien."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "No te pierdas ninguna actualización importante - acepta las notificaciones de seguridad y de actualizaciones y seguimiento de diagnóstico con datos no sensibles con %4$s. ¡Si te saltas esto, no pasa nada! %1$s seguirá funcionando bien."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "Estamos emocionados de introducir la integración de Freemius a nivel de red."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "Durante el proceso de actualización hemos detectado%d sitio(s) que aún están pendientes de la activación de licencia."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "Si quieres utilizar %s en estos sitios, introduce por favor tu clave de licencia abajo y haz click en el botón de activación."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "%s características de pago"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "Alternativamente, puedes saltarlo ahora y activar la licencia después, en tu %s página de cuenta a nivel de red."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "Durante el proceso de actualización detectamos %s sitio(s) en la red que todavía están pendientes de tu atención."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "Clave de licencia"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "¿No puedes encontrar tu clave de licencia?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Saltar"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Delegar a administradores del sitio"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "Si haces click, esta decisión será delegada a los administradores de los sitios."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Resumen del perfil"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Nombre y dirección de correo electrónico"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Resumen del sitio"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "URL del sitio web, versión de WP, PHP info, plugins y temas"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Avisos de administración"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Actualizaciones, anuncios, marketing, sin spam"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Eventos de %s actuales"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Activación, desactivación y desinstalación"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Boletín"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "%1$s periódicamente enviará datos a %2$s para comprobar las actualizaciones de seguridad, nuevas funcionalidades y verificar la validez de tu licencia."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "¿Qué permisos se otorgan?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "¿No tienes una clave de licencia?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Activar versión gratuita"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "¿Tienes una clave de licencia?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Política de privacidad"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "Acuerdo de licencia"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Términos de servicio"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "Enviando correo electrónico"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Activando"
@@ -1543,8 +1644,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Depurando"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "Acciones"
 
@@ -1568,199 +1669,203 @@ msgstr "Borrar transients de actualizaciones"
 msgid "Sync Data From Server"
 msgstr "Sincronizar datos desde el servidor"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrar opciones a la red"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Cargar opción de BD"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Guardar opción en BD"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Clave"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Valor"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "Versiones SDK"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "Ruta del SDK"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Ruta del módulo"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "Está activo"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Plugins"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Temas"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Ruta"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "Título"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Estado Freemius"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Blog de red"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Usuario de red"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Conectado"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Bloqueado"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
 msgstr "Simular período de prueba"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simular actualización de red"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s Instalaciones"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Sitios"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "ID del blog"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Borrar"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Complementos del módulo %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Usuarios"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Verificado"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licencias"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "ID del plugin"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "ID del plan"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Cuota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Activado"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Bloqueando"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Caducidad"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Log de Debug"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "Todos los Tipos"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "Todas las peticiones"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "Archivo"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "Función"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "ID del proceso"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "Mensaje"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Filtro"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Descarga"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Tipo"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Timestamp"
 
@@ -2111,23 +2216,19 @@ msgstr "El uso del seguimiento se hace con la intención de mejorar %s. Crear un
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "Haciendo clic en \"Desistir\", ya no enviaremos los datos de %s a %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "Hay una nueva versión de %s disponible."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%s Renueva tu licencia ahora %s para acceder a la versión %s seguridad y nuevas características y soporte."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr "%s para acceder a la versión %s de actualizaciones de funciones, seguridad y soporte."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "Nueva versión disponible"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Renovar la licencia"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Descartar"
@@ -2140,6 +2241,43 @@ msgstr "Enviar clave de licencia"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Escribe abajo la dirección de correo electrónico que has usado para la actualización y te reenviaremos la clave de licencia."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Desactivar o desinstalar %s deshabilitará automáticamente la licencia, que podrás usar en otro sitio."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "En caso de que NO estés planeando utilizar este %s en este sitio (o en cualquier otro sitio), ¿te gustaría cancelar también %s?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "licencia"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancelar %s - No necesito más actualizaciones de características y seguridad, ni soporte para %s porque no pretendo utilizar%s en este, u otro sitio."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "No cancelar %s - Todavía estoy interesado en obtener actualizaciones de características y seguridad, así como poder contactar con soporte."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Una vez que tu licencia caduque no podrás seguir utilizando %s, a no ser que lo actives de nuevo con una licencia premium válida."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "¿Cancelar %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceder"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancelar %s y proceder"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "Estás a sólo 1-click de comenzar tu %1$s días de prueba gratuita del plan %2$s."
@@ -2205,20 +2343,16 @@ msgstr "quedan %s"
 msgid "Last license"
 msgstr "Última licencia"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Cancelado"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Caducado"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "Sin caducidad"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Activar este complemento"
 
@@ -2246,47 +2380,47 @@ msgstr "Disculpa las molestias y estamos aquí para ayudarte si nos das una opor
 msgid "Contact Support"
 msgstr "Contactar soporte"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Comentarios anónimos"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Desactivar"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Activar %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
+#: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
 msgstr "Comentarios rápidos"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
-msgstr "Si tienes un momento, por favor, dinos por qué estás desactivando %s"
+msgstr "Si tienes un momento, por favor, dinos por qué estás %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "desactivando"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "cambiando"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Enviar y %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "Por favor, dínos la razón para que podamos mejorar."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Si - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "Saltar y %s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.mo
index fe5435185cca1070c42b1266669861a7ac99bcb7..065f63643823689bae74ecb3809920106c32d1ce 100644
GIT binary patch
delta 12450
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
Yp5D%dFm-bO8Eux-;^M@~JI+i50Qy-Ce*gdg

delta 9434
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.po
index 6aa3c6f9a..4bd4b7cc4 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-fr_FR.po
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Boris Colombier <transifex.com@wba.fr>, 2018
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-24 15:20+0000\n"
+"PO-Revision-Date: 2018-11-29 17:40+0000\n"
 "Last-Translator: Boris Colombier <transifex.com@wba.fr>\n"
 "Language: fr_FR\n"
 "Language-Team: French (France) (http://www.transifex.com/freemius/wordpress-sdk/language/fr_FR/)\n"
@@ -21,1294 +21,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Le SDK Freemius ne trouve pas le fichier principal du plugin. Merci de contacter sdk@freemius.com en indiquant l'erreur."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Erreur"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "J'ai trouvé un meilleur %s"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "Quel est le nom du %s ?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "C'est une %s temporaire. Je corrige un problème."
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Désactivation"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Changement de Thème"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Autre"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "Je n'ai plus besoin du %s"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "Je n'ai besoin de %s que pour une courte période"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "Le %s a cassé mon site"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "Le %s a soudainement arrêté de fonctionner"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "Je ne peux plus payer pour ça"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "Quel prix seriez-vous prêt à payer ?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "Je ne veux pas partager mes informations avec vous"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "Le %s n'a pas fonctionné"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "Je ne comprends pas comment le faire fonctionner"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "Le %s est bien mais j'ai besoin de fonctionnalités spécifiques que vous ne proposez pas"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "Quelle fonctionnalité ?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "Le %s ne fonctionne pas"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Merci de nous indiquer ce qui ne fonctionne pas afin que nous puissions le corriger pour les futurs utilisateurs..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "Ce n'est pas ce que je recherche"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "Que recherchez-vous ?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "Le %s n'a pas fonctionné comme prévu"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "À quoi vous attendiez-vous ?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Débuggage Freemius"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "Je ne sais pas ce qu'est cURL ou comment l'installer, aidez moi !"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "Nous allons contacter votre hébergeur afin de résoudre le problème. Vous recevrez un email à propos de %s dès que nous aurons des nouvelles."
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Parfait, merci d'installer cURL et de l'activer dans votre fichier php.ini. De plus, recherchez l'instruction 'disable_functions' de votre fichier php.ini et désactivez les commandes commençant par 'curl_'. Pour vérifier la bonne activation, utilisez la fonction 'phpinfo()'. Une fois activé, désactivez le %s et réactivez le à nouveau."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Oui - allez-y"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "Non - désactivation seulement"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Oups"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Merci de nous permettre de corriger ça. Un message vient d'être envoyé à notre service technique. Nous reviendrons vers vous dès que nous aurons des nouvelles à propos de %s."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s ne peut pas fonctionner sans %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s ne peut pas fonctionner sans le plugin."
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Une erreur est survenue dans l'API. Merci de contacter l'auteur du %s en lui indiquant l'erreur."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "La version premium de %s a été activée avec succès."
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "Génial"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "Vous avez une license pour %s."
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Youpi"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "La période d'essai du %s a bien été annulé. L'add-on a été désactivé car il ne fonctionne qu'avec la version premium. Si vous souhaitez l'utiliser ultérieurement, vous devrez acheter une licence."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%sest un add-on pour la version premium. Vous devez acheter une licence avant d'activer le plugin."
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "Plus d'informations à propos de %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Acheter une licence"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "Vous devriez recevoir un email d'activation pour %s sur votre boîte %s. Merci de cliquer sur le bouton d'activation dans l'email pour %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "commencer la période d'essai"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "compléter l'installation"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "Il ne reste qu'une étape - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Compléter \"%s\" Activer Maintenant"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "Nous avons fait quelques modifications au %s, %s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "Cochez la case pour améliorer \"%s\""
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Inscrivez-vous pour améliorer \"%s\" !"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "La mise à jour du %s s'est terminée avec succès "
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Add-On"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "Plugin"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Thème"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Récupération des détails du site non valide."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "Nous ne trouvons pas votre adresse mail dans notre système, êtes-vous qu'il s'agit de la bonne adresse ?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "Nous ne trouvons aucune licence active associée avec cette adresse email, êtes-vous qu'il s'agit de la bonne adresse ?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Compte en cours d'activation."
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Acheter une licence maintenant"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renouvelez votre licence maintenant"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s pour permettre les mises à jour de sécurité et de fonctionnalités de la version %s, et le support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "L'activation de %s s'est terminée avec succès."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Votre compte a été activé avec succès avec la formule %s."
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "Votre période d'essai a bien démarré."
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "Impossible d'activer %s."
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Merci de nous contacter avec le message suivant :"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Mise à jour"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Essai gratuit"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Tarifs"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Affiliation"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "Compte"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Contactez Nous"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Add-Ons"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Tarifs"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Forum de Support"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Votre email a été vérifié avec succès - vous êtes FORMIDABLE !"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Directement"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Votre Add-on %s a bien été mis à jour."
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "L'Add-on %s a bien été acheté."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Télécharger la dernière version"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Votre serveur bloque l'accès à l4API Freemius qui est indispensable pour la synchronisation %1s. Merci de contacter votre hébergeur pour mettre %2s dans la liste blanche "
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Une erreur a été reçu depuis le serveur :"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "Il semble que l'un des paramètres d'authentification soit faux. Veuillez mettre à jour votre  Public Key, votre Secret Key ainsi que vote User ID et essayez à nouveau."
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "Hmm"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
-msgstr "Il semble que vous soyez encore sur la formule %s. Si vous avez mis à jour ou changer vote formule, le problème est probablement de votre côté - désolé."
+msgstr "Il semble que vous soyez encore sur la formule %s. Si vous avez mis à jour ou changer votre formule, le problème est probablement de votre côté - désolé."
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Période d'essai"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "J'ai mis à jour mon compte mais quand j'essaie de synchroniser la licence, la formule est toujours %s."
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Merci de nous contacter ici"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Votre formule a bien été mise à jour."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Votre formule a bien été modifié vers %s. "
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Votre licence a expiré. Vous pouvez toujours utiliser la version gratuite indéfiniment."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Votre licence a expiré.%1$sFaites la mise à jour maintenant%2$s pour continuer à utiliser le %3$s sans interruption."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "Votre licence a été annulé. Si vous pensez qu'il s'agit d'une erreur, merci de contacter le support."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Votre licence a expiré. Vous pouvez toujours utiliser les fonctionnalités %s mais vous devrez renouveler votre licence pour recevoir les mises à jour et une assistance."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "Votre période d'essai gratuite est terminée. Vous pouvez continuer à utiliser toutes nos fonctionnalités gratuites."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Votre période d'essai gratuite est terminée. %1$sFaites la mise à jour maintenant%2$s pour continuer à utiliser le %3$s sans interruption."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "Il semble que la licence ne puisse être activée."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "Votre licence a bien été activée."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "Il semble que votre site n'ait pas de licence active."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "Il semble que la désactivation de la licence a échoué."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "Votre licence a bien été désactivé, vous utilisez à présent la formule %s."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "O.K"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "La formule a bien été rétrogradé. La licence de votre formule expirera dans %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Il semble que nous ayons un problème temporaire avec l'annulation de votre abonnement. Merci de réessayer dans quelques minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Il semble que nous ayons un problème temporaire pour rétrograder votre formule. Merci de réessayer dans quelques minutes."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Votre abonnement a bien été annulé. Votre licence de la formule %s expirera dans %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "Vous utilisez déjà le %s en période d'essai. "
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "Vous avez déjà utilisé la période d'essai."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "La formule %s n'existe pas, il n'est pas possible de commencer une période d'essai."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "La formule %s ne propose pas de période d'essai."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "Aucune formule du %s ne propose de période d'essai."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "Il semble que vous ne soyez plus en période d'essai donc il n'y a rien à annuler :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Votre période d'essai %s a bien été annulé."
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "Il semble que nous ayons un problème temporaire pour annuler votre période d'essai. Merci de réessayer dans quelques minutes."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Votre période d'essai %s a bien été annulé."
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "La version %s vient d'être publiée."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "Merci de télécharger %s."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "la dernière version de %s ici"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "Nouveau"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Il semble que vous ayez la dernière version."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "Vous êtes tout bon !"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "Un email de vérification vient d'être envoyé sur %s. Si vous ne le recevez pas d'ici 5 minutes, merci de vérifier dans vos spams."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Site ajouté avec succès."
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Formidable"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "Nous vous remercions de votre aide pour améliorer le %s en nous permettant de recevoir des informations concernant son usage."
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "Merci !"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "Nous n'enverrons plus d'information d'utilisation de %s sur %s à %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Merci de vérifier votre messagerie, vous devriez recevoir un email via %s pour confirmer le changement de propriétaire. Pour des raisons de sécurité, vous devez confirmer le changement dans les prochaines 15 minutes. Vérifiez vos spams si vous ne recevez pas le message."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Merci pour la confirmation du changement de propriétaire. Un email vient d'être envoyé à %s pour la validation finale."
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s est le nouveau propriétaire du compte."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Félicitations"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Désolé, nous ne pouvons pas mettre à jour l'email. Il existe déjà un autre utilisateur avec cette adresse."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "Si vous voulez transférer la propriété du compte de %s à %s cliquez sur le bouton Changement De Propriétaire"
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Changement De Propriétaire"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Votre email a été mis à jour. Vous allez recevoir un message avec les instructions de confirmation."
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Merci d'indiquer vos prénom et nom."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Votre nom a été mis à jour."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "Votre %s a bien été mis à jour."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Sachez que les informations de l'add-ons de %s sont issus d'un serveur externe."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Avertissement"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "Hey"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "Que pensez-vous de %s ? Testez nos %s fonctionnalités premium avec %d jours d'essai gratuit."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "Pas d'engagement durant %s jours - annuler quand vous voulez !"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "Pas besoin de carte bancaire"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Commencer l'essai gratuit"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Dites, savez-vous que %s propose un système de affiliation ? Si vous aimez le %s vous pouvez devenir notre ambassadeur et gagner de l'argent !"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "En savoir plus"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Activer la licence"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Changer la licence"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Désinscription"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Inscription"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr "La version payante de %1s est déjà installée. Merci de l'activer pour bénéficier des fonctionnalités %2s. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activer les fonctionnalités %s"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Merci de suivre ces étapes pour finaliser la mise à jour"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Télécharger la dernière version %s"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Téléverser et activer la version téléchargée"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "Comment téléverser et activer ?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sCliquez ici %s pour choisir les sites sur lesquels vous souhaitez activer la licence."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "L'installation automatique ne fonctionne que pour les utilisateurs qui se sont inscrits."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "ID du module non valide."
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Version premium déjà active."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "Vous n'avez pas de licence valide pour accéder à la version premium."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Le plugin est un  \"Serviceware\" ce qui veut dire qu'il n'a pas de version premium de code."
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "La version premium de l'add-on est déjà installée."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "Voir les fonctionnalités payantes"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Merci beaucoup d'utiliser %s et ses add-ons !"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "Merci beaucoup d'utiliser %s !"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "Vous avez déjà validé notre suivi d'utilisation qui nous permet de continuer à améliorer le %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "Merci beaucoup d'utiliser nos produits !"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "Vous avez déjà validé notre suivi d'utilisation qui nous permet de continuer à les améliorer."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%s et ses add-ons"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Produits"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Oui"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "envoyez moi des mises à jour de sécurité et des fonctionnalités, du contenu instructif et des offres."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "Non"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "ne %sPAS%s m'envoyer de mises à jour de sécurité ou de fonctionnalités, ni de contenu instructif, ni d'offre."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Suite au exigences de conformité du %sRèglement européen Général sur la Protection des Données (GDPR)%s il est nécessaire que vous donniez, à nouveau, votre consentement explicite pour confirmer que vous êtes avec nous 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Merci de nous indiquer si vous souhaitez que nous vous contactions pour les mises à jour de sécurité et de fonctionnalités, du contenu instructif et des offres spéciales :"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "La clé de licence est vide."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%s Renouveler votre licence maintenant %s pour accéder aux mise à jour de sécurité et de fonctionnalités de la version %s ainsi qu'au support."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Renouvelez votre licence"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Acheter une licence"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "Il y a une %s de %s disponible."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "Nouvelle version"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Information importante de mise à jour :"
+
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Installation du plugin : %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Impossible de se connecter au système de fichiers. Merci de confirmer vos autorisations."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "Le package du plugin à télécharger ne contient pas de dossier avec le bon slug et iln'a pas été possible de le renommer."
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Acheter"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Commencer ma %s gratuite"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Installer la version gratuite maintenant"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Installer maintenant"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Télécharger la dernière version gratuite"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Télécharger la dernière version"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Installer la dernière mise à jour gratuite maintenant"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Installer la mise à jour maintenant"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "La nouvelle version gratuite ( %s ) a été installé"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Nouvelle Version (%s) Installée"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "La dernière version gratuite a été installé"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Dernière Version Installée"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Description"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Installation"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "FAQ"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Captures d'écran"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Changelog"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Commentaires"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Autres Informations"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Fonctionnalités & Tarifs"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Installation du Plugin"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "Formule %s"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "Best"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Mensuel"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Annuel"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "À vie"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "%s Facturé"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Annuel"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Une fois"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Licence 1 site"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Licences sites illimités"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "Jusqu'à %s Sites"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "mois"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "année"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Tarif"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Économisez %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "Pas d'engagement durant %s - annuler quand vous voulez"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "Après vos %s gratuits, payez seulement %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Détails"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Version"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Auteur"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Dernière mise à jour"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "Il y a %s"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Version de WordPress requise"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s ou plus"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatible jusqu'à"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Téléchargé"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "%s fois"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s fois"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "Page WordPress.org du plugin"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Site Web du plugin"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Faire une donation pour ce plugin"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Note moyenne"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "Basé sur %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s notation"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%snotations "
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%s étoile"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s étoiles"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Cliquez pour voir les avis avec une notation de %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Contributeurs"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Attention"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "Ce plugin n'a pas été testé avec votre actuelle version de WordPress"
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "Ce plugin n'a pas été indiqué comme étant compatible avec votre version actuelle de WordPress"
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Les add-ons payant doivent être déposés sur Freemius"
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "Les add-ons doivent être déposés sur WordPress.org ou Freemius."
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Rétrograder votre formule arrêtera immédiatement tous les futurs paiements récurrents et votre licence de la formule %s expirera dans %s."
+msgid "Downgrading your plan"
+msgstr "Rétrograder votre formule"
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Annuler votre abonnement"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s va immédiatement arrêter tous les futurs paiements récurrents et la licence de votre formule %s expirera dans %s."
+
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Veuillez noter que nous ne serons pas en mesure de garantir le maintien des prix actuels pour les renouvellements/nouveaux abonnements après une annulation. Si vous choisissez de renouveler l'abonnement manuellement à l'avenir, après une augmentation de prix, qui se produit généralement une fois par an, le prix mis à jour vous sera facturé."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "Annuler la période d'essai va immédiatement bloquer les fonctionnalités premium. Souhaitez-vous continuer ?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "Vous pouvez toujours bénéficier de toutes les fonctionnalités %s mais vous n'aurez pas accès aux mises à jour et au support %s."
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "Vous pouvez toujours profiter de toutes les fonctionnalités de %s mais vous n'aurez plus accès aux mises à jour de sécurité ou de fonctionnalités de %s, ni au support."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Une fois la licence expirée vous pourrez toujours utiliser la version gratuite mais vous n'aurez PAS accès aux fonctionnalités de %s."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Activer la formule %s"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Renouvellements automatique dans %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Expire dans %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Synchroniser la licence"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Annuler la période d'essai"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Changer de formule"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Mise à jour"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Rétrograder"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Gratuit"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Activer"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Formule"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Essai gratuit"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "Détails du compte"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "Supprimer le compte désactivera automatiquement la licence de votre formule %s afin que vous puissiez l'utiliser sur d'autres sites. Si vous voulez aussi annuler le paiement récurrent, cliquez sur le bouton \"Annuler\" et commencez par \"Rétrograder\" votre compte. Êtes-vous sûr de vouloir poursuivre la suppression ? "
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "La suppression est permanente. Ne faites cette suppression que si vous ne souhaitez plus utiliser le %s. Êtes-vous sûr de vouloir poursuivre la suppression ?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Supprimer le compte"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Désactiver la licence"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "Êtes-vous de vouloir continuer ?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Annuler l'abonnement"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Synchroniser"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "Nom"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "Email"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "User ID"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "Site ID"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "ID manquant"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Clef publique"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Clef secrête"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "Clef secrète manquante"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Période d'essai"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "Clef de licence"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "Non vérifié"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Expiré"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Version premium"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Version gratuite"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Vérifier l'email"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Télécharger la version %s"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Afficher"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "Quel est votre %s ?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Éditer"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Recherche par adresse"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "Adresse"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "Licence"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Formule"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "Licence"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Cacher"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Annulation de %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "essai"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Annulation de %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "abonnement"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Désactiver la licence bloquera toutes les fonctionnalités premium mais vous permettra d'activer la licence sur un autre site. Êtes-vous sûr de vouloir continuer ?"
 
@@ -1320,7 +1417,7 @@ msgstr "Add Ons pour %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "Nous n'avons pas pu charger la liste des add-ons. C'est probablement une difficulté de notre côté, merci de d'essayer à nouveau dans quelques minutes."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "Voir les détails"
 
@@ -1359,163 +1456,167 @@ msgid "PCI compliant"
 msgstr "Compatible PCI"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Hey %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Autoriser & Continuer"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Renvoyer l'email d'activation"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "Merci %s !"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "Valider & Activer la licence"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Merci d'avoir acheté %s ! Pour commencer, veuillez indiquer votre clef de licence :"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Ne ratez jamais une mise à jour importante - acceptez nos notifications de mises à jour de sécurité et de fonctionnalités, de contenu instructif, d'offres ainsi que le suivi d'activité non sensible avec %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Ne manquez jamais une mise à jour importante - optez pour nos notifications de mises à jour de sécurité et de fonctionnalités, et un suivi diagnostique non sensible avec %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Ne ratez jamais une mise à jour importante - acceptez nos notifications de mises à jour de sécurité et de fonctionnalités, de contenu instructif, d'offres ainsi que le suivi d'activité non sensible avec %4$s. Dans le cas contraire, pas de problème ! %1$s fonctionnera parfaitement aussi."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Ne ratez jamais une mise à jour importante - acceptez nos notifications de mises à jour de sécurité et de fonctionnalités ainsi que le suivi d'activité non sensible avec %4$s. Dans le cas contraire, pas de problème ! %1$s fonctionnera parfaitement aussi."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "Nous sommes impatient de vous présenter l'intégration Freemius au niveau réseau."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "Durant le processus de mise à jour nous avons détecté %d site(s) toujours en attente d'activation de la licence."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "Si vous voulez utiliser le %s sur ces sites, merci d'indiquer votre clé de licence ci-dessous et de cliquer sur le bouton d'activation."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "Fonctionnalités payantes de %s"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "Éventuellement, vous pouvez l'ignorer pour l'instant et activer la licence plus tard, sur votre page de compte du réseau %s."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "Durant le processus de mise à jour nous avons détecté %s site(s) dans le réseau que vous devez vérifier."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "Clef de licence"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "Vous ne trouvez pas votre clef de licence ?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Passer"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Déléguer aux administrateurs du site"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "Si vous cliquez, cette décision sera déléguée aux administrateurs des sites."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Résumé de votre profil"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Nom et adresse email"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Résumé de votre site"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "Site URL, WP version, PHP info, plugins & themes"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Notifications Administrateur"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Mises à jour, annonces, marketing, pas de spam"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Évènements du %s actuel"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Activation, désactivation et désintallation"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Newsletter"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "Le %1$s va régulièrement envoyer des données à %2$s pour vérifier les mises à jour de sécurité et de fonctionnalités ainsi que pour vérifier la validité de votre licence."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "Quelles autorisations sont accordées ?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "Vous n'avez pas de clef de licence ?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Activez la version gratuite"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "Vous avez une clef de licence ?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Politique de confidentialité"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "Contrat de licence"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Conditions générales de service"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "Email en cours d'envoi"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Activation en cours"
@@ -1543,8 +1644,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Debuggage"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "Actions"
 
@@ -1568,199 +1669,203 @@ msgstr "Vider les transients de mise à jour"
 msgid "Sync Data From Server"
 msgstr "Synchronisation des données depuis le serveur"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrer les options vers le réseau"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Chargement des options de la base de données"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Mise en place des options de la base de données"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Clef"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Valeur"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "Versions du SDK"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "Chemin d'accès du SDK"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Chemin d'accès du module"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "Est actif"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Plugins"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Thèmes"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Slug"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "Titre"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "État de Freemius"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Réseau de Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Réseau d'Utilisateur"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Connecté"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Bloqué"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Simuler l'essai"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simuler la promotion d'essai"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simuler la mise à jour du réseau"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s Installations"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "Blog ID"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Supprimer"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Add Ons du module %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Vérifié"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licences"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "ID du plugin"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "ID de la formule"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Quota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Activé"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Bloquant"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Expiration"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Debug Log"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "Tous les types"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "Toutes les demandes"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "Fichier"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "Fonction"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "ID du processus"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "Message"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Filter"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Téléchargement"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Type"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Timestamp"
 
@@ -2111,23 +2216,19 @@ msgstr "Le suivi d'utilisation de %s nous permet de l'améliorer. Apporter une m
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "En cliquant \"Désincription\", nous n'enverrons plus d'informations de %s à %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "Il y a une nouvelle version disponible de %s. "
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRenouveler votre licence maintenant%s pour accéder aux mise à jour de sécurité et de fonctionnalités de la version %s ainsi qu'au support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr "%s pour accéder aux mises à jour de sécurité et de fonctionnalités de la version %s, et au support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "Une nouvelle version est disponible"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Renouvelez votre licence"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Fermer"
@@ -2140,6 +2241,43 @@ msgstr "Envoyer le code de la licence"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Indiquez ci-dessous l'adresse email que vous avez utilisez pour la mise à jour et nous allons vous renvoyer le code de la licence."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Désactiver ou désinstaller le %s désactivera automatiquement la licence, que vous pourrez utiliser sur un autre site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "Dans le cas où vous n'avez PAS l'intention d'utiliser ce %s sur ce site (ou tout autre site) - voulez-vous aussi annuler le %s ?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "licence"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Annuler %s - Je n'ai plus besoin de mises à jour de sécurité et de fonctionnalités, ni de support pour %s parce que je n'ai pas l'intention d'utiliser le %s sur ce site, ou tout autre site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Ne pas annuler %s - Je veux toujours recevoir les mises à jour de sécurité et de fonctionnalités, ainsi que d'être en mesure de contacter le support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Une fois votre licence expirée, vous ne pourrez plus utiliser le %s, sauf si vous l'activez à nouveau avec une licence premium valide."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Annuler %s ?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Poursuivre"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Annuler %s et poursuivre"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "Vous êtes à 1 clic de commencer votre période d'essai gratuite de %1$s jours de la formule %2$s."
@@ -2205,20 +2343,16 @@ msgstr "%s restante(s)"
 msgid "Last license"
 msgstr "Dernière licence"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Annulé"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Expiré"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "Pas d'expiration"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Activer cet add-on"
 
@@ -2246,49 +2380,49 @@ msgstr "Désolé pour le dérangement et nous sommes là pour vous aider si vous
 msgid "Contact Support"
 msgstr "Contacter l'Assistance"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Commentaire anonyme"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Désactiver"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Activer %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "Commentaire rapide"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Commentaires rapides"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "Si vous avez un instant, merci de nous indiquer pourquoi %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "Désactivation"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "Changement"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Envoyer & %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "S'il vous plait, dites nous pourquoi afin que nous puissions nous améliorer."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Oui - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
-msgstr "Zapper & %s"
+msgstr "Passer & %s"
 
 #: templates/forms/deactivation/retry-skip.php:21
 msgid "Click here to use the plugin anonymously"
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.mo
index 8afad6ec4c97cfe9355ff8167d1efe080dc8bd13..a7de799c1a74d6a7e62af8d2ed40110c41bf7842 100644
GIT binary patch
delta 12097
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
ai9cEY_+{j(V$ul%){>&k#GJ|cC&~b0du1R1

delta 9227
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.po
index d9d65b8f7..2764ad810 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-he_IL.po
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Rami Yushuvaev <r_a_m_i@hotmail.com>, 2017
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-27 16:16+0000\n"
+"PO-Revision-Date: 2018-11-25 07:22+0000\n"
 "Last-Translator: Vova Feldman <vova@freemius.com>\n"
 "Language: he_IL\n"
 "Language-Team: Hebrew (Israel) (http://www.transifex.com/freemius/wordpress-sdk/language/he_IL/)\n"
@@ -22,1294 +22,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "שגיאה"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "מצאתי %s יותר טוב"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "What's the %s's name?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "It's a temporary %s. I'm just debugging an issue."
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "דיאקטיבציה"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "החלפת תֵמָה"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "אחר"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "I no longer need the %s"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "I only needed the %s for a short period"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "ה%s הרס לי את האתר"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "ה%s הפסיק פתאום לעבוד"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "אני לא יכול/ה להמשיך לשלם על זה"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "ה%s לא עבד"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "The %s is great, but I need specific feature that you don't support"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "איזה פיטצ'ר?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "ה%s לא עובד"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "חיפשתי משהו אחר"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "מה חיפשת?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "ה%s לא עבד כמצופה"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "למה ציפית?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "ניפוי תקלות פרימיוס"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "כן - בצעו את מה שצריך"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "לא - פשוט כבה"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "אופס"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s לא יכול לעבוד ללא %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "ההרחבה %s אינה יכולה לפעול ללא התוסף."
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Unexpected API error. Please contact the %s's author with the following error."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "Premium %s version was successfully activated."
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "יש"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "יש לך רישיון %s."
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "יששש"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "מידע נוסף אודות %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "קניית רישיון"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "התחל תקופת ניסיון"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "השלם התקנה"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "You are just one step away - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "השלם הפעלת \"%s\" עכשיו"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "We made a few tweaks to the %s, %s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "Opt in to make \"%s\" Better!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "The upgrade of %s was successfully completed."
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Add-On"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "תוסף"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "תבנית"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Account is pending activation."
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Buy a license now"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renew your license now"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "הפעלת %s הושלמה בהצלחה."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "חשבונך הופעל בהצלחה עם חבילת %s."
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "הניסיון שלך הופעל בהצלחה."
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "לא ניתן להפעיל את %s."
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "שדרג"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "התחל תקופת ניסיון"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "מחירון"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "אפיליאציה"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "חשבון"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "יצירת קשר"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Add-Ons"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "מחירון"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "פורום תמיכה"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Your email has been successfully verified - you are AWESOME!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "מעולה"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "חבילת ההרחבה %s שודרגה בהצלחה."
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "ההרחבה %s נרכשה בהצלחה."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "הורד את הגרסה האחרונה"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "הוחזרה שגיאה מהשרת:"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "אממ"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "ניסיון"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s."
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "אנא צור איתנו קשר כאן"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "החבילה שודרגה בהצלחה."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "החבילה עודכנה בהצלחה אל %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Your license has expired. You can still continue using the free %s forever."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "תקופת הניסיון שלך הסתיימה. הפיטצ'רים החינאמיים עדיין ניתנים לשימוש."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "נראה שלא ניתן להפעיל את הרישיון."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "הרישיון הופעל בהצלחה."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "נראה לאתר עדיין אין רישיון פעיל."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "נראה שניתוק הרישיון נכשל."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "רישיונך נותק בהצלחה, חזרת לחבילת %s"
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "אוקיי"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "You are already running the %s in a trial mode."
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "הניסיון כבר נוצל בעבר."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "החבילה %s אינה קיימת, לכן, לא ניתן להתחיל תקופת ניסיון."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "תוכנית %s אינה תומכת בתקופת ניסיון."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "None of the %s's plans supports a trial period."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "תקופת הניסיון החינמית של %s בוטלה בהצלחה."
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "נראה שיש תקלה זמנית המונעת את ביטול הניסיון. אנא נסו שוב בעוד כמה דקות."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "תקופת הניסיון החינמית של %s בוטלה בהצלחה."
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "גרסה %s הושקה."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "נא להוריד את %s."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "גרסת ה-%s האחרונה כאן"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "חדש"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "נראה שיש לך את הגרסה האחרונה."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "את\\ה מסודר!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Site successfully opted in."
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "אדיר"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "We appreciate your help in making the %s better by letting us track some usage data."
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "תודה רבה!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "We will no longer be sending any usage data of %s on %s to %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s הינו הבעלים החד של חשבון זה."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "מזל טוב"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "עדכון בעלות"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "כתובת הדואל שלך עודכנה בהצלחה. הודעת אישור אמורה להתקבל בדואל שלך ברגעים הקרובים."
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "נא למלא את שמך המלא."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "שמך עודכן בהצלחה."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "עידכנת בהצלחה את ה%s."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "לתשמות לבך"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "היי"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "ללא התחייבות ל-%s ימין - בטלו בכל רגע!"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "לא נדרש כרטיס אשראי"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "התחלת ניסיון חינם"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Learn more"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "הפעלת רישיון"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "שינוי רישיון"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Opt Out"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Opt In"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "הורד\\י את גרסת ה-%s העדכנית"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "איך להעלות ולהפעיל?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sClick here%s to choose the sites where you'd like to activate the license on."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "Auto installation only works for opted-in users."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "מזהה המודול לא תקני."
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "הגרסה בתשלום כבר פעילה."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "אין ברשותך רישיון בר תוקף לשימוש בגרסת הפרימיום."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Premium add-on version already installed."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "צפה בפיטצ'רים שבתשלום"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Thank you so much for using %s and its add-ons!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "אנו מודים לך על היותך כמשתמש של %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "אנו מודים לך על השימוש במוצרים שלנו!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving them."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%s and its add-ons"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "מוצרים"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "כן"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "תשלחו לי עדכוני אבטחה ופיטצ'רים, תוכן חינוכי, ומידע אודות מבצעים."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "לא"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "%sאל%2$s תשלחו לי עדכוני אבטחה, פיטצ'רים, תוכן חינוכי, ומידע על מבצעים."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "מפתח הרישיון ריק."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "חידוש רישיון"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Installing plugin: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Unable to connect to the filesystem. Please confirm your credentials."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "רכישה"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "התחל את %s הניסיון שלי"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "התקן גרסה חינאמית עכשיו"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "התקן עכשיו"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Download Latest Free Version"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "הורד גרסה אחרונה"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "התקן עדכון גרסה חינאמית עכשיו"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "התקן עדכון במיידי"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Newer Free Version (%s) Installed"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "גרסה חדשה (%s) הותקנה"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "גרסה חינאמית עדכנית הותקנה"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "הגרסה האחרונה הותקנה"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "תיאור"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "התקנה"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "שאלות נפוצות"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "צילומי מסך"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "לוג שינויים"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "ביקורות"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "היערות נוספות"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "פיטצ'רים ומחירים"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "התקנת תוסף"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "חבילה %s"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "הכי טוב"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "חודשי"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "שנתי"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "לכל החיים"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "מחוייב על בסיס %s"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "שנתי"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "פעם אחת"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "רשיון לאתר אחד"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "רשיונות ללא הגבלה"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "עד %s אתרים"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "חודשים"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "שנה"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "מחיר"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "שמירת %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "No commitment for %s - cancel anytime"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "After your free %s, pay as little as %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "פרטים"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "גרסה"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Author"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "עודכן לאחרונה"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "לפני %s"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Requires WordPress Version"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s ומעלה"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatible up to"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Downloaded"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "פעם %s"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s פעמים"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "WordPress.org Plugin Page"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "עמוד התוסף"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "תרום לתוסף"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "דירוג ממוצע"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "מבוסס על %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "דרוג %s"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s דרוגים"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "כוכב %s"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s כוכבים"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Click to see reviews that provided a rating of %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "תורמים"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Warning"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "תוסף זה לא נבדק עם גרסת הוורדפרס שלך."
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "התוסף לא סומן כתואם לגרסת הוורדפרס שלך."
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Paid add-on must be deployed to Freemius."
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "Add-on must be deployed to WordPress.org or Freemius."
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "ביטול הניסיון יחסום מייד את הפיטצ'רים שהינם בתשלום. האם ברצונך בכל זאת להמשיך?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "You can still enjoy all %s features but you will not have access to %s updates and support."
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "הפעל חבילה %s"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "עדכן אוטומטית בעוד %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "פג תוקף בעוד %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "סינכרן רישיון"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "ביט"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "שינוי חבילה"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "שדרג"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "שנמך"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "חינם"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "הפעלה"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "חבילה"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "ניסיון חינם"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "פרטי חשבון"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "מחיקת חשבון"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "שיחרור רישיון"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "האם את/ה בטוח רוצה להמשיך?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "בטל מנוי"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "סינכרון"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "שם"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "דוא\"ל"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "מזהה משתמש"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "מזהה אתר"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "אין מזהה"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "מפתח פומבי"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "מפתח סודי"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "אין מפתח סודי"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "ניסיון"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "License Key"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "לא מאומת"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "פג תוקף"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "גירסת פרימיום"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "גירסה חינאמית"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "אמת כתובת דוא\"ל"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "הורד גרסת %s"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "הצג"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "מה ה%s שלך?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "ערוך"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "אתרים"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "חפש לפי כתובת"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "מזהה"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "כתובת"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "רישיון"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "חבילה"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "רישיון"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "הסתר"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "ביטול הרישיון יחסום את כל הפיטצ'רים שבתשלום אך יאפשר להפעיל את הרישיון על אתר אחר. האם תרצו להמשיך בכל זאת?"
 
@@ -1321,7 +1418,7 @@ msgstr "הרחבות עבור %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "פרטים נוספים"
 
@@ -1360,163 +1457,167 @@ msgid "PCI compliant"
 msgstr "עומד בתקן PCI"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "היי %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "אפשר\\י והמשכ\\י"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "שליחה חוזרת של מייל האקטיבציה"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "תודה %s!"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "הסכמה והפעלת רישיון"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "We're excited to introduce the Freemius network-level integration."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "During the update process we detected %d site(s) that are still pending license activation."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "%s's paid features"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "During the update process we detected %s site(s) in the network that are still pending your attention."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "מפתח רישיון"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "האם אינך מוצא את מפתח הרישיון?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "דלג"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "האצלה למנהלי האתרים"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "If you click it, this decision will be delegated to the sites administrators."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "פרטים כלליים על הפרופיל"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "שם וכתובת דו\"אל"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "פרטים כלליים על האתר"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "התראות מנהל"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "עדכונים, הכרזות, הודעות שיווקיות, ללא דואר זבל"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Current %s Events"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "הפעלה, כיבוי והסרה"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "ניוסלטר"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "מהן ההרשאות המוענקות?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "האם אין ברשותך מפתח רישיון?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "הפעלת גירסה חינאמית"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "האם ברשותך רישיון?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "מדיניות פרטיות"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "תנאי השירות"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "שולח דוא\"ל"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "מפעיל"
@@ -1544,8 +1645,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "דיבוג"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "פעולות"
 
@@ -1569,199 +1670,203 @@ msgstr "Clear Updates Transients"
 msgid "Sync Data From Server"
 msgstr "סנכרון מידע מהשרת"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Load DB Option"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Set DB Option"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Key"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Value"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "גרסאות SDK"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "מיקום SDK"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Module Path"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "האם פעיל"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "תוספים"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "תבניות"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "מזהה כתובת"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "כותרת"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "מצב פרימיוס"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Network Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "משתמש רשת"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "מחובר"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "חסום"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Simulate Trial"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "סמלוץ עדכון לרשת"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s התקנות"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "אתרים"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "מזהה בלוג"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "מחק"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Add Ons of module %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "משתמשים"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "מאומת"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licenses"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "Plugin ID"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "Plan ID"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Quota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Activated"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Blocking"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "תפוגה"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Debug Log"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "כל הסוגים"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "כל הבקשות"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "קובץ"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "פונקציה"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "Process ID"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "הודעה"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "פילטר"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "הורדה"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "סוג"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Timestamp"
 
@@ -2112,23 +2217,19 @@ msgstr "Usage tracking is done in the name of making %s better. Making a better
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "יש גרסה חדשה עבור ה%s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr " %sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "יש גרסה חדשה"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "חידוש רישיון"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "סגירה"
@@ -2141,6 +2242,43 @@ msgstr "שליחת מפתח רישיון"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "הזן את כתובת הדואל שאיתה שידרגת כדי לקבל את הרישיון שוב."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
@@ -2206,20 +2344,16 @@ msgstr "נשארו %s"
 msgid "Last license"
 msgstr "רישיון אחרון"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "בוטל"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "פג תוקף"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "ללא תפוגה"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "הפעל את ההרחבה"
 
@@ -2247,47 +2381,47 @@ msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי ל
 msgid "Contact Support"
 msgstr "צור קשר"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "פידבק אנונימי"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "כיבוי"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Activate %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "פידבק זריז"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "If you have a moment, please let us know why you are %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "deactivating"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "switching"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Submit & %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Yes - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "דלג ו%s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.mo
new file mode 100644
index 0000000000000000000000000000000000000000..d116b1b504d3d1bc39765bd2ba4da513e2ed719c
GIT binary patch
literal 52634
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
Pw#dP)16`e*p3eXP*?|s9

literal 0
HcmV?d00001

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.po
new file mode 100644
index 000000000..52543d6c0
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-hu_HU.po
@@ -0,0 +1,2433 @@
+# Copyright (C) 2019 freemius
+# This file is distributed under the same license as the freemius package.
+# Translators:
+# Peter Ambrus, 2018-2019
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress SDK\n"
+"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2019-01-10 20:38+0000\n"
+"Last-Translator: Peter Ambrus\n"
+"Language: hu_HU\n"
+"Language-Team: Hungarian (Hungary) (http://www.transifex.com/freemius/wordpress-sdk/language/hu_HU/)\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"MIME-Version: 1.0\n"
+"X-Poedit-Basepath: ..\n"
+"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-SearchPathExcluded-0: *.js\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#: includes/class-freemius.php:1688
+msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
+msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
+
+#: includes/class-freemius.php:1690
+msgid "Error"
+msgstr "Hiba"
+
+#: includes/class-freemius.php:2011
+msgid "I found a better %s"
+msgstr "Jobb %st találtam"
+
+#: includes/class-freemius.php:2013
+msgid "What's the %s's name?"
+msgstr "Mi a %s neve?"
+
+#: includes/class-freemius.php:2019
+msgid "It's a temporary %s. I'm just debugging an issue."
+msgstr "Ez csak egy ideiglenes %s. Egy hibát kell megoldanom."
+
+#: includes/class-freemius.php:2021
+msgid "Deactivation"
+msgstr "Deaktiválás"
+
+#: includes/class-freemius.php:2022
+msgid "Theme Switch"
+msgstr "Sablon váltás"
+
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
+msgid "Other"
+msgstr "Egyéb"
+
+#: includes/class-freemius.php:2039
+msgid "I no longer need the %s"
+msgstr "I no longer need the %s"
+
+#: includes/class-freemius.php:2046
+msgid "I only needed the %s for a short period"
+msgstr "I only needed the %s for a short period"
+
+#: includes/class-freemius.php:2052
+msgid "The %s broke my site"
+msgstr "The %s broke my site"
+
+#: includes/class-freemius.php:2059
+msgid "The %s suddenly stopped working"
+msgstr "The %s suddenly stopped working"
+
+#: includes/class-freemius.php:2069
+msgid "I can't pay for it anymore"
+msgstr "Nem tudom tovább fizetni"
+
+#: includes/class-freemius.php:2071
+msgid "What price would you feel comfortable paying?"
+msgstr "Mi lenne az elfogadható ár, amit tudnál fizetni?"
+
+#: includes/class-freemius.php:2077
+msgid "I don't like to share my information with you"
+msgstr "Nem szeretném megosztani veletek az információt"
+
+#: includes/class-freemius.php:2098
+msgid "The %s didn't work"
+msgstr "A %s nem működött"
+
+#: includes/class-freemius.php:2108
+msgid "I couldn't understand how to make it work"
+msgstr "Nem értettem, hogy kell használni"
+
+#: includes/class-freemius.php:2116
+msgid "The %s is great, but I need specific feature that you don't support"
+msgstr "The %s is great, but I need specific feature that you don't support"
+
+#: includes/class-freemius.php:2118
+msgid "What feature?"
+msgstr "Melyik funkcióra van szükséged?"
+
+#: includes/class-freemius.php:2122
+msgid "The %s is not working"
+msgstr "A(z) %s nem működik"
+
+#: includes/class-freemius.php:2124
+msgid "Kindly share what didn't work so we can fix it for future users..."
+msgstr "Ha elmondod mi nem működött, ki tudjuk javítani a leendő felhasználók számára..."
+
+#: includes/class-freemius.php:2128
+msgid "It's not what I was looking for"
+msgstr "Nem ezt kerestem"
+
+#: includes/class-freemius.php:2130
+msgid "What you've been looking for?"
+msgstr "Pontosan mit kerestél?"
+
+#: includes/class-freemius.php:2134
+msgid "The %s didn't work as expected"
+msgstr "A %s nem az elvárásoknak megfelelően működött"
+
+#: includes/class-freemius.php:2136
+msgid "What did you expect?"
+msgstr "Mire számítottál?"
+
+#: includes/class-freemius.php2942, templates/debug.php:20
+msgid "Freemius Debug"
+msgstr "Freemius Debug"
+
+#: includes/class-freemius.php:3670
+msgid "I don't know what is cURL or how to install it, help me!"
+msgstr "I don't know what is cURL or how to install it, help me!"
+
+#: includes/class-freemius.php:3672
+msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
+msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
+
+#: includes/class-freemius.php:3679
+msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
+msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
+
+#: includes/class-freemius.php:3784
+msgid "Yes - do your thing"
+msgstr "Igen - tedd a dolgod"
+
+#: includes/class-freemius.php:3789
+msgid "No - just deactivate"
+msgstr "Nem - csak deaktiválom"
+
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
+msgctxt "exclamation"
+msgid "Oops"
+msgstr "Hoppá"
+
+#: includes/class-freemius.php:3903
+msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
+msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
+
+#: includes/class-freemius.php:4340
+msgctxt "addonX cannot run without pluginY"
+msgid "%s cannot run without %s."
+msgstr "%s cannot run without %s."
+
+#: includes/class-freemius.php:4341
+msgctxt "addonX cannot run..."
+msgid "%s cannot run without the plugin."
+msgstr "%s cannot run without the plugin."
+
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
+msgid "Unexpected API error. Please contact the %s's author with the following error."
+msgstr "Unexpected API error. Please contact the %s's author with the following error."
+
+#: includes/class-freemius.php:5130
+msgid "Premium %s version was successfully activated."
+msgstr "Premium %s version was successfully activated."
+
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
+msgctxt ""
+msgid "W00t"
+msgstr "Fantasztikus"
+
+#: includes/class-freemius.php:5157
+msgid "You have a %s license."
+msgstr "You have a %s license."
+
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
+msgctxt "interjection expressing joy or exuberance"
+msgid "Yee-haw"
+msgstr "Juhuuu"
+
+#: includes/class-freemius.php:5425
+msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
+msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
+
+#: includes/class-freemius.php:5429
+msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
+msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
+
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
+msgid "More information about %s"
+msgstr "More information about %s"
+
+#: includes/class-freemius.php:5439
+msgid "Purchase License"
+msgstr "Licensz vásárlása"
+
+#: includes/class-freemius.php6372, templates/connect.php:163
+msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
+msgstr "Küldtünk egy aktivációs emailt a(z) %s szoftverünkhöz a következő email címre: %s. Kérlek kattints a levélben található aktivációs linkre, hogy %s."
+
+#: includes/class-freemius.php:6376
+msgid "start the trial"
+msgstr "próbaidő indítása"
+
+#: includes/class-freemius.php6377, templates/connect.php:167
+msgid "complete the install"
+msgstr "befejezd a telepítést"
+
+#: includes/class-freemius.php:6490
+msgid "You are just one step away - %s"
+msgstr "Már csak egy lépés van hátra - %s"
+
+#: includes/class-freemius.php:6493
+msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
+msgid "Complete \"%s\" Activation Now"
+msgstr "\"%s\" aktiválásának a befejezése most"
+
+#: includes/class-freemius.php:6571
+msgid "We made a few tweaks to the %s, %s"
+msgstr "We made a few tweaks to the %s, %s"
+
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
+
+#: includes/class-freemius.php:7003
+msgid "The upgrade of %s was successfully completed."
+msgstr "The upgrade of %s was successfully completed."
+
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
+msgid "Add-On"
+msgstr "Kiegészítő"
+
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
+msgid "Plugin"
+msgstr "Bővítmény"
+
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
+msgid "Theme"
+msgstr "Sablon"
+
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
+
+#: includes/class-freemius.php:11532
+msgid "We couldn't find your email address in the system, are you sure it's the right address?"
+msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
+
+#: includes/class-freemius.php:11534
+msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
+msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
+
+#: includes/class-freemius.php:11808
+msgid "Account is pending activation."
+msgstr "A fiók aktiválása függőben."
+
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Vásárolj licenszet most"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Licensz kulcs megújítása"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
+msgid "%s activation was successfully completed."
+msgstr "%s activation was successfully completed."
+
+#: includes/class-freemius.php:14333
+msgid "Your account was successfully activated with the %s plan."
+msgstr "A fiókodat sikeresen aktiváltuk a következő csomaggal: %s"
+
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
+msgid "Your trial has been successfully started."
+msgstr "A próbaidőszakodat sikeresen aktiváltuk."
+
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
+msgid "Couldn't activate %s."
+msgstr "Couldn't activate %s."
+
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
+msgid "Please contact us with the following message:"
+msgstr "Please contact us with the following message:"
+
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
+msgid "Upgrade"
+msgstr "Előfizetés frissítése"
+
+#: includes/class-freemius.php:15384
+msgid "Start Trial"
+msgstr "Próbaidő indítása"
+
+#: includes/class-freemius.php:15386
+msgid "Pricing"
+msgstr "Árak"
+
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
+msgid "Affiliation"
+msgstr "Affiliation"
+
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
+msgid "Account"
+msgstr "Fiók"
+
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
+#: includes/customizer/class-fs-customizer-support-section.php:60
+msgid "Contact Us"
+msgstr "Kapcsolat"
+
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
+msgid "Add-Ons"
+msgstr "Kiegészítők"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
+msgctxt "noun"
+msgid "Pricing"
+msgstr "Árak"
+
+#: includes/class-freemius.php15756,
+#: includes/customizer/class-fs-customizer-support-section.php:67
+msgid "Support Forum"
+msgstr "Támogató fórum"
+
+#: includes/class-freemius.php:16542
+msgid "Your email has been successfully verified - you are AWESOME!"
+msgstr "Az email címedet sikerült ellenőrizni - ez nagyszerű!"
+
+#: includes/class-freemius.php:16543
+msgctxt "a positive response"
+msgid "Right on"
+msgstr "Right on"
+
+#: includes/class-freemius.php:17168
+msgid "Your %s Add-on plan was successfully upgraded."
+msgstr "Your %s Add-on plan was successfully upgraded."
+
+#: includes/class-freemius.php:17170
+msgid "%s Add-on was successfully purchased."
+msgstr "%s Add-on was successfully purchased."
+
+#: includes/class-freemius.php:17173
+msgid "Download the latest version"
+msgstr "Töltsd le a legfrissebb verziót"
+
+#: includes/class-freemius.php:17259
+msgctxt "%1s - plugin title, %2s - API domain"
+msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
+msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
+
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
+msgid "Error received from the server:"
+msgstr "Error received from the server:"
+
+#: includes/class-freemius.php:17272
+msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
+msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
+
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
+msgctxt ""
+msgid "Hmm"
+msgstr "Hmm"
+
+#: includes/class-freemius.php:17467
+msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
+msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
+
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
+msgctxt "trial period"
+msgid "Trial"
+msgstr "Próbaidő"
+
+#: includes/class-freemius.php:17473
+msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
+msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
+
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
+msgid "Please contact us here"
+msgstr "Please contact us here"
+
+#: includes/class-freemius.php:17487
+msgid "Your plan was successfully upgraded."
+msgstr "Your plan was successfully upgraded."
+
+#: includes/class-freemius.php:17505
+msgid "Your plan was successfully changed to %s."
+msgstr "Your plan was successfully changed to %s."
+
+#: includes/class-freemius.php:17521
+msgid "Your license has expired. You can still continue using the free %s forever."
+msgstr "Your license has expired. You can still continue using the free %s forever."
+
+#: includes/class-freemius.php:17523
+msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+msgstr "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+
+#: includes/class-freemius.php:17531
+msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
+msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
+
+#: includes/class-freemius.php:17544
+msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
+msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
+
+#: includes/class-freemius.php:17567
+msgid "Your free trial has expired. You can still continue using all our free features."
+msgstr "Your free trial has expired. You can still continue using all our free features."
+
+#: includes/class-freemius.php:17569
+msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+msgstr "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
+
+#: includes/class-freemius.php:17674
+msgid "It looks like the license could not be activated."
+msgstr "It looks like the license could not be activated."
+
+#: includes/class-freemius.php:17704
+msgid "Your license was successfully activated."
+msgstr "Your license was successfully activated."
+
+#: includes/class-freemius.php:17730
+msgid "It looks like your site currently doesn't have an active license."
+msgstr "It looks like your site currently doesn't have an active license."
+
+#: includes/class-freemius.php:17754
+msgid "It looks like the license deactivation failed."
+msgstr "Úgy tűnik a licensz deaktiválása nem sikerült."
+
+#: includes/class-freemius.php:17782
+msgid "Your license was successfully deactivated, you are back to the %s plan."
+msgstr "A licenszedet sikeresen deaktiváltuk, az aktuális csomagod: %s"
+
+#: includes/class-freemius.php:17783
+msgid "O.K"
+msgstr "Rendben"
+
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+
+#: includes/class-freemius.php:17887
+msgid "You are already running the %s in a trial mode."
+msgstr "You are already running the %s in a trial mode."
+
+#: includes/class-freemius.php:17898
+msgid "You already utilized a trial before."
+msgstr "You already utilized a trial before."
+
+#: includes/class-freemius.php:17912
+msgid "Plan %s do not exist, therefore, can't start a trial."
+msgstr "Plan %s do not exist, therefore, can't start a trial."
+
+#: includes/class-freemius.php:17923
+msgid "Plan %s does not support a trial period."
+msgstr "Plan %s does not support a trial period."
+
+#: includes/class-freemius.php:17934
+msgid "None of the %s's plans supports a trial period."
+msgstr "None of the %s's plans supports a trial period."
+
+#: includes/class-freemius.php:17984
+msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
+msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
+
+#: includes/class-freemius.php:18020
+msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
+
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Your %s free trial was successfully cancelled."
+
+#: includes/class-freemius.php:18346
+msgid "Version %s was released."
+msgstr "Version %s was released."
+
+#: includes/class-freemius.php:18346
+msgid "Please download %s."
+msgstr "Please download %s."
+
+#: includes/class-freemius.php:18353
+msgid "the latest %s version here"
+msgstr "the latest %s version here"
+
+#: includes/class-freemius.php:18358
+msgid "New"
+msgstr "Új"
+
+#: includes/class-freemius.php:18363
+msgid "Seems like you got the latest release."
+msgstr "Seems like you got the latest release."
+
+#: includes/class-freemius.php:18364
+msgid "You are all good!"
+msgstr "Minden rendben!"
+
+#: includes/class-freemius.php:18632
+msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
+msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
+
+#: includes/class-freemius.php:18769
+msgid "Site successfully opted in."
+msgstr "Site successfully opted in."
+
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
+msgid "Awesome"
+msgstr "Nagyszerű"
+
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
+msgid "We appreciate your help in making the %s better by letting us track some usage data."
+msgstr "We appreciate your help in making the %s better by letting us track some usage data."
+
+#: includes/class-freemius.php:18787
+msgid "Thank you!"
+msgstr "Köszönjük!"
+
+#: includes/class-freemius.php:18794
+msgid "We will no longer be sending any usage data of %s on %s to %s."
+msgstr "We will no longer be sending any usage data of %s on %s to %s."
+
+#: includes/class-freemius.php:18923
+msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
+msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
+
+#: includes/class-freemius.php:18929
+msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
+msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
+
+#: includes/class-freemius.php:18934
+msgid "%s is the new owner of the account."
+msgstr "%s is the new owner of the account."
+
+#: includes/class-freemius.php:18936
+msgctxt "as congratulations"
+msgid "Congrats"
+msgstr "Gratulálunk"
+
+#: includes/class-freemius.php:18956
+msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
+msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
+
+#: includes/class-freemius.php:18957
+msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
+msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
+
+#: includes/class-freemius.php:18964
+msgid "Change Ownership"
+msgstr "Tulajdonos módosítása"
+
+#: includes/class-freemius.php:18972
+msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
+msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
+
+#: includes/class-freemius.php:18984
+msgid "Please provide your full name."
+msgstr "Kérlek add meg a teljes neved!"
+
+#: includes/class-freemius.php:18989
+msgid "Your name was successfully updated."
+msgstr "A neved sikeresen frissítettük."
+
+#: includes/class-freemius.php:19050
+msgid "You have successfully updated your %s."
+msgstr "You have successfully updated your %s."
+
+#: includes/class-freemius.php:19190
+msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
+msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
+
+#: includes/class-freemius.php:19191
+msgctxt "advance notice of something that will need attention."
+msgid "Heads up"
+msgstr "Figyelem"
+
+#: includes/class-freemius.php:19621
+msgctxt "exclamation"
+msgid "Hey"
+msgstr "Üdv"
+
+#: includes/class-freemius.php:19621
+msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
+msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
+
+#: includes/class-freemius.php:19629
+msgid "No commitment for %s days - cancel anytime!"
+msgstr "No commitment for %s days - cancel anytime!"
+
+#: includes/class-freemius.php:19630
+msgid "No credit card required"
+msgstr "Bankkártya megadása nem kötelező"
+
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
+msgctxt "call to action"
+msgid "Start free trial"
+msgstr "Start free trial"
+
+#: includes/class-freemius.php:19714
+msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
+msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
+
+#: includes/class-freemius.php:19723
+msgid "Learn more"
+msgstr "Bővebben"
+
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
+msgid "Activate License"
+msgstr "Licensz aktiválása"
+
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
+msgid "Change License"
+msgstr "Licensz módosítása"
+
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
+msgid "Opt Out"
+msgstr "Leiratkozás"
+
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
+#: templates/account/partials/site.php43,
+#: templates/account/partials/site.php:161
+msgid "Opt In"
+msgstr "Feliratkozás"
+
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
+msgid "Please follow these steps to complete the upgrade"
+msgstr "Please follow these steps to complete the upgrade"
+
+#: includes/class-freemius.php:20212
+msgid "Download the latest %s version"
+msgstr "Download the latest %s version"
+
+#: includes/class-freemius.php:20216
+msgid "Upload and activate the downloaded version"
+msgstr "Upload and activate the downloaded version"
+
+#: includes/class-freemius.php:20218
+msgid "How to upload and activate?"
+msgstr "How to upload and activate?"
+
+#: includes/class-freemius.php:20352
+msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
+msgstr "%sClick here%s to choose the sites where you'd like to activate the license on."
+
+#: includes/class-freemius.php:20513
+msgid "Auto installation only works for opted-in users."
+msgstr "Auto installation only works for opted-in users."
+
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
+msgid "Invalid module ID."
+msgstr "Invalid module ID."
+
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
+msgid "Premium version already active."
+msgstr "Premium version already active."
+
+#: includes/class-freemius.php:20539
+msgid "You do not have a valid license to access the premium version."
+msgstr "You do not have a valid license to access the premium version."
+
+#: includes/class-freemius.php:20546
+msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
+msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
+
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
+msgid "Premium add-on version already installed."
+msgstr "Premium add-on version already installed."
+
+#: includes/class-freemius.php:20909
+msgid "View paid features"
+msgstr "Fizetős funkciók megtekintése"
+
+#: includes/class-freemius.php:21229
+msgid "Thank you so much for using %s and its add-ons!"
+msgstr "Thank you so much for using %s and its add-ons!"
+
+#: includes/class-freemius.php:21230
+msgid "Thank you so much for using %s!"
+msgstr "Thank you so much for using %s!"
+
+#: includes/class-freemius.php:21236
+msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
+msgstr "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
+
+#: includes/class-freemius.php:21240
+msgid "Thank you so much for using our products!"
+msgstr "Thank you so much for using our products!"
+
+#: includes/class-freemius.php:21241
+msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
+msgstr "You've already opted-in to our usage-tracking, which helps us keep improving them."
+
+#: includes/class-freemius.php:21260
+msgid "%s and its add-ons"
+msgstr "%s and its add-ons"
+
+#: includes/class-freemius.php:21269
+msgid "Products"
+msgstr "Termékek"
+
+#: includes/class-freemius.php21276, templates/connect.php:272
+msgid "Yes"
+msgstr "Igen"
+
+#: includes/class-freemius.php21277, templates/connect.php:273
+msgid "send me security & feature updates, educational content and offers."
+msgstr "kérek biztonsági és funkcionális frissítéseket, használati ismertetőket és ajánlatokat."
+
+#: includes/class-freemius.php21278, templates/connect.php:278
+msgid "No"
+msgstr "Nem"
+
+#: includes/class-freemius.php21280, templates/connect.php:280
+msgid "do %sNOT%s send me security & feature updates, educational content and offers."
+msgstr "do %sNOT%s send me security & feature updates, educational content and offers."
+
+#: includes/class-freemius.php:21290
+msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
+msgstr "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
+
+#: includes/class-freemius.php21292, templates/connect.php:287
+msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
+msgstr "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
+
+#: includes/class-freemius.php:21574
+msgid "License key is empty."
+msgstr "A licensz kulcs üres."
+
+#: includes/class-fs-plugin-updater.php184,
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Licensz megújítása"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Licensz vásárlása"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "új verzió"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
+
+#: includes/class-fs-plugin-updater.php:1125
+msgid "Installing plugin: %s"
+msgstr "Bővítmény telepítése: %s"
+
+#: includes/class-fs-plugin-updater.php:1166
+msgid "Unable to connect to the filesystem. Please confirm your credentials."
+msgstr "Unable to connect to the filesystem. Please confirm your credentials."
+
+#: includes/class-fs-plugin-updater.php:1348
+msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
+msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
+
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
+msgctxt "verb"
+msgid "Purchase"
+msgstr "Vásárlás"
+
+#: includes/fs-plugin-info-dialog.php:372
+msgid "Start my free %s"
+msgstr "Start my free %s"
+
+#: includes/fs-plugin-info-dialog.php:413
+msgid "Install Free Version Now"
+msgstr "Install Free Version Now"
+
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
+msgid "Install Now"
+msgstr "Telepítés most"
+
+#: includes/fs-plugin-info-dialog.php:425
+msgctxt "as download latest version"
+msgid "Download Latest Free Version"
+msgstr "Download Latest Free Version"
+
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
+#: templates/account/partials/addon.php:21
+msgctxt "as download latest version"
+msgid "Download Latest"
+msgstr "Download Latest"
+
+#: includes/fs-plugin-info-dialog.php:436
+msgid "Install Free Version Update Now"
+msgstr "Install Free Version Update Now"
+
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
+msgid "Install Update Now"
+msgstr "Frissítés telepítése most"
+
+#: includes/fs-plugin-info-dialog.php:448
+msgid "Newer Free Version (%s) Installed"
+msgstr "Newer Free Version (%s) Installed"
+
+#: includes/fs-plugin-info-dialog.php:449
+msgid "Newer Version (%s) Installed"
+msgstr "Newer Version (%s) Installed"
+
+#: includes/fs-plugin-info-dialog.php:457
+msgid "Latest Free Version Installed"
+msgstr "Legfrissebb ingyenes verzió telepítve"
+
+#: includes/fs-plugin-info-dialog.php:458
+msgid "Latest Version Installed"
+msgstr "Legfrissebb verzió telepítve"
+
+#: includes/fs-plugin-info-dialog.php:613
+msgctxt "Plugin installer section title"
+msgid "Description"
+msgstr "Leírás"
+
+#: includes/fs-plugin-info-dialog.php:614
+msgctxt "Plugin installer section title"
+msgid "Installation"
+msgstr "Telepítés"
+
+#: includes/fs-plugin-info-dialog.php:615
+msgctxt "Plugin installer section title"
+msgid "FAQ"
+msgstr "GYIK"
+
+#: includes/fs-plugin-info-dialog.php616,
+#: templates/plugin-info/description.php:55
+msgid "Screenshots"
+msgstr "Képernyőfotók"
+
+#: includes/fs-plugin-info-dialog.php:617
+msgctxt "Plugin installer section title"
+msgid "Changelog"
+msgstr "Változtatások"
+
+#: includes/fs-plugin-info-dialog.php:618
+msgctxt "Plugin installer section title"
+msgid "Reviews"
+msgstr "Vélemények"
+
+#: includes/fs-plugin-info-dialog.php:619
+msgctxt "Plugin installer section title"
+msgid "Other Notes"
+msgstr "Egyéb megjegyzések"
+
+#: includes/fs-plugin-info-dialog.php:634
+msgctxt "Plugin installer section title"
+msgid "Features & Pricing"
+msgstr "Funkciók & Árak"
+
+#: includes/fs-plugin-info-dialog.php:644
+msgid "Plugin Install"
+msgstr "Bővítmény telepítése"
+
+#: includes/fs-plugin-info-dialog.php:716
+msgctxt "e.g. Professional Plan"
+msgid "%s Plan"
+msgstr "%s csomag"
+
+#: includes/fs-plugin-info-dialog.php:742
+msgctxt "e.g. the best product"
+msgid "Best"
+msgstr "Legjobb"
+
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
+msgctxt "as every month"
+msgid "Monthly"
+msgstr "Havi"
+
+#: includes/fs-plugin-info-dialog.php:751
+msgctxt "as once a year"
+msgid "Annual"
+msgstr "Éves"
+
+#: includes/fs-plugin-info-dialog.php:754
+msgid "Lifetime"
+msgstr "Örök"
+
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
+msgctxt "e.g. billed monthly"
+msgid "Billed %s"
+msgstr "%s számlázás"
+
+#: includes/fs-plugin-info-dialog.php:770
+msgctxt "as once a year"
+msgid "Annually"
+msgstr "Éves"
+
+#: includes/fs-plugin-info-dialog.php:772
+msgctxt "as once a year"
+msgid "Once"
+msgstr "Egyszeri"
+
+#: includes/fs-plugin-info-dialog.php:778
+msgid "Single Site License"
+msgstr "Egy weboldalas licensz"
+
+#: includes/fs-plugin-info-dialog.php:780
+msgid "Unlimited Licenses"
+msgstr "Korlátlan licensz"
+
+#: includes/fs-plugin-info-dialog.php:782
+msgid "Up to %s Sites"
+msgstr "Up to %s Sites"
+
+#: includes/fs-plugin-info-dialog.php792,
+#: templates/plugin-info/features.php:82
+msgctxt "as monthly period"
+msgid "mo"
+msgstr "hó"
+
+#: includes/fs-plugin-info-dialog.php799,
+#: templates/plugin-info/features.php:80
+msgctxt "as annual period"
+msgid "year"
+msgstr "év"
+
+#: includes/fs-plugin-info-dialog.php:853
+msgctxt "noun"
+msgid "Price"
+msgstr "Ár"
+
+#: includes/fs-plugin-info-dialog.php:901
+msgid "Save %s"
+msgstr "%s mentése"
+
+#: includes/fs-plugin-info-dialog.php:911
+msgid "No commitment for %s - cancel anytime"
+msgstr "No commitment for %s - cancel anytime"
+
+#: includes/fs-plugin-info-dialog.php:914
+msgid "After your free %s, pay as little as %s"
+msgstr "After your free %s, pay as little as %s"
+
+#: includes/fs-plugin-info-dialog.php:925
+msgid "Details"
+msgstr "Részletek"
+
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
+msgctxt "product version"
+msgid "Version"
+msgstr "Verzió"
+
+#: includes/fs-plugin-info-dialog.php:936
+msgctxt "as the plugin author"
+msgid "Author"
+msgstr "Szerző"
+
+#: includes/fs-plugin-info-dialog.php:943
+msgid "Last Updated"
+msgstr "Utolsó frissítés"
+
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
+msgctxt "x-ago"
+msgid "%s ago"
+msgstr "%s ago"
+
+#: includes/fs-plugin-info-dialog.php:957
+msgid "Requires WordPress Version"
+msgstr "A következő WordPress verzió szükséges:"
+
+#: includes/fs-plugin-info-dialog.php:958
+msgid "%s or higher"
+msgstr "%s or higher"
+
+#: includes/fs-plugin-info-dialog.php:965
+msgid "Compatible up to"
+msgstr "Compatible up to"
+
+#: includes/fs-plugin-info-dialog.php:973
+msgid "Downloaded"
+msgstr "Letöltések száma:"
+
+#: includes/fs-plugin-info-dialog.php:977
+msgid "%s time"
+msgstr "%s"
+
+#: includes/fs-plugin-info-dialog.php:979
+msgid "%s times"
+msgstr "%s"
+
+#: includes/fs-plugin-info-dialog.php:989
+msgid "WordPress.org Plugin Page"
+msgstr "WordPress.org bővítmény oldal"
+
+#: includes/fs-plugin-info-dialog.php:997
+msgid "Plugin Homepage"
+msgstr "Bővítmény oldala"
+
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
+msgid "Donate to this plugin"
+msgstr "Bővítmény támogatása"
+
+#: includes/fs-plugin-info-dialog.php:1012
+msgid "Average Rating"
+msgstr "Átlagos értékelés"
+
+#: includes/fs-plugin-info-dialog.php:1019
+msgid "based on %s"
+msgstr "based on %s"
+
+#: includes/fs-plugin-info-dialog.php:1023
+msgid "%s rating"
+msgstr "%s rating"
+
+#: includes/fs-plugin-info-dialog.php:1025
+msgid "%s ratings"
+msgstr "%s ratings"
+
+#: includes/fs-plugin-info-dialog.php:1040
+msgid "%s star"
+msgstr "%s star"
+
+#: includes/fs-plugin-info-dialog.php:1042
+msgid "%s stars"
+msgstr "%s stars"
+
+#: includes/fs-plugin-info-dialog.php:1053
+msgid "Click to see reviews that provided a rating of %s"
+msgstr "Click to see reviews that provided a rating of %s"
+
+#: includes/fs-plugin-info-dialog.php:1066
+msgid "Contributors"
+msgstr "Közreműködők"
+
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
+msgid "Warning"
+msgstr "Figyelmeztetés"
+
+#: includes/fs-plugin-info-dialog.php:1095
+msgid "This plugin has not been tested with your current version of WordPress."
+msgstr "This plugin has not been tested with your current version of WordPress."
+
+#: includes/fs-plugin-info-dialog.php:1097
+msgid "This plugin has not been marked as compatible with your version of WordPress."
+msgstr "This plugin has not been marked as compatible with your version of WordPress."
+
+#: includes/fs-plugin-info-dialog.php:1116
+msgid "Paid add-on must be deployed to Freemius."
+msgstr "Paid add-on must be deployed to Freemius."
+
+#: includes/fs-plugin-info-dialog.php:1117
+msgid "Add-on must be deployed to WordPress.org or Freemius."
+msgstr "Add-on must be deployed to WordPress.org or Freemius."
+
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
+#: templates/account/partials/site.php:295
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
+msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
+msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
+
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
+msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
+msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
+
+#. translators: %s: Plan title (e.g. "Professional")
+#: templates/account.php90,
+#: templates/account/partials/activate-license-button.php31,
+#: templates/account/partials/addon.php:31
+msgid "Activate %s Plan"
+msgstr "%s csomag aktiválása"
+
+#. translators: %s: Time period (e.g. Auto renews in "2 months")
+#: templates/account.php93, templates/account/partials/addon.php34,
+#: templates/account/partials/site.php:275
+msgid "Auto renews in %s"
+msgstr "Auto renews in %s"
+
+#. translators: %s: Time period (e.g. Expires in "2 months")
+#: templates/account.php95, templates/account/partials/addon.php36,
+#: templates/account/partials/site.php:277
+msgid "Expires in %s"
+msgstr "Hátralévő idő: %s"
+
+#: templates/account.php96, templates/account/partials/addon.php:37
+msgctxt "as synchronize license"
+msgid "Sync License"
+msgstr "Licensz szinkronizálása"
+
+#: templates/account.php97, templates/account/partials/addon.php:38
+msgid "Cancel Trial"
+msgstr "Próbaidő törlése"
+
+#: templates/account.php98, templates/account/partials/addon.php:39
+msgid "Change Plan"
+msgstr "Csomag módosítása"
+
+#: templates/account.php99, templates/account/partials/addon.php:40
+msgctxt "verb"
+msgid "Upgrade"
+msgstr "Váltás nagyobb csomagra"
+
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
+msgctxt "verb"
+msgid "Downgrade"
+msgstr "Váltás kisebb csomagra"
+
+#: templates/account.php103, templates/add-ons.php130,
+#: templates/plugin-info/features.php72,
+#: templates/account/partials/addon.php44,
+#: templates/account/partials/site.php:31
+msgid "Free"
+msgstr "Ingyenes"
+
+#: templates/account.php104, templates/account/partials/addon.php:45
+msgid "Activate"
+msgstr "Aktiválás"
+
+#: templates/account.php105, templates/debug.php371,
+#: includes/customizer/class-fs-customizer-upsell-control.php106,
+#: templates/account/partials/addon.php:46
+msgctxt "as product pricing plan"
+msgid "Plan"
+msgstr "Csomag"
+
+#: templates/account.php:158
+msgid "Free Trial"
+msgstr "Ingyenes próbaidő"
+
+#: templates/account.php:169
+msgid "Account Details"
+msgstr "Fiók információk"
+
+#: templates/account.php:179
+msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
+msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
+
+#: templates/account.php:181
+msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
+msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
+
+#: templates/account.php:184
+msgid "Delete Account"
+msgstr "Fiók törlése"
+
+#: templates/account.php196, templates/account/partials/addon.php159,
+#: templates/account/partials/deactivate-license-button.php:35
+msgid "Deactivate License"
+msgstr "Licensz deaktiválása"
+
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
+msgid "Are you sure you want to proceed?"
+msgstr "Are you sure you want to proceed?"
+
+#: templates/account.php219, templates/account/partials/addon.php:182
+msgid "Cancel Subscription"
+msgstr "Előfizetés törlése"
+
+#: templates/account.php:247
+msgctxt "as synchronize"
+msgid "Sync"
+msgstr "Szinkronizálás"
+
+#: templates/account.php261, templates/debug.php:487
+msgid "Name"
+msgstr "Név"
+
+#: templates/account.php267, templates/debug.php:488
+msgid "Email"
+msgstr "Email"
+
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
+msgid "User ID"
+msgstr "Felhasználó ID"
+
+#: templates/account.php:282
+msgid "Site ID"
+msgstr "Weboldal ID"
+
+#: templates/account.php:285
+msgid "No ID"
+msgstr "Nincs ID"
+
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
+#: templates/account/partials/site.php:219
+msgid "Public Key"
+msgstr "Publikus kulcs"
+
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
+msgid "Secret Key"
+msgstr "Titkos kulcs"
+
+#: templates/account.php:299
+msgctxt "as secret encryption key missing"
+msgid "No Secret"
+msgstr "Nincs titkos kulcs"
+
+#: templates/account.php318, templates/account/partials/site.php112,
+#: templates/account/partials/site.php:114
+msgid "Trial"
+msgstr "Próbaidő"
+
+#: templates/account.php337, templates/debug.php531,
+#: templates/account/partials/site.php:248
+msgid "License Key"
+msgstr "Licensz kulcs"
+
+#: templates/account.php:367
+msgid "not verified"
+msgstr "nem ellenőrzött"
+
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Lejárt"
+
+#: templates/account.php:428
+msgid "Premium version"
+msgstr "Prémium verzió"
+
+#: templates/account.php:430
+msgid "Free version"
+msgstr "Ingyenes verzió"
+
+#: templates/account.php:442
+msgid "Verify Email"
+msgstr "Email ellenőrzése"
+
+#: templates/account.php:453
+msgid "Download %s Version"
+msgstr "%s verzió letöltése"
+
+#: templates/account.php467, templates/account.php649,
+#: templates/account/partials/site.php237,
+#: templates/account/partials/site.php:255
+msgctxt "verb"
+msgid "Show"
+msgstr "Mutasd"
+
+#: templates/account.php:481
+msgid "What is your %s?"
+msgstr "Mi a te %s?"
+
+#: templates/account.php489, templates/account/billing.php:27
+msgctxt "verb"
+msgid "Edit"
+msgstr "Szerkesztés"
+
+#: templates/account.php:502
+msgid "Sites"
+msgstr "Weboldalak"
+
+#: templates/account.php:513
+msgid "Search by address"
+msgstr "Keresés cím alapján"
+
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
+#: templates/account/payments.php35, templates/debug/logger.php:21
+msgid "ID"
+msgstr "ID"
+
+#: templates/account.php523, templates/debug.php:367
+msgid "Address"
+msgstr "Cím"
+
+#: templates/account.php:524
+msgid "License"
+msgstr "Licensz"
+
+#: templates/account.php:525
+msgid "Plan"
+msgstr "Csomag"
+
+#: templates/account.php:573
+msgctxt "as software license"
+msgid "License"
+msgstr "Licensz"
+
+#: templates/account.php:643
+msgctxt "verb"
+msgid "Hide"
+msgstr "Elrejt"
+
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "próbaidő"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "előfizetés"
+
+#: templates/account.php:718
+msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
+msgstr "A licensz deaktiválása után a prémium funkciók használata nem elérhető, de így tudod másik weboldalon aktiválni ugyanezt a licenszt. Folytatod a deaktiválást?"
+
+#: templates/add-ons.php:36
+msgid "Add Ons for %s"
+msgstr "Add Ons for %s"
+
+#: templates/add-ons.php:44
+msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
+msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
+
+#: templates/add-ons.php:139
+msgid "View details"
+msgstr "Részletek megtekintése"
+
+#: templates/admin-notice.php13, templates/forms/license-activation.php208,
+#: templates/forms/resend-key.php:77
+msgctxt "as close a window"
+msgid "Dismiss"
+msgstr "Mégsem"
+
+#: templates/auto-installation.php:45
+msgid "%s sec"
+msgstr "%s sec"
+
+#: templates/auto-installation.php:83
+msgid "Automatic Installation"
+msgstr "Automatikus telepítés"
+
+#: templates/auto-installation.php:93
+msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
+msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
+
+#: templates/auto-installation.php:104
+msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
+msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
+
+#: templates/auto-installation.php:109
+msgid "Cancel Installation"
+msgstr "Telepítés törlése"
+
+#: templates/checkout.php:172
+msgid "Checkout"
+msgstr "Pénztár"
+
+#: templates/checkout.php:172
+msgid "PCI compliant"
+msgstr "PCI compliant"
+
+#. translators: %s: name (e.g. Hey John,)
+#: templates/connect.php:112
+msgctxt "greeting"
+msgid "Hey %s,"
+msgstr "Üdv %s!"
+
+#: templates/connect.php:154
+msgid "Allow & Continue"
+msgstr "Engedélyezés és folytatás"
+
+#: templates/connect.php:158
+msgid "Re-send activation email"
+msgstr "Aktivációs email újraküldése"
+
+#: templates/connect.php:162
+msgid "Thanks %s!"
+msgstr "Köszönjük %s!"
+
+#: templates/connect.php172, templates/forms/license-activation.php:43
+msgid "Agree & Activate License"
+msgstr "Licensz elfogadása és aktiválása"
+
+#: templates/connect.php:181
+msgid "Thanks for purchasing %s! To get started, please enter your license key:"
+msgstr "Köszönjük, hogy megvásároltad a %s szoftverünket! A folytatáshoz most meg kell adnod a licensz kulcsot, amit a vásárlás után kaptál emailben:"
+
+#: templates/connect.php:188
+msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
+
+#: templates/connect.php:189
+msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
+msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
+
+#: templates/connect.php:195
+msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+
+#: templates/connect.php:196
+msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+msgstr "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
+
+#: templates/connect.php:230
+msgid "We're excited to introduce the Freemius network-level integration."
+msgstr "We're excited to introduce the Freemius network-level integration."
+
+#: templates/connect.php:233
+msgid "During the update process we detected %d site(s) that are still pending license activation."
+msgstr "During the update process we detected %d site(s) that are still pending license activation."
+
+#: templates/connect.php:235
+msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
+msgstr "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
+
+#: templates/connect.php:237
+msgid "%s's paid features"
+msgstr "%s's paid features"
+
+#: templates/connect.php:242
+msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
+msgstr "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
+
+#: templates/connect.php:244
+msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
+msgstr "During the update process we detected %s site(s) in the network that are still pending your attention."
+
+#: templates/connect.php253, templates/forms/license-activation.php:46
+msgid "License key"
+msgstr "Licensz kulcs"
+
+#: templates/connect.php256, templates/forms/license-activation.php:19
+msgid "Can't find your license key?"
+msgstr "Nem találod a licensz kulcsod?"
+
+#: templates/connect.php315, templates/connect.php630,
+#: templates/forms/deactivation/retry-skip.php:20
+msgctxt "verb"
+msgid "Skip"
+msgstr "Ugrás"
+
+#: templates/connect.php:318
+msgid "Delegate to Site Admins"
+msgstr "Delegate to Site Admins"
+
+#: templates/connect.php:318
+msgid "If you click it, this decision will be delegated to the sites administrators."
+msgstr "If you click it, this decision will be delegated to the sites administrators."
+
+#: templates/connect.php:346
+msgid "Your Profile Overview"
+msgstr "Fiókod áttekintése"
+
+#: templates/connect.php:347
+msgid "Name and email address"
+msgstr "Név és email cím"
+
+#: templates/connect.php:352
+msgid "Your Site Overview"
+msgstr "Weboldalad adatainak áttekintése"
+
+#: templates/connect.php:353
+msgid "Site URL, WP version, PHP info, plugins & themes"
+msgstr "Weboldal címe, WP verzió, PHP információk, bővítmények és sablonok"
+
+#: templates/connect.php:358
+msgid "Admin Notices"
+msgstr "Admin értesítések"
+
+#: templates/connect.php359, templates/connect.php:375
+msgid "Updates, announcements, marketing, no spam"
+msgstr "Frissítések, közlemények, marketing, de semmi SPAM!"
+
+#: templates/connect.php:364
+msgid "Current %s Events"
+msgstr "Aktuális %s események"
+
+#: templates/connect.php:365
+msgid "Activation, deactivation and uninstall"
+msgstr "Aktiválás, deaktiválás és kikapcsolás"
+
+#: templates/connect.php:374
+msgid "Newsletter"
+msgstr "Hírlevél"
+
+#: templates/connect.php391, templates/forms/license-activation.php:38
+msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
+msgstr "A %1$s időközönként adatot küld a %2$s weboldalnak, hogy ellenőrizze a biztonsági és funkcionális frissítéseket, valamint ellenőrzi az érvényes licensz kulcsot."
+
+#: templates/connect.php:396
+msgid "What permissions are being granted?"
+msgstr "Milyen jogosultágok lesznek engedélyezve?"
+
+#: templates/connect.php:417
+msgid "Don't have a license key?"
+msgstr "Nincs még licensz kulcsod?"
+
+#: templates/connect.php:418
+msgid "Activate Free Version"
+msgstr "Ingyenes verzió aktiválása"
+
+#: templates/connect.php:420
+msgid "Have a license key?"
+msgstr "Van licensz kulcsod?"
+
+#: templates/connect.php:428
+msgid "Privacy Policy"
+msgstr "Adatkezelési tájékoztató"
+
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "Licensz szerződés"
+
+#: templates/connect.php:430
+msgid "Terms of Service"
+msgstr "Szolgáltatási feltételek"
+
+#: templates/connect.php:766
+msgctxt "as in the process of sending an email"
+msgid "Sending email"
+msgstr "Email küldése"
+
+#: templates/connect.php:767
+msgctxt "as activating plugin"
+msgid "Activating"
+msgstr "Aktiválás"
+
+#: templates/contact.php:78
+msgid "Contact"
+msgstr "Kapcsolat"
+
+#: templates/debug.php:17
+msgctxt "as turned off"
+msgid "Off"
+msgstr "Off"
+
+#: templates/debug.php:18
+msgctxt "as turned on"
+msgid "On"
+msgstr "On"
+
+#: templates/debug.php:20
+msgid "SDK"
+msgstr "SDK"
+
+#: templates/debug.php:24
+msgctxt "as code debugging"
+msgid "Debugging"
+msgstr "Debugging"
+
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
+msgid "Actions"
+msgstr "Események"
+
+#: templates/debug.php:64
+msgid "Are you sure you want to delete all Freemius data?"
+msgstr "Are you sure you want to delete all Freemius data?"
+
+#: templates/debug.php:64
+msgid "Delete All Accounts"
+msgstr "Minden fiók törlése"
+
+#: templates/debug.php:71
+msgid "Clear API Cache"
+msgstr "Clear API Cache"
+
+#: templates/debug.php:79
+msgid "Clear Updates Transients"
+msgstr "Clear Updates Transients"
+
+#: templates/debug.php:86
+msgid "Sync Data From Server"
+msgstr "Adatok szinkronizálása a szerverről"
+
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
+msgid "Load DB Option"
+msgstr "Load DB Option"
+
+#: templates/debug.php:103
+msgid "Set DB Option"
+msgstr "Set DB Option"
+
+#: templates/debug.php:180
+msgid "Key"
+msgstr "Kulcs"
+
+#: templates/debug.php:181
+msgid "Value"
+msgstr "Érték"
+
+#: templates/debug.php:197
+msgctxt "as software development kit versions"
+msgid "SDK Versions"
+msgstr "SDK verziók"
+
+#: templates/debug.php:202
+msgid "SDK Path"
+msgstr "SDK útvonal"
+
+#: templates/debug.php203, templates/debug.php:242
+msgid "Module Path"
+msgstr "Module Path"
+
+#: templates/debug.php:204
+msgid "Is Active"
+msgstr "Aktív"
+
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
+msgid "Plugins"
+msgstr "Bővítmények"
+
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
+msgid "Themes"
+msgstr "Sablonok"
+
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
+#: templates/debug/scheduled-crons.php:80
+msgid "Slug"
+msgstr "Slug"
+
+#: templates/debug.php239, templates/debug.php:450
+msgid "Title"
+msgstr "Cím"
+
+#: templates/debug.php:240
+msgctxt "as application program interface"
+msgid "API"
+msgstr "API"
+
+#: templates/debug.php:241
+msgid "Freemius State"
+msgstr "Freemius State"
+
+#: templates/debug.php:245
+msgid "Network Blog"
+msgstr "Network Blog"
+
+#: templates/debug.php:246
+msgid "Network User"
+msgstr "Network User"
+
+#: templates/debug.php:283
+msgctxt "as connection was successful"
+msgid "Connected"
+msgstr "Connected"
+
+#: templates/debug.php:284
+msgctxt "as connection blocked"
+msgid "Blocked"
+msgstr "Blocked"
+
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
+
+#: templates/debug.php:332
+msgid "Simulate Network Upgrade"
+msgstr "Simulate Network Upgrade"
+
+#: templates/debug.php:358
+msgid "%s Installs"
+msgstr "%s Installs"
+
+#: templates/debug.php:360
+msgctxt "like websites"
+msgid "Sites"
+msgstr "Weboldalak"
+
+#: templates/debug.php366, templates/account/partials/site.php:148
+msgid "Blog ID"
+msgstr "Blog ID"
+
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
+msgctxt "verb"
+msgid "Delete"
+msgstr "Törlés"
+
+#: templates/debug.php:445
+msgid "Add Ons of module %s"
+msgstr "Add Ons of module %s"
+
+#: templates/debug.php:482
+msgid "Users"
+msgstr "Felhasználók"
+
+#: templates/debug.php:489
+msgid "Verified"
+msgstr "Ellenőrzött"
+
+#: templates/debug.php:520
+msgid "%s Licenses"
+msgstr "%s Licenses"
+
+#: templates/debug.php:525
+msgid "Plugin ID"
+msgstr "Bővítmény ID"
+
+#: templates/debug.php:527
+msgid "Plan ID"
+msgstr "Csomag ID"
+
+#: templates/debug.php:528
+msgid "Quota"
+msgstr "Quota"
+
+#: templates/debug.php:529
+msgid "Activated"
+msgstr "Sikeres aktiválás"
+
+#: templates/debug.php:530
+msgid "Blocking"
+msgstr "Blocking"
+
+#: templates/debug.php:532
+msgctxt "as expiration date"
+msgid "Expiration"
+msgstr "Expiration"
+
+#: templates/debug.php:555
+msgid "Debug Log"
+msgstr "Debug Log"
+
+#: templates/debug.php:559
+msgid "All Types"
+msgstr "All Types"
+
+#: templates/debug.php:566
+msgid "All Requests"
+msgstr "All Requests"
+
+#: templates/debug.php571, templates/debug.php600,
+#: templates/debug/logger.php:25
+msgid "File"
+msgstr "File"
+
+#: templates/debug.php572, templates/debug.php598,
+#: templates/debug/logger.php:23
+msgid "Function"
+msgstr "Function"
+
+#: templates/debug.php:573
+msgid "Process ID"
+msgstr "Művelet ID"
+
+#: templates/debug.php:574
+msgid "Logger"
+msgstr "Logger"
+
+#: templates/debug.php575, templates/debug.php599,
+#: templates/debug/logger.php:24
+msgid "Message"
+msgstr "Message"
+
+#: templates/debug.php:577
+msgid "Filter"
+msgstr "Filter"
+
+#: templates/debug.php:585
+msgid "Download"
+msgstr "Download"
+
+#: templates/debug.php596, templates/debug/logger.php:22
+msgid "Type"
+msgstr "Type"
+
+#: templates/debug.php601, templates/debug/logger.php:26
+msgid "Timestamp"
+msgstr "Timestamp"
+
+#: templates/secure-https-header.php:28
+msgid "Secure HTTPS %s page, running from an external domain"
+msgstr "Secure HTTPS %s page, running from an external domain"
+
+#: includes/customizer/class-fs-customizer-support-section.php55,
+#: templates/plugin-info/features.php:43
+msgid "Support"
+msgstr "Support"
+
+#: includes/debug/class-fs-debug-bar-panel.php48,
+#: templates/debug/api-calls.php54, templates/debug/logger.php:62
+msgctxt "milliseconds"
+msgid "ms"
+msgstr "ms"
+
+#: includes/debug/debug-bar-start.php:41
+msgid "Freemius API"
+msgstr "Freemius API"
+
+#: includes/debug/debug-bar-start.php:42
+msgid "Requests"
+msgstr "Requests"
+
+#: templates/account/billing.php:28
+msgctxt "verb"
+msgid "Update"
+msgstr "Frissítés"
+
+#: templates/account/billing.php:39
+msgid "Billing"
+msgstr "Számlázás"
+
+#: templates/account/billing.php44, templates/account/billing.php:44
+msgid "Business name"
+msgstr "Cégnév"
+
+#: templates/account/billing.php45, templates/account/billing.php:45
+msgid "Tax / VAT ID"
+msgstr "Közösségi adószám"
+
+#: templates/account/billing.php48, templates/account/billing.php48,
+#: templates/account/billing.php49, templates/account/billing.php:49
+msgid "Address Line %d"
+msgstr "Cím %d"
+
+#: templates/account/billing.php52, templates/account/billing.php:52
+msgid "City"
+msgstr "Város"
+
+#: templates/account/billing.php52, templates/account/billing.php:52
+msgid "Town"
+msgstr "Town"
+
+#: templates/account/billing.php53, templates/account/billing.php:53
+msgid "ZIP / Postal Code"
+msgstr "Irányítószám"
+
+#: templates/account/billing.php:308
+msgid "Country"
+msgstr "Ország"
+
+#: templates/account/billing.php:310
+msgid "Select Country"
+msgstr "Válaszz országot"
+
+#: templates/account/billing.php317, templates/account/billing.php:318
+msgid "State"
+msgstr "Megye"
+
+#: templates/account/billing.php317, templates/account/billing.php:318
+msgid "Province"
+msgstr "Province"
+
+#: templates/account/payments.php:29
+msgid "Payments"
+msgstr "Fizetési módok"
+
+#: templates/account/payments.php:36
+msgid "Date"
+msgstr "Dátum"
+
+#: templates/account/payments.php:37
+msgid "Amount"
+msgstr "Mennyiség"
+
+#: templates/account/payments.php38, templates/account/payments.php:50
+msgid "Invoice"
+msgstr "Számla"
+
+#: templates/debug/api-calls.php:56
+msgid "API"
+msgstr "API"
+
+#: templates/debug/api-calls.php:68
+msgid "Method"
+msgstr "Method"
+
+#: templates/debug/api-calls.php:69
+msgid "Code"
+msgstr "Kód"
+
+#: templates/debug/api-calls.php:70
+msgid "Length"
+msgstr "Hossz"
+
+#: templates/debug/api-calls.php:71
+msgctxt "as file/folder path"
+msgid "Path"
+msgstr "Path"
+
+#: templates/debug/api-calls.php:73
+msgid "Body"
+msgstr "Body"
+
+#: templates/debug/api-calls.php:75
+msgid "Result"
+msgstr "Result"
+
+#: templates/debug/api-calls.php:76
+msgid "Start"
+msgstr "Start"
+
+#: templates/debug/api-calls.php:77
+msgid "End"
+msgstr "End"
+
+#: templates/debug/logger.php:15
+msgid "Log"
+msgstr "Log"
+
+#. translators: %s: time period (e.g. In "2 hours")
+#: templates/debug/plugins-themes-sync.php18,
+#: templates/debug/scheduled-crons.php:91
+msgid "In %s"
+msgstr "In %s"
+
+#. translators: %s: time period (e.g. "2 hours" ago)
+#: templates/debug/plugins-themes-sync.php20,
+#: templates/debug/scheduled-crons.php:93
+msgid "%s ago"
+msgstr "%s ago"
+
+#: templates/debug/plugins-themes-sync.php21,
+#: templates/debug/scheduled-crons.php:74
+msgctxt "seconds"
+msgid "sec"
+msgstr "sec"
+
+#: templates/debug/plugins-themes-sync.php:23
+msgid "Plugins & Themes Sync"
+msgstr "Bővítmények és sablonok szinkronizálása"
+
+#: templates/debug/plugins-themes-sync.php:28
+msgid "Total"
+msgstr "Összesen"
+
+#: templates/debug/plugins-themes-sync.php29,
+#: templates/debug/scheduled-crons.php:84
+msgid "Last"
+msgstr "Last"
+
+#: templates/debug/scheduled-crons.php:76
+msgid "Scheduled Crons"
+msgstr "Scheduled Crons"
+
+#: templates/debug/scheduled-crons.php:81
+msgid "Module"
+msgstr "Module"
+
+#: templates/debug/scheduled-crons.php:82
+msgid "Module Type"
+msgstr "Module Type"
+
+#: templates/debug/scheduled-crons.php:83
+msgid "Cron Type"
+msgstr "Cron Type"
+
+#: templates/debug/scheduled-crons.php:85
+msgid "Next"
+msgstr "Next"
+
+#: templates/forms/affiliation.php:82
+msgid "Non-expiring"
+msgstr "Non-expiring"
+
+#: templates/forms/affiliation.php:85
+msgid "Apply to become an affiliate"
+msgstr "Apply to become an affiliate"
+
+#: templates/forms/affiliation.php:104
+msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
+msgstr "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
+
+#: templates/forms/affiliation.php:119
+msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
+msgstr "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
+
+#: templates/forms/affiliation.php:122
+msgid "Your affiliation account was temporarily suspended."
+msgstr "Your affiliation account was temporarily suspended."
+
+#: templates/forms/affiliation.php:125
+msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
+msgstr "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
+
+#: templates/forms/affiliation.php:128
+msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
+msgstr "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
+
+#: templates/forms/affiliation.php:141
+msgid "Like the %s? Become our ambassador and earn cash ;-)"
+msgstr "Like the %s? Become our ambassador and earn cash ;-)"
+
+#: templates/forms/affiliation.php:142
+msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
+msgstr "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
+
+#: templates/forms/affiliation.php:145
+msgid "Program Summary"
+msgstr "Program Summary"
+
+#: templates/forms/affiliation.php:147
+msgid "%s commission when a customer purchases a new license."
+msgstr "%s commission when a customer purchases a new license."
+
+#: templates/forms/affiliation.php:149
+msgid "Get commission for automated subscription renewals."
+msgstr "Get commission for automated subscription renewals."
+
+#: templates/forms/affiliation.php:152
+msgid "%s tracking cookie after the first visit to maximize earnings potential."
+msgstr "%s tracking cookie after the first visit to maximize earnings potential."
+
+#: templates/forms/affiliation.php:155
+msgid "Unlimited commissions."
+msgstr "Unlimited commissions."
+
+#: templates/forms/affiliation.php:157
+msgid "%s minimum payout amount."
+msgstr "%s minimum payout amount."
+
+#: templates/forms/affiliation.php:158
+msgid "Payouts are in USD and processed monthly via PayPal."
+msgstr "Payouts are in USD and processed monthly via PayPal."
+
+#: templates/forms/affiliation.php:159
+msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
+msgstr "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
+
+#: templates/forms/affiliation.php:162
+msgid "Affiliate"
+msgstr "Affiliate"
+
+#: templates/forms/affiliation.php165, templates/forms/resend-key.php:23
+msgid "Email address"
+msgstr "Email cím"
+
+#: templates/forms/affiliation.php:169
+msgid "Full name"
+msgstr "Teljes név"
+
+#: templates/forms/affiliation.php:173
+msgid "PayPal account email address"
+msgstr "PayPal fiók email címe"
+
+#: templates/forms/affiliation.php:177
+msgid "Where are you going to promote the %s?"
+msgstr "Where are you going to promote the %s?"
+
+#: templates/forms/affiliation.php:179
+msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
+msgstr "Enter the domain of your website or other websites from where you plan to promote the %s."
+
+#: templates/forms/affiliation.php:181
+msgid "Add another domain"
+msgstr "Másik domain hozzáadása"
+
+#: templates/forms/affiliation.php:185
+msgid "Extra Domains"
+msgstr "További domainek"
+
+#: templates/forms/affiliation.php:186
+msgid "Extra domains where you will be marketing the product from."
+msgstr "Extra domains where you will be marketing the product from."
+
+#: templates/forms/affiliation.php:196
+msgid "Promotion methods"
+msgstr "Promotion methods"
+
+#: templates/forms/affiliation.php:199
+msgid "Social media (Facebook, Twitter, etc.)"
+msgstr "Social media (Facebook, Twitter, etc.)"
+
+#: templates/forms/affiliation.php:203
+msgid "Mobile apps"
+msgstr "Mobile apps"
+
+#: templates/forms/affiliation.php:207
+msgid "Website, email, and social media statistics (optional)"
+msgstr "Weboldal, email és közösségi média statisztikák (opcionális)"
+
+#: templates/forms/affiliation.php:210
+msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
+msgstr "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
+
+#: templates/forms/affiliation.php:214
+msgid "How will you promote us?"
+msgstr "How will you promote us?"
+
+#: templates/forms/affiliation.php:217
+msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
+msgstr "Please provide details on how you intend to promote %s (please be as specific as possible)."
+
+#: templates/forms/affiliation.php223, templates/forms/resend-key.php:22
+msgid "Cancel"
+msgstr "Mégsem"
+
+#: templates/forms/affiliation.php:225
+msgid "Become an affiliate"
+msgstr "Become an affiliate"
+
+#: templates/forms/license-activation.php:20
+msgid "Please enter the license key that you received in the email right after the purchase:"
+msgstr "Kérlek add meg a licensz kulcsot, amit emailben kaptál a vásárlásod után:"
+
+#: templates/forms/license-activation.php:25
+msgid "Update License"
+msgstr "Licensz frissítése"
+
+#: templates/forms/optout.php:30
+msgctxt "verb"
+msgid "Opt Out"
+msgstr "Leiratkozás"
+
+#: templates/forms/optout.php:31
+msgctxt "verb"
+msgid "Opt In"
+msgstr "Feliratkozás"
+
+#: templates/forms/optout.php:33
+msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
+msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
+
+#: templates/forms/optout.php:35
+msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
+msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
+
+#: templates/forms/premium-versions-upgrade-handler.php:40
+msgid "There is a new version of %s available."
+msgstr "A(z) %s új verziója érhető el."
+
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
+
+#: templates/forms/premium-versions-upgrade-handler.php:54
+msgid "New Version Available"
+msgstr "Új verzió érhető el"
+
+#: templates/forms/premium-versions-upgrade-handler.php:75
+msgctxt "close a window"
+msgid "Dismiss"
+msgstr "Mégsem"
+
+#: templates/forms/resend-key.php:21
+msgid "Send License Key"
+msgstr "Licensz kulcs küldése"
+
+#: templates/forms/resend-key.php:57
+msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
+msgstr "Add meg az email címet, amit a vásárlás során használtál és újraküldjük a licensz kulcsot."
+
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "A(z) %s deaktiválása vagy törlése automatikusan törli az oldalhoz tartozó licenszed is, amit így másik weboldalon tudsz újra aktiválni."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "licensz"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
+#: templates/forms/trial-start.php:22
+msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
+msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
+
+#: templates/forms/trial-start.php:28
+msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
+msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
+
+#: templates/js/style-premium-theme.php:37
+msgid "Premium"
+msgstr "Prémium"
+
+#: templates/partials/network-activation.php:23
+msgid "Activate license on all sites in the network."
+msgstr "Activate license on all sites in the network."
+
+#: templates/partials/network-activation.php:24
+msgid "Apply on all sites in the network."
+msgstr "Apply on all sites in the network."
+
+#: templates/partials/network-activation.php:27
+msgid "Activate license on all pending sites."
+msgstr "Activate license on all pending sites."
+
+#: templates/partials/network-activation.php:28
+msgid "Apply on all pending sites."
+msgstr "Apply on all pending sites."
+
+#: templates/partials/network-activation.php36,
+#: templates/partials/network-activation.php:68
+msgid "allow"
+msgstr "allow"
+
+#: templates/partials/network-activation.php38,
+#: templates/partials/network-activation.php:70
+msgid "delegate"
+msgstr "delegate"
+
+#: templates/partials/network-activation.php41,
+#: templates/partials/network-activation.php:73
+msgid "skip"
+msgstr "ugrás"
+
+#: templates/plugin-info/description.php72,
+#: templates/plugin-info/screenshots.php:31
+msgid "Click to view full-size screenshot %d"
+msgstr "Click to view full-size screenshot %d"
+
+#: templates/plugin-info/features.php:56
+msgid "Unlimited Updates"
+msgstr "Korlátlan frissítés"
+
+#: templates/account/partials/activate-license-button.php:46
+msgid "Localhost"
+msgstr "Localhost"
+
+#: templates/account/partials/activate-license-button.php:50
+msgctxt "as 5 licenses left"
+msgid "%s left"
+msgstr "%s left"
+
+#: templates/account/partials/activate-license-button.php:51
+msgid "Last license"
+msgstr "Last license"
+
+#: templates/account/partials/addon.php:115
+msgid "Cancelled"
+msgstr "Törölve"
+
+#: templates/account/partials/addon.php:125
+msgid "No expiration"
+msgstr "No expiration"
+
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
+msgid "Activate this add-on"
+msgstr "Activate this add-on"
+
+#: templates/account/partials/site.php:181
+msgid "Owner Name"
+msgstr "Tulajdonos neve"
+
+#: templates/account/partials/site.php:193
+msgid "Owner Email"
+msgstr "Tulajdonos email címe"
+
+#: templates/account/partials/site.php:205
+msgid "Owner ID"
+msgstr "Tulajdonos ID"
+
+#: templates/account/partials/site.php:270
+msgid "Subscription"
+msgstr "Előfizetés"
+
+#: templates/forms/deactivation/contact.php:19
+msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
+msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
+
+#: templates/forms/deactivation/contact.php:22
+msgid "Contact Support"
+msgstr "Írás az ügyfélszolgálatra"
+
+#: templates/forms/deactivation/form.php:59
+msgid "Anonymous feedback"
+msgstr "Névtelen visszajelzés"
+
+#: templates/forms/deactivation/form.php:66
+msgid "Deactivate"
+msgstr "Deaktiválás"
+
+#: templates/forms/deactivation/form.php:68
+msgid "Activate %s"
+msgstr "%s aktiválása"
+
+#: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Gyors visszajelzés"
+
+#: templates/forms/deactivation/form.php:84
+msgid "If you have a moment, please let us know why you are %s"
+msgstr "Kérlek mondd el, miért %s"
+
+#: templates/forms/deactivation/form.php:84
+msgid "deactivating"
+msgstr "deaktiválod"
+
+#: templates/forms/deactivation/form.php:84
+msgid "switching"
+msgstr "váltasz"
+
+#: templates/forms/deactivation/form.php:332
+msgid "Submit & %s"
+msgstr "Küldés & %s"
+
+#: templates/forms/deactivation/form.php:353
+msgid "Kindly tell us the reason so we can improve."
+msgstr "Ha elmondod az okát, tudunk fejlődni."
+
+#: templates/forms/deactivation/form.php:478
+msgid "Yes - %s"
+msgstr "Yes - %s"
+
+#: templates/forms/deactivation/form.php:485
+msgid "Skip & %s"
+msgstr "Kihagyás & %s"
+
+#: templates/forms/deactivation/retry-skip.php:21
+msgid "Click here to use the plugin anonymously"
+msgstr "Kattints ide, ha névtelenül szeretnéd használni a bővítményt"
+
+#: templates/forms/deactivation/retry-skip.php:23
+msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
+msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.mo
index 84e0dcb5c5229af227ae536ea0bfa72177ff0de0..7069d02c59a1bc56750761381a272ab7725d7260 100755
GIT binary patch
delta 12276
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

delta 9620
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
Ks5<%e#TEb>3q*qe

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.po
index b877e6eb7..6e479838b 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-it_IT.po
@@ -1,8 +1,9 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Alessandro Pelly Benassi <plasmax@gmail.com>, 2016
 # Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015-2018
+# Dario Curvino <d.curvino@gmail.com>, 2018
 # Alessandro Pelly Benassi <plasmax@gmail.com>, 2016-2017
 # Vova Feldman <vova@freemius.com>, 2015-2016
 msgid ""
@@ -10,8 +11,8 @@ msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-25 22:15+0000\n"
-"Last-Translator: Daniele Scasciafratte Mte90 <mte90net@gmail.com>\n"
+"PO-Revision-Date: 2018-12-23 14:23+0000\n"
+"Last-Translator: Dario Curvino <d.curvino@gmail.com>\n"
 "Language: it_IT\n"
 "Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,1294 +25,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Errore"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "Ho trovato un migliore %s"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "Qual è il nome di %s?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "È una %s temporanea. Sto solo cercando di risolvere un problema."
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Disattivazione"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Cambio tema"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Altro"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "Non ho più bisogno di %s"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "Ho avuto bisogno di %s per un breve periodo"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "%s ha rotto il mio sito"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "%s ha improvvisamente smesso di funzionare"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "Non posso piú pagarlo"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "Che prezzo ritieni opportuno pagare?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "Non voglio condividere i miei dati con te"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "%s non funziona"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "Non capisco come farlo funzionare"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "%s è ottimo ma ho bisogno di una funzionalità specifica non supportata"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "Quale funzionalitá?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "%s non funziona"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "Non é quello che stavo cercando"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "Che cosa stai cercando?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "%s non ha funzionato come mi aspettavo"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "Che cosa ti aspettavi?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Debug Freemius"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Installa cURL e abilitalo nel file file php.ini. Inoltre cerca per il parametro 'disable_functions' nel tuo file php.ini e rimuovi ogni metodo disattivato che inizia con 'curl_'. Per verificare che tutti sia attivato usa 'phpinfo()'. Una volta attivato, disattiva 1%s e riattivalo di nuovo."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Sì - fai pure"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "No - disattiva e basta"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Ops"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s non può funzionare senza %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s non può funzionare senza il plugin."
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Errore API inaspettato. Contatta l'autore di %s con il seguente errore."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "La versione 1%s Permium è stata attivata con successo."
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "Forte"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "Hai la licenza %s."
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Evvai"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "Ulteriori informazioni su %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Acquista licenza"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "Inizia il periodo di prova gratuito"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "completa l'installazione"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "Sei a un passo dalla fine - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Completa l'attivazione di \"%s\" ora"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "Abbiamo fatto alcune migliore a %s,%s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "Accetta per rendere \"%s\" migliore!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "L'aggiornamento di %s è stato completato con successo."
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Add-on"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "Plugin"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Tema"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Account in attesa di attivazione."
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Compra una licenza ora"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Rinnova la tua licenza ora"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "%s è stato attivato con successo."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Il tuo account è stato attivato correttamente con il piano %s."
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "La versione di prova è stata avviata correttamente."
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "Non é stato possibile attivare %s."
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Contattaci con il seguente messaggio:"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Aggiornamento"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Inizia il periodo di prova gratuito"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Prezzi"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Affiliazione"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "Account"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Contattaci"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Addon"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Prezzi"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Forum di supporto"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Sì"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "L' add-on %s è stato acquistato con successo."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Scarica l'ultima versione"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Errore ricevuto dal server:"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "Uhm"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Prova gratuita"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Contattaci qui"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Il piano è stato aggiornato con successo."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Il piano è stato cambiato con successo a %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "La tua licenza è scaduta. Puoi continuare ad usare la versione gratuita %s per sempre."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "La tua licenza è scaduta. %1$saggiorna ora %2$sper continuare ad utilizzare %3$s senza interruzioni."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "La tua versione di prova gratuita è scaduta. Puoi continuare ad usare tutte le funzionalità gratuite."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "La tua versione prova è scaduta.%1$s aggiorna ora %2$s per continuare ad usare %3$s senza interruzioni."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "Sembra che la licenza non possa essere attivata."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "La tua licenza è stata attivata correttamente."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "Sembra che la disattivazione della licenza non sia riuscita."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "OK"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "Stai già usando %s in modalità prova."
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "Hai già utilizzato una prova gratuita in passato."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "Il piano %s non supporta il periodo di prova."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "Nessuno dei piani di %ssupporta il periodo di prova."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "La versione %s é stata rilasciata."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "Scarica %s."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "l'ultima versione %s é quì"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "Nuovo"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Sembra che tu abbia la versione più recente."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "Sei fantastico!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Sito accettato con successo."
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Fantastico"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s."
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "Grazie!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "Non possiamo più inviare i dati di utilizzo di %ssu %sa %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s è il nuovo proprietario dell'account."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Congratulazioni"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "Puoi abbandonare la proprietà dell'account %s a %scliccando il pulsante Cambia proprietario."
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Cambia Proprietario"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Per favore inserisci il tuo nome completo."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Il tuo nome è stato aggiornato correttamente."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "Hai aggiornato con successo il tuo %s."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Attenzione"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "Hey"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "Nessuna carta di credito richiesta"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Inizia il periodo di prova gratuito"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Ciao, sai che %s ha il programma di affiliazione? Se ti piace %s puoi diventare un nostro ambasciatore e guadagnare denaro!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Scopri altro"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Attiva licenza"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Cambia licenza"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Cancella iscrizione"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Iscriviti"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " La versione a pagamento di%1s è già installata. Attivala per iniziare a usare le funzionalità di %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Segui i passi seguenti per completare l'aggiornamento"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Scarica l'ultima versione di %s"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Carica e attiva la versione scaricata"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "Come faccio a caricare ed attivare?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sClicca qui%s per scegliere i siti dove vuoi attivare la licenza."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "L'installazione automatica funziona solo per gli utenti che hanno dato il consenso."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "ID modulo non valida."
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Versione Premium già attiva."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "Non disponi di una licenza valida per accedere alla versione Premium."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Il plugin è un \"Serviceware\", quindi non dispone di una versione del codice Premium."
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Versione Premium dell'add-on già installata."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "Vedi funzionalità a pagamento"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Grazie per utilizzare %se i suoi addon!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "Grazie per utilizzare %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "Hai già accettato il tracciamento d'uso, ci aiuterà a migliorare %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "Grazie per utilizzare i nostri prodotti!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "Hai già accettato il tracciamento d'uso che ci aiuta a migliorare."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%se i suoi addon"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Prodotti"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Si"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "inviami aggiornamenti di funzionalità e sicurezza, contenuti formativi e offerte."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "No"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "%snon %s mi invierà aggiornamenti di funzionalità e sicurezza, contenuti formativi e offerte."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "A causa della nuova %sRegolamento Europeo sulla Privacy (GDPR)%se i suoi requisiti è necessario che accetti esplicitamente il consenso confermando nuovamente che accetti"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Facci sapere se vuoi essere contattato per aggiornamenti di sicurezza e di funzionalità, contenuti formativi e offerte occasionali:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "La chiave licenza è vuota."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRinnova la tua licenza ora%s per accedere alla versione %s con aggiornamenti di sicurezza e funzionalità e supporto."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Rinnova licenza"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Installazione plugin: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Impossibile accedere al filesystem. Conferma le tue credenziali."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "Il pacchetto remoto del plugin non contiene una cartella con lo slug desiderato e la rinominazione non ha funzionato."
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Acquisto"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Inizia la mia %s"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Installa la versione gratuita ora"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Installa ora"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Scarica l'ultima versione gratuita"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Scarica l'ultima versione"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Installa l'ultima versione gratuita"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Installa l'aggiornamento ora"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Nuova versione gratuita (%s) installata"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Versione più recente (%s) installata"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "Ultima versione gratuita installata"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Versione più recente installata"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Descrizione"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Installazione"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "FAQ"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Screenshot"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Changelog"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Recensioni"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Altre note"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Caratteristiche & prezzi"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Installazione del plugin"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "Piano %s"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "Migliore"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Mensilmente"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Annuale"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "Tutta la vita"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "Fatturato %s"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Annualmente"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Una volta"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Licenza per sito singolo"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Licenze illimitate"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "Fino a %s siti"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "mese"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "anno"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Prezzo"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Risparmia %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "Nessun impegno con %s - cancella quando vuoi"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "Dopo il tuo %s gratuito, paghi solamente %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Dettagli"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Versione"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Autore"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Ultimo aggiornamento"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "%s fa"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Richiede la versione di WordPress"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s o superiore"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatibile fino a"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Scaricato"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "% volta"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s volte"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "Pagina dei plugin di WordPress.org"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Homepage del plugin"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Fai una donazione a questo plugin"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Valutazione media"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "basato su %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s valutazione"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s valutazioni"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%s stella"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s stelle"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Fai clic per vedere le recensioni che hanno fornito una valutazione di %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Contributori"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Avviso"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "Questo plugin non è stato testato con la versione corrente di WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "Questo plugin non è stato segnato come compatibile con la tua versione di WordPress."
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s fermerà immediatamente ogni futuro pagamento ricorrente e la tua %s licenza scadrà il %s."
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "Puoi continuare ad usufruire di tutte le funzionalità di %sma non potrai accedere agli aggiornamenti e supporto di %s."
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Quando la tua licenza scadrà, potrai comunque continuare a usare la versione gratuita, ma NON avrai accesso alle funzionalità %s."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Attivare il piano %s"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Rinnovo automatico in %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Scade in %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Sincronizza la licenza"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Annulla prova gratuita"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Cambia piano"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Aggiornamento"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Downgrade"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Gratuito"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Attiva"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Piano"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Prova gratuita"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "Dettagli dell'account"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "La cancellazione non è temporanea. Cancella solamente se non vuoi più utilizzare %s. Sei sicuro di voler cancellare questi dati?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Elimina Account"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Disattiva licenza"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "Sei sicuro di voler procedere?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Annulla sottoscrizione"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Sincronizza"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "Nome"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "Email"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "ID utente"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "ID del sito"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "Nessun ID"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Chiave pubblica"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Chiave segreta"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "Nessuna chiave"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Prova gratuita"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "Chiave della licenza"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "non verificato"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Scaduto"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Versione premium"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Versione gratuita"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Verifica email"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Scarica la versione %s"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Mostra"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "Qual è il tuo %s?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Modifica"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Siti"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Cerca per indirizzo"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "Indirizzo"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "Licenza"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Piano"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "Licenza"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Nascondi"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Disattiva la tua licenza bloccando tutte le funzionalità premium ma potrai attivare la licenza su un altro sito. Sei sicuro di voler continuare?"
 
@@ -1323,7 +1421,7 @@ msgstr "Add-on per %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "Visualizza dettagli"
 
@@ -1362,163 +1460,167 @@ msgid "PCI compliant"
 msgstr "PCI compliant"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Hey %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Consenti & Continua"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Invia nuovamente l'email di attivazione"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "Grazie %s!"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "Accetta e attiva la licenza"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Non perdere nessun aggiornamento importante, accetta gli aggiornamenti di sicurezza e funzionalità, contenuti formativi, offerte e il tracciamento diagnostico senza dati sensibili con %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Non perdere nessun aggiornamento importante, accetta i nostri aggiornamenti di sicurezza e notifiche di funzionalità e il tracciamento diagnostico senza dati sensibili con %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Non perdere nessun aggiornamento importante, accetta i nostri aggiornamenti di sicurezza e di nuove funzionalità, contenuto formativo, offerte e tracciamento diagnostico senza dati sensibili con %4$s. Se vuoi saltare questo passaggio non è un problema! %1$scontinuerà a funzionare."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Non perdere nessun aggiornamento importante, accetta i nostri aggiornamenti di sicurezza e di nuove funzionalità, contenuto formativo, offerte e tracciamento diagnostico senza dati sensibili con %4$s. Se vuoi saltare questo passaggio non è un problema! %1$s continuerà a funzionare."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "Siamo felici di presentarvi il supporto al sistema multi network di Freemius."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "Durante la procedura di aggiornamento abbiamo individuato%d sito/i che sono in attesa della attivazione della licenza."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "Se vuoi utilizzare %s su questi siti, inserisci la tua licenza sotto e fai clic sul pulsante di attivazione."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "Funzionalità a pagamento di %s"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "In caso puoi saltare per adesso e attivare la licenza successivamente nella tua pagina di attivazione network di %s."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "Durante la procedura di aggiornamenti abbiamo individuato %s sito/i del network che sono in attesa di un tuo controllo."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "Chiave di licenza"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "Non trovi la tua chiave di licenza?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Salta"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Delega ai proprietari del sito"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "Se fai clic questa decisione sarà delegata agli amministratori del sito."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Panoramica del tuo profilo"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Nome ed indirizzo email"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Panoramica del tuo sito"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Avvisi amministratore"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Aggiornamenti, annunci, marketing, no spam"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Eventi %sattuali"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Attiva, disattivazione e disinstallazione"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Newsletter"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr " Il %1$s invierà periodicamente dei dati a %2$s per verificare aggiornamenti di sicurezza e di funzionalità e verificare la validità della tua licenza."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "Quali autorizzazioni vengono concesse?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "Non hai una chiave di licenza?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Attiva versione gratuita"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "Hai una chiave di licenza?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Politica sulla privacy"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Termini del Servizio"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "Invio email"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Attivazione"
@@ -1546,8 +1648,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Debugging"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "Azioni"
 
@@ -1571,199 +1673,203 @@ msgstr "Svuota le Transient degli aggiornamenti"
 msgid "Sync Data From Server"
 msgstr "Sincronizza i dati dal server"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Carica opzioni del DB"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Imposta opzione del DB"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Chiave"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Valore"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "Versioni SDK"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "Percorso SDK"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Percorso modulo"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "è attiva"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Plugin"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Temi"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Slug"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "Titolo"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Stato di Freemius"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Network Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Utente Network"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Connesso"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Bloccato"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Simula versione di prova"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simula aggiornamento network"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s Installazioni"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Siti"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "Blog ID"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Elimina"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Addon del modulo %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Utenti"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Verificato"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licenze"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "Plugin ID"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "ID Piano"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Quota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Attivato"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Bloccato"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Scadenza"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Debug Log"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "Tutti i tipi"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "Tutte le richieste"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "File"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "Funzione"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "ID processo"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "Messaggio"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Filtro"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Download"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Tipo"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Timestamp"
 
@@ -2114,23 +2220,19 @@ msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "C'è una nuova versione di %s disponibile."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRinnova la tua licenza ora %s per accedere alla versione %s  con aggiornamenti di sicurezza e funzionalità oltre che supporto."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "Nuova versione disponibile"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Rinnova licenza"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Chiudi"
@@ -2143,6 +2245,43 @@ msgstr "Invia chiave di licenza"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
@@ -2208,20 +2347,16 @@ msgstr "%s rimanenti"
 msgid "Last license"
 msgstr "Ultima licenza"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Annullato"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Scaduto"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "Nessuna scadenza"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Attivare questo addon"
 
@@ -2249,47 +2384,47 @@ msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo
 msgid "Contact Support"
 msgstr "Contatta il supporto"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Feedback anonimo"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Disattiva"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Attiva %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "Feedback veloce"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "Se hai un attimo, facci sapere perché %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "disattivazione in corso"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "passa a"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Invia e %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "SI - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "Salta & %s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.mo
index d708212ff6b8560ade81375e13ba6ece5c2ce486..1e80fd08c3e81b6da2fda57bda08fbae816be131 100644
GIT binary patch
delta 12261
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
Kmrs6vZy^9^zRmjp

delta 9881
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.po
index a0e8714f1..01dee4f2d 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ja_JP.po
@@ -1,17 +1,17 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Odyssey <8bitodyssey+github@gmail.com>, 2016
-# aka.tsundoa, 2018
+# Tomohyco Tsunoda, 2018
 # Takayuki Miyauchi <miya0001@users.noreply.github.com>, 2016
-# aka.tsundoa, 2018
+# Tomohyco Tsunoda, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-24 22:49+0000\n"
-"Last-Translator: aka.tsundoa\n"
+"PO-Revision-Date: 2018-11-25 07:22+0000\n"
+"Last-Translator: Vova Feldman <vova@freemius.com>\n"
 "Language: ja_JP\n"
 "Language-Team: Japanese (Japan) (http://www.transifex.com/freemius/wordpress-sdk/language/ja_JP/)\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,1294 +24,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK がプラグインのメインファイルを見つけることができませんでした。現在のエラーを添えて  sdk@freemius.com に連絡してください。"
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "エラー"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "より良い %sを見つけました"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "%sの名前は何ですか?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "%sは一時的なものです。現在この問題をデバッグ中です。"
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "無効化"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "テーマ変更"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "その他"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "%sはもう不要です"
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "短期間だけ %sが 必要です。"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "%s の影響でサイトを崩れました"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "%s の動作が突然停止しました"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "もう払うことができません"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr " 支払ってもよいと思う価格はいくらですか?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "自分の情報を共有したくありません"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "%s が動作しませんでした"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "どうしたら動作するか分かりませんでした。"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "%s は素晴らしいのですが、サポートされていないある機能が必要です"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "何の機能ですか?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "%s が動作していません"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "将来のユーザーのために修正できるよう、何が動作しなかったのかどうか共有してください…"
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "探していたものではありません"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "探していたのは何ですか?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "%sが期待通りに動きませんでした "
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "何を期待していましたか?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Freemius デバッグ"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "cURL がなにか、そのインストール方法を知りません。助けてください。"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "ホスティング会社に連絡して問題を解決してください。 更新が完了したら、 %s へのフォローアップメールが届きます。"
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "すばらしい。cURL をインストールし、 php.ini ファイルで有効化してください。加えて、php.ini 内で 'disable_functions' ディレクティブを検索して、'curl_' で始まる無効化されたメソッドを削除してください。'phpinfo()' を使って正常に起動されたことを確認してください。有効化されている場合は %s を一度無効化し、再度有効化し直してください。"
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "はい - お構いなく"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "いいえ - すぐに無効化"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "おっと"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "修正するチャンスをいただきありがとうございます! テクニカルスタッフにメッセージが送信されました。 %s への更新が行われるとすぐにあなたに連絡します。 あなたの忍耐に感謝します。"
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s は、%s が無いと実行することができません。"
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s は、プラグインが無いと実行することができません。"
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "予期しない API エラーです。%sの作者に次のエラーを連絡してください。"
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "プレミアムバージョンの %sは有効化に成功しました。"
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "やったー"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "%s ライセンスを持っています。"
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "ヤッホー"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "%s の無料試用が正常にキャンセルされました。 アドオンはプレミアムなので、自動的に無効化されました。 将来使用したい場合は、ライセンスを購入する必要があります。"
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s はプレミアムのみのアドオンです。そのプラグインを有効化する前にライセンスを購入する必要があります。"
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "%s に関する詳細情報"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "ライセンスを購入"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "%s のメールボックスに %s の有効化のメールを受け取っているはずです。%s のメールに記載された有効化ボタンをクリックしてください。"
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "トライアルを開始"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "インストールを完了"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "もうあとわずかです - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "すぐに \"%s\" 有効化を完了してください"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "プラグインを微調整します、 %s, %s"
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "\"%s\" をより良くするためにオプトインをしてください!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "%s のアップグレードが完了しました。"
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "アドオン"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "プラグイン"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "テーマ"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "システムではメールアドレスを見つけることができませんでした。メールアドレスが正しいか確認してください。"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "メールアドレスに関連付けられた有効なライセンスが見つかりません。メールアドレスが正しいか確認してください。"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "アカウントは有効化待ちです。"
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Buy a license now"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renew your license now"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "%s の有効化が成功しました。"
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "アカウントが %s プランで有効化できました。"
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "トライアル版の利用を開始しました。"
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "%s を有効化できません。"
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "以下のメッセージとともに私たちに連絡をください。"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "アップグレード"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "トライアルを開始"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "料金表"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "アフィリエイト"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "アカウント"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "連絡"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "アドオン"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "料金表"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "サポートフォーラム"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "あなたのメールアドレスの承認が完了しました。すごい!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "そうだ"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "%s のアドオンのプランのアップグレードが完了しました。"
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "%s のアドオンの支払いが完了しました。"
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "最新版をダウンロード"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "サーバーは %1s の同期に不可欠な Freemius の API へのアクセスをブロックしています。 ホワイトリストに %2s を追加していただけるようあなたのホスティング会社に連絡してください。"
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "サーバーからエラーを受信しました。"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "認証パラメータの1つが間違っているようです。 公開鍵、秘密鍵、ユーザーIDを更新して、もう一度お試しください。"
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "ふむ"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "まだ %s プランのようです。もしアップグレードやプランの変更をしたのなら、こちらで何らかの問題が発生しているようです。申し訳ありません。"
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "トライアル"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "アカウントをアップグレードしましたが、ライセンスを同期しようとするとプランが %s のままです。"
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "こちらで私たちに連絡をとってください。"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "プランのアップグレードが成功しました。"
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "プランの %s への変更が成功しました。"
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "ライセンスの有効期限が切れました。無料バージョンの%s は引き続き利用できます。"
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "ライセンスの有効期限が切れました。 %1$s  %3$sに邪魔されずに利用を継続するには,今すぐ%2$sアップグレードを行ってください。"
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "ライセンスはキャンセルされました。もしそれが間違いだと思うならサポートに連絡してください。"
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "ライセンスは有効期限がきれました。%s の機能を引き続き利用することができます。ただし、アップデートやサポートをうけるにはライセンスをアップデートする必要があります。"
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "フリートライアル期間が終了しました。無料で使える機能は引き続き利用可能です。"
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "フリートライアル期間が終了しました。%1$s %3$sに邪魔されずに利用を継続するには,今すぐ %2$s のアップグレードを行ってください。"
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "ライセンスの有効化ができませんでした。"
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "ライセンスの有効化が成功しました。"
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "サイトは有効なライセンスを持っていないようです。"
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "ライセンスの無効化ができませんでした。"
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "ライセンスの無効化が完了しました。%s プランに戻りました。"
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "O.K"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "プランのダウングレードが完了しました。%s プランは %s に有効期限が切れます。"
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "プランのダウングレードの際に一時的な問題が発生したようです。数分後に再度操作してください。"
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "すでに%sをトライアルモードで利用中です。"
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "以前すでに試用版を利用しました。"
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "%s プランは存在しないため、試用を開始できません。"
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "%s プランにはトライアル期間はありません。"
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "%sのプランにはトライアル期間はありません。"
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "すでにトライアルモードではないようなので、キャンセルする必要はありません :)"
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "%s のフリートライアルはキャンセルされました。"
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "トライアルのキャンセルに一時的な問題がありました。数分後に再度お試しください。"
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "%s のフリートライアルはキャンセルされました。"
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "バージョン %s をリリースしました。"
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "%s をダウンロードしてください。"
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "最新の %s バージョンはこちらです。"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "新規"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "最新版を取得できました。"
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "すべて完璧です!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "%s に確認メールを送信しました。もし5分以内にそれが届かない場合、迷惑メールボックスを確認してください。"
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "サイトのオプトインに成功しました。"
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "すごい!"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "使用データを追跡できるよう許可してくれたことで、%s をより良くするための手助けに感謝致します。"
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "ありがとうございます!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "もう%s上の%sから%sへのデータ送信は行いません。"
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "メールボックスを確認してください。所有権の変更を確認するには、%s でメールを受け取る必要があります。 セキュリティ上の理由から、次の15分以内に変更を確認する必要があります。 電子メールが見つからない場合は、迷惑メールフォルダを確認してください。"
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "所有権の変更を確認していただきありがとうございます。 %s に承認メールが送信されました。"
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s は新しいオーナーです。"
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "おめでとう"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "メールアドレスのアップデートを完了できませんでした。他のユーザーがすでに同じメールアドレスで登録しているようです。"
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "%sの所有権を%sへ譲りたい場合は、所有権の変更ボタンをクリックしてください。"
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "オーナーを変更"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "メールアドレスのアップデートが完了しました。まもなく確認メールが届きます。"
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "フルネームを入力してください。"
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "名前のアップデートが成功しました。"
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "%s のアップデートが成功しました。"
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "%s のアドオンに関する情報は、外部サーバーから取得されます。"
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "警告"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "ヘイ"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "%s はどうですか? 私たちの全ての %s のプレミアム機能をお試しください。"
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "%s 日以内であればいつでもキャンセルできます。"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "クレジットカードは必要ありません。"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "フリートライアルを開始"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "こんにちは。%sにアフィリエイトプログラムがあるのはご存知でしたか? %sがお好きなら、私たちのアンバサダーになって報酬を得ましょう!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "詳細はこちら"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "ライセンスを有効化"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "ライセンスを変更"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "オプトアウト"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "オプトイン"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "アップグレードを完了するには以下の手順を完了させてください。"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "最新の %s をダウンロード"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "ダウンロードしたバージョンをアップロードして有効化"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "アップロードと有効化の方法"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sここをクリックして%s ライセンスを有効化したいサイトを選択してください。"
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "自動インストールはオプトインしたユーザのみで動作します。"
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "モジュール ID が不正です"
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "プレミアムバージョンはすでに有効になっています。"
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "プレミアムバージョンにアクセスできる有効なライセンス持っていません。"
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "プラグインはプレミアムコードバージョンのない「サービスウェア」です。"
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "プレミアムアドオンバージョンはすでにインストール済みです。"
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "有料の機能を表示する"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "%sとアドオンのご利用ありがとうございます!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "%sのご利用ありがとうございます!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "%sの改善に役立つ使用状況のトラッキングにすでにオプトインしています。"
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "プロダクトのご利用ありがとうございます!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "プロダクトの改善に役立つ使用状況のトラッキングにすでにオプトインしています。"
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%sとそのアドオン"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "プロダクト"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "はい"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "セキュリティと機能のアップデート、学習用コンテンツやオファーを送ってください。"
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "いいえ"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "セキュリティと機能のアップデート、学習用コンテンツやオファーを%s送らないでください%s。"
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "新しい %sEU General Data Protection Regulation (GDPR)%s コンプライアンスを満たすため、あなたが明示的に同意したことを再度確認し、またあなたがオンボードであることを確認する必要があります 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "セキュリティや機能のアップデート、学習用用コンテンツ、およびオファーについてお問い合わせを希望される場合は、お知らせください。"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "ライセンスキーが空です。"
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "バージョン%sのセキュリティや機能のアップデートまたサポートを受けられるよう、%s今すぐライセンスキーを更新してください%s。"
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "ライセンスを更新"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "インストール中プラグイン: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "ファイルシステムに接続できません。視覚情報を確認してください。"
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "リモートプラグインパッケージには、目的のスラッグを含むフォルダが含まれていないため、リねームが機能しませんでした。"
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "購入"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "無料の %s を開始"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "フリーバージョンを今すぐインストール"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "今すぐインストール"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "最新のフリーバージョンをダウンロード"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "最新版をダウンロード"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "フリーバージョンの更新を今すぐインストール"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "今すぐ更新をインストール"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "新しいフリーバージョン (%s) がインストールされました"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "新しいバージョン (%s) がインストールされました"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "最新のフリーバージョンがインストールされました"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "最新版がイストールされました"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "説明"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "インストール"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "FAQ"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "スクリーンショット"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "変更履歴"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "レビュー"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "その他の記述"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "機能 & 料金"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "プラグインのインストール"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "%s プラン"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "ベスト"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "月"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "年次"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "ライフタイム"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "%s への請求"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "毎年"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "一度"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "シングルサイトライセンス"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "無制限ライセンス"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "%sサイトまで"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "月"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "年"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "料金"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "%s を保存"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "%s の拘束はありません。いつでもキャンセルできます。"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "無料の %s の後は、わずか %s  だけお支払ください。"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "詳細"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "バージョン"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "作者"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "最終更新"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "%s 前"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "必要な WordPress のバージョン"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%sまたはそれ以上"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "互換性のある最新バージョン"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "ダウンロード済み"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "%s回"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s回"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "WordPress.org のプラグインページ"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "プラグインのホームページ"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "このプラグインに寄付する"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "レーティングの平均"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "%sを基に"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s評価"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s評価"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%sスター"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%sスター"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "クリックして%sの評価をしているレビューを観る"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "コントリビューター"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "警告"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "このプラグインはインストールされた WordPress のバージョンでは検証されていません。"
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "このプラグインはインストールされた WordPress のバージョンに互換性がありません。"
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "有料アドオンは Freemius にデプロイされている必要があります。"
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "アドオンが WordPress.org か Freemius にデプロイされている必要があります。"
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "プランをダウングレードするとすぐに将来の定期の支払いはすべて停止し、%s プランライセンスは %s で期限切れとなります。"
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "トライアルをキャンセルするとすぐにすべてのプレミアム機能へのアクセスができなくなります。本当に実行しますか?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "すべての%s機能を使うことはできますが、%sへのアクセスやアップデート、またサポートを受けることはできません。"
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "一度ライセンスの期限が切れると、フリーバージョンの利用は可能ですが、%sの機能を使うことができなくなります。"
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "%s プランを有効化"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "%s に自動更新"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "%s で期間終了"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "ライセンスを同期"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "トライアルをキャンセル"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "プラン変更"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "アップグレード"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "ダウングレード"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "無料"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "有効化"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "プラン"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "フリートライアル"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "アカウント詳細"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "アカウントを削除すると自動的に %s プランライセンスが無効になり、他のサイトで使うことができます。定期の支払いも終了したい場合は、\"キャンセル\"ボタンをクリックし、まずアカウントを\"ダウングレード\"してください。本当に削除を続行してもいいですか?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "削除は一時的なものではありません。本当に%sが必要なくなった時に行ってください。"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "アカウントを削除"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "ライセンスを無効化"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "本当に続行していいですか?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "サブスクリプションをキャンセルする"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "同期"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "名前"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "Email"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "ユーザー ID"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "サイト ID"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "ID がありません"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "公開鍵"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "秘密鍵"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "秘密鍵がありません"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "トライアル"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "ライセンスキー"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "未認証"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "期限切れ"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "プレミアムバージョン"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "フリーバージョン"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "認証メール"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "%s バージョンをダウンロード"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "表示"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "自分の %s はなんですか?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "編集"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "サイト数"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "住所で検索する"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "住所"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "ライセンス"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "プラン"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "ライセンス"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "非表示"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "ライセンスを無効化するとすべてのプレミアム機能が使えなくなりますが、他のサイトでライセンスを有効にすることができるようになります。本当に実行しますか?"
 
@@ -1323,7 +1420,7 @@ msgstr "%s のアドオン"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "アドオンリストを読み込むことができませんでした。おそらく運営側の問題になりますので、しばらくしてからお試しください。"
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "詳細を表示"
 
@@ -1362,163 +1459,167 @@ msgid "PCI compliant"
 msgstr "PCI コンプライアント"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "おおい %s さん、"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "許可して続ける"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "有効化メールを再送信"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "ありがとう $s さん!"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "同意してライセンスを有効化"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "%s を購入いただきありがとうございます。はじめにライセンスキーを入力してください:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "重要な更新を逃さないように、セキュリティと更新通知、学習用コンテンツ、オファー、そして%4$s とセンシティブではない診断トラッキングをオプトインしてください。"
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "重要な更新を逃さないように、セキュリティと更新通知、%4$s とセンシティブではない診断トラッキングをオプトインしてください。"
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "重要な更新を逃さないように、セキュリティと更新通知、学習用コンテンツ、オファー、そして%4$s とセンシティブではない診断トラッキングをオプトインしてください。これをスキップしても%1$sはもちろん動作します。"
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "重要な更新を逃さないように、セキュリティと更新通知、学習用コンテンツ、オファー、そして%4$s とセンシティブではない診断トラッキングをオプトインしてください。これをスキップしても%1$sはもちろん動作します。"
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "Freeminus ネットワークレベルのインテグレーションをご紹介できることに興奮しています。"
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "アップデートの処理中に%dサイトがライセンスの有効化が保留中であることを検知しました。"
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "これらのサイトで%sを使う場合は、ライセンスキーを入力し、アクティベーションボタンをクリックしてください。"
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "%sの有料機能"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "または、今すぐスキップして、%sのネットワークレベルのアカウントページでライセンスを有効にすることもできます。"
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "アップデートの処理中に、ネットワーク内の%dサイトが対応待ちになっていることを検知しました。"
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "ライセンスキー"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "ライセンスキーは見つかりませんか?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "スキップ"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "サイト管理者に委任する"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "決定をサイトの管理者に委任するにはクリックしてください。"
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "プロフィール概要"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "名前とメールアドレス"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "サイト概要"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "サイト URL、WP バージョン、PHP info、プラグインとテーマ"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "管理者通知"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "更新、発表、マーケティング、スパムなし"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "現在%sイベント"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "有効化、無効化、アンインストール"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "ニュースレター"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "%1$sはセキュリティとアプデート、そしてライセンスの状態を確認するため、定期的に%2$sへデータを送信します。"
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "付与されているパーミッションは何ですか?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "ライセンスキーをお持ちではありませんか?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "フリーバージョンを有効化"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "ライセンスキーはお持ちですか?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "プライバシーポリシー"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "利用規約"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "メール送信中"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "有効化中"
@@ -1546,8 +1647,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "デバッグ"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "アクション"
 
@@ -1571,199 +1672,203 @@ msgstr "アップデートのトランジエントをクリアーにする"
 msgid "Sync Data From Server"
 msgstr "サーバーからのデータを同期"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "DB オプションを読み込む"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "DB オプションを設定する"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "キー"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "値"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "SDK バージョン"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "SDK のパス"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "モジュールのパス"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "有効"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "プラグイン"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "テーマ"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "スラッグ"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "タイトル"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Freemius ステータス"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "ネットワークブログ"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "ネットワークユーザ"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "接続"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "ブロック"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "トライアルをシミュレートする"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "ネットワークアップグレードをシミュレートする"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%sインストール"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "サイト数"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "ブログ ID"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "削除"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "モジュールのアドオン%s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "ユーザー"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "認証済み"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%sラインセス"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "プラグイン ID"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "プラン ID"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "クォータ"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "有効化済み"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "ブロッキング"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "期限切れ"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "デバッグログ"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "すべてのタイプ"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "すべてのリクエスト"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "ファイル"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "機能"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "プロセス ID"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "ロガー"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "メッセージ"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "フィルター"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "ダウンロード"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "タイプ"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "タイムスタンプ"
 
@@ -2114,23 +2219,19 @@ msgstr "使用の追跡は %s をより良くする名目の下に行われて
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "\"オプトアウト\"をクリックすることで、もう %s から %s へのデータの送信は行いません。"
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "%sの入手可能な新しいバージョンがあります"
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "バージョン%sのセキュリティや機能のアップデートやサポートを受けられるよう、%s今すぐライセンスキーを更新してください%s。"
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "新しいバージョンがあります"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "ライセンスを更新"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "却下"
@@ -2143,6 +2244,43 @@ msgstr "ライセンスキーを送信"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "アップグレードに使用したメールアドレスを下に入力してください。そうすれば、ライセンスキーをお送りします。"
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "%2$s プランの%1$s日間のフリートライアルを開始するまであとワンクリックです。"
@@ -2208,20 +2346,16 @@ msgstr "あと %s"
 msgid "Last license"
 msgstr "最新のライセンス"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "キャンセル"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "期限切れ"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "有効期限なし"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "このアドオンを有効化"
 
@@ -2249,47 +2383,47 @@ msgstr "ご迷惑をおかけしてすいません。もし機会をいただけ
 msgid "Contact Support"
 msgstr "サポートに連絡"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "匿名のフィードバック"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "無効化"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "%sを有効化する"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "クイックフィードバック"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "お時間があれば、なぜ%sするのか理由を教えてください。"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "無効化中"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "変更中"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "送信と%s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "改善できるよう、どうか理由を教えてください。"
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "はい"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "スキップと%s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.mo
index c18f59eec08da3c44b47fe9fa7e8a35ceba6f213..d55b8c23998a1f52b364f5649c9a6d32ec5c14ca 100644
GIT binary patch
delta 13274
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
OYEfo>O6ug>M+*S8Mir3&

delta 10070
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

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.po
index bb848094a..9cbd24292 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-nl_NL.po
@@ -1,13 +1,14 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
 # Benny Vluggen <benny@prodevign.com>, 2017-2018
+# Patrick Buntsma <info@stonehengecreations.nl>, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-24 16:14+0000\n"
+"PO-Revision-Date: 2018-11-26 14:12+0000\n"
 "Last-Translator: Benny Vluggen <benny@prodevign.com>\n"
 "Language: nl_NL\n"
 "Language-Team: Dutch (Netherlands) (http://www.transifex.com/freemius/wordpress-sdk/language/nl_NL/)\n"
@@ -21,1294 +22,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK kon het hoofdbestand van de plug-in niet vinden. Neem a.j.b. contact op met sdk@freemius.com m.b.t. deze fout."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Fout"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "Ik vond een beter %s"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "Wat is de naam van het %s?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "Het betreft een tijdelijke %s. Ik ben een probleem aan het debuggen."
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Deactivatie"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Thema Wissel"
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Overige"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "Ik heb de %s niet meer nodig "
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "Ik had de %s alleen nodig voor een korte periode."
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "De %s maakte mijn site onbruikbaar"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "De %s werkte opeens niet meer"
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "Ik kan er niet langer meer voor betalen"
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "Welke bedrag zou je ervoor over hebben?"
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "Ik vind het niet prettig om mijn informatie met jullie te delen"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "De %s werkte niet"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "Ik snapte niet hoe ik het aan het werk kon krijgen."
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "De %s is uitstekend, maar ik heb een specifieke feature nodig die jullie niet ondersteunen"
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "Welke feature?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "De %s werkt niet"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Wil je alsjeblieft zo vriendelijk zijn om te delen wat niet werkte, zodat we dat kunnen verbeteren voor toekomstige gebruikers ..."
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "Het is niet waarna ik opzoek was"
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "Waar was je naar op zoek?"
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "De %s werkte niet zoals verwacht"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "Wat had je verwacht?"
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Freemius Debug"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "Ik weet niet wat cURL is of hoe dat te installeren is, help me!"
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "We doen onze best om contact op te nemen met uw hostingbedrijf om het probleem op te lossen. We sturen een vervolgmail naar %s, zodra we een update hebben. "
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Mooi, installeer alsjeblieft cURL en activeer het in je php.ini bestand. Tevens, zoek naar de 'disable_functions' directive in je php.ini bestand en verwijder iedere methode die start met 'curl_'. Gebruik 'phpinfo()' om je ervan te vergewissen dat het nu succesvol geactiveerd is. Als actief, deactiveer de %s en heractiveer deze opnieuw."
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Ja, ga je gang"
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "Nee - alleen deactiveren"
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Oeps"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Bedankt dat je ons in de gelegenheid stelt dit op te lossen. Zojuist is er een bericht verstuurd naar onze technische staf. We laten wat van ons horen, aan %s, als we een update hebben. Bedankt voor je geduld."
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s werkt niet zonder %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s werkt niet zonder de plug-in."
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Onverwachte API fout. Neem alsjeblieft contact op met de auteur van de %s met de volgende foutmelding."
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "Premium %s versie is succesvol geactiveerd."
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "W00t"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "Je hebt een %s licentie"
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Hoera"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "%s gratis proefperiode werd succesvol stop gezet. Daar de add-on alleen als premium versie beschikbaar is werd deze automatisch gedeactiveerd. Als u de add-on in de toekomst wilt gebruiken dient u een licentie aan te schaffen."
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s is uitsluitend beschikbaar als een premium add-on. Je moet een licentie kopen voordat je de plug-in activeert."
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "Meer informatie over %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Licentie Kopen"
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "Als het goed is ontvang je een activatie e-mail voor %s in je %s mailbox. Zorg er alsjeblieft voor dat je op de activatie knop klikt in die e-mail aan %s."
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "start de proefperiode"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "voltooi de installatie"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "Je bent slechts een stap verwijderd - %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Voltooi \"%s\" Activatie Nu"
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "We hebben een aantal aanpassingen gedaan op de %s, %s "
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
 msgstr "Opt-in om \"%s\" te verbeteren!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "De upgrade van %s is succesvol voltooid."
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Uitbreiding"
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "Plug-in"
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Thema"
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "ongeldige_site_details_verzameling"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Ongeldige verzameling van Site Details."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "We konden je e-mailadres niet vinden in het systeem, ben je zeker dat dat het juiste adres is?"
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "Er is geen actieve licentie gekoppeld aan dat e-mailadres, ben je zeker dat dat het juiste adres is?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Account wacht op activatie."
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Koop nu een licentie"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Vernieuw je licentie nu"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%svoor toegang tot versie %s beveiliging en feature updates en support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "%s activatie is succesvol voltooid."
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Je account is succesvol geactiveerd met het %s plan."
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "U proefperiode is met succes gestart."
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "Kon %s niet activeren."
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Neem a.u.b. contact met ons op met het volgende bericht:"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Upgrade"
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Start Proefperiode"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Prijzen"
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Affiliatie"
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "Account"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Contacteer Ons"
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Uitbreidingen"
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Prijzen"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Supportforum"
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Je e-mail werd succesvol geverifieerd - je bent GEWELDIG!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Toppie"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Uw %sAdd-on plan werd succesvol geüpgraded. "
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "%s Add-on werd succesvol aangekocht."
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Download de meeste recente versie"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Je server blokkeert de toegang tot de Freemius API, welke cruciaal is voor %1s synchronisatie. Neem alsjeblieft contact op met je host om %2s te whitelisten."
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Foutmelding ontvangen van de server:"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "Het lijkt erop dat een van de authenticatie parameters niet klopt. Update je Publieke Sleutel, Geheime Sleutel & Gebruikers ID en probeer het nogmaals. "
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "Hmm"
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "Het lijkt erop dat  u nog steeds op het %s plan zit. Als u uw plan geüpgraded of veranderd heeft, dan is het waarschijnlijk een fout aan onze kant - sorry."
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Proefperiode"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "Ik heb mijn account geüpgraded maar als ik probeer te Synchroniseren blijft het plan %s."
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Neem hier a.u.b. contact met ons op"
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Je plan is succesvol geüpgraded."
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Je plan is succesvol veranderd naar %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Je licentie is verlopen. Je kan echter de gratis %s voor altijd blijven gebruiken."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Je licentie is verlopen. %1$sUpgrade nu%2$s om de %3$s zonder interrupties te blijven gebruiken."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "Je licentie is geannuleerd. Als je denkt dat dat een fout is, neem dan alsjeblieft contact op met support."
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Je licentie is verlopen. Je kan nog steeds alle %s features gebruiken, maar je zal je licentie moeten vernieuwen om weer updates en support te ontvangen."
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "Je gratis proefperiode is verlopen. Je kan nog steeds al onze gratis features blijven gebruiken."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Je gratis proefperiode is verlopen. %1$sUpgrade nu%2$som de %3$s zonder interrupties te blijven gebruiken. "
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "Het lijkt erop dat de licentie niet geactiveerd kon worden."
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "Je licentie is succesvol geactiveerd."
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "Het lijkt erop dat je site momenteel geen actieve licentie heeft."
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "Het lijkt erop dat het deactiveren van je licentie mislukt is."
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "Je licentie is succesvol gedeactiveerd, je bent terug op het %s plan."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "Oké"
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Je plan werd succesvol gedowngraded. Je %s plan licentie zal verlopen binnen %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Het lijkt erop, dat we een tijdelijk probleem hebben met het annuleren van je abonnement. Probeer het alsjeblieft over een paar minuten nog eens."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "Het lijkt er op dat we een tijdelijk probleem hebben om je plan te downgraden. Probeer het alsjeblieft nogmaals over enkele minuten."
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Je abonnement is succesvol geannuleerd. De licentie van je %s-plan al over %s aflopen."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
-msgstr "Je voert de %s reeds uit in proefmodus"
+msgstr "Je draait de %s al in proefmodus."
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "U heeft reeds een proefperiode gebruikt."
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "Plan %s bestaat niet, daarom kan proefperiode niet gestart worden."
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "Plan %s ondersteunt geen proefperiode."
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "Geen van de %s plannen ondersteunt een proefperiode."
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "Het lijkt er op dat u niet langer meer in de proefperiode zit, dus er valt niets stop te zetten."
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Uw gratis %s proefperiode is succesvol opgezegd. "
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "Het lijkt er op dat we een tijdelijk probleem hebben met het opzeggen van uw proefperiode. Probeer het a.u.b. over enkele minuten nog eens."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Uw gratis %s proefperiode is succesvol opgezegd. "
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "Versie %s is vrijgegeven."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "A.u.b. %s downloaden."
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "de meest recente %s versie hier"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "Nieuw"
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Het lijkt erop dat je de meest recente versie hebt."
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "Alles is goed!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "Verificatiemail zojuist verstuurd naar %s. Als je deze niet binnen 5 min. hebt ontvangen, kijk dan alsjeblieft in je spambox."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Site opt-in geslaagd. "
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Geweldig"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "We waarderen je hulp om %s beter te maken door ons gebruiksdata te laten verzamelen. "
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "Bedankt!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "We zullen geen gebruiksdata meer verzenden van %s m.b.t. %s naar %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Hou alsjeblieft je mailbox in de gaten, je zult een e-mail ontvangen via %s om de overdracht te bevestigen. Vanwege veiligheidsredenen moet je de overdracht binnen de volgende 15 min. bevestigen. Kijk eventueel in je spambox, mocht je de e-mail niet aantreffen in je inbox."
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Bedankt voor het bevestigen van de eigendomsoverdracht. Zojuist is er een e-mail verstuurd naar %s voor de definitieve goedkeuring. "
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%s is de nieuwe eigenaar van het account."
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Gefeliciteerd"
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Sorry, we konden de e-mail update niet voltooien. Een andere gebruiker met hetzelfde e-mailadres is reeds geregistreerd."
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
-msgstr "Als u het eigendom van het %s account wilt overdragen aan %s klik dan op de Eigendom Overdragen knop. "
+msgstr "Als je het eigendom van het %s account wilt overdragen aan %s, klik dan op de Eigendom Overdragen knop. "
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Eigendom Overdragen"
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Je e-mailadres is succesvol verwerkt. Als het goed is ontvang je zometeen een e-mail met bevestigingsinstructies.  "
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Geef alsjeblieft je volledige naam."
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Je naam is succesvol bijgewerkt."
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "Je hebt je %s succesvol geüpdatet."
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Voor alle duidelijkheid, de add-ons informatie van %s wordt opgehaald van een externe server."
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Aankondiging"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
 msgstr "Hoi"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "Hoe bevalt %s tot dusver? Test al onze %s premium features gedurende een%d-daagse gratis proefperiode."
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "Geen verplichting voor %s dagen -  elk moment opzeggen!"
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "Geen creditcard nodig"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Start gratis proefperidoe"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
-msgstr "Hey, wist je dat %s een affiliate programma heeft? Als je de %s goed vindt dan kan je onze ambassadeur worden en wat cash verdienen!"
+msgstr "Hey, wist je dat %s een samenwerkingsprogramma heeft? Als je de %s goedvindt, kun je onze ambassadeur worden en wat geld verdienen!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Lees meer"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Activeer Licentie"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Verander Licentie"
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Opt Out"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Opt In"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr "De betaalde versie van%1s is reeds geïnstalleerd. Activeer deze alsjeblieft om te kunnen profiteren van de %2s features. %3s "
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activeer %s features."
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Volg alsjeblieft deze stappen om de upgrade te voltooien"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Download de meeste recente %s versie"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Upload en activeer de gedownloade versie"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "Hoe te uploaden en activeren?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
-msgstr "%sKlik hier%s om de sites te kiezen waar op je de licentie wil activeren."
+msgstr "%sKlik hier%s om de sites te kiezen waar op je de licentie wilt activeren."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "Automatische installatie werkt alleen voor opted-in gebruikers."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "Ongeldige Module-ID"
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Premium versie reeds actief."
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "Je hebt geen geldige licentie voor de premium versie."
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Plug-in is 'Serviceware' wat betekent dat het geen premium code versie bevat. "
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Premium add-on versie is reeds geïnstalleerd."
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
-msgstr "Bekijk betaalde features"
+msgstr "Bekijk betaalde kenmerken"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Hartelijk bedankt voor het gebruik van %s en bijbehorende uitbreidingen!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "Hartelijk bedankt voor het gebruik van %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "Je hebt reeds ingestemd  met onze gebruiks-tracking, wat ons helpt om %s te blijven verbeteren."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "Hartelijk bedankt voor het gebruiken van onze producten!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "Je hebt reeds ingestemd  met onze gebruiks-tracking, wat ons helpt om deze te blijven verbeteren."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%sen bijbehorende uitbreidingen"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Producten"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Ja"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "stuur mij beveiliging & feature updates, educatieve content en aanbiedingen."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "Nee"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "stuur mij %sGEEN%s beveiliging & feature updates, educatieve content of aanbiedingen."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Naar aanleiding van de nieuwe %sEU General Data Protection Regulation (GDPR) / Algemene verordening gegevensbescherming (AVG) %s regelgeving is het verplicht dat je je expliciete toestemming geeft, nogmaals, bevestigend dat je 'aan boord' bent 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Laat ons alsjeblieft weten als je op de hoogte gehouden wilt worden van beveiliging & feature updates, educatieve content en zo nu en dan aanbiedingen:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "Licentiesleutel is leeg."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sVernieuw je licentie nu%s voor toegang tot versie %s beveiliging & feature updates en support."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Vernieuw licentie"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Koop licentie"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "Er is een %s van %s beschikbaar."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "nieuwe versie"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Belangrijke Upgrade Mededeling:"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Installeren van plug-in: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Toegang tot het bestandssysteem is niet mogelijk. Bevestig alsjeblieft je inloggegevens."
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "Het remote plug-in pakket bevat geen folder met de verwachte slug en hernoemen werkte niet. "
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Koop"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Start mijn gratis %s"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Installer Gratis Versie Nu"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Installeer Nu"
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Download Nieuwste Gratis Versie"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Download Nieuwste"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Installeer Gratis Versie Update Nu"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Installeer Update Nu"
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Nieuwere Gratis Versie (%s) Geïnstalleerd"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Nieuwere Versie (%s) Geïnstalleerd"
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "Nieuwste Gratis Versie Geïnstalleerd"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Meest Recente Versie Geïnstalleerd"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Beschrijving"
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Installatie"
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "Veelgestelde Vragen"
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Schermafbeeldingen"
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Wijzigingen Log"
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Reviews"
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Andere Notities"
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Features & Prijzen"
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Plug-in Installatie"
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "%s Plan"
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "Beste"
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Maandelijks"
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Jaarlijks"
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "Levenslang"
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "%s gefactureerd "
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Jaarlijks"
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Eenmalig"
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Enkele Site Licentie"
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Onbeperkte Licenties"
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "Tot %s Sites"
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "mnd"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "jaar"
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Prijs"
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Bespaar %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "Geen verplichting voor %s - opzeggen kan altijd"
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "Na uw gratis %s, betaal slechts %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Details"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Versie"
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Auteur"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Laatst Geüpdatet"
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "%s geleden"
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
-msgstr "Vereiste WordPress Version"
+msgstr "Vereiste WordPress-versie"
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s of hoger"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Compatible tot"
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Gedownload"
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "%s tijd"
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s tijden"
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "WordPress.org Plug-in Pagina"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Plug-in Homepage"
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Doneer aan deze plug-in"
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Gemiddelde Beoordeling"
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "gebaseerd op %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "%s beoordeling"
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "%s beoordelingen"
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%s ster"
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "%s sterren"
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Klik om reviews te bekijken met een beoordeling van%s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Medewerkers"
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Waarschuwing"
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "Deze plug-in is nog niet getest met je huidige WordPress versie. "
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "Deze plug-in is niet als compatibel aangemerkt voor je huidige WordPress versie."
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Betaalde add-on moet  op Freemius geplaatst worden."
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "Add-on moet op WordPress.org of Freemius geplaatst worden."
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Het downgraden van je plan zal direct leiden tot het stopzetten van alle toekomstige terugkerende betalingen en je %splan zal binnen %s verlopen. "
+msgid "Downgrading your plan"
+msgstr "Je plan naar beneden bijstellen"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Het abonnement annuleren"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s zal onmiddellijk alle toekomstige, automatische betalingen stopzetten en je %s-plan licentie loopt over %s af."
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Onthou alsjeblieft dat we geen oude prijzen voor verlengingen/nieuwe abonnementen na een annulering kunnen aanhouden. Als je in de toekomst besluit om een abonnement handmatig te vernieuwen, zal de nieuwe prijs (na een prijsverhoging die meestal jaarlijks plaatsvindt) worden berekend."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "Het stopzetten van de proefperiode zal de toegang tot de premium features onmiddellijk blokkeren. Weet je dat zeker?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "Je kunt nog steeds genieten van alle %s features  maar je zal geen toegang meer hebben tot %s updates en support."
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "Je kunt nog steeds van alle %s-mogelijkheden genieten, maar je zult geen toegang hebben tot %s veiligheids- en uitbreidingsupdates, noch ondersteuning."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "Als je licentie verloopt kan je nog steeds gebruik maken van de Gratis versie, maar je zal GEEN toegang meer hebben tot de %sfeatures."
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Activeer %s Plan"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Auto hernieuwd over %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Verloopt over %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Sync Licentie"
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Proefperiode Opzeggen"
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Wijzig Plan"
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Upgrade"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Downgrade"
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Gratis"
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Activeer"
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Gratis Proefperiode"
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr "Accountgegevens"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "Verwijdering van het account zal automatisch je %s licentie deactiveren zodat je die op andere sites kan gebruiken. Als je tevens je terugkerende betalingen wilt stopzetten, klik dan op de 'Annuleer' knop en 'Downgrade' je account eerst. Weet je zeker dat je wilt doorgaan met de verwijdering?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
-msgstr "Verwijdering is niet tijdelijk. Verwijder alleen als je deze %s niet langer wilt gebruiken. Weet je zeker dat u wilt doorgaan met de verwijdering?"
+msgstr "Verwijdering is niet tijdelijk. Verwijder alleen als je deze %s niet langer wilt gebruiken. Weet je zeker dat je wilt doorgaan met de verwijdering?"
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Verwijder Account"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Deactiveer Licentie"
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "Weet je zeker dat je wilt doorgaan?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Abonnement Opzeggen"
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Sync"
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "Naam"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "E-mail"
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "Gebruikers ID"
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "Site ID"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "Geen ID"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Publieke Sleutel"
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Geheime Sleutel"
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "Geen Geheim"
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Proefperiode"
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "Licentiesleutel"
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "niet geverifieerd"
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Verlopen"
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Premium versie"
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Gratis versie"
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Verifieer E-mail"
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Download %s Versie"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Toon"
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "Wat is je %s?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Bewerk"
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Zoek op adres"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "Adres"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "Licentie"
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Plan"
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "Licentie"
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Verberg"
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Annuleren %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "proefperiode"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "%s wordt geannuleerd..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "abonnement"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Deactiveren van je licentie zal alle premium features blokkeren, maar geeft je de mogelijkheid de licentie op een andere site te activeren. Weet je zeker dat je wilt doorgaan?"
 
@@ -1320,7 +1418,7 @@ msgstr "Add-ons voor %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "We konden de add-ons lijst niet laden. Dat is waarschijnlijk een probleem aan onze kant, kom alsjeblieft over enkele minuten terug."
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "Bekijk details"
 
@@ -1356,166 +1454,170 @@ msgstr "Afrekenen"
 
 #: templates/checkout.php:172
 msgid "PCI compliant"
-msgstr "PCI-compliant"
+msgstr "PCI-comform"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Hoi %s,"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Toestaan & Ga Verder"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Activatiemail opnieuw versturen"
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "Bedankt %s!"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "Akkoord & Activeer Licentie"
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Bedankt voor het aanschaffen van %s! Om te beginnen, voer alsjeblieft je licentiesleutel in:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Mis nooit een belangrijke update - opt-in voor onze beveiliging en feature update notificaties, educatieve content, aanbiedingen, en niet-gevoelige diagnostische tracking met %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Mis nooit een belangrijke update - opt-in voor onze beveiliging en feature update notificaties, en niet-gevoelige diagnostische tracking met %4$s."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Mis nooit een belangrijke update - opt-in voor onze beveiliging & feature update notificaties, educatieve content, aanbiedingen, en niet-gevoelige diagnostische tracking met %4$s. Als je deze stap overslaat, geen probleem! %1$szal ook dan gewoon 100% werken.  "
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Mis nooit een belangrijke update - opt-in voor onze beveiliging & feature updates notificaties, en niet-gevoelige diagnostische tracking met %4$s. Als je deze stap overslaat, geen probleem! %1$szal ook dan gewoon 100% werken. "
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "We zijn verheugd om Freemius network-level integratie te introduceren."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
-msgstr "Tijdens het update proces detecteerde we %dsite(s) waarvoor de licentie nog niet geactiveerd is."
+msgstr "Tijdens het update proces detecteerden we %dsite(s) waarvoor de licentie nog niet geactiveerd is."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
-msgstr "Als je de %s op deze sites wil gebruiken, voer dan alsjeblieft de licentiesleutel hieronder in en klik op de activatie knop."
+msgstr "Als je de %s op deze sites wil gebruiken, voer dan alsjeblieft de licentiesleutel hieronder in en klik op de activatie-knop."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
-msgstr "%s betaalde features"
+msgstr "%s betaalde mogelijkheden"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
-msgstr "Alternatief, voor nu kan je dat overslaan en de licentie later activeren in je %s netwerk-niveau Account pagina. "
+msgstr "Je kunt dat eventueel ook nu overslaan en de licentie later in je %s netwerk-niveau Account pagina activeren. "
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
-msgstr "Tijdens het update proces detecteerde we %dsite(s) in het netwerk die jouw aandacht vereisen."
+msgstr "Tijdens het update proces detecteerden we %dsite(s) in het netwerk die jouw aandacht vereisen."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "Licentiesleutel"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "Kan je je licentiesleutel niet vinden?"
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Sla Over"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Delegeren aan Site Beheerders"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
-msgstr "Al je er op klikt zal deze beslissing gedelegeerd worden aan de beheerders van de sites. "
+msgstr "Al je er op klikt, zal deze beslissing gedelegeerd worden aan de beheerders van de sites. "
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Je Profiel Overzicht"
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Naam en e-mailadres"
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Je Site Overzicht"
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "Site URL, WP versie, PHP info, plug-ins & thema's"
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Admin Mededelingen"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Updates, aankondigingen, marketing, geen spam"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Huidige %s Gebeurtenissen"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Activatie, deactivatie en deïnstallatie"
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Nieuwsbrief"
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "De %1$s zal periodiek data verzenden naar %2$s om te controleren op beveiliging en feature updates en om te verifiëren of je licentie geldig is."
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "Welke toestemmingen worden er verleend?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "Heb je geen licentiesleutel?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Activeer Gratis Versie"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "Heb je een licentiesleutel?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Privacybeleid"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "Licentieovereenkomst"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Servicevoorwaarden"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "E-mail versturen"
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Activeren"
@@ -1543,8 +1645,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Debugging"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "Acties"
 
@@ -1568,205 +1670,209 @@ msgstr "Updates Transients Opschonen"
 msgid "Sync Data From Server"
 msgstr "Synchroniseer Data Vanaf Server"
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Zet Opties over naar Netwerk"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
-msgstr "Laad DB optie"
+msgstr "Laad DB-optie"
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
-msgstr "Activeer DB Optie"
+msgstr "Activeer DB-Optie"
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Sleutel"
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Waarde"
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "SDK Versies"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "SDK Pad"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Module Pad"
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "Is Actief"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Plug-ins"
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Thema's"
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Slug"
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "Titel"
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Freemius Status"
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Netwerk Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Netwerk Gebruiker"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Verbonden"
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Geblokkeerd"
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Simuleer Proefversie"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simuleer Trial Actie"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simuleer Netwerk Upgrade"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s Installaties"
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Sites"
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "Blog ID"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Verwijder"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Uitbreidingen van module %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Gebruikers"
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Geverifieerd"
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s Licenties"
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "Plug-in ID"
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "Plan ID"
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Quota"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Geactiveerd"
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Geblokkeerd"
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Verloopdatum"
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Debug Log"
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "Alle Types"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "Alle Requests"
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "Bestand"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "Functie"
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "Proces-ID"
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Logger"
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "Bericht"
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Filter"
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Download"
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Type"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Tijdstempel"
 
 #: templates/secure-https-header.php:28
 msgid "Secure HTTPS %s page, running from an external domain"
-msgstr "Beveiligde HTTPS %s pagina,  loopt via een extern domain"
+msgstr "Beveiligde HTTPS %s pagina,  loopt via een extern domein"
 
 #: includes/customizer/class-fs-customizer-support-section.php55,
 #: templates/plugin-info/features.php:43
@@ -1785,7 +1891,7 @@ msgstr "Freemius API"
 
 #: includes/debug/debug-bar-start.php:42
 msgid "Requests"
-msgstr "Requests"
+msgstr "Aanvragen"
 
 #: templates/account/billing.php:28
 msgctxt "verb"
@@ -1859,7 +1965,7 @@ msgstr "API"
 
 #: templates/debug/api-calls.php:68
 msgid "Method"
-msgstr "Methoden"
+msgstr "Methodes"
 
 #: templates/debug/api-calls.php:69
 msgid "Code"
@@ -1955,11 +2061,11 @@ msgstr "Meld je aan om een affiliate partner te worden"
 
 #: templates/forms/affiliation.php:104
 msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
-msgstr "Je affiliate aanvraag voor %s is geaccepteerd! Log in op je affiliate omgeving op: %s."
+msgstr "Je samenwerkingsaanvraag voor %s is geaccepteerd! Log in op je samenwerkingsomgeving op: %s."
 
 #: templates/forms/affiliation.php:119
 msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
-msgstr "Bedankt voor je aanvraag voor deelname aan ons affiliate programma, we zullen binnen  14 dagen je gegevens doornemen waarna we je aanvullende informatie zullen sturen."
+msgstr "Bedankt voor je aanvraag voor deelname aan ons samenwerkingsprogramma. We zullen binnen  14 dagen je gegevens doornemen, waarna we je aanvullende informatie zullen sturen."
 
 #: templates/forms/affiliation.php:122
 msgid "Your affiliation account was temporarily suspended."
@@ -1975,11 +2081,11 @@ msgstr "Als gevolg van het overtreden van onze affiliate voorwaarden, hebben we
 
 #: templates/forms/affiliation.php:141
 msgid "Like the %s? Become our ambassador and earn cash ;-)"
-msgstr "Vind je de %s goed? Wordt dan onze ambassadeur en verdien cash  ;-)"
+msgstr "Vind je de %s goed? Word dan onze ambassadeur en verdien cash  ;-)"
 
 #: templates/forms/affiliation.php:142
 msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
-msgstr "Verwijs nieuwe klant naar onze %s en verdien %s commissie op iedere door jou doorverwezen geslaagde verkoop!"
+msgstr "Verwijs nieuwe klanten naar onze %s en krijg %s commissie op iedere door jou doorverwezen, geslaagde verkoop!"
 
 #: templates/forms/affiliation.php:145
 msgid "Program Summary"
@@ -1991,7 +2097,7 @@ msgstr "%s commissie als een klant een nieuwe licentie koopt. "
 
 #: templates/forms/affiliation.php:149
 msgid "Get commission for automated subscription renewals."
-msgstr "Krijg een commissie voor automatische abonnements verlengingen."
+msgstr "Krijg een commissie voor automatische abonnementsverlengingen."
 
 #: templates/forms/affiliation.php:152
 msgid "%s tracking cookie after the first visit to maximize earnings potential."
@@ -2007,11 +2113,11 @@ msgstr "%s minimum uitbetalingsbedrag."
 
 #: templates/forms/affiliation.php:158
 msgid "Payouts are in USD and processed monthly via PayPal."
-msgstr "Uitbetalingen zijn in USD en maandelijks uitgevoerd via PayPal"
+msgstr "Uitbetalingen zijn in USD en worden maandelijks uitgevoerd via PayPal"
 
 #: templates/forms/affiliation.php:159
 msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
-msgstr "Daar wij 30 dagen reserveren voor mogelijk terugbetalingen, betalen we alleen commissies die ouder zijn dan 30 dagen."
+msgstr "Omdat wij 30 dagen reserveren voor eventuele terugstortingen, betalen we alleen commissies uit die ouder dan 30 dagen zijn."
 
 #: templates/forms/affiliation.php:162
 msgid "Affiliate"
@@ -2035,7 +2141,7 @@ msgstr "Waar ga je de %s promoten?"
 
 #: templates/forms/affiliation.php:179
 msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
-msgstr "Voer de domeinnaam in van je website of ander websites vanaf waar je van plan bent de %ste gaan promoten."
+msgstr "Voer de domeinnaam in van je website of andere websites waar vanaf je van plan bent de %ste gaan promoten."
 
 #: templates/forms/affiliation.php:181
 msgid "Add another domain"
@@ -2111,23 +2217,19 @@ msgstr "Het bijhouden van het gebruik wordt gedaan om %s te verbeteren. De gebru
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "Door op \"Opt Out\" te klikken, zullen wij niet langer gegevens van %s verzenden naar %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "Er is een nieuwe versie van %s beschikbaar."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sVernieuw je licentie nu%s voor toegang tot versie %s beveiliging & feature updates en support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr "%svoor toegang to versie %s beveiliging & features updates en support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "Nieuwe Versie Beschikbaar"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Vernieuw licentie"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Afsluiten"
@@ -2140,13 +2242,50 @@ msgstr "Verzend Licentiesleutel"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Voer hieronder het e-mailadres in dat je gebruikt hebt voor de upgrade en we zullen je jouw licentiesleutel opnieuw toesturen."
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Het deactiveren en deïnstalleren van de %s zal de licentie automatisch uitschakelen, die je dan kan gebruiken op een andere site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "Mocht je NIET van plan zijn om deze %s te gebruiken op deze site (of op een andere site) - wil je dan het %s ook opzeggen?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "licentie"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Annuleer %s - Ik heb niet meer enige beveiligings- en uitbreidingsupdates of ondersteuning voor %s nodig, omdat ik niet van plan ben de %sop deze of enige andere site te gebruiken."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Annuleer %s niet - Ik wil nog steeds zowel beveiligings- en uitbreidingsupdates ontvangen als contact kunnen opnemen met Support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Als je licentie afloopt, zul je %s niet meer kunnen gebruiken, tenzij je het opnieuw activeert met een geldige Premium-licentie."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "%s annuleren?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Doorgaan"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Annuleer %s & Ga Door"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "U bent 1-klik verwijderd van het starten van uw %1$s-daagse gratis proefperiode van het %2$s plan."
 
 #: templates/forms/trial-start.php:28
 msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
-msgstr "In overeenstemming met de Wordpress.org richtlijnen, alvorens we de proefperiode kunnen starten vragen we je in te stemmen je gebruiker en niet-sensitieve site informatie door de %s periodiek te laten verzenden naar %s om te controleren op nieuwe versies en je proefversie te valideren."
+msgstr "Voordat we de proefperiode kunnen starten, vragen we je, in overeenstemming met de Wordpress.org-richtlijnen, in te stemmen je gebruikers- en niet-sensitieve site informatie door de %s periodiek te laten verzenden naar %s om te controleren op nieuwe versies en je proefversie te valideren."
 
 #: templates/js/style-premium-theme.php:37
 msgid "Premium"
@@ -2205,20 +2344,16 @@ msgstr "%s beschikbaar"
 msgid "Last license"
 msgstr "Laatste licentie"
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Geannuleerd"
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Verlopen"
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "Geen verloopdatum"
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Activeer deze add-on"
 
@@ -2246,47 +2381,47 @@ msgstr "Sorry voor het ongemak en we zijn er om je te helpen als je daartoe de k
 msgid "Contact Support"
 msgstr "Contacteer Support"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Anonieme terugkoppeling"
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Deactiveer"
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Activeer %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
+#: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
 msgstr "Snelle terugkoppeling"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "We zouden het zeer op prijs stellen, als je even hebt, om ons alsjeblieft te laten weten waarom je gaat %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "deactiveren"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "overschakelen"
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Verstuur & %s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "Wilt je alsjeblieft zo vriendelijk zijn om de reden te vermelden, zodat wij verbeteringen kunnen doorvoeren."
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Ja - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "Sla over & %s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.mo b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.mo
index 82a7a249210bb09a8ccaaea953d54fe755130ec4..aff346cecf73f9ab161acaf6e2e45dea5dd50143 100644
GIT binary patch
delta 12210
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

delta 9666
zcmdlojpbe=OZ`0|mZ=O33=9HH3=A?13=DGwKs*Kp8ASvg$-uxMtH{8xmVtqxT#<nx
zn1O*oRf&N?m4ShwQi*|qn}LC0K9pXq#K54*z`(FwiGhKQfq~(n5(9$}0|UbgB?bmF
z1_p-TN(>BJ7#J9glo=S}85rsro+~pjC^IlHxT`QQNHQ=mWUDYR@Gvkiw5l*La56A3
zOj2QB-~u^J1!CZG6$S=&1_p+8Dhv!93=9n0p#1$%{&5us1`h@Xh6^eXizQVV82lL+
z7<5z_7$O)L7;01*7?>Ft7_O><%&BK!xT(s(zz=e%Dg%QY0|UcHuml5xfEvUC2{nih
z71bCRK!KyH#=s!Tz`$S!<%g&-FsLywFr=z6Fz7NcF!ZP~Fo-ZPFzix;c;Gx#{-zoO
z10N_*)gkiy>I@7*^$ZLQD(VoQnX7|b#K2&u&cI;Gz`)=J<=3b~9N41Hz`)DEz%WG}
zV(=n$h{M*XGcc$#Ffi;;XJC+EU|@Kl4hg}ZP<3n?5QhtBFfimZFfb@;K<t~S!N5>I
zkAZ<<h6W_4%rzMpq!}0(yfhgYlo%Ko(ljAyqEnNB!H9u@VVNca11MSC)MQ{t1jVH$
z1A_qr14FD91A`y~14Ew{1A`a?1H%F>h)=g`K|FL!i-AFyfq~&1l>bNz60)zf80x`s
z`B{sBfdyos7Q}}P+6)Zd3=9l>+7JgsX+vCGt_?A$4oXkbhWK=uHY7wgYcnu_66;=V
zhy%oRAU;>qfrON~4#Z+-9f*BCI`xpC4b*`IU7`*Hg9ZZwLzNB#gCPS0!(tssD!&TV
z@Ed9%D561$P*4}5Us4y6NHujK4l>b&q!CA5NC<@MLL3;c3kj)AU5Ep!>!BJObRkjD
zt;@hLg@J)#9@HRXJ%~mJJq8AGP}Jx_e3qmK35h~I1_l{M28LEW28MnH28KoY5DSeA
zAi2rP0OF7k0|tgt1_p*K14sxwFo5W<e`x?o^?wZ@aW7*C@ri{Y1H&!`1_ozC28QVj
z3=IDa85p7&7#OA*F)*YtFfe>FVqjopU|@(ehD2GsF(g~%8bhL>&=`_NP8&ni>6$Pw
z$TKi77@I&G7;FO8SI-a)VK8KxFfdqy3K$be&}=q=#Q6>r28MqO3=I3B;`>Y?4m@lM
z3F>oD`nD+~WL}suFk~?>FnovdlguC?SZD_Ed9@h>gE0dGLyH*$gCk=-1H%q8NKpJT
zXJDuUB{~a;PkJpF7(y8s7$#akLgu*zB#kgzGB8LnFfhniLP|PwO9loD1_p*iOGy5o
zWeG9wge9b;ykiN8Is+?6HubP#U|?ckU?{L+VDJUy|6(f!26F}mhJ#iN4CxFE3_q<H
z7z#iJT0?^Fk~PHQ8`h8@{AdkH&4M<NG$U&RiDLsO-^~UR#E~`-pC{Tt5_7f<1A`s|
z1H)V!NQrpHhJm3T<Nz641_nn^5o^o9P|3i+aL*Q^A;Jz~VV4~wE?3z>LWaklfx!t>
zXV^0^=rAxa1lvQRtic`<C9P0;l05^1EU0d<hj?JGJtXR`*+ZiCp*=MJzp#h+=mV7g
zV-N8WhXW+e<Qy0nOc)p#)Eyvk9OD4-S+)bjL8T5511lXMK5u~XI~*Y9_Cxuzq5MTq
zdYwZ(B%ADVfcW5w1Ed7I=>YM`2Ppm5fq~%!0|Nt>BLl-S1_p-9jtmS>LFI%K14B0h
z14Du{#365-ArAlG3@ItuTp$IQh6}{!t}YOJ0$d<zAhg~EQW-?JK;k;r1ybM?yD)$X
zL57(wki>J;1)N<N?z%u6_S%JkL7#zv;fD*vVhvXYhFnlB=L!jlS+0<fSm+8#yenNH
z<{x#1gve=ENXXV-cZIm@fh)v<*RGIM{nHiVa%DG&LI*cU6nMHpd{E~Gsid0SASLEb
zH;9Fg+!z?1F)%Q^a)X5AMR!Q9c;ODo6=EKcT&3j!4$*ps1`kML^YnydziLlNLG#NK
zQZR*iL3~u|1u1H4ydZJk;{{0z)4U)KSn9>VparUAydag=PcMkMGTxAo^z(+uS9wFK
z>!scd41Nst3=C(yAugBpfyAA%4}@>&1IaFqK9CS8@PRmBmJcLXtb(dL<pXiZB_Bvg
zKJ<Zv*c+(&uRf46pVb#4F769ar{K%LAOOmK+P)A2Y<wYc<n0T|E`h!b4B?<M+ZPfw
zhoA;r@P!mWH+>-?^TijE27W{3|NBBbz~KjRuz(*V&K3M14$<+0IKa-2fuSDM(D3wQ
zV8~!#V5s+FV8{Wr)%+kq6zUIgSdBlV8twLnIAo4L#DS}z@`wE)aeK)hV(~M7NW0*j
zKP2(V2S7Y#9RP_s#{ftg@(y6A2REGp0vH&4KxKabq;fd|)u0^+ak*h2!~wQ}5QF@n
z;vs>M+>j6mu{bvn;=s~CNK`gM<!3_mFAHQ~SkJ(~usx800o3YE52|Nin8v`s@HYsO
zou&js;`T@|B+j1%LxPGg1VT%OFfhb0FfgcuKpL5iAq)&{3=9mXLLk{VFceZGr-eci
zZ)GS0gEOdw6$)|ColuDRpF$ZJS{Xp?zc2=d6p(^2NH+N!2JxYGIK*d$;gC4C3x`x5
zuHg&}z6=Zux#0{9?hFhJyTc(t${YdF#|x!}BOpO63FXT{`6>|%46Y0e44M(3)X%_B
zpC18n@xBO1;<y+A$+wRqAaVZ-N^?d+vX4Y0B&eOCeD6pGhC2)l3}sO9;3$YgqM>wR
z6vTt+QIOPsCJN%Qt5M)IRL}4TD)2iB;t-B#h|8s;Ar>h_GcbfOFfeFDGcaT_Ffi0c
zGce>aFfcrihUAX07)X9!7sJ3{$H2gFF@}Mm8B{sNLMo{#v5=0(^;k$0@x?*Xh;ke#
zP1Q3n7{)<5AWm_RC`gNg)LK*GAaS-S4w4&A#6jwc_i>Qy#u*Rs5pO&s^^3(bFsLvv
zFlfa?qR2lU5~6eCA!%!UJS6V#$3qIZ|M3hAcA)$pod5~)SqTt}HYPAIL@_Wh+(=+x
z=mIsF5+Nb5FOh*Eh=GAYI0;fPr9tVbNf3t~NrHsntt18pO9lppw@DCl)RQ4Co~C35
z1{+Y1DH+la_?*nZP@lxWz>u86z!1Q|z;G-DQZ|dHg8OC+xv2~cvlti{&Za_|;~8m?
zqIOFfB=Ox%gM^%FIwZGvrb7}{aXKU<4nf7Ar$a(QFauhrWI&pF4jByf;7(yp1|;q_
zXFw9qrwm95_ag%mWWt#c9~x&u4ED@~L`7aEq=4yw(n~TSQFkB{5|Z~aA&HhX3(~?e
z$by7)MixX}eO5g<6*A1tf&|gFEJz}Gl?Acze-@<r70rgkv2HfR2aeeggX6Lxl}u+g
z#38$(>aJ%)LgqD8oIeK=0@^u{BH1<vQn2~f=RkZInFDcIWe&sv6LKKgWN8j0k!{L>
z1nuq|NWsFD3-N(wE+nMfb0G#N<$_W*149v%Zq9``a7r%3o@2QXk355_um6<`v4|@V
zQo@PnLHJ5}5TEPkL0syd2Pw&d^B~!CdLG2WIeCx*XiXl(A=~mGiSQy+-;+E@Ir0Ij
z?mv{~%m<rW&mf!+u~0rAk}q}gAqHAOX%~n>20y5}C@7tt&%ofo!oX0H59x4hEoNZQ
zXJlaDFM;HD`%(r57f``e3JKZWrI3)lRLa2M04hI9K_0AUV9+RoxY(hLfgujmnk{2s
zC}3n@*i;5d{mK=PB6D8_B#p3CLeyJSLPEeBN=H{hf<C(vVo^;cBn?fhgoMEIN=OKA
zt7Kp}25Rnu%mL;9jw(ode0CLNgyMA-q=0d$h9oMFYDmbWR70Yms2Y-(wpBxN!3n6k
zN7ay$@Lx3~dnwjHvSn-yBsa9zKnl2ZHISy;of-y)dQhiQsFs1j6I625LK0U=EhL*w
zu7w2U4k-V9EyMzmItGSV1_lQ6I!F;cwT^*70o1XmgE(kk9mK~s>Oeuv!0@~dQgr{X
zgG5PYJtRuj)iczChhC1>L$cG=dPvE{&;SX#f(8Z#IYtJCHW1Cgz_7Ft5+X+$Ar5)a
z2yq~D6QnM%YJ!v_lbRS9*ccfYE;cbRG=fUfW{A3|7D&TnVhhBhhgzWh|A#G*?DVk(
zlE3*|AwJP*h4|2|6(a7}3h`-nE2O*K(+WvUGHsA3ifx00Ty`78ffL#wW&h?jh<T6O
z7#Mzn+8a>$@Ad7FL?zV$$v%D^5Q8#1z}bVLyaVFn<_<_fHNS&_0aRq~=wM)|U|?X7
z?qpy{1&s-HLfQ$xIw9&9yC6Q4>Vnh-mR*oEQ``kHueA#j67>taAQoQgf)or7x*$IM
z(gn$eqTP^?k?)37I=0=A0g9Y%NE|ZuKn#-TfyA|E4<srRdmxFfr-y;Tfr)`(a}NW9
z6(a+~mp(}D(VqY=lIt0qCP3=xstF7X5{wKCdnZ7$)wPKbhdi4I2_g1Lkj|#{B#2Kk
zCP4-$swOcoC^9lIm`;XNtKm~1ZOF}2AW<MS6++uig@kCrR7l$|XDS23S5W((X&R&e
z`Y{a>G_2Dhai%yO;;_K!kRY5g9TMc{rbCKk_Zg6o3z)&c5Xr>A5H|yoXm`wls6RIg
zVll^Ti22&HA=%GjHe>`eZ8iggG${W|&w&KJ`5cJPz2`u>;n8y#7&Ms}7_QEN<k$c6
z7#MyrFff?Tha^ga1&~gt#R5p`mRkt1ICLQ-|MxG16lkXxg2q`H7_=5KFa$C%Fsxbx
ziPArd7#QkzFfcGkErtZ`<;4sPR-h5eC6L~!^%6)+#%>7%LlJ0Xa|r{(1_lO(|4SeP
z6dRU8s%yn%kVL1x3{uHBEQ9zwVHqUqnwLR3wcD3LqV(=ENZR_hjG-PpaLBP7(%_I<
z4r%FBLFx0$85qhL85mSnKsqLKRx&VbWnf_7Tm>m7_OF68Nc2}j92T(}Vld|#28NrU
zmeLwX$L8%CNC=0mg{aS33(2OF*VaRVV#iuY5MEmg$)~*QAaSd{4wBeR*Fk*bz7Eo_
z&sqnG>z;LxX8EFZkZgHs9i*46yB?xGX+6Zpt?MCCvTQxXA&=HW663e}^$-^^ZGa|{
z4UlYQu>n$v_-}w%kg@@izk4=7qG~c!{Q)R_b_2LO&2Vc2WPoDvMo8N5+Qh(cmVtr6
zU^B$Rf14o==h_1CNWH=q1_oOO1_q}s5T7<|fw*we7DyUcwgu9FSh)of*SEJYFqDHv
z%eOEvRDs6-wnB2rm93D(C%z40LEtt>h@@|Wv=>foV_^8iz`$^R8>A#Xv>hB$^$hp7
zGcXi0FffShfP_HD4v0&q?to;og*zbC=Bgc#>UHZ5NE$h|17e}{PDo`Fx)aiPP1y-4
zNq6mJVCVyl^Y3I}NM>MQNZAGP@rhjw438NZ7+&oHwW#VD7|!isV8{l|aO{Otmz{eV
z7<Mu+Fl^q-z%Y-IfgyJv149`D0|U<i$N)w20S1Om3=9lR2O*<oTMt6g%J+kia)b2{
zq=Yj)1W5xPhahPn`w%3Adk#U=%{#=vU<k_p=MF)FoZ&DeXhaS}3^Y8<z|hISz+itE
zQZAf445@5xLitihAo*GA2m^x`XlCOGME~(4ki_=n2qZTs9EFr0T1O#iD&Z(3WJ`}S
zFw}#FLhFt~vcsmM5Qkhp3W<W(M<JES_oI+pA$AOs_zaFgd>(rYQVY&M263?dafm~0
zk3-b?9*2ZP)p1CJruR4`iYFe2*fZ}qLp^x1Xwz{>oZUGN38L@EAr9a?!N5?+z`!7S
zf`Q>O0|P_*2?mB23=9m>Cm}5+ms1cQPdUW^9v|Fz3X+YVoq`ldvZuk741?KeNG{7e
z4JkRNpN4cw=bx^Jl=&=YAU;qy1M#We8HfgtGmx>}!ZQpE3qVEZ83u;y3=9n3XCXdO
zJ_o7o49-CYnWE1@g1r44Bo|CP2T`~D9K^?4&Ot)-#5qVw`@H@fq}o(E4~ZkI^9&4y
zj0_9~=NT9T85tNJU0`6i%D}+z<su}}oVo-lVt-wNBvz@*klf*N84_~-mmv;JybS3(
zT3%sbkY{9IIC2G21V6b732CltkPxd^y~e<>oPmKM>KY`-n65*7EPb7U;UfbBL&$Z=
zyr0_*NIw5^0}@i^Hz7WEy$Ol)f}4<ns^KQ2XkKv>(oL7R1&N~eTM!2>xdn0Xwp-v_
zQO|Jj79>a>-GY>GjJF{Z4ji``7?y%2lWs#A9&UFalTf91AgO!B9Y_#AxdX}9zwSUf
zsWNvV=4IT4j48F>WnfTcVqmy(7n16K-G@Xm^8=8BK;{1f28JgL3=H}YAW<Rm5K^${
zJcI;!+Cxb0nD!77GP@r_64953kh<f~Lr8rt^@xGtEvSTh1c|!6k0F)S`6rM9tMw_Q
zaeC`10|PfB1B2u<1_mck{#Sj@z|hXXz>x7AQq+EU4h|Xyr56w%I=^6Gum=^jFCg9Y
znJ*x5`RWBEEeO1Xq#c8oPzS$+WVdNAA&GGoRDQ`zNHhP|OGp|~dBwm`51P;W^9s_R
zmwOHIVcKg3hC`rn``3_Bs-!oNxP9>k5)}e(85nMZ3Z}OV439vK(033Y{(A=*pa^~s
z3BhIW85j~k6O!*CEg#1ZkVKpRfq|iffq`M>2Znlv4$zd#M~DH_KQb`XFfcH@`N+U<
zi-Cb5^An^Jarq4K`SQ;U43|Ko-k%}uh0|Xc7(5sm7_`4a)R%mN#JT@>NXa?pJ0zQ_
z{Q#Bq3=D}s7#JooFfeTR0r9Z&&w5ClbpM2;>Qg@<CDx6f(Ej^RNMhsv1xhRo4Bo#W
zwP5ToNKu;n3zDxZenFzD=NBaC7yW|die<kbiF4a8NVdE23sT;EhU(+5{|yOJ<=>EO
z67(BlVE%7N8fg9viNhtoAtAKxHzb=f|A9D2<`2X`y+4rJ(d!SyqUb-6c0?Ieyceo|
z-XDmAHvEAU(e;=9K=R}NKM;$#{z43v`wKC^;4dW3-2Xy+RQMN?_!|F0a?A3+kZiU8
zFC>Uh{DqWw;{PD>D*qrMYx55ha$f%+xhLQs*x~gI5m14We~{E%1Jy7Gs$tbXNXTsX
z2XWxpe-H~FLe;(c2Prpx{Dbt4|NnzDIGq1O3Mh~Nko;c!ACd@r|3k9v?*E{618DyL
zKP1Rr{0F;;fti63+$fc2U<A*G8!|A0=lgvb7{Ln@lA-bi42<A;{w64YIs+qkwreE=
zBX}14I0GXCgMw;tP-<Rkxk6=rX^}!sW^!s?ajHUIez|I~LP@?t;^e1FR+GDx*KeMu
zvW{tTulfoJTpA|dQ*vZ>4Dg&>u93g_x5f#U$q#kQCUfdLZ*JFr%s824YRBemBVMM-
zZ%ync+o&XN);0ai#geC>T0HrpgV^MA4*8qo9Op1k=5d{|dA}<+>ts)FB}S*sIo{4J
zo6iJ1WtzM*IEFE8vRFv}<UJuz`3iCp^Au9@%k$EU5>rwq^IuV(d^hyv<_lr<?30t8
z$ZqbAyUD>_T9A@hl3J{gn3uA-Io+0>7p@^iPa$&hM<bEx`<WSqCoAN$PF|I#x>+^<
z7OQ+_URh#JW=ec<W=U#%N@_`BW=?T@a(+%uYH~?te%@rZQnkqzrHdv%FV);ER%XP=
zZD6WvWTIebXk}`-Ik<c&vl#XO1%=P%#nlFko6T!mSvLP|RA<B+mTZmzo(vaePyRbq
zYI0cfUZx8ZCNJD4w%MU2m~-;R-usiC`X_DXpHRcHnPuupmdQ@Ds>LtNzu0hL>xEqx
z8!l|P*m+^=g}oPcT-d5G`M^;zMuq8JjEr&u7xrIlxUlcSmW$07c3o_`uwimuy|khN
zSaipQeHR-+Vi)#a*l=Ofh20l+T-bDB!-cIEn<iIGS7BASutOnv^2YxX(*+qBWtCKm
z6)tSN*nD9NNP)tI?H4v&*mYswg}oQsK^7~h7AtJNG|NYX^}-}X6st`BxPIQ|4I4b!
znJ&zpEVx2`v(AoLjGG_sJitC#;ZTqi*aJH*HeT3wVe5r07j|6Od$Iq*&WlYKwoaB@
zq^Yl?aIyVj(}jH(HeT#jxY!7?`oiuD8!k3o>`_ovxUd!EXN3#9FE(Fnzu0kM>*k(A
zH5`+LPDyWeIOEJRx%<L4$qN%Nc7r^5vEgF(g`El)_FZhcu>E59g-x6NFY+;NF1h5z
z=yzfMg?$Pa_JRTuEWZz|cn>s?F1CZ5bz#GWJqj20T<iubRJgF`!oCaJE^Gw}?zpi1
z!X8i%T-X6}*yJ746el~@NKBsah;?$=9gWF<uE<SZ@?Lzi`;}viLKhZZ*l}Uc#b!`o
zgCl0s^og8|DvS!7Rj<kMZBBY3A|!la63CiO7aK2Zh52zZ+d=iI7L00>{STT<J;kWa
z3<_e$S;Cutd`saGxPWlN)(d;}6eh3#?<@>*Oyk9V1yJ;WQ^|IP>H5r!zS}P`Gag`J
zo^Y{w`dki1JqrS<pW(v73md>uvhTts1%?ZIE;cGKfC6iB-~;jLe4LCcrXS{H^w=)Q
I#i+~(0N2DDxc~qF

diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.po b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.po
index b2db1b4d1..cc34dec04 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.po
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius-ru_RU.po
@@ -1,12 +1,13 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 # Translators:
+# Robert Premmerce <info@premmerce.com>, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: WordPress SDK\n"
 "Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-05-24 11:59+0000\n"
+"PO-Revision-Date: 2018-11-25 07:22+0000\n"
 "Last-Translator: Vova Feldman <vova@freemius.com>\n"
 "Language: ru_RU\n"
 "Language-Team: Russian (Russia) (http://www.transifex.com/freemius/wordpress-sdk/language/ru_RU/)\n"
@@ -20,1294 +21,1391 @@ msgstr ""
 "X-Poedit-SearchPathExcluded-0: *.js\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr "Freemius SDK не удалось найти основной файл плагина. Пожалуйста, свяжитесь с sdk@freemius.com с текущей ошибкой."
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr "Ошибка"
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr "Я нашел лучший %s"
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr "Какое название %s?"
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr "Это временная %s. Сейчас проходит проверка на наличие ошибок. "
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr "Деактивация"
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr "Переключатель шаблона "
 
-#: includes/class-freemius.php1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr "Другие"
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr "%s больше не понадобится."
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr "%s требовалась на короткое время"
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr "%s повредила мой сайт"
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr "%s внезапно перестала работать "
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr "Я больше не могу оплачивать это. "
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr "Какая стоимость была бы для Вас приемлемой? "
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr "Я не хочу делиться личной информацией с Вами"
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr "%s не сработала"
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr "Я не могу понять как сделать так, чтобы оно работало"
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr "%s отличная возможность, но мне нужен определенный функционал, который вы не поддерживаете. "
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr "Какой функционал?"
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr "%s не работает"
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr "Пожалуйста, сообщите о функционале, который не работает, чтобы мы смогли исправить его для дальнейшего использования. "
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr "Это не то, что я искал. "
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr "Что именно Вы ищите? "
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr "%s не сработала как ожидалось"
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr "Каковы были Ваши ожидания? "
 
-#: includes/class-freemius.php2729, templates/debug.php:20
+#: includes/class-freemius.php2942, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr "Исправление ошибок  Freemius"
 
-#: includes/class-freemius.php:3402
+#: includes/class-freemius.php:3670
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr "Я не знаю, что такое сURL и как его установить. Пожалуйста, помогите мне."
 
-#: includes/class-freemius.php:3404
+#: includes/class-freemius.php:3672
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr "Мы обязательно свяжемся с Вашим хостинг провайдером и найдем решение. Как только у нас появится информация, Вам будет отправлено письмо на почту. "
 
-#: includes/class-freemius.php:3411
+#: includes/class-freemius.php:3679
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr "Отлично! Пожалуйста, установите сURL и активируйте его в Вашем файле php.ini .Также, найдите директиву 'disable_functions' в файле php.ini и удалите все неактивные методы которые начинаются на 'curl_'. Чтобы убедится, что активация прошла успешно, используйте 'phpinfo()'. После активации, деактивируйте %s и снова активируйте ее. "
 
-#: includes/class-freemius.php:3516
+#: includes/class-freemius.php:3784
 msgid "Yes - do your thing"
 msgstr "Да, делайте то, что Вам нужно. "
 
-#: includes/class-freemius.php:3521
+#: includes/class-freemius.php:3789
 msgid "No - just deactivate"
 msgstr "Нет. Нужно деактивировать. "
 
-#: includes/class-freemius.php3566, includes/class-freemius.php4066,
-#: includes/class-freemius.php5127, includes/class-freemius.php10941,
-#: includes/class-freemius.php14205, includes/class-freemius.php14257,
-#: includes/class-freemius.php14319, includes/class-freemius.php16448,
-#: includes/class-freemius.php16458, includes/class-freemius.php17014,
-#: includes/class-freemius.php17032, includes/class-freemius.php17130,
-#: includes/class-freemius.php17866, templates/add-ons.php:43
+#: includes/class-freemius.php3834, includes/class-freemius.php4343,
+#: includes/class-freemius.php5442, includes/class-freemius.php11545,
+#: includes/class-freemius.php14916, includes/class-freemius.php14968,
+#: includes/class-freemius.php15030, includes/class-freemius.php17263,
+#: includes/class-freemius.php17273, includes/class-freemius.php17882,
+#: includes/class-freemius.php18742, includes/class-freemius.php18857,
+#: includes/class-freemius.php19001, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr "Упс!"
 
-#: includes/class-freemius.php:3635
+#: includes/class-freemius.php:3903
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr "Спасибо, что предоставили нам возможность исправить ошибку. Сообщение уже отправлено нашим техническим специалистам. Мы с Вами свяжемся, как только будет новая информация о %s. Благодарны за понимание. "
 
-#: includes/class-freemius.php:4063
+#: includes/class-freemius.php:4340
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr "%s не работает без %s."
 
-#: includes/class-freemius.php:4064
+#: includes/class-freemius.php:4341
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr "%s не может работать без плагина. "
 
-#: includes/class-freemius.php4176, includes/class-freemius.php4201,
-#: includes/class-freemius.php:17103
+#: includes/class-freemius.php4487, includes/class-freemius.php4512,
+#: includes/class-freemius.php:17953
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr "Неожиданная ошибка API. Пожалуйста, свяжитесь с автором %s в котором была обнаружена ошибка. "
 
-#: includes/class-freemius.php:4815
+#: includes/class-freemius.php:5130
 msgid "Premium %s version was successfully activated."
 msgstr "Премиум версия %s была успешно активирована. "
 
-#: includes/class-freemius.php4827, includes/class-freemius.php:6660
+#: includes/class-freemius.php5142, includes/class-freemius.php:7004
 msgctxt ""
 msgid "W00t"
 msgstr "Вау!"
 
-#: includes/class-freemius.php:4842
+#: includes/class-freemius.php:5157
 msgid "You have a %s license."
 msgstr "У Вас есть лицензия %s."
 
-#: includes/class-freemius.php4846, includes/class-freemius.php13626,
-#: includes/class-freemius.php13637, includes/class-freemius.php16376,
-#: includes/class-freemius.php16676, includes/class-freemius.php16741,
-#: includes/class-freemius.php:16891
+#: includes/class-freemius.php5161, includes/class-freemius.php14337,
+#: includes/class-freemius.php14348, includes/class-freemius.php17177,
+#: includes/class-freemius.php17491, includes/class-freemius.php17557,
+#: includes/class-freemius.php:17707
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr "Ура!"
 
-#: includes/class-freemius.php:5110
+#: includes/class-freemius.php:5425
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr "Бесплатный период пользования %s закончился. Этот плагин является премиум продуктом и он был деактивирован автоматически. Если Вы планируете дальнейшее его использование, пожалуйста купите лицензию. "
 
-#: includes/class-freemius.php:5114
+#: includes/class-freemius.php:5429
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr "%s является премиум продуктом. Необходимо купить лицензию перед активацией плагина. "
 
-#: includes/class-freemius.php5123, templates/add-ons.php99,
-#: templates/account/partials/addon.php:283
+#: includes/class-freemius.php5438, templates/add-ons.php103,
+#: templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr "Больше информации о %s"
 
-#: includes/class-freemius.php:5124
+#: includes/class-freemius.php:5439
 msgid "Purchase License"
 msgstr "Купите лицензию "
 
-#: includes/class-freemius.php6035, templates/connect.php:161
+#: includes/class-freemius.php6372, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr "Мы отправили Вам письмо для активации %s на Ваш электронный адрес %s. Пожалуйста, нажмите на кнопку активации в этом письме %s. "
 
-#: includes/class-freemius.php:6039
+#: includes/class-freemius.php:6376
 msgid "start the trial"
 msgstr "Начать тестовый период"
 
-#: includes/class-freemius.php6040, templates/connect.php:165
+#: includes/class-freemius.php6377, templates/connect.php:167
 msgid "complete the install"
 msgstr "Закончить установку"
 
-#: includes/class-freemius.php:6147
+#: includes/class-freemius.php:6490
 msgid "You are just one step away - %s"
 msgstr "Вам осталось совсем немножко %s"
 
-#: includes/class-freemius.php:6150
+#: includes/class-freemius.php:6493
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr "Закончить активацию %s сейчас "
 
-#: includes/class-freemius.php:6227
+#: includes/class-freemius.php:6571
 msgid "We made a few tweaks to the %s, %s"
 msgstr "Мы усовершенствовали в %s, %s  для лучшей работы "
 
-#: includes/class-freemius.php:6231
-msgid "Opt in to make \"%s\" Better!"
-msgstr "Присоединяйтесь к нашему сообществу, чтобы сделать % еще лучше!"
+#: includes/class-freemius.php:6575
+msgid "Opt in to make \"%s\" better!"
+msgstr "Opt in to make \"%s\" better!"
 
-#: includes/class-freemius.php:6659
+#: includes/class-freemius.php:7003
 msgid "The upgrade of %s was successfully completed."
 msgstr "Обновление %s было успешно завершено"
 
-#: includes/class-freemius.php8384, includes/class-fs-plugin-updater.php581,
-#: includes/class-fs-plugin-updater.php733,
-#: includes/class-fs-plugin-updater.php739, templates/auto-installation.php:32
+#: includes/class-freemius.php8925, includes/class-fs-plugin-updater.php886,
+#: includes/class-fs-plugin-updater.php1081,
+#: includes/class-fs-plugin-updater.php1088,
+#: templates/auto-installation.php:32
 msgid "Add-On"
 msgstr "Функционал плагина "
 
-#: includes/class-freemius.php8386, templates/debug.php349,
-#: templates/debug.php:510
+#: includes/class-freemius.php8927, templates/debug.php359,
+#: templates/debug.php:520
 msgid "Plugin"
 msgstr "Плагин "
 
-#: includes/class-freemius.php8387, templates/debug.php349,
-#: templates/debug.php510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php8928, templates/debug.php359,
+#: templates/debug.php520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr "Шаблон "
 
-#: includes/class-freemius.php:10808
-msgid "invalid_site_details_collection"
-msgstr "invalid_site_details_collection"
+#: includes/class-freemius.php:11412
+msgid "Invalid site details collection."
+msgstr "Invalid site details collection."
 
-#: includes/class-freemius.php:10928
+#: includes/class-freemius.php:11532
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr "К сожалению, Ваш почтовый адрес не найден в системе. Вы уверены, что предоставили правильный адрес? "
 
-#: includes/class-freemius.php:10930
+#: includes/class-freemius.php:11534
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr "Активная лицензия выданная на этот электронный адрес не была найдена. Вы уверены, что предоставили правильный электронный адрес?"
 
-#: includes/class-freemius.php:11166
+#: includes/class-freemius.php:11808
 msgid "Account is pending activation."
 msgstr "Учетная запись  в процессе активации"
 
-#: includes/class-freemius.php:13608
+#: includes/class-freemius.php11920,
+#: templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr "Buy a license now"
+
+#: includes/class-freemius.php11932,
+#: templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr "Renew your license now"
+
+#: includes/class-freemius.php:11936
+msgid "%s to access version %s security & feature updates, and support."
+msgstr "%s to access version %s security & feature updates, and support."
+
+#: includes/class-freemius.php:14319
 msgid "%s activation was successfully completed."
 msgstr "Активация %s была успешно завершена"
 
-#: includes/class-freemius.php:13622
+#: includes/class-freemius.php:14333
 msgid "Your account was successfully activated with the %s plan."
 msgstr "Ваша учетная запись была успешно активирована согласно плану %s"
 
-#: includes/class-freemius.php13633, includes/class-freemius.php:16737
+#: includes/class-freemius.php14344, includes/class-freemius.php:17553
 msgid "Your trial has been successfully started."
 msgstr "Ваш тестовый период успешно начат"
 
-#: includes/class-freemius.php14203, includes/class-freemius.php14255,
-#: includes/class-freemius.php:14317
+#: includes/class-freemius.php14914, includes/class-freemius.php14966,
+#: includes/class-freemius.php:15028
 msgid "Couldn't activate %s."
 msgstr "Невозможно активировать %s"
 
-#: includes/class-freemius.php14204, includes/class-freemius.php14256,
-#: includes/class-freemius.php:14318
+#: includes/class-freemius.php14915, includes/class-freemius.php14967,
+#: includes/class-freemius.php:15029
 msgid "Please contact us with the following message:"
 msgstr "Пожалуйста, напишите нам сообщение следующего содержания:"
 
-#: includes/class-freemius.php14666, includes/class-freemius.php:18929
+#: includes/class-freemius.php15378, includes/class-freemius.php:19839
 msgid "Upgrade"
 msgstr "Сделать апгрейд "
 
-#: includes/class-freemius.php:14672
+#: includes/class-freemius.php:15384
 msgid "Start Trial"
 msgstr "Начать тестовый период"
 
-#: includes/class-freemius.php:14674
+#: includes/class-freemius.php:15386
 msgid "Pricing"
 msgstr "Цены "
 
-#: includes/class-freemius.php14734, includes/class-freemius.php:14736
+#: includes/class-freemius.php15448, includes/class-freemius.php:15450
 msgid "Affiliation"
 msgstr "Партнерство "
 
-#: includes/class-freemius.php14756, includes/class-freemius.php14758,
-#: templates/account.php146, templates/debug.php:314
+#: includes/class-freemius.php15478, includes/class-freemius.php15480,
+#: templates/account.php150, templates/debug.php:324
 msgid "Account"
 msgstr "Личный кабинет"
 
-#: includes/class-freemius.php14769, includes/class-freemius.php14771,
+#: includes/class-freemius.php15493, includes/class-freemius.php15495,
 #: includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr "Контакты "
 
-#: includes/class-freemius.php14781, includes/class-freemius.php14783,
-#: includes/class-freemius.php18939, templates/account.php96,
-#: templates/account/partials/addon.php:37
+#: includes/class-freemius.php15505, includes/class-freemius.php15507,
+#: includes/class-freemius.php19849, templates/account.php100,
+#: templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr "Настройки плагина "
 
-#: includes/class-freemius.php14815, templates/pricing.php:97
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr "&#x2190;"
+
+#: includes/class-freemius.php:15541
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr "&#x27a4;"
+
+#: includes/class-freemius.php15543, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr "Цены"
 
-#: includes/class-freemius.php15009,
+#: includes/class-freemius.php15756,
 #: includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr "Форум поддержки "
 
-#: includes/class-freemius.php:15794
+#: includes/class-freemius.php:16542
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr "Ваш электронный адрес был  успешно подтвержден  и Вы просто молодец!"
 
-#: includes/class-freemius.php:15795
+#: includes/class-freemius.php:16543
 msgctxt "a positive response"
 msgid "Right on"
 msgstr "Все верно!"
 
-#: includes/class-freemius.php:16367
+#: includes/class-freemius.php:17168
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr "Ваш %s план был успешно обновлен"
 
-#: includes/class-freemius.php:16369
+#: includes/class-freemius.php:17170
 msgid "%s Add-on was successfully purchased."
 msgstr "Покупка %s плагина успешно состоялась"
 
-#: includes/class-freemius.php:16372
+#: includes/class-freemius.php:17173
 msgid "Download the latest version"
 msgstr "Скачай последнюю версию"
 
-#: includes/class-freemius.php:16444
+#: includes/class-freemius.php:17259
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr "Ваш сервер блокирует доступ к Freemius' API, что является очень важным для синхронизации с %1s. Пожалуйста, свяжитесь с Вашим хостинг провайдером для разрешения доступа к %2s "
 
-#: includes/class-freemius.php16447, includes/class-freemius.php16862,
-#: includes/class-freemius.php:16927
+#: includes/class-freemius.php17262, includes/class-freemius.php17678,
+#: includes/class-freemius.php:17755
 msgid "Error received from the server:"
 msgstr "Ошибка сервера"
 
-#: includes/class-freemius.php:16457
+#: includes/class-freemius.php:17272
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr "Вероятно один из параметров является неверным. Обновите свой Public Key, Secret Key&User ID и повторите попытку."
 
-#: includes/class-freemius.php16639, includes/class-freemius.php16867,
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php17454, includes/class-freemius.php17683,
+#: includes/class-freemius.php17726, includes/class-freemius.php:17829
 msgctxt ""
 msgid "Hmm"
 msgstr "Хм..."
 
-#: includes/class-freemius.php:16652
+#: includes/class-freemius.php:17467
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr "Вероятно Вы все еще пользуетесь сервисом согласно плану %s. Если Вы обновляли или меняли свой тарифный план, то вероятно существуют какие-то трудности связанные с Вашим программным обеспечением. Извините. "
 
-#: includes/class-freemius.php16653, templates/account.php98,
-#: templates/add-ons.php130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php17468, templates/account.php102,
+#: templates/add-ons.php134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr "Тестовый период"
 
-#: includes/class-freemius.php:16658
+#: includes/class-freemius.php:17473
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr "Я провел апгрейд аккаунта, но при попытке синхронизировать  лицензию, мой тарифный план не меняется. "
 
-#: includes/class-freemius.php16662, includes/class-freemius.php:16719
+#: includes/class-freemius.php17477, includes/class-freemius.php:17535
 msgid "Please contact us here"
 msgstr "Пожалуйста, напишите нам сообщение  здесь. "
 
-#: includes/class-freemius.php:16672
+#: includes/class-freemius.php:17487
 msgid "Your plan was successfully upgraded."
 msgstr "Ваш тарифный план был успешно изменен. "
 
-#: includes/class-freemius.php:16689
+#: includes/class-freemius.php:17505
 msgid "Your plan was successfully changed to %s."
 msgstr "Ваш тарифный план был успешно изменен на %s."
 
-#: includes/class-freemius.php:16705
+#: includes/class-freemius.php:17521
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr "Срок действия Вашей лицензии закончился. Вы можете продолжать пользоваться бесплатной версией %s на бессрочной основе."
 
-#: includes/class-freemius.php:16707
+#: includes/class-freemius.php:17523
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16715
+#: includes/class-freemius.php:17531
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr "Ваша лицензия была аннулирована. Если Вы считаете, что это ошибка, пожалуйста свяжитесь с нашей службой поддержки. "
 
-#: includes/class-freemius.php:16728
+#: includes/class-freemius.php:17544
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr "Срок действия Вашей лицензии закончен. Вы можете продолжать пользоваться всеми возможностями %s  продлив Вашу лицензию. Вы также будете получать доступ к обновлениям и поддержке. "
 
-#: includes/class-freemius.php:16751
+#: includes/class-freemius.php:17567
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr "Your free trial has expired. You can still continue using all our free features."
 
-#: includes/class-freemius.php:16753
+#: includes/class-freemius.php:17569
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 
-#: includes/class-freemius.php:16858
+#: includes/class-freemius.php:17674
 msgid "It looks like the license could not be activated."
 msgstr "Вероятно возникли трудности с активацией лицензии. "
 
-#: includes/class-freemius.php:16888
+#: includes/class-freemius.php:17704
 msgid "Your license was successfully activated."
 msgstr "Ваша лицензия была успешно активирована. "
 
-#: includes/class-freemius.php:16914
+#: includes/class-freemius.php:17730
 msgid "It looks like your site currently doesn't have an active license."
 msgstr "Вероятно Ваш сайт не использует активную лицензию сейчас.  "
 
-#: includes/class-freemius.php:16926
+#: includes/class-freemius.php:17754
 msgid "It looks like the license deactivation failed."
 msgstr "Вероятно деактивация лицензии не состоялась. "
 
-#: includes/class-freemius.php:16954
+#: includes/class-freemius.php:17782
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr "Ваша лицензия была успешно деактивирована и Вы снова пользуетесь планом %s."
 
-#: includes/class-freemius.php:16955
+#: includes/class-freemius.php:17783
 msgid "O.K"
 msgstr "O.K."
 
-#: includes/class-freemius.php:17003
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
-msgstr "Ваш тарифный план был изменен. Срок действия Вашей лицензии закончится через  %s."
+#: includes/class-freemius.php:17836
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
+msgstr "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 
-#: includes/class-freemius.php:17013
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
-msgstr "По некоторым причинам мы не можем изменить Ваш тарифный план. Пожалуйста, повторите попытку через несколько минут. "
+#: includes/class-freemius.php:17845
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
+msgstr "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 
-#: includes/class-freemius.php:17037
+#: includes/class-freemius.php:17887
 msgid "You are already running the %s in a trial mode."
 msgstr "Вы уже пользуетесь тестовой версией  %s "
 
-#: includes/class-freemius.php:17048
+#: includes/class-freemius.php:17898
 msgid "You already utilized a trial before."
 msgstr "Вы уже использовали Ваш тестовый период"
 
-#: includes/class-freemius.php:17062
+#: includes/class-freemius.php:17912
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr "Тарифного плана % не существует, поэтому  Вы не можете начать тестовый период. "
 
-#: includes/class-freemius.php:17073
+#: includes/class-freemius.php:17923
 msgid "Plan %s does not support a trial period."
 msgstr "Тарифный план % не предусматривает тестового периода. "
 
-#: includes/class-freemius.php:17084
+#: includes/class-freemius.php:17934
 msgid "None of the %s's plans supports a trial period."
 msgstr "Тарифные планы %s не предусматривают тестовый период. "
 
-#: includes/class-freemius.php:17134
+#: includes/class-freemius.php:17984
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr "Возможно, Ваш тестовый период уже закончился. "
 
-#: includes/class-freemius.php:17185
-msgid "Your %s free trial was successfully cancelled."
-msgstr "Ваш бесплатный тестовый период был успешно отменен. "
-
-#: includes/class-freemius.php:17190
+#: includes/class-freemius.php:18020
 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr "К сожалению  у нас возникли трудности с отменой Вашего тестового периода. Пожалуйста, повторите попытку через несколько минут."
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18039
+msgid "Your %s free trial was successfully cancelled."
+msgstr "Ваш бесплатный тестовый период был успешно отменен. "
+
+#: includes/class-freemius.php:18346
 msgid "Version %s was released."
 msgstr "Релиз версии %s состоялся. "
 
-#: includes/class-freemius.php:17474
+#: includes/class-freemius.php:18346
 msgid "Please download %s."
 msgstr "Пожалуйста, скачайте %s"
 
-#: includes/class-freemius.php:17481
+#: includes/class-freemius.php:18353
 msgid "the latest %s version here"
 msgstr "Последняя версия %s здесь"
 
-#: includes/class-freemius.php:17486
+#: includes/class-freemius.php:18358
 msgid "New"
 msgstr "Новое "
 
-#: includes/class-freemius.php:17491
+#: includes/class-freemius.php:18363
 msgid "Seems like you got the latest release."
 msgstr "Вероятно, Вы пользуетесь последней версией"
 
-#: includes/class-freemius.php:17492
+#: includes/class-freemius.php:18364
 msgid "You are all good!"
 msgstr "Все прошло хорошо!"
 
-#: includes/class-freemius.php:17758
+#: includes/class-freemius.php:18632
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr "Письмо подтверждение было только что отправлено на %s. Если Вы не получите его через 5 минут, пожалуйста, проверьте папку спам."
 
-#: includes/class-freemius.php:17893
+#: includes/class-freemius.php:18769
 msgid "Site successfully opted in."
 msgstr "Site successfully opted in."
 
-#: includes/class-freemius.php17894, includes/class-freemius.php:18671
+#: includes/class-freemius.php18770, includes/class-freemius.php:19581
 msgid "Awesome"
 msgstr "Отлично!"
 
-#: includes/class-freemius.php17910, templates/forms/optout.php:32
+#: includes/class-freemius.php18786, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr "Вы очень помогаете нам совершенствовать %s разрешая  следить за некоторыми данными о  пользовании. "
 
-#: includes/class-freemius.php:17911
+#: includes/class-freemius.php:18787
 msgid "Thank you!"
 msgstr "Thank you!"
 
-#: includes/class-freemius.php:17918
+#: includes/class-freemius.php:18794
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr "We will no longer be sending any usage data of %s on %s to %s."
 
-#: includes/class-freemius.php:18033
+#: includes/class-freemius.php:18923
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr "Пожалуйста, проверьте свою электронную почту. Вы должны были получить письмо от %s для подтверждения смены прав использования. По причинам безопасности, Вы должны подтвердить изменения на протяжении 15 минут. Если письмо не пришло, пожалуйста проверьте папку спам. "
 
-#: includes/class-freemius.php:18039
+#: includes/class-freemius.php:18929
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr "Спасибо, что подтвердили изменение прав использования. Вам отправлено письмо на %s для окончательного подтверждения. "
 
-#: includes/class-freemius.php:18044
+#: includes/class-freemius.php:18934
 msgid "%s is the new owner of the account."
 msgstr "%я является новым владельцем аккаунта"
 
-#: includes/class-freemius.php:18046
+#: includes/class-freemius.php:18936
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr "Поздравления! "
 
-#: includes/class-freemius.php:18066
+#: includes/class-freemius.php:18956
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr "Извините, нам не удалось обновить электронный адрес. Другой пользователь с таким же адресом уже был зарегистрирован. "
 
-#: includes/class-freemius.php:18067
+#: includes/class-freemius.php:18957
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr "Если Вы передаете права пользования аккаунтом  %s %s нажмите кнопку \" Сменить права использования\""
 
-#: includes/class-freemius.php:18074
+#: includes/class-freemius.php:18964
 msgid "Change Ownership"
 msgstr "Сменить владельца лицензии "
 
-#: includes/class-freemius.php:18082
+#: includes/class-freemius.php:18972
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr "Ваш электронный адрес был успешно обновлен. Через несколько минут Вы получите письмо с инструкциями для подтверждения"
 
-#: includes/class-freemius.php:18094
+#: includes/class-freemius.php:18984
 msgid "Please provide your full name."
 msgstr "Пожалуйста, введите Ваше полное имя"
 
-#: includes/class-freemius.php:18099
+#: includes/class-freemius.php:18989
 msgid "Your name was successfully updated."
 msgstr "Ваше имя было успешно обновлено"
 
-#: includes/class-freemius.php:18160
+#: includes/class-freemius.php:19050
 msgid "You have successfully updated your %s."
 msgstr "Вы успешно обновили Ваш %s"
 
-#: includes/class-freemius.php:18300
+#: includes/class-freemius.php:19190
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr "Сообщаем, что информация о дополнительных  настройках %s предоставляется со стороннего сервера. "
 
-#: includes/class-freemius.php:18301
+#: includes/class-freemius.php:19191
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr "Внимание!"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgctxt "exclamation"
 msgid "Hey"
-msgstr "Ау!"
+msgstr "Привет!"
 
-#: includes/class-freemius.php:18711
+#: includes/class-freemius.php:19621
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr "Тебе нравится пользоваться %s? Воспользуйся всеми нашими премиум возможностями на протяжении %d - дневного тестового периода. "
 
-#: includes/class-freemius.php:18719
+#: includes/class-freemius.php:19629
 msgid "No commitment for %s days - cancel anytime!"
 msgstr "Бесплатное пользование на протяжении %s дней. Отмена в любое время. "
 
-#: includes/class-freemius.php:18720
+#: includes/class-freemius.php:19630
 msgid "No credit card required"
 msgstr "Не требуются данные платежной карты"
 
-#: includes/class-freemius.php18727, templates/forms/trial-start.php:53
+#: includes/class-freemius.php19637, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr "Начни тестовый период!"
 
-#: includes/class-freemius.php:18804
+#: includes/class-freemius.php:19714
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr "Привет! Знали ли Вы, что %s предоставляет реферальную программу? Если Вам нравится %s, Вы можете стать нашим представителем и зарабатывать!"
 
-#: includes/class-freemius.php:18813
+#: includes/class-freemius.php:19723
 msgid "Learn more"
 msgstr "Узнать больше"
 
-#: includes/class-freemius.php18963, templates/account.php394,
-#: templates/account.php497, templates/connect.php169,
-#: templates/connect.php408, templates/forms/license-activation.php24,
-#: templates/account/partials/addon.php:230
+#: includes/class-freemius.php19873, templates/account.php406,
+#: templates/account.php509, templates/connect.php171,
+#: templates/connect.php421, templates/forms/license-activation.php24,
+#: templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr "Активировать лицензию"
 
-#: includes/class-freemius.php18964, templates/account.php457,
-#: templates/account.php496, templates/account/partials/site.php:256
+#: includes/class-freemius.php19874, templates/account.php469,
+#: templates/account.php508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr "Изменить лицензию "
 
-#: includes/class-freemius.php19046, templates/account/partials/site.php:161
+#: includes/class-freemius.php19956, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr "Отказаться от использования"
 
-#: includes/class-freemius.php19048, includes/class-freemius.php19053,
+#: includes/class-freemius.php19958, includes/class-freemius.php19963,
 #: templates/account/partials/site.php43,
 #: templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr "Присоединиться"
 
-#: includes/class-freemius.php:19245
+#: includes/class-freemius.php:20187
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+
+#: includes/class-freemius.php:20195
+msgid "Activate %s features"
+msgstr "Activate %s features"
+
+#: includes/class-freemius.php:20208
 msgid "Please follow these steps to complete the upgrade"
 msgstr "Пожалуйста, пройдите эти шаги для того, чтобы произвести апгрейд"
 
-#: includes/class-freemius.php:19249
+#: includes/class-freemius.php:20212
 msgid "Download the latest %s version"
 msgstr "Скачайте последнюю версию %s"
 
-#: includes/class-freemius.php:19253
+#: includes/class-freemius.php:20216
 msgid "Upload and activate the downloaded version"
 msgstr "Загрузите и активируйте скачанную версию"
 
-#: includes/class-freemius.php:19255
+#: includes/class-freemius.php:20218
 msgid "How to upload and activate?"
 msgstr "Как загрузить и активировать?"
 
-#: includes/class-freemius.php:19384
+#: includes/class-freemius.php:20352
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr "%sClick here%s to choose the sites where you'd like to activate the license on."
 
-#: includes/class-freemius.php:19545
+#: includes/class-freemius.php:20513
 msgid "Auto installation only works for opted-in users."
 msgstr "Авто установка работает только для зарегистрированных пользователей."
 
-#: includes/class-freemius.php19555, includes/class-freemius.php19588,
-#: includes/class-fs-plugin-updater.php713,
-#: includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php20523, includes/class-freemius.php20556,
+#: includes/class-fs-plugin-updater.php1060,
+#: includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr "Неверный ID модуля"
 
-#: includes/class-freemius.php19564, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php20532, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr "Премиум версия уже активирована"
 
-#: includes/class-freemius.php:19571
+#: includes/class-freemius.php:20539
 msgid "You do not have a valid license to access the premium version."
 msgstr "У Вас нет необходимых лицензионных прав для пользования премиум версией"
 
-#: includes/class-freemius.php:19578
+#: includes/class-freemius.php:20546
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr "Плагин является 'Serviсeware'. Это означает, что он не имеет премиум версию кода. "
 
-#: includes/class-freemius.php19596, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php20564, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr "Премиум версия плагина была установлена"
 
-#: includes/class-freemius.php:19941
+#: includes/class-freemius.php:20909
 msgid "View paid features"
 msgstr "Просмотр платных возможностей"
 
-#: includes/class-freemius.php:20251
+#: includes/class-freemius.php:21229
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr "Thank you so much for using %s and its add-ons!"
 
-#: includes/class-freemius.php:20252
+#: includes/class-freemius.php:21230
 msgid "Thank you so much for using %s!"
 msgstr "Thank you so much for using %s!"
 
-#: includes/class-freemius.php:20258
+#: includes/class-freemius.php:21236
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 
-#: includes/class-freemius.php:20262
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using our products!"
 msgstr "Thank you so much for using our products!"
 
-#: includes/class-freemius.php:20263
+#: includes/class-freemius.php:21241
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr "You've already opted-in to our usage-tracking, which helps us keep improving them."
 
-#: includes/class-freemius.php:20282
+#: includes/class-freemius.php:21260
 msgid "%s and its add-ons"
 msgstr "%s and its add-ons"
 
-#: includes/class-freemius.php:20291
+#: includes/class-freemius.php:21269
 msgid "Products"
 msgstr "Products"
 
-#: includes/class-freemius.php20298, templates/connect.php:259
+#: includes/class-freemius.php21276, templates/connect.php:272
 msgid "Yes"
 msgstr "Yes"
 
-#: includes/class-freemius.php20299, templates/connect.php:260
+#: includes/class-freemius.php21277, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr "send me security & feature updates, educational content and offers."
 
-#: includes/class-freemius.php20300, templates/connect.php:265
+#: includes/class-freemius.php21278, templates/connect.php:278
 msgid "No"
 msgstr "No"
 
-#: includes/class-freemius.php20302, templates/connect.php:267
+#: includes/class-freemius.php21280, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr "do %sNOT%s send me security & feature updates, educational content and offers."
 
-#: includes/class-freemius.php:20312
+#: includes/class-freemius.php:21290
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 
-#: includes/class-freemius.php20314, templates/connect.php:274
+#: includes/class-freemius.php21292, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 
-#: includes/class-freemius.php:20598
+#: includes/class-freemius.php:21574
 msgid "License key is empty."
 msgstr "License key is empty."
 
 #: includes/class-fs-plugin-updater.php184,
-#: includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr "%sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
+msgstr "Renew license"
+
+#: includes/class-fs-plugin-updater.php189,
+#: templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr "Buy license"
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr "There is a %s of %s available."
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr "new version"
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr "Important Upgrade Notice:"
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr "Установка плагина: %s"
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr "Невозможно присоединиться к системе файлов. Пожалуйста, подтвердите свои данные.  "
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr "Удаленный пакет плагинов не содержит папку с нужным описанием URL и смена имени не срабатывает. "
 
-#: includes/fs-plugin-info-dialog.php336,
-#: templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php369,
+#: templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr "Купить"
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr "Начать мой бесплатный %s"
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr "Install Free Version Now"
 
-#: includes/fs-plugin-info-dialog.php381, templates/auto-installation.php111,
-#: templates/account/partials/addon.php267,
-#: templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php414, templates/auto-installation.php111,
+#: templates/account/partials/addon.php272,
+#: templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr "Установить сейчас "
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr "Download Latest Free Version"
 
-#: includes/fs-plugin-info-dialog.php393, templates/account.php80,
+#: includes/fs-plugin-info-dialog.php426, templates/account.php80,
 #: templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr "Скачать последнюю версию"
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr "Install Free Version Update Now"
 
-#: includes/fs-plugin-info-dialog.php404, templates/account.php:448
+#: includes/fs-plugin-info-dialog.php437, templates/account.php:460
 msgid "Install Update Now"
 msgstr "Провести обновления сейчас "
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr "Newer Free Version (%s) Installed"
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr "Более новая версия %s установлена "
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr "Latest Free Version Installed"
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr "Последняя версия установлена"
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr "Описание "
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr "Установка "
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr "Часто задаваемые вопросы "
 
-#: includes/fs-plugin-info-dialog.php583,
+#: includes/fs-plugin-info-dialog.php616,
 #: templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr "Снимки экрана "
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr "Журнал изменений "
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr "Отзывы "
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr "Другие заметки "
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr "Функционал&тарифные планы "
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr "Установка плагина "
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr "%s план "
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr "Лучший "
 
-#: includes/fs-plugin-info-dialog.php715,
-#: includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php748,
+#: includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr "Помесячно "
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr "Ежегодно "
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr "На бессрочный период "
 
-#: includes/fs-plugin-info-dialog.php735,
-#: includes/fs-plugin-info-dialog.php737,
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php768,
+#: includes/fs-plugin-info-dialog.php770,
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr "Оплачивать %s"
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr "Один раз  в год "
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr "Один раз "
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr "Лицензия на один сайт "
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr "Неограниченная лицензия "
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr "до % сайтов  "
 
-#: includes/fs-plugin-info-dialog.php759,
+#: includes/fs-plugin-info-dialog.php792,
 #: templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr "на один месяц"
 
-#: includes/fs-plugin-info-dialog.php766,
+#: includes/fs-plugin-info-dialog.php799,
 #: templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr "на один год "
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr "Стоимость "
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr "Экономия %s"
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr "Без обязательств платить %s - аннулируй пользование в любое время "
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr "После окончания Вашего бесплатного %s, платите всего лиш %s"
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr "Детальней"
 
-#: includes/fs-plugin-info-dialog.php896, templates/account.php87,
-#: templates/debug.php191, templates/debug.php228, templates/debug.php442,
-#: templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php929, templates/account.php91,
+#: templates/debug.php201, templates/debug.php238, templates/debug.php452,
+#: templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr "Версия "
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr "Автор"
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr "Последнее обновление "
 
-#: includes/fs-plugin-info-dialog.php:915
+#: includes/fs-plugin-info-dialog.php948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr "% тому назад "
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr "Необходима версия WordPress "
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr "%s или выше"
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr "Совместима с "
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr "Загружен "
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr "%s время "
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr "%s раз "
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr "Страница плагинов WordPress.org"
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr "Главная страница плагина "
 
-#: includes/fs-plugin-info-dialog.php972,
-#: includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php1005,
+#: includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr "Инвестировать в разработку плагина "
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr "Средний рейтинг "
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr "Основан на %s"
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr "% оценка "
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr "% оценки "
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr "%звездочка "
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr "% звездочки "
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr "Нажмите, чтобы  посмотреть отзывы, которые сформировали рейтинг %s"
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr "Контрибьюторы "
 
-#: includes/fs-plugin-info-dialog.php1062,
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php1095,
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr "Предупреждение "
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr "Этот плагин не был тестирован с Вашей текущей версией WordPress. "
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr "Этот плагин не отмечен как совместимый з Вашей версией WordPress "
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr "Платный функционал должен быть заявлен в Freemius"
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr "Функционал должен быть заявлен на WordPress.org или Freemius "
 
-#: templates/account.php81, templates/account/partials/addon.php22,
+#: templates/account.php81, templates/forms/subscription-cancellation.php96,
+#: templates/account/partials/addon.php22,
 #: templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
-msgstr "Прекращение пользования платной версией продукта автоматически приостанавливает регулярные платежи и cрок действия  Вашей лицензии %s будет закончен %s "
+msgid "Downgrading your plan"
+msgstr "Downgrading your plan"
+
+#: templates/account.php82, templates/forms/subscription-cancellation.php97,
+#: templates/account/partials/addon.php23,
+#: templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr "Cancelling the subscription"
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the
+#. subscription'
+#: templates/account.php84, templates/forms/subscription-cancellation.php99,
+#: templates/account/partials/addon.php25,
+#: templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
+msgstr "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
 
-#: templates/account.php82, templates/account/partials/addon.php:23
+#: templates/account.php85, templates/forms/subscription-cancellation.php100,
+#: templates/account/partials/addon.php26,
+#: templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+
+#: templates/account.php86, templates/forms/subscription-cancellation.php106,
+#: templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr "Отказ от пользования тестовым периодом автоматически блокирует доступ ко всем премиум возможностям. Вы уверены, что хотите отказаться?"
 
-#: templates/account.php83, templates/account/partials/addon.php24,
-#: templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
-msgstr "Вы все еще можете пользоваться всеми возможностями %, но у Вас не будет доступа к обновлениям и поддержке %s"
+#: templates/account.php87, templates/forms/subscription-cancellation.php101,
+#: templates/account/partials/addon.php28,
+#: templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
+msgstr "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 
-#: templates/account.php84, templates/account/partials/addon.php25,
-#: templates/account/partials/site.php:297
+#: templates/account.php88, templates/forms/subscription-cancellation.php102,
+#: templates/account/partials/addon.php29,
+#: templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr "По окончанию срока действия Вашей лицензии, Вы сможете пользоваться бесплатной версией, но у Вас не будет доступа к возможностям %s.  "
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php86,
+#: templates/account.php90,
 #: templates/account/partials/activate-license-button.php31,
-#: templates/account/partials/addon.php:27
+#: templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr "Активируйте план %s"
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php89, templates/account/partials/addon.php30,
+#: templates/account.php93, templates/account/partials/addon.php34,
 #: templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr "Автоматическое продление  в %s"
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php91, templates/account/partials/addon.php32,
+#: templates/account.php95, templates/account/partials/addon.php36,
 #: templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr "Окончание срока пользования через %s"
 
-#: templates/account.php92, templates/account/partials/addon.php:33
+#: templates/account.php96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr "Синхронизация лицензии "
 
-#: templates/account.php93, templates/account/partials/addon.php:34
+#: templates/account.php97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr "Отменить тестовый период "
 
-#: templates/account.php94, templates/account/partials/addon.php:35
+#: templates/account.php98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr "Изменить план "
 
-#: templates/account.php95, templates/account/partials/addon.php:36
+#: templates/account.php99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr "Сделать апгрейд"
 
-#: templates/account.php97, templates/account/partials/addon.php38,
-#: templates/account/partials/site.php:298
+#: templates/account.php101, templates/account/partials/addon.php42,
+#: templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr "Понизить план "
 
-#: templates/account.php99, templates/add-ons.php126,
+#: templates/account.php103, templates/add-ons.php130,
 #: templates/plugin-info/features.php72,
-#: templates/account/partials/addon.php40,
+#: templates/account/partials/addon.php44,
 #: templates/account/partials/site.php:31
 msgid "Free"
 msgstr "Бесплатная "
 
-#: templates/account.php100, templates/account/partials/addon.php:41
+#: templates/account.php104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr "Активировать "
 
-#: templates/account.php101, templates/debug.php361,
+#: templates/account.php105, templates/debug.php371,
 #: includes/customizer/class-fs-customizer-upsell-control.php106,
-#: templates/account/partials/addon.php:42
+#: templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr "Тарифный план "
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr "Бесплатный период пользования "
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr " Детали"
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr "Удалив личный кабинет, Вы автоматически деактивируете лицензию на Ваш тарифный план %s, которую Вы можете использовать на других сайтах. Если Вы хотите также приостановить регулярные платежи, нажмите на кнопку \"Отмена\" и сначала измените свой тарифный план на бесплатный. Вы уверены, что хотите продолжить удаление?"
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr "Удаление личного кабинете не может быть произведено временно. Удалите только в случае если Вы больше не хотите пользоваться %s. Вы уверены, что хотите продолжить  удаление? "
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr "Удалить личный кабинет"
 
-#: templates/account.php192, templates/account/partials/addon.php155,
+#: templates/account.php196, templates/account/partials/addon.php159,
 #: templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr "Деактивировать лицензию "
 
-#: templates/account.php:210
+#: templates/account.php219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr "Вы уверены, что хотите продолжить?"
 
-#: templates/account.php210, templates/account/partials/addon.php:177
+#: templates/account.php219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr "Отменить подписку "
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr "Синхронизировать "
 
-#: templates/account.php253, templates/debug.php:477
+#: templates/account.php261, templates/debug.php:487
 msgid "Name"
 msgstr "Имя"
 
-#: templates/account.php259, templates/debug.php:478
+#: templates/account.php267, templates/debug.php:488
 msgid "Email"
 msgstr "Электронный адрес "
 
-#: templates/account.php266, templates/debug.php360, templates/debug.php:516
+#: templates/account.php274, templates/debug.php370, templates/debug.php:526
 msgid "User ID"
 msgstr "User ID "
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr "Site ID"
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr "No ID"
 
-#: templates/account.php282, templates/debug.php233, templates/debug.php362,
-#: templates/debug.php443, templates/debug.php480,
+#: templates/account.php290, templates/debug.php243, templates/debug.php372,
+#: templates/debug.php453, templates/debug.php490,
 #: templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr "Public Key "
 
-#: templates/account.php288, templates/debug.php363, templates/debug.php444,
-#: templates/debug.php481, templates/account/partials/site.php:231
+#: templates/account.php296, templates/debug.php373, templates/debug.php454,
+#: templates/debug.php491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr "Secret Key "
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr "Нет секрета "
 
-#: templates/account.php310, templates/account/partials/site.php112,
+#: templates/account.php318, templates/account/partials/site.php112,
 #: templates/account/partials/site.php:114
 msgid "Trial"
 msgstr "Тестовый период "
 
-#: templates/account.php329, templates/debug.php521,
+#: templates/account.php337, templates/debug.php531,
 #: templates/account/partials/site.php:248
 msgid "License Key"
 msgstr "Лицензионный ключ "
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr "не подтвержден "
 
-#: templates/account.php:416
+#: templates/account.php376, templates/account/partials/addon.php:120
+msgid "Expired"
+msgstr "Срок действия закончился "
+
+#: templates/account.php:428
 msgid "Premium version"
 msgstr "Премиум версия "
 
-#: templates/account.php:418
+#: templates/account.php:430
 msgid "Free version"
 msgstr "Бесплатная версия "
 
-#: templates/account.php:430
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr "Подтвердите электронный адрес "
 
-#: templates/account.php:441
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr "Скачайте версию %s"
 
-#: templates/account.php455, templates/account.php636,
+#: templates/account.php467, templates/account.php649,
 #: templates/account/partials/site.php237,
 #: templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr "Показать "
 
-#: templates/account.php:469
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr "Какой Ваш %s?"
 
-#: templates/account.php477, templates/account/billing.php:27
+#: templates/account.php489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr "Редактировать "
 
-#: templates/account.php:490
+#: templates/account.php:502
 msgid "Sites"
 msgstr "Сайтов "
 
-#: templates/account.php:501
+#: templates/account.php:513
 msgid "Search by address"
 msgstr "Search by address"
 
-#: templates/account.php510, templates/account.php558, templates/debug.php226,
-#: templates/debug.php354, templates/debug.php439, templates/debug.php476,
-#: templates/debug.php514, templates/debug.php587,
+#: templates/account.php522, templates/account.php570, templates/debug.php236,
+#: templates/debug.php364, templates/debug.php449, templates/debug.php486,
+#: templates/debug.php524, templates/debug.php597,
 #: templates/account/payments.php35, templates/debug/logger.php:21
 msgid "ID"
 msgstr "ID"
 
-#: templates/account.php511, templates/debug.php:357
+#: templates/account.php523, templates/debug.php:367
 msgid "Address"
 msgstr "Address"
 
-#: templates/account.php:512
+#: templates/account.php:524
 msgid "License"
 msgstr "Лицензия "
 
-#: templates/account.php:513
+#: templates/account.php:525
 msgid "Plan"
 msgstr "Тарифный план "
 
-#: templates/account.php:561
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr "Лицензия "
 
-#: templates/account.php:630
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr "Спрятать "
 
-#: templates/account.php:665
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr "Cancelling %s"
+
+#: templates/account.php686, templates/account.php703,
+#: templates/forms/subscription-cancellation.php27,
+#: templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr "trial"
+
+#: templates/account.php701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr "Cancelling %s..."
+
+#: templates/account.php704, templates/forms/subscription-cancellation.php28,
+#: templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr "subscription"
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 
@@ -1319,7 +1417,7 @@ msgstr "Функционал для %s"
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr "Мы не можем загрузить  список плагинов. Вероятно, произошла какая-то ошибка с нашей стороны. Пожалуйста, вернитесь на страницу через несколько минут. "
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr "Смотреть детальней "
 
@@ -1358,163 +1456,167 @@ msgid "PCI compliant"
 msgstr "Жалоба PCI"
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr "Здравствуйте %s"
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr "Разрешить и продолжить"
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr "Отправить письмо активации еще раз "
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr "Спасибо %s"
 
-#: templates/connect.php170, templates/forms/license-activation.php:43
+#: templates/connect.php172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr "Согласиться и активировать лицензию "
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr "Спасибо за покупку %s! Для того, чтобы начать введите свой лицензионный ключ:"
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr "Никогда не пропускайте важных оповещений - подпишитесь на наши уведомления о  безопасности и новом функционале."
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr "We're excited to introduce the Freemius network-level integration."
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr "During the update process we detected %d site(s) that are still pending license activation."
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr "%s's paid features"
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr "During the update process we detected %s site(s) in the network that are still pending your attention."
 
-#: templates/connect.php251, templates/forms/license-activation.php:46
+#: templates/connect.php253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr "Лицензионный ключ"
 
-#: templates/connect.php254, templates/forms/license-activation.php:19
+#: templates/connect.php256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr "Не можете найти лицензионный ключ? "
 
-#: templates/connect.php302, templates/connect.php617,
+#: templates/connect.php315, templates/connect.php630,
 #: templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr "Пропустить"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr "Delegate to Site Admins"
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr "If you click it, this decision will be delegated to the sites administrators."
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr "Просмотр Вашего профиля "
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr "Имя и электронный адрес "
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr "Просмотр Вашего сайта "
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr "URL сайта, версия WP, информация о PHP, плагинах  и шаблонах "
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr "Админ заметки"
 
-#: templates/connect.php346, templates/connect.php:362
+#: templates/connect.php359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr "Новости, объявления, маркетинг, без спама"
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr "Текущие события %s"
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr "Активация, деактивация и деинсталляция "
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr "Рассылка "
 
-#: templates/connect.php378, templates/forms/license-activation.php:38
+#: templates/connect.php391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr "%1$s будет периодически присылать информацию %2$s с целью проверки безопасности, сообщения об обновлении функционала и подтверждения действия Вашей лицензии. "
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr "Какие предоставляются разрешения?"
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr "У Вас нет лицензионного ключа?"
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr "Активировать бесплатную версию?"
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr "У Вас есть лицензионный ключ?"
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr "Политика Конфиденциальности"
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr "License Agreement"
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr "Пользовательское соглашение"
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr "Электронное письмо отправляется Вам на почту "
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr "Активация "
@@ -1542,8 +1644,8 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr "Устранение ошибок"
 
-#: templates/debug.php54, templates/debug.php238, templates/debug.php364,
-#: templates/debug.php:482
+#: templates/debug.php54, templates/debug.php248, templates/debug.php374,
+#: templates/debug.php:492
 msgid "Actions"
 msgstr "Действия "
 
@@ -1567,199 +1669,203 @@ msgstr "Clear Updates Transients"
 msgid "Sync Data From Server"
 msgstr "Синхронизация данных с сервера "
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr "Migrate Options to Network"
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr "Загрузить опцию базы данных "
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr "Установить опцию базы данных "
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr "Ключ "
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr "Значение "
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr "Версии SDK"
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr "путь SDK"
 
-#: templates/debug.php193, templates/debug.php:232
+#: templates/debug.php203, templates/debug.php:242
 msgid "Module Path"
 msgstr "Путь модуля "
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr "активный "
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr "Плагины "
 
-#: templates/debug.php222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr "Шаблоны "
 
-#: templates/debug.php227, templates/debug.php359, templates/debug.php441,
+#: templates/debug.php237, templates/debug.php369, templates/debug.php451,
 #: templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr "Описательная часть URL "
 
-#: templates/debug.php229, templates/debug.php:440
+#: templates/debug.php239, templates/debug.php:450
 msgid "Title"
 msgstr "Название "
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr "API"
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr "Cостояние Freemius "
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr "Network Blog"
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr "Network User"
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr "Соединено "
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr "Заблокировано "
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
-msgstr "Симулировать тестовый период "
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
+msgstr "Simulate Trial Promotion"
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr "Simulate Network Upgrade"
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr "%s установок "
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr "Сайтов "
 
-#: templates/debug.php356, templates/account/partials/site.php:148
+#: templates/debug.php366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr "Blog ID"
 
-#: templates/debug.php421, templates/debug.php499,
-#: templates/account/partials/addon.php:334
+#: templates/debug.php431, templates/debug.php509,
+#: templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr "Удалить"
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr "Функционал модуля %s"
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr "Пользователи "
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr "Подтвержден "
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr "%s лицензий "
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr "ID плагина "
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr "ID тарифного плана "
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr "Выделенный объем памяти"
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr "Активирован "
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr "Блокирование "
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr "Срок пользования "
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr "Журнал устранения ошибок  "
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr "Все типы"
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr "Все запросы "
 
-#: templates/debug.php561, templates/debug.php590,
+#: templates/debug.php571, templates/debug.php600,
 #: templates/debug/logger.php:25
 msgid "File"
 msgstr "Файл"
 
-#: templates/debug.php562, templates/debug.php588,
+#: templates/debug.php572, templates/debug.php598,
 #: templates/debug/logger.php:23
 msgid "Function"
 msgstr "Функция "
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr "ID процесса "
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr "Программа сохранения изменений "
 
-#: templates/debug.php565, templates/debug.php589,
+#: templates/debug.php575, templates/debug.php599,
 #: templates/debug/logger.php:24
 msgid "Message"
 msgstr "Сообщение "
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr "Фильтр "
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr "Скачать "
 
-#: templates/debug.php586, templates/debug/logger.php:22
+#: templates/debug.php596, templates/debug/logger.php:22
 msgid "Type"
 msgstr "Тип"
 
-#: templates/debug.php591, templates/debug/logger.php:26
+#: templates/debug.php601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr "Маркер времени "
 
@@ -2110,23 +2216,19 @@ msgstr "Данные о пользовании исследуются с цел
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr "Если Вы нажмете \"Отписаться\", Вы больше не будете получать информацию от %s на %s."
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr "There is a new version of %s available."
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
-msgstr " %sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
+msgstr " %s to access version %s security & feature updates, and support."
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr "New Version Available"
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr "Renew license"
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr "Закрыть "
@@ -2139,6 +2241,43 @@ msgstr "Отправить лицензионный ключ"
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr "Введите ниже адрес своей электронной почты, которую Вы использовали для обновлений и мы Вам отправим повторно Ваш лицензионный ключ. "
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr "license"
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr "Cancel %s?"
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr "Proceed"
+
+#: templates/forms/subscription-cancellation.php191,
+#: templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr "Cancel %s & Proceed"
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr "Вы уже на расстоянии одного клика от начала Вашего бесплатного %1$s - дневного тестового периода по тарифному плану %2$s. "
@@ -2204,20 +2343,16 @@ msgstr "Осталось %s "
 msgid "Last license"
 msgstr "Последняя лицензия "
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr "Аннулирована "
 
-#: templates/account/partials/addon.php:116
-msgid "Expired"
-msgstr "Срок действия закончился "
-
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr "Бессрочный период пользования "
 
-#: templates/account/partials/addon.php259,
-#: templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php264,
+#: templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr "Активируйте этот функционал "
 
@@ -2245,47 +2380,47 @@ msgstr "Извините за неудобство. Мы будем рады п
 msgid "Contact Support"
 msgstr "Связаться со службой поддержки"
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr "Анонимный отзыв "
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr "Деактивировать "
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr "Активировать %s"
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
-msgstr "Быстрый отзыв"
-
 #: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
+msgstr "Quick Feedback"
+
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr "Если у Вас есть время, пожалуйста, сообщите причину почему Вы %s"
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr "Деактивация "
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr "Переключение "
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr "Отправить&%s"
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr "Пожалуйста, укажите причину, чтобы мы могли исправиться. "
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr "Да - %s"
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr "Пропустить & %s"
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius.pot b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius.pot
index 70f2a6121..e6cc1d7db 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/languages/freemius.pot
+++ b/wp-content/plugins/nextgen-gallery/freemius/languages/freemius.pot
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 freemius
+# Copyright (C) 2019 freemius
 # This file is distributed under the same license as the freemius package.
 msgid ""
 msgstr ""
@@ -16,1226 +16,1301 @@ msgstr ""
 "X-Poedit-SourceCharset: UTF-8\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: includes/class-freemius.php:1551
+#: includes/class-freemius.php:1688
 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
 msgstr ""
 
-#: includes/class-freemius.php:1553
+#: includes/class-freemius.php:1690
 msgid "Error"
 msgstr ""
 
-#: includes/class-freemius.php:1871
+#: includes/class-freemius.php:2011
 msgid "I found a better %s"
 msgstr ""
 
-#: includes/class-freemius.php:1873
+#: includes/class-freemius.php:2013
 msgid "What's the %s's name?"
 msgstr ""
 
-#: includes/class-freemius.php:1879
+#: includes/class-freemius.php:2019
 msgid "It's a temporary %s. I'm just debugging an issue."
 msgstr ""
 
-#: includes/class-freemius.php:1881
+#: includes/class-freemius.php:2021
 msgid "Deactivation"
 msgstr ""
 
-#: includes/class-freemius.php:1882
+#: includes/class-freemius.php:2022
 msgid "Theme Switch"
 msgstr ""
 
-#: includes/class-freemius.php:1891, templates/forms/resend-key.php:24
+#: includes/class-freemius.php:2031, templates/forms/resend-key.php:24
 msgid "Other"
 msgstr ""
 
-#: includes/class-freemius.php:1899
+#: includes/class-freemius.php:2039
 msgid "I no longer need the %s"
 msgstr ""
 
-#: includes/class-freemius.php:1906
+#: includes/class-freemius.php:2046
 msgid "I only needed the %s for a short period"
 msgstr ""
 
-#: includes/class-freemius.php:1912
+#: includes/class-freemius.php:2052
 msgid "The %s broke my site"
 msgstr ""
 
-#: includes/class-freemius.php:1919
+#: includes/class-freemius.php:2059
 msgid "The %s suddenly stopped working"
 msgstr ""
 
-#: includes/class-freemius.php:1929
+#: includes/class-freemius.php:2069
 msgid "I can't pay for it anymore"
 msgstr ""
 
-#: includes/class-freemius.php:1931
+#: includes/class-freemius.php:2071
 msgid "What price would you feel comfortable paying?"
 msgstr ""
 
-#: includes/class-freemius.php:1937
+#: includes/class-freemius.php:2077
 msgid "I don't like to share my information with you"
 msgstr ""
 
-#: includes/class-freemius.php:1958
+#: includes/class-freemius.php:2098
 msgid "The %s didn't work"
 msgstr ""
 
-#: includes/class-freemius.php:1968
+#: includes/class-freemius.php:2108
 msgid "I couldn't understand how to make it work"
 msgstr ""
 
-#: includes/class-freemius.php:1976
+#: includes/class-freemius.php:2116
 msgid "The %s is great, but I need specific feature that you don't support"
 msgstr ""
 
-#: includes/class-freemius.php:1978
+#: includes/class-freemius.php:2118
 msgid "What feature?"
 msgstr ""
 
-#: includes/class-freemius.php:1982
+#: includes/class-freemius.php:2122
 msgid "The %s is not working"
 msgstr ""
 
-#: includes/class-freemius.php:1984
+#: includes/class-freemius.php:2124
 msgid "Kindly share what didn't work so we can fix it for future users..."
 msgstr ""
 
-#: includes/class-freemius.php:1988
+#: includes/class-freemius.php:2128
 msgid "It's not what I was looking for"
 msgstr ""
 
-#: includes/class-freemius.php:1990
+#: includes/class-freemius.php:2130
 msgid "What you've been looking for?"
 msgstr ""
 
-#: includes/class-freemius.php:1994
+#: includes/class-freemius.php:2134
 msgid "The %s didn't work as expected"
 msgstr ""
 
-#: includes/class-freemius.php:1996
+#: includes/class-freemius.php:2136
 msgid "What did you expect?"
 msgstr ""
 
-#: includes/class-freemius.php:2729, templates/debug.php:20
+#: includes/class-freemius.php:2947, templates/debug.php:20
 msgid "Freemius Debug"
 msgstr ""
 
-#: includes/class-freemius.php:3453
+#: includes/class-freemius.php:3675
 msgid "I don't know what is cURL or how to install it, help me!"
 msgstr ""
 
-#: includes/class-freemius.php:3455
+#: includes/class-freemius.php:3677
 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
 msgstr ""
 
-#: includes/class-freemius.php:3462
+#: includes/class-freemius.php:3684
 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
 msgstr ""
 
-#: includes/class-freemius.php:3567
+#: includes/class-freemius.php:3789
 msgid "Yes - do your thing"
 msgstr ""
 
-#: includes/class-freemius.php:3572
+#: includes/class-freemius.php:3794
 msgid "No - just deactivate"
 msgstr ""
 
-#: includes/class-freemius.php:3617, includes/class-freemius.php:4117, includes/class-freemius.php:5178, includes/class-freemius.php:10992, includes/class-freemius.php:14256, includes/class-freemius.php:14308, includes/class-freemius.php:14370, includes/class-freemius.php:16500, includes/class-freemius.php:16510, includes/class-freemius.php:17066, includes/class-freemius.php:17084, includes/class-freemius.php:17182, includes/class-freemius.php:17925, templates/add-ons.php:43
+#: includes/class-freemius.php:3839, includes/class-freemius.php:4348, includes/class-freemius.php:5447, includes/class-freemius.php:11555, includes/class-freemius.php:14926, includes/class-freemius.php:14978, includes/class-freemius.php:15040, includes/class-freemius.php:17273, includes/class-freemius.php:17283, includes/class-freemius.php:17892, includes/class-freemius.php:18752, includes/class-freemius.php:18867, includes/class-freemius.php:19011, templates/add-ons.php:43
 msgctxt "exclamation"
 msgid "Oops"
 msgstr ""
 
-#: includes/class-freemius.php:3686
+#: includes/class-freemius.php:3908
 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
 msgstr ""
 
-#: includes/class-freemius.php:4114
+#: includes/class-freemius.php:4345
 msgctxt "addonX cannot run without pluginY"
 msgid "%s cannot run without %s."
 msgstr ""
 
-#: includes/class-freemius.php:4115
+#: includes/class-freemius.php:4346
 msgctxt "addonX cannot run..."
 msgid "%s cannot run without the plugin."
 msgstr ""
 
-#: includes/class-freemius.php:4227, includes/class-freemius.php:4252, includes/class-freemius.php:17155
+#: includes/class-freemius.php:4492, includes/class-freemius.php:4517, includes/class-freemius.php:17963
 msgid "Unexpected API error. Please contact the %s's author with the following error."
 msgstr ""
 
-#: includes/class-freemius.php:4866
+#: includes/class-freemius.php:5135
 msgid "Premium %s version was successfully activated."
 msgstr ""
 
-#: includes/class-freemius.php:4878, includes/class-freemius.php:6711
+#: includes/class-freemius.php:5147, includes/class-freemius.php:7009
 msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
 msgid "W00t"
 msgstr ""
 
-#: includes/class-freemius.php:4893
+#: includes/class-freemius.php:5162
 msgid "You have a %s license."
 msgstr ""
 
-#: includes/class-freemius.php:4897, includes/class-freemius.php:13677, includes/class-freemius.php:13688, includes/class-freemius.php:16428, includes/class-freemius.php:16728, includes/class-freemius.php:16793, includes/class-freemius.php:16943
+#: includes/class-freemius.php:5166, includes/class-freemius.php:14347, includes/class-freemius.php:14358, includes/class-freemius.php:17187, includes/class-freemius.php:17501, includes/class-freemius.php:17567, includes/class-freemius.php:17717
 msgctxt "interjection expressing joy or exuberance"
 msgid "Yee-haw"
 msgstr ""
 
-#: includes/class-freemius.php:5161
+#: includes/class-freemius.php:5430
 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
 msgstr ""
 
-#: includes/class-freemius.php:5165
+#: includes/class-freemius.php:5434
 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
 msgstr ""
 
-#: includes/class-freemius.php:5174, templates/add-ons.php:99, templates/account/partials/addon.php:283
+#: includes/class-freemius.php:5443, templates/add-ons.php:103, templates/account/partials/addon.php:288
 msgid "More information about %s"
 msgstr ""
 
-#: includes/class-freemius.php:5175
+#: includes/class-freemius.php:5444
 msgid "Purchase License"
 msgstr ""
 
-#: includes/class-freemius.php:6086, templates/connect.php:161
+#: includes/class-freemius.php:6377, templates/connect.php:163
 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
 msgstr ""
 
-#: includes/class-freemius.php:6090
+#: includes/class-freemius.php:6381
 msgid "start the trial"
 msgstr ""
 
-#: includes/class-freemius.php:6091, templates/connect.php:165
+#: includes/class-freemius.php:6382, templates/connect.php:167
 msgid "complete the install"
 msgstr ""
 
-#: includes/class-freemius.php:6198
+#: includes/class-freemius.php:6495
 msgid "You are just one step away - %s"
 msgstr ""
 
-#: includes/class-freemius.php:6201
+#: includes/class-freemius.php:6498
 msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
 msgid "Complete \"%s\" Activation Now"
 msgstr ""
 
-#: includes/class-freemius.php:6278
+#: includes/class-freemius.php:6576
 msgid "We made a few tweaks to the %s, %s"
 msgstr ""
 
-#: includes/class-freemius.php:6282
-msgid "Opt in to make \"%s\" Better!"
+#: includes/class-freemius.php:6580
+msgid "Opt in to make \"%s\" better!"
 msgstr ""
 
-#: includes/class-freemius.php:6710
+#: includes/class-freemius.php:7008
 msgid "The upgrade of %s was successfully completed."
 msgstr ""
 
-#: includes/class-freemius.php:8435, includes/class-fs-plugin-updater.php:581, includes/class-fs-plugin-updater.php:733, includes/class-fs-plugin-updater.php:739, templates/auto-installation.php:32
+#: includes/class-freemius.php:8935, includes/class-fs-plugin-updater.php:886, includes/class-fs-plugin-updater.php:1081, includes/class-fs-plugin-updater.php:1088, templates/auto-installation.php:32
 msgid "Add-On"
 msgstr ""
 
-#: includes/class-freemius.php:8437, templates/debug.php:349, templates/debug.php:510
+#: includes/class-freemius.php:8937, templates/debug.php:359, templates/debug.php:520
 msgid "Plugin"
 msgstr ""
 
-#: includes/class-freemius.php:8438, templates/debug.php:349, templates/debug.php:510, templates/forms/deactivation/form.php:64
+#: includes/class-freemius.php:8938, templates/debug.php:359, templates/debug.php:520, templates/forms/deactivation/form.php:67
 msgid "Theme"
 msgstr ""
 
-#: includes/class-freemius.php:10859
+#: includes/class-freemius.php:11422
 msgid "Invalid site details collection."
 msgstr ""
 
-#: includes/class-freemius.php:10979
+#: includes/class-freemius.php:11542
 msgid "We couldn't find your email address in the system, are you sure it's the right address?"
 msgstr ""
 
-#: includes/class-freemius.php:10981
+#: includes/class-freemius.php:11544
 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
 msgstr ""
 
-#: includes/class-freemius.php:11217
+#: includes/class-freemius.php:11818
 msgid "Account is pending activation."
 msgstr ""
 
-#: includes/class-freemius.php:13659
+#: includes/class-freemius.php:11930, templates/forms/premium-versions-upgrade-handler.php:47
+msgid "Buy a license now"
+msgstr ""
+
+#: includes/class-freemius.php:11942, templates/forms/premium-versions-upgrade-handler.php:46
+msgid "Renew your license now"
+msgstr ""
+
+#: includes/class-freemius.php:11946
+msgid "%s to access version %s security & feature updates, and support."
+msgstr ""
+
+#: includes/class-freemius.php:14329
 msgid "%s activation was successfully completed."
 msgstr ""
 
-#: includes/class-freemius.php:13673
+#: includes/class-freemius.php:14343
 msgid "Your account was successfully activated with the %s plan."
 msgstr ""
 
-#: includes/class-freemius.php:13684, includes/class-freemius.php:16789
+#: includes/class-freemius.php:14354, includes/class-freemius.php:17563
 msgid "Your trial has been successfully started."
 msgstr ""
 
-#: includes/class-freemius.php:14254, includes/class-freemius.php:14306, includes/class-freemius.php:14368
+#: includes/class-freemius.php:14924, includes/class-freemius.php:14976, includes/class-freemius.php:15038
 msgid "Couldn't activate %s."
 msgstr ""
 
-#: includes/class-freemius.php:14255, includes/class-freemius.php:14307, includes/class-freemius.php:14369
+#: includes/class-freemius.php:14925, includes/class-freemius.php:14977, includes/class-freemius.php:15039
 msgid "Please contact us with the following message:"
 msgstr ""
 
-#: includes/class-freemius.php:14718, includes/class-freemius.php:18988
+#: includes/class-freemius.php:15388, includes/class-freemius.php:19849
 msgid "Upgrade"
 msgstr ""
 
-#: includes/class-freemius.php:14724
+#: includes/class-freemius.php:15394
 msgid "Start Trial"
 msgstr ""
 
-#: includes/class-freemius.php:14726
+#: includes/class-freemius.php:15396
 msgid "Pricing"
 msgstr ""
 
-#: includes/class-freemius.php:14786, includes/class-freemius.php:14788
+#: includes/class-freemius.php:15458, includes/class-freemius.php:15460
 msgid "Affiliation"
 msgstr ""
 
-#: includes/class-freemius.php:14808, includes/class-freemius.php:14810, templates/account.php:146, templates/debug.php:314
+#: includes/class-freemius.php:15488, includes/class-freemius.php:15490, templates/account.php:150, templates/debug.php:324
 msgid "Account"
 msgstr ""
 
-#: includes/class-freemius.php:14821, includes/class-freemius.php:14823, includes/customizer/class-fs-customizer-support-section.php:60
+#: includes/class-freemius.php:15503, includes/class-freemius.php:15505, includes/customizer/class-fs-customizer-support-section.php:60
 msgid "Contact Us"
 msgstr ""
 
-#: includes/class-freemius.php:14833, includes/class-freemius.php:14835, includes/class-freemius.php:18998, templates/account.php:96, templates/account/partials/addon.php:37
+#: includes/class-freemius.php:15515, includes/class-freemius.php:15517, includes/class-freemius.php:19859, templates/account.php:100, templates/account/partials/addon.php:41
 msgid "Add-Ons"
 msgstr ""
 
-#: includes/class-freemius.php:14867, templates/pricing.php:97
+#: includes/class-freemius.php:15551
+msgctxt "ASCII arrow left icon"
+msgid "&#x2190;"
+msgstr ""
+
+#: includes/class-freemius.php:15551
+msgctxt "ASCII arrow right icon"
+msgid "&#x27a4;"
+msgstr ""
+
+#: includes/class-freemius.php:15553, templates/pricing.php:97
 msgctxt "noun"
 msgid "Pricing"
 msgstr ""
 
-#: includes/class-freemius.php:15061, includes/customizer/class-fs-customizer-support-section.php:67
+#: includes/class-freemius.php:15766, includes/customizer/class-fs-customizer-support-section.php:67
 msgid "Support Forum"
 msgstr ""
 
-#: includes/class-freemius.php:15846
+#: includes/class-freemius.php:16552
 msgid "Your email has been successfully verified - you are AWESOME!"
 msgstr ""
 
-#: includes/class-freemius.php:15847
+#: includes/class-freemius.php:16553
 msgctxt "a positive response"
 msgid "Right on"
 msgstr ""
 
-#: includes/class-freemius.php:16419
+#: includes/class-freemius.php:17178
 msgid "Your %s Add-on plan was successfully upgraded."
 msgstr ""
 
-#: includes/class-freemius.php:16421
+#: includes/class-freemius.php:17180
 msgid "%s Add-on was successfully purchased."
 msgstr ""
 
-#: includes/class-freemius.php:16424
+#: includes/class-freemius.php:17183
 msgid "Download the latest version"
 msgstr ""
 
-#: includes/class-freemius.php:16496
+#: includes/class-freemius.php:17269
 msgctxt "%1s - plugin title, %2s - API domain"
 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
 msgstr ""
 
-#: includes/class-freemius.php:16499, includes/class-freemius.php:16914, includes/class-freemius.php:16979
+#: includes/class-freemius.php:17272, includes/class-freemius.php:17688, includes/class-freemius.php:17765
 msgid "Error received from the server:"
 msgstr ""
 
-#: includes/class-freemius.php:16509
+#: includes/class-freemius.php:17282
 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
 msgstr ""
 
-#: includes/class-freemius.php:16691, includes/class-freemius.php:16919, includes/class-freemius.php:16962
+#: includes/class-freemius.php:17464, includes/class-freemius.php:17693, includes/class-freemius.php:17736, includes/class-freemius.php:17839
 msgctxt "something somebody says when they are thinking about what you have just said."
 msgid "Hmm"
 msgstr ""
 
-#: includes/class-freemius.php:16704
+#: includes/class-freemius.php:17477
 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
 msgstr ""
 
-#: includes/class-freemius.php:16705, templates/account.php:98, templates/add-ons.php:130, templates/account/partials/addon.php:39
+#: includes/class-freemius.php:17478, templates/account.php:102, templates/add-ons.php:134, templates/account/partials/addon.php:43
 msgctxt "trial period"
 msgid "Trial"
 msgstr ""
 
-#: includes/class-freemius.php:16710
+#: includes/class-freemius.php:17483
 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
 msgstr ""
 
-#: includes/class-freemius.php:16714, includes/class-freemius.php:16771
+#: includes/class-freemius.php:17487, includes/class-freemius.php:17545
 msgid "Please contact us here"
 msgstr ""
 
-#: includes/class-freemius.php:16724
+#: includes/class-freemius.php:17497
 msgid "Your plan was successfully upgraded."
 msgstr ""
 
-#: includes/class-freemius.php:16741
+#: includes/class-freemius.php:17515
 msgid "Your plan was successfully changed to %s."
 msgstr ""
 
-#: includes/class-freemius.php:16757
+#: includes/class-freemius.php:17531
 msgid "Your license has expired. You can still continue using the free %s forever."
 msgstr ""
 
-#: includes/class-freemius.php:16759
+#: includes/class-freemius.php:17533
 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr ""
 
-#: includes/class-freemius.php:16767
+#: includes/class-freemius.php:17541
 msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
 msgstr ""
 
-#: includes/class-freemius.php:16780
+#: includes/class-freemius.php:17554
 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
 msgstr ""
 
-#: includes/class-freemius.php:16803
+#: includes/class-freemius.php:17577
 msgid "Your free trial has expired. You can still continue using all our free features."
 msgstr ""
 
-#: includes/class-freemius.php:16805
+#: includes/class-freemius.php:17579
 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
 msgstr ""
 
-#: includes/class-freemius.php:16910
+#: includes/class-freemius.php:17684
 msgid "It looks like the license could not be activated."
 msgstr ""
 
-#: includes/class-freemius.php:16940
+#: includes/class-freemius.php:17714
 msgid "Your license was successfully activated."
 msgstr ""
 
-#: includes/class-freemius.php:16966
+#: includes/class-freemius.php:17740
 msgid "It looks like your site currently doesn't have an active license."
 msgstr ""
 
-#: includes/class-freemius.php:16978
+#: includes/class-freemius.php:17764
 msgid "It looks like the license deactivation failed."
 msgstr ""
 
-#: includes/class-freemius.php:17006
+#: includes/class-freemius.php:17792
 msgid "Your license was successfully deactivated, you are back to the %s plan."
 msgstr ""
 
-#: includes/class-freemius.php:17007
+#: includes/class-freemius.php:17793
 msgid "O.K"
 msgstr ""
 
-#: includes/class-freemius.php:17055
-msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
+#: includes/class-freemius.php:17846
+msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
 msgstr ""
 
-#: includes/class-freemius.php:17065
-msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
+#: includes/class-freemius.php:17855
+msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
 msgstr ""
 
-#: includes/class-freemius.php:17089
+#: includes/class-freemius.php:17897
 msgid "You are already running the %s in a trial mode."
 msgstr ""
 
-#: includes/class-freemius.php:17100
+#: includes/class-freemius.php:17908
 msgid "You already utilized a trial before."
 msgstr ""
 
-#: includes/class-freemius.php:17114
+#: includes/class-freemius.php:17922
 msgid "Plan %s do not exist, therefore, can't start a trial."
 msgstr ""
 
-#: includes/class-freemius.php:17125
+#: includes/class-freemius.php:17933
 msgid "Plan %s does not support a trial period."
 msgstr ""
 
-#: includes/class-freemius.php:17136
+#: includes/class-freemius.php:17944
 msgid "None of the %s's plans supports a trial period."
 msgstr ""
 
-#: includes/class-freemius.php:17186
+#: includes/class-freemius.php:17994
 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
 msgstr ""
 
-#: includes/class-freemius.php:17237
-msgid "Your %s free trial was successfully cancelled."
+#: includes/class-freemius.php:18030
+msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
 msgstr ""
 
-#: includes/class-freemius.php:17242
-msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
+#: includes/class-freemius.php:18049
+msgid "Your %s free trial was successfully cancelled."
 msgstr ""
 
-#: includes/class-freemius.php:17533
+#: includes/class-freemius.php:18356
 msgid "Version %s was released."
 msgstr ""
 
-#: includes/class-freemius.php:17533
+#: includes/class-freemius.php:18356
 msgid "Please download %s."
 msgstr ""
 
-#: includes/class-freemius.php:17540
+#: includes/class-freemius.php:18363
 msgid "the latest %s version here"
 msgstr ""
 
-#: includes/class-freemius.php:17545
+#: includes/class-freemius.php:18368
 msgid "New"
 msgstr ""
 
-#: includes/class-freemius.php:17550
+#: includes/class-freemius.php:18373
 msgid "Seems like you got the latest release."
 msgstr ""
 
-#: includes/class-freemius.php:17551
+#: includes/class-freemius.php:18374
 msgid "You are all good!"
 msgstr ""
 
-#: includes/class-freemius.php:17817
+#: includes/class-freemius.php:18642
 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
 msgstr ""
 
-#: includes/class-freemius.php:17952
+#: includes/class-freemius.php:18779
 msgid "Site successfully opted in."
 msgstr ""
 
-#: includes/class-freemius.php:17953, includes/class-freemius.php:18730
+#: includes/class-freemius.php:18780, includes/class-freemius.php:19591
 msgid "Awesome"
 msgstr ""
 
-#: includes/class-freemius.php:17969, templates/forms/optout.php:32
+#: includes/class-freemius.php:18796, templates/forms/optout.php:32
 msgid "We appreciate your help in making the %s better by letting us track some usage data."
 msgstr ""
 
-#: includes/class-freemius.php:17970
+#: includes/class-freemius.php:18797
 msgid "Thank you!"
 msgstr ""
 
-#: includes/class-freemius.php:17977
+#: includes/class-freemius.php:18804
 msgid "We will no longer be sending any usage data of %s on %s to %s."
 msgstr ""
 
-#: includes/class-freemius.php:18092
+#: includes/class-freemius.php:18933
 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
 msgstr ""
 
-#: includes/class-freemius.php:18098
+#: includes/class-freemius.php:18939
 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
 msgstr ""
 
-#: includes/class-freemius.php:18103
+#: includes/class-freemius.php:18944
 msgid "%s is the new owner of the account."
 msgstr ""
 
-#: includes/class-freemius.php:18105
+#: includes/class-freemius.php:18946
 msgctxt "as congratulations"
 msgid "Congrats"
 msgstr ""
 
-#: includes/class-freemius.php:18125
+#: includes/class-freemius.php:18966
 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
 msgstr ""
 
-#: includes/class-freemius.php:18126
+#: includes/class-freemius.php:18967
 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
 msgstr ""
 
-#: includes/class-freemius.php:18133
+#: includes/class-freemius.php:18974
 msgid "Change Ownership"
 msgstr ""
 
-#: includes/class-freemius.php:18141
+#: includes/class-freemius.php:18982
 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
 msgstr ""
 
-#: includes/class-freemius.php:18153
+#: includes/class-freemius.php:18994
 msgid "Please provide your full name."
 msgstr ""
 
-#: includes/class-freemius.php:18158
+#: includes/class-freemius.php:18999
 msgid "Your name was successfully updated."
 msgstr ""
 
-#: includes/class-freemius.php:18219
+#: includes/class-freemius.php:19060
 msgid "You have successfully updated your %s."
 msgstr ""
 
-#: includes/class-freemius.php:18359
+#: includes/class-freemius.php:19200
 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
 msgstr ""
 
-#: includes/class-freemius.php:18360
+#: includes/class-freemius.php:19201
 msgctxt "advance notice of something that will need attention."
 msgid "Heads up"
 msgstr ""
 
-#: includes/class-freemius.php:18770
+#: includes/class-freemius.php:19631
 msgctxt "exclamation"
 msgid "Hey"
 msgstr ""
 
-#: includes/class-freemius.php:18770
+#: includes/class-freemius.php:19631
 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
 msgstr ""
 
-#: includes/class-freemius.php:18778
+#: includes/class-freemius.php:19639
 msgid "No commitment for %s days - cancel anytime!"
 msgstr ""
 
-#: includes/class-freemius.php:18779
+#: includes/class-freemius.php:19640
 msgid "No credit card required"
 msgstr ""
 
-#: includes/class-freemius.php:18786, templates/forms/trial-start.php:53
+#: includes/class-freemius.php:19647, templates/forms/trial-start.php:53
 msgctxt "call to action"
 msgid "Start free trial"
 msgstr ""
 
-#: includes/class-freemius.php:18863
+#: includes/class-freemius.php:19724
 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
 msgstr ""
 
-#: includes/class-freemius.php:18872
+#: includes/class-freemius.php:19733
 msgid "Learn more"
 msgstr ""
 
-#: includes/class-freemius.php:19022, templates/account.php:398, templates/account.php:501, templates/connect.php:169, templates/connect.php:408, templates/forms/license-activation.php:24, templates/account/partials/addon.php:230
+#: includes/class-freemius.php:19883, templates/account.php:406, templates/account.php:509, templates/connect.php:171, templates/connect.php:421, templates/forms/license-activation.php:24, templates/account/partials/addon.php:235
 msgid "Activate License"
 msgstr ""
 
-#: includes/class-freemius.php:19023, templates/account.php:461, templates/account.php:500, templates/account/partials/site.php:256
+#: includes/class-freemius.php:19884, templates/account.php:469, templates/account.php:508, templates/account/partials/site.php:256
 msgid "Change License"
 msgstr ""
 
-#: includes/class-freemius.php:19105, templates/account/partials/site.php:161
+#: includes/class-freemius.php:19966, templates/account/partials/site.php:161
 msgid "Opt Out"
 msgstr ""
 
-#: includes/class-freemius.php:19107, includes/class-freemius.php:19112, templates/account/partials/site.php:43, templates/account/partials/site.php:161
+#: includes/class-freemius.php:19968, includes/class-freemius.php:19973, templates/account/partials/site.php:43, templates/account/partials/site.php:161
 msgid "Opt In"
 msgstr ""
 
-#: includes/class-freemius.php:19304
+#: includes/class-freemius.php:20197
+msgid " The paid version of %1s is already installed. Please activate it to start benefiting the %2s features. %3s"
+msgstr ""
+
+#: includes/class-freemius.php:20205
+msgid "Activate %s features"
+msgstr ""
+
+#: includes/class-freemius.php:20218
 msgid "Please follow these steps to complete the upgrade"
 msgstr ""
 
-#: includes/class-freemius.php:19308
+#: includes/class-freemius.php:20222
 msgid "Download the latest %s version"
 msgstr ""
 
-#: includes/class-freemius.php:19312
+#: includes/class-freemius.php:20226
 msgid "Upload and activate the downloaded version"
 msgstr ""
 
-#: includes/class-freemius.php:19314
+#: includes/class-freemius.php:20228
 msgid "How to upload and activate?"
 msgstr ""
 
-#: includes/class-freemius.php:19443
+#: includes/class-freemius.php:20362
 msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
 msgstr ""
 
-#: includes/class-freemius.php:19604
+#: includes/class-freemius.php:20523
 msgid "Auto installation only works for opted-in users."
 msgstr ""
 
-#: includes/class-freemius.php:19614, includes/class-freemius.php:19647, includes/class-fs-plugin-updater.php:713, includes/class-fs-plugin-updater.php:727
+#: includes/class-freemius.php:20533, includes/class-freemius.php:20566, includes/class-fs-plugin-updater.php:1060, includes/class-fs-plugin-updater.php:1074
 msgid "Invalid module ID."
 msgstr ""
 
-#: includes/class-freemius.php:19623, includes/class-fs-plugin-updater.php:747
+#: includes/class-freemius.php:20542, includes/class-fs-plugin-updater.php:1096
 msgid "Premium version already active."
 msgstr ""
 
-#: includes/class-freemius.php:19630
+#: includes/class-freemius.php:20549
 msgid "You do not have a valid license to access the premium version."
 msgstr ""
 
-#: includes/class-freemius.php:19637
+#: includes/class-freemius.php:20556
 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
 msgstr ""
 
-#: includes/class-freemius.php:19655, includes/class-fs-plugin-updater.php:746
+#: includes/class-freemius.php:20574, includes/class-fs-plugin-updater.php:1095
 msgid "Premium add-on version already installed."
 msgstr ""
 
-#: includes/class-freemius.php:20000
+#: includes/class-freemius.php:20919
 msgid "View paid features"
 msgstr ""
 
-#: includes/class-freemius.php:20310
+#: includes/class-freemius.php:21239
 msgid "Thank you so much for using %s and its add-ons!"
 msgstr ""
 
-#: includes/class-freemius.php:20311
+#: includes/class-freemius.php:21240
 msgid "Thank you so much for using %s!"
 msgstr ""
 
-#: includes/class-freemius.php:20317
+#: includes/class-freemius.php:21246
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
 msgstr ""
 
-#: includes/class-freemius.php:20321
+#: includes/class-freemius.php:21250
 msgid "Thank you so much for using our products!"
 msgstr ""
 
-#: includes/class-freemius.php:20322
+#: includes/class-freemius.php:21251
 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
 msgstr ""
 
-#: includes/class-freemius.php:20341
+#: includes/class-freemius.php:21270
 msgid "%s and its add-ons"
 msgstr ""
 
-#: includes/class-freemius.php:20350
+#: includes/class-freemius.php:21279
 msgid "Products"
 msgstr ""
 
-#: includes/class-freemius.php:20357, templates/connect.php:259
+#: includes/class-freemius.php:21286, templates/connect.php:272
 msgid "Yes"
 msgstr ""
 
-#: includes/class-freemius.php:20358, templates/connect.php:260
+#: includes/class-freemius.php:21287, templates/connect.php:273
 msgid "send me security & feature updates, educational content and offers."
 msgstr ""
 
-#: includes/class-freemius.php:20359, templates/connect.php:265
+#: includes/class-freemius.php:21288, templates/connect.php:278
 msgid "No"
 msgstr ""
 
-#: includes/class-freemius.php:20361, templates/connect.php:267
+#: includes/class-freemius.php:21290, templates/connect.php:280
 msgid "do %sNOT%s send me security & feature updates, educational content and offers."
 msgstr ""
 
-#: includes/class-freemius.php:20371
+#: includes/class-freemius.php:21300
 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard 🙂"
 msgstr ""
 
-#: includes/class-freemius.php:20373, templates/connect.php:274
+#: includes/class-freemius.php:21302, templates/connect.php:287
 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
 msgstr ""
 
-#: includes/class-freemius.php:20657
+#: includes/class-freemius.php:21584
 msgid "License key is empty."
 msgstr ""
 
-#: includes/class-fs-plugin-updater.php:184, includes/class-fs-plugin-updater.php:219
-msgid "%sRenew your license now%s to access version %s security & feature updates, and support."
+#: includes/class-fs-plugin-updater.php:184, templates/forms/premium-versions-upgrade-handler.php:57
+msgid "Renew license"
 msgstr ""
 
-#: includes/class-fs-plugin-updater.php:776
+#: includes/class-fs-plugin-updater.php:189, templates/forms/premium-versions-upgrade-handler.php:58
+msgid "Buy license"
+msgstr ""
+
+#: includes/class-fs-plugin-updater.php:278
+msgid "There is a %s of %s available."
+msgstr ""
+
+#: includes/class-fs-plugin-updater.php:282
+msgid "new version"
+msgstr ""
+
+#: includes/class-fs-plugin-updater.php:305
+msgid "Important Upgrade Notice:"
+msgstr ""
+
+#: includes/class-fs-plugin-updater.php:1125
 msgid "Installing plugin: %s"
 msgstr ""
 
-#: includes/class-fs-plugin-updater.php:817
+#: includes/class-fs-plugin-updater.php:1166
 msgid "Unable to connect to the filesystem. Please confirm your credentials."
 msgstr ""
 
-#: includes/class-fs-plugin-updater.php:923
+#: includes/class-fs-plugin-updater.php:1348
 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:336, templates/account/partials/addon.php:287
+#: includes/fs-plugin-info-dialog.php:369, templates/account/partials/addon.php:292
 msgctxt "verb"
 msgid "Purchase"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:339
+#: includes/fs-plugin-info-dialog.php:372
 msgid "Start my free %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:380
+#: includes/fs-plugin-info-dialog.php:413
 msgid "Install Free Version Now"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:381, templates/auto-installation.php:111, templates/account/partials/addon.php:267, templates/account/partials/addon.php:317
+#: includes/fs-plugin-info-dialog.php:414, templates/auto-installation.php:111, templates/account/partials/addon.php:272, templates/account/partials/addon.php:322
 msgid "Install Now"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:392
+#: includes/fs-plugin-info-dialog.php:425
 msgctxt "as download latest version"
 msgid "Download Latest Free Version"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:393, templates/account.php:80, templates/account/partials/addon.php:21
+#: includes/fs-plugin-info-dialog.php:426, templates/account.php:80, templates/account/partials/addon.php:21
 msgctxt "as download latest version"
 msgid "Download Latest"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:403
+#: includes/fs-plugin-info-dialog.php:436
 msgid "Install Free Version Update Now"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:404, templates/account.php:452
+#: includes/fs-plugin-info-dialog.php:437, templates/account.php:460
 msgid "Install Update Now"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:415
+#: includes/fs-plugin-info-dialog.php:448
 msgid "Newer Free Version (%s) Installed"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:416
+#: includes/fs-plugin-info-dialog.php:449
 msgid "Newer Version (%s) Installed"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:424
+#: includes/fs-plugin-info-dialog.php:457
 msgid "Latest Free Version Installed"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:425
+#: includes/fs-plugin-info-dialog.php:458
 msgid "Latest Version Installed"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:580
+#: includes/fs-plugin-info-dialog.php:613
 msgctxt "Plugin installer section title"
 msgid "Description"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:581
+#: includes/fs-plugin-info-dialog.php:614
 msgctxt "Plugin installer section title"
 msgid "Installation"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:582
+#: includes/fs-plugin-info-dialog.php:615
 msgctxt "Plugin installer section title"
 msgid "FAQ"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:583, templates/plugin-info/description.php:55
+#: includes/fs-plugin-info-dialog.php:616, templates/plugin-info/description.php:55
 msgid "Screenshots"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:584
+#: includes/fs-plugin-info-dialog.php:617
 msgctxt "Plugin installer section title"
 msgid "Changelog"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:585
+#: includes/fs-plugin-info-dialog.php:618
 msgctxt "Plugin installer section title"
 msgid "Reviews"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:586
+#: includes/fs-plugin-info-dialog.php:619
 msgctxt "Plugin installer section title"
 msgid "Other Notes"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:601
+#: includes/fs-plugin-info-dialog.php:634
 msgctxt "Plugin installer section title"
 msgid "Features & Pricing"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:611
+#: includes/fs-plugin-info-dialog.php:644
 msgid "Plugin Install"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:683
+#: includes/fs-plugin-info-dialog.php:716
 msgctxt "e.g. Professional Plan"
 msgid "%s Plan"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:709
+#: includes/fs-plugin-info-dialog.php:742
 msgctxt "e.g. the best product"
 msgid "Best"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:715, includes/fs-plugin-info-dialog.php:735
+#: includes/fs-plugin-info-dialog.php:748, includes/fs-plugin-info-dialog.php:768
 msgctxt "as every month"
 msgid "Monthly"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:718
+#: includes/fs-plugin-info-dialog.php:751
 msgctxt "as once a year"
 msgid "Annual"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:721
+#: includes/fs-plugin-info-dialog.php:754
 msgid "Lifetime"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:735, includes/fs-plugin-info-dialog.php:737, includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:768, includes/fs-plugin-info-dialog.php:770, includes/fs-plugin-info-dialog.php:772
 msgctxt "e.g. billed monthly"
 msgid "Billed %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:737
+#: includes/fs-plugin-info-dialog.php:770
 msgctxt "as once a year"
 msgid "Annually"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:739
+#: includes/fs-plugin-info-dialog.php:772
 msgctxt "as once a year"
 msgid "Once"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:745
+#: includes/fs-plugin-info-dialog.php:778
 msgid "Single Site License"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:747
+#: includes/fs-plugin-info-dialog.php:780
 msgid "Unlimited Licenses"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:749
+#: includes/fs-plugin-info-dialog.php:782
 msgid "Up to %s Sites"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:759, templates/plugin-info/features.php:82
+#: includes/fs-plugin-info-dialog.php:792, templates/plugin-info/features.php:82
 msgctxt "as monthly period"
 msgid "mo"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:766, templates/plugin-info/features.php:80
+#: includes/fs-plugin-info-dialog.php:799, templates/plugin-info/features.php:80
 msgctxt "as annual period"
 msgid "year"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:820
+#: includes/fs-plugin-info-dialog.php:853
 msgctxt "noun"
 msgid "Price"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:868
+#: includes/fs-plugin-info-dialog.php:901
 msgid "Save %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:878
+#: includes/fs-plugin-info-dialog.php:911
 msgid "No commitment for %s - cancel anytime"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:881
+#: includes/fs-plugin-info-dialog.php:914
 msgid "After your free %s, pay as little as %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:892
+#: includes/fs-plugin-info-dialog.php:925
 msgid "Details"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:896, templates/account.php:87, templates/debug.php:191, templates/debug.php:228, templates/debug.php:442, templates/account/partials/addon.php:28
+#: includes/fs-plugin-info-dialog.php:929, templates/account.php:91, templates/debug.php:201, templates/debug.php:238, templates/debug.php:452, templates/account/partials/addon.php:32
 msgctxt "product version"
 msgid "Version"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:903
+#: includes/fs-plugin-info-dialog.php:936
 msgctxt "as the plugin author"
 msgid "Author"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:910
+#: includes/fs-plugin-info-dialog.php:943
 msgid "Last Updated"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:915, templates/account.php:368
+#: includes/fs-plugin-info-dialog.php:948, templates/account.php:376
 msgctxt "x-ago"
 msgid "%s ago"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:924
+#: includes/fs-plugin-info-dialog.php:957
 msgid "Requires WordPress Version"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:925
+#: includes/fs-plugin-info-dialog.php:958
 msgid "%s or higher"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:932
+#: includes/fs-plugin-info-dialog.php:965
 msgid "Compatible up to"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:940
+#: includes/fs-plugin-info-dialog.php:973
 msgid "Downloaded"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:944
+#: includes/fs-plugin-info-dialog.php:977
 msgid "%s time"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:946
+#: includes/fs-plugin-info-dialog.php:979
 msgid "%s times"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:956
+#: includes/fs-plugin-info-dialog.php:989
 msgid "WordPress.org Plugin Page"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:964
+#: includes/fs-plugin-info-dialog.php:997
 msgid "Plugin Homepage"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:972, includes/fs-plugin-info-dialog.php:1054
+#: includes/fs-plugin-info-dialog.php:1005, includes/fs-plugin-info-dialog.php:1087
 msgid "Donate to this plugin"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:979
+#: includes/fs-plugin-info-dialog.php:1012
 msgid "Average Rating"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:986
+#: includes/fs-plugin-info-dialog.php:1019
 msgid "based on %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:990
+#: includes/fs-plugin-info-dialog.php:1023
 msgid "%s rating"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:992
+#: includes/fs-plugin-info-dialog.php:1025
 msgid "%s ratings"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1007
+#: includes/fs-plugin-info-dialog.php:1040
 msgid "%s star"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1009
+#: includes/fs-plugin-info-dialog.php:1042
 msgid "%s stars"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1020
+#: includes/fs-plugin-info-dialog.php:1053
 msgid "Click to see reviews that provided a rating of %s"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1033
+#: includes/fs-plugin-info-dialog.php:1066
 msgid "Contributors"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1062, includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1095, includes/fs-plugin-info-dialog.php:1097
 msgid "Warning"
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1062
+#: includes/fs-plugin-info-dialog.php:1095
 msgid "This plugin has not been tested with your current version of WordPress."
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1064
+#: includes/fs-plugin-info-dialog.php:1097
 msgid "This plugin has not been marked as compatible with your version of WordPress."
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1083
+#: includes/fs-plugin-info-dialog.php:1116
 msgid "Paid add-on must be deployed to Freemius."
 msgstr ""
 
-#: includes/fs-plugin-info-dialog.php:1084
+#: includes/fs-plugin-info-dialog.php:1117
 msgid "Add-on must be deployed to WordPress.org or Freemius."
 msgstr ""
 
-#: templates/account.php:81, templates/account/partials/addon.php:22, templates/account/partials/site.php:295
-msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
+#: templates/account.php:81, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:22, templates/account/partials/site.php:295
+msgid "Downgrading your plan"
+msgstr ""
+
+#: templates/account.php:82, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:23, templates/account/partials/site.php:296
+msgid "Cancelling the subscription"
+msgstr ""
+
+#. translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription'
+#: templates/account.php:84, templates/forms/subscription-cancellation.php:99, templates/account/partials/addon.php:25, templates/account/partials/site.php:298
+msgid "%1s will immediately stop all future recurring payments and your %s plan license will expire in %s."
 msgstr ""
 
-#: templates/account.php:82, templates/account/partials/addon.php:23
+#: templates/account.php:85, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:26, templates/account/partials/site.php:299
+msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
+msgstr ""
+
+#: templates/account.php:86, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:27
 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
 msgstr ""
 
-#: templates/account.php:83, templates/account/partials/addon.php:24, templates/account/partials/site.php:296
-msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
+#: templates/account.php:87, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:28, templates/account/partials/site.php:300
+msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
 msgstr ""
 
-#: templates/account.php:84, templates/account/partials/addon.php:25, templates/account/partials/site.php:297
+#: templates/account.php:88, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:29, templates/account/partials/site.php:301
 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
 msgstr ""
 
 #. translators: %s: Plan title (e.g. "Professional")
-#: templates/account.php:86, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:27
+#: templates/account.php:90, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:31
 msgid "Activate %s Plan"
 msgstr ""
 
 #. translators: %s: Time period (e.g. Auto renews in "2 months")
-#: templates/account.php:89, templates/account/partials/addon.php:30, templates/account/partials/site.php:275
+#: templates/account.php:93, templates/account/partials/addon.php:34, templates/account/partials/site.php:275
 msgid "Auto renews in %s"
 msgstr ""
 
 #. translators: %s: Time period (e.g. Expires in "2 months")
-#: templates/account.php:91, templates/account/partials/addon.php:32, templates/account/partials/site.php:277
+#: templates/account.php:95, templates/account/partials/addon.php:36, templates/account/partials/site.php:277
 msgid "Expires in %s"
 msgstr ""
 
-#: templates/account.php:92, templates/account/partials/addon.php:33
+#: templates/account.php:96, templates/account/partials/addon.php:37
 msgctxt "as synchronize license"
 msgid "Sync License"
 msgstr ""
 
-#: templates/account.php:93, templates/account/partials/addon.php:34
+#: templates/account.php:97, templates/account/partials/addon.php:38
 msgid "Cancel Trial"
 msgstr ""
 
-#: templates/account.php:94, templates/account/partials/addon.php:35
+#: templates/account.php:98, templates/account/partials/addon.php:39
 msgid "Change Plan"
 msgstr ""
 
-#: templates/account.php:95, templates/account/partials/addon.php:36
+#: templates/account.php:99, templates/account/partials/addon.php:40
 msgctxt "verb"
 msgid "Upgrade"
 msgstr ""
 
-#: templates/account.php:97, templates/account/partials/addon.php:38, templates/account/partials/site.php:298
+#: templates/account.php:101, templates/account/partials/addon.php:42, templates/account/partials/site.php:302
 msgctxt "verb"
 msgid "Downgrade"
 msgstr ""
 
-#: templates/account.php:99, templates/add-ons.php:126, templates/plugin-info/features.php:72, templates/account/partials/addon.php:40, templates/account/partials/site.php:31
+#: templates/account.php:103, templates/add-ons.php:130, templates/plugin-info/features.php:72, templates/account/partials/addon.php:44, templates/account/partials/site.php:31
 msgid "Free"
 msgstr ""
 
-#: templates/account.php:100, templates/account/partials/addon.php:41
+#: templates/account.php:104, templates/account/partials/addon.php:45
 msgid "Activate"
 msgstr ""
 
-#: templates/account.php:101, templates/debug.php:361, includes/customizer/class-fs-customizer-upsell-control.php:106, templates/account/partials/addon.php:42
+#: templates/account.php:105, templates/debug.php:371, includes/customizer/class-fs-customizer-upsell-control.php:106, templates/account/partials/addon.php:46
 msgctxt "as product pricing plan"
 msgid "Plan"
 msgstr ""
 
-#: templates/account.php:154
+#: templates/account.php:158
 msgid "Free Trial"
 msgstr ""
 
-#: templates/account.php:165
+#: templates/account.php:169
 msgid "Account Details"
 msgstr ""
 
-#: templates/account.php:175
+#: templates/account.php:179
 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
 msgstr ""
 
-#: templates/account.php:177
+#: templates/account.php:181
 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
 msgstr ""
 
-#: templates/account.php:180
+#: templates/account.php:184
 msgid "Delete Account"
 msgstr ""
 
-#: templates/account.php:192, templates/account/partials/addon.php:155, templates/account/partials/deactivate-license-button.php:35
+#: templates/account.php:196, templates/account/partials/addon.php:159, templates/account/partials/deactivate-license-button.php:35
 msgid "Deactivate License"
 msgstr ""
 
-#: templates/account.php:210
+#: templates/account.php:219, templates/forms/subscription-cancellation.php:125
 msgid "Are you sure you want to proceed?"
 msgstr ""
 
-#: templates/account.php:210, templates/account/partials/addon.php:177
+#: templates/account.php:219, templates/account/partials/addon.php:182
 msgid "Cancel Subscription"
 msgstr ""
 
-#: templates/account.php:239
+#: templates/account.php:247
 msgctxt "as synchronize"
 msgid "Sync"
 msgstr ""
 
-#: templates/account.php:253, templates/debug.php:477
+#: templates/account.php:261, templates/debug.php:487
 msgid "Name"
 msgstr ""
 
-#: templates/account.php:259, templates/debug.php:478
+#: templates/account.php:267, templates/debug.php:488
 msgid "Email"
 msgstr ""
 
-#: templates/account.php:266, templates/debug.php:360, templates/debug.php:516
+#: templates/account.php:274, templates/debug.php:370, templates/debug.php:526
 msgid "User ID"
 msgstr ""
 
-#: templates/account.php:274
+#: templates/account.php:282
 msgid "Site ID"
 msgstr ""
 
-#: templates/account.php:277
+#: templates/account.php:285
 msgid "No ID"
 msgstr ""
 
-#: templates/account.php:282, templates/debug.php:233, templates/debug.php:362, templates/debug.php:443, templates/debug.php:480, templates/account/partials/site.php:219
+#: templates/account.php:290, templates/debug.php:243, templates/debug.php:372, templates/debug.php:453, templates/debug.php:490, templates/account/partials/site.php:219
 msgid "Public Key"
 msgstr ""
 
-#: templates/account.php:288, templates/debug.php:363, templates/debug.php:444, templates/debug.php:481, templates/account/partials/site.php:231
+#: templates/account.php:296, templates/debug.php:373, templates/debug.php:454, templates/debug.php:491, templates/account/partials/site.php:231
 msgid "Secret Key"
 msgstr ""
 
-#: templates/account.php:291
+#: templates/account.php:299
 msgctxt "as secret encryption key missing"
 msgid "No Secret"
 msgstr ""
 
-#: templates/account.php:310, templates/account/partials/site.php:112, templates/account/partials/site.php:114
+#: templates/account.php:318, templates/account/partials/site.php:112, templates/account/partials/site.php:114
 msgid "Trial"
 msgstr ""
 
-#: templates/account.php:329, templates/debug.php:521, templates/account/partials/site.php:248
+#: templates/account.php:337, templates/debug.php:531, templates/account/partials/site.php:248
 msgid "License Key"
 msgstr ""
 
-#: templates/account.php:359
+#: templates/account.php:367
 msgid "not verified"
 msgstr ""
 
-#: templates/account.php:368, templates/account/partials/addon.php:116
+#: templates/account.php:376, templates/account/partials/addon.php:120
 msgid "Expired"
 msgstr ""
 
-#: templates/account.php:420
+#: templates/account.php:428
 msgid "Premium version"
 msgstr ""
 
-#: templates/account.php:422
+#: templates/account.php:430
 msgid "Free version"
 msgstr ""
 
-#: templates/account.php:434
+#: templates/account.php:442
 msgid "Verify Email"
 msgstr ""
 
-#: templates/account.php:445
+#: templates/account.php:453
 msgid "Download %s Version"
 msgstr ""
 
-#: templates/account.php:459, templates/account.php:640, templates/account/partials/site.php:237, templates/account/partials/site.php:255
+#: templates/account.php:467, templates/account.php:649, templates/account/partials/site.php:237, templates/account/partials/site.php:255
 msgctxt "verb"
 msgid "Show"
 msgstr ""
 
-#: templates/account.php:473
+#: templates/account.php:481
 msgid "What is your %s?"
 msgstr ""
 
-#: templates/account.php:481, templates/account/billing.php:27
+#: templates/account.php:489, templates/account/billing.php:27
 msgctxt "verb"
 msgid "Edit"
 msgstr ""
 
-#: templates/account.php:494
+#: templates/account.php:502
 msgid "Sites"
 msgstr ""
 
-#: templates/account.php:505
+#: templates/account.php:513
 msgid "Search by address"
 msgstr ""
 
-#: templates/account.php:514, templates/account.php:562, templates/debug.php:226, templates/debug.php:354, templates/debug.php:439, templates/debug.php:476, templates/debug.php:514, templates/debug.php:587, templates/account/payments.php:35, templates/debug/logger.php:21
+#: templates/account.php:522, templates/account.php:570, templates/debug.php:236, templates/debug.php:364, templates/debug.php:449, templates/debug.php:486, templates/debug.php:524, templates/debug.php:597, templates/account/payments.php:35, templates/debug/logger.php:21
 msgid "ID"
 msgstr ""
 
-#: templates/account.php:515, templates/debug.php:357
+#: templates/account.php:523, templates/debug.php:367
 msgid "Address"
 msgstr ""
 
-#: templates/account.php:516
+#: templates/account.php:524
 msgid "License"
 msgstr ""
 
-#: templates/account.php:517
+#: templates/account.php:525
 msgid "Plan"
 msgstr ""
 
-#: templates/account.php:565
+#: templates/account.php:573
 msgctxt "as software license"
 msgid "License"
 msgstr ""
 
-#: templates/account.php:634
+#: templates/account.php:643
 msgctxt "verb"
 msgid "Hide"
 msgstr ""
 
-#: templates/account.php:669
+#: templates/account.php:686
+msgid "Cancelling %s"
+msgstr ""
+
+#: templates/account.php:686, templates/account.php:703, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:117
+msgid "trial"
+msgstr ""
+
+#: templates/account.php:701, templates/forms/deactivation/form.php:134
+msgid "Cancelling %s..."
+msgstr ""
+
+#: templates/account.php:704, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:118
+msgid "subscription"
+msgstr ""
+
+#: templates/account.php:718
 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
 msgstr ""
 
@@ -1247,7 +1322,7 @@ msgstr ""
 msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
 msgstr ""
 
-#: templates/add-ons.php:135
+#: templates/add-ons.php:139
 msgid "View details"
 msgstr ""
 
@@ -1285,162 +1360,166 @@ msgid "PCI compliant"
 msgstr ""
 
 #. translators: %s: name (e.g. Hey John,)
-#: templates/connect.php:110
+#: templates/connect.php:112
 msgctxt "greeting"
 msgid "Hey %s,"
 msgstr ""
 
-#: templates/connect.php:152
+#: templates/connect.php:154
 msgid "Allow & Continue"
 msgstr ""
 
-#: templates/connect.php:156
+#: templates/connect.php:158
 msgid "Re-send activation email"
 msgstr ""
 
-#: templates/connect.php:160
+#: templates/connect.php:162
 msgid "Thanks %s!"
 msgstr ""
 
-#: templates/connect.php:170, templates/forms/license-activation.php:43
+#: templates/connect.php:172, templates/forms/license-activation.php:43
 msgid "Agree & Activate License"
 msgstr ""
 
-#: templates/connect.php:179
+#: templates/connect.php:181
 msgid "Thanks for purchasing %s! To get started, please enter your license key:"
 msgstr ""
 
-#: templates/connect.php:186
+#: templates/connect.php:188
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
 msgstr ""
 
-#: templates/connect.php:187
+#: templates/connect.php:189
 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
 msgstr ""
 
-#: templates/connect.php:193
+#: templates/connect.php:195
 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr ""
 
-#: templates/connect.php:194
+#: templates/connect.php:196
 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
 msgstr ""
 
-#: templates/connect.php:228
+#: templates/connect.php:230
 msgid "We're excited to introduce the Freemius network-level integration."
 msgstr ""
 
-#: templates/connect.php:231
+#: templates/connect.php:233
 msgid "During the update process we detected %d site(s) that are still pending license activation."
 msgstr ""
 
-#: templates/connect.php:233
+#: templates/connect.php:235
 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
 msgstr ""
 
-#: templates/connect.php:235
+#: templates/connect.php:237
 msgid "%s's paid features"
 msgstr ""
 
-#: templates/connect.php:240
+#: templates/connect.php:242
 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
 msgstr ""
 
-#: templates/connect.php:242
+#: templates/connect.php:244
 msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
 msgstr ""
 
-#: templates/connect.php:251, templates/forms/license-activation.php:46
+#: templates/connect.php:253, templates/forms/license-activation.php:46
 msgid "License key"
 msgstr ""
 
-#: templates/connect.php:254, templates/forms/license-activation.php:19
+#: templates/connect.php:256, templates/forms/license-activation.php:19
 msgid "Can't find your license key?"
 msgstr ""
 
-#: templates/connect.php:302, templates/connect.php:617, templates/forms/deactivation/retry-skip.php:20
+#: templates/connect.php:315, templates/connect.php:630, templates/forms/deactivation/retry-skip.php:20
 msgctxt "verb"
 msgid "Skip"
 msgstr ""
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "Delegate to Site Admins"
 msgstr ""
 
-#: templates/connect.php:305
+#: templates/connect.php:318
 msgid "If you click it, this decision will be delegated to the sites administrators."
 msgstr ""
 
-#: templates/connect.php:333
+#: templates/connect.php:346
 msgid "Your Profile Overview"
 msgstr ""
 
-#: templates/connect.php:334
+#: templates/connect.php:347
 msgid "Name and email address"
 msgstr ""
 
-#: templates/connect.php:339
+#: templates/connect.php:352
 msgid "Your Site Overview"
 msgstr ""
 
-#: templates/connect.php:340
+#: templates/connect.php:353
 msgid "Site URL, WP version, PHP info, plugins & themes"
 msgstr ""
 
-#: templates/connect.php:345
+#: templates/connect.php:358
 msgid "Admin Notices"
 msgstr ""
 
-#: templates/connect.php:346, templates/connect.php:362
+#: templates/connect.php:359, templates/connect.php:375
 msgid "Updates, announcements, marketing, no spam"
 msgstr ""
 
-#: templates/connect.php:351
+#: templates/connect.php:364
 msgid "Current %s Events"
 msgstr ""
 
-#: templates/connect.php:352
+#: templates/connect.php:365
 msgid "Activation, deactivation and uninstall"
 msgstr ""
 
-#: templates/connect.php:361
+#: templates/connect.php:374
 msgid "Newsletter"
 msgstr ""
 
-#: templates/connect.php:378, templates/forms/license-activation.php:38
+#: templates/connect.php:391, templates/forms/license-activation.php:38
 msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
 msgstr ""
 
-#: templates/connect.php:383
+#: templates/connect.php:396
 msgid "What permissions are being granted?"
 msgstr ""
 
-#: templates/connect.php:404
+#: templates/connect.php:417
 msgid "Don't have a license key?"
 msgstr ""
 
-#: templates/connect.php:405
+#: templates/connect.php:418
 msgid "Activate Free Version"
 msgstr ""
 
-#: templates/connect.php:407
+#: templates/connect.php:420
 msgid "Have a license key?"
 msgstr ""
 
-#: templates/connect.php:415
+#: templates/connect.php:428
 msgid "Privacy Policy"
 msgstr ""
 
-#: templates/connect.php:417
+#: templates/connect.php:430
+msgid "License Agreement"
+msgstr ""
+
+#: templates/connect.php:430
 msgid "Terms of Service"
 msgstr ""
 
-#: templates/connect.php:750
+#: templates/connect.php:766
 msgctxt "as in the process of sending an email"
 msgid "Sending email"
 msgstr ""
 
-#: templates/connect.php:751
+#: templates/connect.php:767
 msgctxt "as activating plugin"
 msgid "Activating"
 msgstr ""
@@ -1468,7 +1547,7 @@ msgctxt "as code debugging"
 msgid "Debugging"
 msgstr ""
 
-#: templates/debug.php:54, templates/debug.php:238, templates/debug.php:364, templates/debug.php:482
+#: templates/debug.php:54, templates/debug.php:248, templates/debug.php:374, templates/debug.php:492
 msgid "Actions"
 msgstr ""
 
@@ -1492,194 +1571,198 @@ msgstr ""
 msgid "Sync Data From Server"
 msgstr ""
 
-#: templates/debug.php:90
+#: templates/debug.php:95
+msgid "Migrate Options to Network"
+msgstr ""
+
+#: templates/debug.php:100
 msgid "Load DB Option"
 msgstr ""
 
-#: templates/debug.php:93
+#: templates/debug.php:103
 msgid "Set DB Option"
 msgstr ""
 
-#: templates/debug.php:170
+#: templates/debug.php:180
 msgid "Key"
 msgstr ""
 
-#: templates/debug.php:171
+#: templates/debug.php:181
 msgid "Value"
 msgstr ""
 
-#: templates/debug.php:187
+#: templates/debug.php:197
 msgctxt "as software development kit versions"
 msgid "SDK Versions"
 msgstr ""
 
-#: templates/debug.php:192
+#: templates/debug.php:202
 msgid "SDK Path"
 msgstr ""
 
-#: templates/debug.php:193, templates/debug.php:232
+#: templates/debug.php:203, templates/debug.php:242
 msgid "Module Path"
 msgstr ""
 
-#: templates/debug.php:194
+#: templates/debug.php:204
 msgid "Is Active"
 msgstr ""
 
-#: templates/debug.php:222, templates/debug/plugins-themes-sync.php:35
+#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:35
 msgid "Plugins"
 msgstr ""
 
-#: templates/debug.php:222, templates/debug/plugins-themes-sync.php:56
+#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:56
 msgid "Themes"
 msgstr ""
 
-#: templates/debug.php:227, templates/debug.php:359, templates/debug.php:441, templates/debug/scheduled-crons.php:80
+#: templates/debug.php:237, templates/debug.php:369, templates/debug.php:451, templates/debug/scheduled-crons.php:80
 msgid "Slug"
 msgstr ""
 
-#: templates/debug.php:229, templates/debug.php:440
+#: templates/debug.php:239, templates/debug.php:450
 msgid "Title"
 msgstr ""
 
-#: templates/debug.php:230
+#: templates/debug.php:240
 msgctxt "as application program interface"
 msgid "API"
 msgstr ""
 
-#: templates/debug.php:231
+#: templates/debug.php:241
 msgid "Freemius State"
 msgstr ""
 
-#: templates/debug.php:235
+#: templates/debug.php:245
 msgid "Network Blog"
 msgstr ""
 
-#: templates/debug.php:236
+#: templates/debug.php:246
 msgid "Network User"
 msgstr ""
 
-#: templates/debug.php:273
+#: templates/debug.php:283
 msgctxt "as connection was successful"
 msgid "Connected"
 msgstr ""
 
-#: templates/debug.php:274
+#: templates/debug.php:284
 msgctxt "as connection blocked"
 msgid "Blocked"
 msgstr ""
 
-#: templates/debug.php:310
-msgid "Simulate Trial"
+#: templates/debug.php:320
+msgid "Simulate Trial Promotion"
 msgstr ""
 
-#: templates/debug.php:322
+#: templates/debug.php:332
 msgid "Simulate Network Upgrade"
 msgstr ""
 
-#: templates/debug.php:348
+#: templates/debug.php:358
 msgid "%s Installs"
 msgstr ""
 
-#: templates/debug.php:350
+#: templates/debug.php:360
 msgctxt "like websites"
 msgid "Sites"
 msgstr ""
 
-#: templates/debug.php:356, templates/account/partials/site.php:148
+#: templates/debug.php:366, templates/account/partials/site.php:148
 msgid "Blog ID"
 msgstr ""
 
-#: templates/debug.php:421, templates/debug.php:499, templates/account/partials/addon.php:334
+#: templates/debug.php:431, templates/debug.php:509, templates/account/partials/addon.php:339
 msgctxt "verb"
 msgid "Delete"
 msgstr ""
 
-#: templates/debug.php:435
+#: templates/debug.php:445
 msgid "Add Ons of module %s"
 msgstr ""
 
-#: templates/debug.php:472
+#: templates/debug.php:482
 msgid "Users"
 msgstr ""
 
-#: templates/debug.php:479
+#: templates/debug.php:489
 msgid "Verified"
 msgstr ""
 
-#: templates/debug.php:510
+#: templates/debug.php:520
 msgid "%s Licenses"
 msgstr ""
 
-#: templates/debug.php:515
+#: templates/debug.php:525
 msgid "Plugin ID"
 msgstr ""
 
-#: templates/debug.php:517
+#: templates/debug.php:527
 msgid "Plan ID"
 msgstr ""
 
-#: templates/debug.php:518
+#: templates/debug.php:528
 msgid "Quota"
 msgstr ""
 
-#: templates/debug.php:519
+#: templates/debug.php:529
 msgid "Activated"
 msgstr ""
 
-#: templates/debug.php:520
+#: templates/debug.php:530
 msgid "Blocking"
 msgstr ""
 
-#: templates/debug.php:522
+#: templates/debug.php:532
 msgctxt "as expiration date"
 msgid "Expiration"
 msgstr ""
 
-#: templates/debug.php:545
+#: templates/debug.php:555
 msgid "Debug Log"
 msgstr ""
 
-#: templates/debug.php:549
+#: templates/debug.php:559
 msgid "All Types"
 msgstr ""
 
-#: templates/debug.php:556
+#: templates/debug.php:566
 msgid "All Requests"
 msgstr ""
 
-#: templates/debug.php:561, templates/debug.php:590, templates/debug/logger.php:25
+#: templates/debug.php:571, templates/debug.php:600, templates/debug/logger.php:25
 msgid "File"
 msgstr ""
 
-#: templates/debug.php:562, templates/debug.php:588, templates/debug/logger.php:23
+#: templates/debug.php:572, templates/debug.php:598, templates/debug/logger.php:23
 msgid "Function"
 msgstr ""
 
-#: templates/debug.php:563
+#: templates/debug.php:573
 msgid "Process ID"
 msgstr ""
 
-#: templates/debug.php:564
+#: templates/debug.php:574
 msgid "Logger"
 msgstr ""
 
-#: templates/debug.php:565, templates/debug.php:589, templates/debug/logger.php:24
+#: templates/debug.php:575, templates/debug.php:599, templates/debug/logger.php:24
 msgid "Message"
 msgstr ""
 
-#: templates/debug.php:567
+#: templates/debug.php:577
 msgid "Filter"
 msgstr ""
 
-#: templates/debug.php:575
+#: templates/debug.php:585
 msgid "Download"
 msgstr ""
 
-#: templates/debug.php:586, templates/debug/logger.php:22
+#: templates/debug.php:596, templates/debug/logger.php:22
 msgid "Type"
 msgstr ""
 
-#: templates/debug.php:591, templates/debug/logger.php:26
+#: templates/debug.php:601, templates/debug/logger.php:26
 msgid "Timestamp"
 msgstr ""
 
@@ -2023,23 +2106,19 @@ msgstr ""
 msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
 msgstr ""
 
-#: templates/forms/premium-versions-upgrade-handler.php:24
+#: templates/forms/premium-versions-upgrade-handler.php:40
 msgid "There is a new version of %s available."
 msgstr ""
 
-#: templates/forms/premium-versions-upgrade-handler.php:25
-msgid " %sRenew your license now%s to access version %s security & feature updates, and support."
+#: templates/forms/premium-versions-upgrade-handler.php:41
+msgid " %s to access version %s security & feature updates, and support."
 msgstr ""
 
-#: templates/forms/premium-versions-upgrade-handler.php:34
+#: templates/forms/premium-versions-upgrade-handler.php:54
 msgid "New Version Available"
 msgstr ""
 
-#: templates/forms/premium-versions-upgrade-handler.php:36
-msgid "Renew license"
-msgstr ""
-
-#: templates/forms/premium-versions-upgrade-handler.php:53
+#: templates/forms/premium-versions-upgrade-handler.php:75
 msgctxt "close a window"
 msgid "Dismiss"
 msgstr ""
@@ -2052,6 +2131,42 @@ msgstr ""
 msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
 msgstr ""
 
+#: templates/forms/subscription-cancellation.php:37
+msgid "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site."
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:47
+msgid "In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?"
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:52
+msgid "license"
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:57
+msgid "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site."
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:68
+msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:103
+msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:136
+msgid "Cancel %s?"
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:143
+msgid "Proceed"
+msgstr ""
+
+#: templates/forms/subscription-cancellation.php:191, templates/forms/deactivation/form.php:150
+msgid "Cancel %s & Proceed"
+msgstr ""
+
 #: templates/forms/trial-start.php:22
 msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
 msgstr ""
@@ -2113,15 +2228,15 @@ msgstr ""
 msgid "Last license"
 msgstr ""
 
-#: templates/account/partials/addon.php:111
+#: templates/account/partials/addon.php:115
 msgid "Cancelled"
 msgstr ""
 
-#: templates/account/partials/addon.php:121
+#: templates/account/partials/addon.php:125
 msgid "No expiration"
 msgstr ""
 
-#: templates/account/partials/addon.php:259, templates/account/partials/addon.php:312
+#: templates/account/partials/addon.php:264, templates/account/partials/addon.php:317
 msgid "Activate this add-on"
 msgstr ""
 
@@ -2149,47 +2264,47 @@ msgstr ""
 msgid "Contact Support"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:56
+#: templates/forms/deactivation/form.php:59
 msgid "Anonymous feedback"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:63
+#: templates/forms/deactivation/form.php:66
 msgid "Deactivate"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:65
+#: templates/forms/deactivation/form.php:68
 msgid "Activate %s"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:76
-msgid "Quick feedback"
+#: templates/forms/deactivation/form.php:80
+msgid "Quick Feedback"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "If you have a moment, please let us know why you are %s"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "deactivating"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:80
+#: templates/forms/deactivation/form.php:84
 msgid "switching"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:269
+#: templates/forms/deactivation/form.php:332
 msgid "Submit & %s"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:290
+#: templates/forms/deactivation/form.php:353
 msgid "Kindly tell us the reason so we can improve."
 msgstr ""
 
-#: templates/forms/deactivation/form.php:411
+#: templates/forms/deactivation/form.php:478
 msgid "Yes - %s"
 msgstr ""
 
-#: templates/forms/deactivation/form.php:418
+#: templates/forms/deactivation/form.php:485
 msgid "Skip & %s"
 msgstr ""
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/start.php b/wp-content/plugins/nextgen-gallery/freemius/start.php
index dc7a50266..0d2a48c0e 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/start.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/start.php
@@ -15,7 +15,7 @@
 	 *
 	 * @var string
 	 */
-	$this_sdk_version = '2.1.3';
+	$this_sdk_version = '2.2.4';
 
 	#region SDK Selection Logic --------------------------------------------------------------------
 
@@ -44,9 +44,16 @@
 	 * @author Vova Feldman (@svovaf)
 	 * @since  1.2.2.6
 	 */
-	$file_path                = fs_normalize_path( __FILE__ );
-	$fs_root_path             = dirname( $file_path );
-	$themes_directory         = get_theme_root();
+	$file_path    = fs_normalize_path( __FILE__ );
+	$fs_root_path = dirname( $file_path );
+    /**
+     * Get the themes directory where the active theme is located (not passing the stylesheet will make WordPress
+     * assume that the themes directory is inside `wp-content`.
+     *
+     * @author Leo Fajardo (@leorw)
+     * @since 2.2.3
+     */
+	$themes_directory         = get_theme_root( get_stylesheet() );
 	$themes_directory_name    = basename( $themes_directory );
 	$theme_candidate_basename = basename( dirname( $fs_root_path ) ) . '/' . basename( $fs_root_path );
 
@@ -99,8 +106,8 @@
 			 * @since  1.2.1.7
 			 */
 			$has_changes = false;
-			foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
-				if ( ! file_exists( WP_PLUGIN_DIR . '/' . $sdk_path ) ) {
+			foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) {
+                if ( ! file_exists( ( isset( $data->type ) && 'theme' === $data->type ? $themes_directory : WP_PLUGIN_DIR ) . '/' . $sdk_path ) ) {
 					unset( $fs_active_plugins->plugins[ $sdk_path ] );
 					$has_changes = true;
 				}
@@ -120,6 +127,10 @@
 		require_once dirname( __FILE__ ) . '/includes/supplements/fs-essential-functions-1.1.7.1.php';
 	}
 
+	if ( ! function_exists( 'fs_get_plugins' ) ) {
+		require_once dirname( __FILE__ ) . '/includes/supplements/fs-essential-functions-2.2.1.php';
+	}
+
 	// Update current SDK info based on the SDK path.
 	if ( ! isset( $fs_active_plugins->plugins[ $this_sdk_relative_path ] ) ||
 	     $this_sdk_version != $fs_active_plugins->plugins[ $this_sdk_relative_path ]->version
@@ -205,7 +216,7 @@
 			$sdk_starter_path = fs_normalize_path( WP_PLUGIN_DIR . '/' . $this_sdk_relative_path . '/start.php' );
 		} else {
 			$sdk_starter_path = fs_normalize_path(
-				get_theme_root()
+                $themes_directory
 				. '/'
 				. str_replace( "../{$themes_directory_name}/", '', $this_sdk_relative_path )
 				. '/start.php' );
@@ -267,7 +278,7 @@
 
 		$plugins_or_theme_dir_path = ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) ?
 			WP_PLUGIN_DIR :
-			get_theme_root();
+            $themes_directory;
 
 		$newest_sdk_starter = fs_normalize_path(
 			$plugins_or_theme_dir_path
@@ -375,7 +386,7 @@
 		}
 
 		$plugins_or_theme_dir_path = fs_normalize_path( trailingslashit( $is_theme ?
-			get_theme_root() :
+            $themes_directory :
 			WP_PLUGIN_DIR ) );
 
 		if ( 0 === strpos( $file_path, $plugins_or_theme_dir_path ) ) {
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/account.php b/wp-content/plugins/nextgen-gallery/freemius/templates/account.php
index 1a5324a9b..2ca85d7d8 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/account.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/account.php
@@ -76,29 +76,33 @@
 		$query_params['tabs'] = 'true';
 	}
 
-    // Aliases.
-    $download_latest_text              = fs_text_x_inline( 'Download Latest', 'as download latest version', 'download-latest', $slug );
-    $downgrade_x_confirm_text          = fs_text_inline( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
-    $cancel_trial_confirm_text         = fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug );
-    $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s updates and support.', 'after-downgrade-non-blocking', $slug );
-    $after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
-    /* translators: %s: Plan title (e.g. "Professional") */
-    $activate_plan_text = fs_text_inline( 'Activate %s Plan', 'activate-x-plan', $slug );
-    $version_text       = fs_text_x_inline( 'Version', 'product version', 'version', $slug );
-    /* translators: %s: Time period (e.g. Auto renews in "2 months") */
-    $renews_in_text     = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
-    /* translators: %s: Time period (e.g. Expires in "2 months") */
-    $expires_in_text    = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
-    $sync_license_text  = fs_text_x_inline( 'Sync License', 'as synchronize license', 'sync-license', $slug );
-    $cancel_trial_text  = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
-    $change_plan_text   = fs_text_inline( 'Change Plan', 'change-plan', $slug );
-    $upgrade_text       = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
-    $addons_text        = fs_text_inline( 'Add-Ons', 'add-ons', $slug );
-    $downgrade_text     = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
-	$trial_text         = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
-	$free_text          = fs_text_inline( 'Free', 'free', $slug );
-	$activate_text      = fs_text_inline( 'Activate', 'activate', $slug );
-	$plan_text          = fs_text_x_inline( 'Plan', 'as product pricing plan', 'plan', $slug );
+	// Aliases.
+	$download_latest_text         = fs_text_x_inline( 'Download Latest', 'as download latest version', 'download-latest', $slug );
+	$downgrading_plan_text        = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
+	$cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
+	/* translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
+	$downgrade_x_confirm_text          = fs_text_inline( '%1s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
+	$prices_increase_text              = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
+	$cancel_trial_confirm_text         = fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug );
+	$after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
+	$after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
+	/* translators: %s: Plan title (e.g. "Professional") */
+	$activate_plan_text = fs_text_inline( 'Activate %s Plan', 'activate-x-plan', $slug );
+	$version_text       = fs_text_x_inline( 'Version', 'product version', 'version', $slug );
+	/* translators: %s: Time period (e.g. Auto renews in "2 months") */
+	$renews_in_text = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
+	/* translators: %s: Time period (e.g. Expires in "2 months") */
+	$expires_in_text   = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
+	$sync_license_text = fs_text_x_inline( 'Sync License', 'as synchronize license', 'sync-license', $slug );
+	$cancel_trial_text = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
+	$change_plan_text  = fs_text_inline( 'Change Plan', 'change-plan', $slug );
+	$upgrade_text      = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
+	$addons_text       = fs_text_inline( 'Add-Ons', 'add-ons', $slug );
+	$downgrade_text    = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
+	$trial_text        = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
+	$free_text         = fs_text_inline( 'Free', 'free', $slug );
+	$activate_text     = fs_text_inline( 'Activate', 'activate', $slug );
+	$plan_text         = fs_text_x_inline( 'Plan', 'as product pricing plan', 'plan', $slug );
 
     $show_plan_row    = true;
     $show_license_row = is_object( $license );
@@ -203,11 +207,16 @@
 													<input type="hidden" name="fs_action" value="downgrade_account">
 													<?php wp_nonce_field( 'downgrade_account' ) ?>
 													<a href="#"
-													   onclick="if ( confirm('<?php echo esc_attr( sprintf( $downgrade_x_confirm_text, $plan->title, human_time_diff( time(), strtotime( $license->expiration ) ) ) ) ?> <?php if ( ! $license->is_block_features ) {
+													   onclick="if ( confirm('<?php echo esc_attr( sprintf(
+													   	   $downgrade_x_confirm_text,
+														   ( $fs->is_only_premium()  ? $cancelling_subscription_text : $downgrading_plan_text ),
+														   $plan->title,
+														   human_time_diff( time(), strtotime( $license->expiration ) )
+													   ) ) ?> <?php if ( ! $license->is_block_features ) {
 														   echo esc_attr( sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs->get_module_label( true ) ) );
 													   } else {
                                                            echo esc_attr( sprintf( $after_downgrade_blocking_text, $plan->title ) );
-													   }?> <?php fs_esc_attr_echo_inline( 'Are you sure you want to proceed?', 'proceed-confirmation', $slug ) ?>') ) this.parentNode.submit(); return false;"><i class="dashicons dashicons-download"></i> <?php echo esc_html( $fs->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ) ?></a>
+													   }?> <?php echo esc_attr( $prices_increase_text ) ?> <?php fs_esc_attr_echo_inline( 'Are you sure you want to proceed?', 'proceed-confirmation', $slug ) ?>') ) this.parentNode.submit(); return false;"><i class="dashicons dashicons-download"></i> <?php echo esc_html( $fs->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ) ?></a>
 												</form>
 											</li>
 											<li>&nbsp;&bull;&nbsp;</li>
@@ -224,8 +233,7 @@
 											<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
 												<input type="hidden" name="fs_action" value="cancel_trial">
 												<?php wp_nonce_field( 'cancel_trial' ) ?>
-												<a href="#"
-												   onclick="if (confirm('<?php echo esc_attr( $cancel_trial_confirm_text ) ?>')) this.parentNode.submit(); return false;"><i
+												<a href="#" class="fs-cancel-trial"><i
 														class="dashicons dashicons-download"></i> <?php echo esc_html( $cancel_trial_text ) ?></a>
 											</form>
 										</li>
@@ -603,6 +611,7 @@
 			</div>
 		</div>
 	</div>
+    <?php $fs->_maybe_add_subscription_cancellation_dialog_box( true ) ?>
     <script type="text/javascript">
         (function ($) {
             var setLoading = function ($this, label) {
@@ -665,12 +674,56 @@
                 setLoading($(this), '<?php fs_esc_js_echo_inline('Activating', 'activating' ) ?>...');
             });
 
-            $('.fs-deactivate-license').click(function () {
-                if (confirm('<?php fs_esc_attr_echo_inline( 'Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?', 'deactivate-license-confirm', $slug ) ?>')) {
+            var $deactivateLicenseOrCancelTrial = $( '.fs-deactivate-license, .fs-cancel-trial' ),
+                $subscriptionCancellationModal  = $( '.fs-modal-subscription-cancellation-<?php echo $fs->get_id() ?>' );
+
+            if ( 0 !== $subscriptionCancellationModal.length ) {
+                $subscriptionCancellationModal.on( '<?php echo $fs->get_action_tag( 'subscription_cancellation_action' ) ?>', function( evt, cancelSubscription ) {
+                    setLoading(
+                        $deactivateLicenseOrCancelTrial,
+                        ( ! $deactivateLicenseOrCancelTrial.hasClass( 'fs-cancel-trial' ) ?
+                            '<?php fs_esc_js_echo_inline( 'Deactivating', 'deactivating', $slug ) ?>' :
+                            '<?php echo esc_html( sprintf( fs_text_inline( 'Cancelling %s', 'cancelling-x', $slug ), fs_text_inline( 'trial', 'trial', $slug ) ) ) ?>' ) + '...'
+                    );
+
+                    $subscriptionCancellationModal.find( '.fs-modal-footer .button' ).addClass( 'disabled' );
+                    $deactivateLicenseOrCancelTrial.unbind( 'click' );
+
+                    if ( false === cancelSubscription || $deactivateLicenseOrCancelTrial.hasClass( 'fs-cancel-trial' ) ) {
+                        $subscriptionCancellationModal.find( '.fs-modal-footer .button-primary' ).text( $deactivateLicenseOrCancelTrial.text() );
+
+                        $deactivateLicenseOrCancelTrial[0].parentNode.submit();
+                    } else {
+                        var $form = $( 'input[value="downgrade_account"],input[value="cancel_trial"]' ).parent();
+                        $form.prepend( '<input type="hidden" name="deactivate_license" value="true" />' );
+
+                        $subscriptionCancellationModal.find( '.fs-modal-footer .button-primary' ).text( '<?php echo esc_js( sprintf(
+                            fs_text_inline( 'Cancelling %s...', 'cancelling-x' , $slug ),
+                            $is_paid_trial ?
+                                fs_text_inline( 'trial', 'trial', $slug ) :
+                                fs_text_inline( 'subscription', 'subscription', $slug )
+                        ) ) ?>' );
+
+                        $form.submit();
+                    }
+                });
+            }
+
+            $deactivateLicenseOrCancelTrial.click(function() {
+                var $this = $( this );
+                if ( $this.hasClass( 'fs-cancel-trial' ) ) {
+                    $subscriptionCancellationModal.find( '.fs-modal-panel' ).find( 'ul.subscription-actions, .fs-price-increase-warning' ).remove();
+                    $subscriptionCancellationModal.find( '.fs-modal-panel > p' ).text( <?php echo json_encode( $cancel_trial_confirm_text ) ?> );
+                    $subscriptionCancellationModal.trigger( 'showModal' );
+                } else if (confirm('<?php fs_esc_attr_echo_inline( 'Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?', 'deactivate-license-confirm', $slug ) ?>')) {
                     var $this = $(this);
 
-                    setLoading($this, '<?php fs_esc_js_echo_inline('Deactivating', 'deactivating' ) ?>...');
-                    $this[0].parentNode.submit();
+                    if ( 0 !== $subscriptionCancellationModal.length ) {
+                        $subscriptionCancellationModal.trigger( 'showModal' );
+                    } else {
+                        setLoading( $this, '<?php fs_esc_js_echo_inline( 'Deactivating', 'deactivating', $slug ) ?>...' );
+                        $this[0].parentNode.submit();
+                    }
                 }
 
                 return false;
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/addon.php b/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/addon.php
index bb878552c..4e719355e 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/addon.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/addon.php
@@ -1,345 +1,350 @@
-<?php
-    /**
-     * @var array    $VARS
-     * @var Freemius $fs
-     */
-    $fs       = $VARS['parent_fs'];
-    $addon_id = $VARS['addon_id'];
-    $odd      = $VARS['odd'];
-    $slug     = $fs->get_slug();
-
-
-    $addon              = $fs->get_addon( $addon_id );
-    $is_addon_activated = $fs->is_addon_activated( $addon_id );
-    $is_addon_connected = $fs->is_addon_connected( $addon_id );
-
-    $fs_addon = $is_addon_connected ?
-        freemius( $addon_id ) :
-        false;
-
-    // Aliases.
-    $download_latest_text              = fs_text_x_inline( 'Download Latest', 'as download latest version', 'download-latest', $slug );
-    $downgrade_x_confirm_text          = fs_text_inline( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
-    $cancel_trial_confirm_text         = fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug );
-    $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s updates and support.', 'after-downgrade-non-blocking', $slug );
-    $after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
-    /* translators: %s: Plan title (e.g. "Professional") */
-    $activate_plan_text = fs_text_inline( 'Activate %s Plan', 'activate-x-plan', $slug );
-    $version_text       = fs_text_x_inline( 'Version', 'product version', 'version', $slug );
-    /* translators: %s: Time period (e.g. Auto renews in "2 months") */
-    $renews_in_text = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
-    /* translators: %s: Time period (e.g. Expires in "2 months") */
-    $expires_in_text   = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
-    $sync_license_text = fs_text_x_inline( 'Sync License', 'as synchronize license', 'sync-license', $slug );
-    $cancel_trial_text = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
-    $change_plan_text  = fs_text_inline( 'Change Plan', 'change-plan', $slug );
-    $upgrade_text      = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
-    $addons_text       = fs_text_inline( 'Add-Ons', 'add-ons', $slug );
-    $downgrade_text    = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
-    $trial_text        = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
-    $free_text         = fs_text_inline( 'Free', 'free', $slug );
-    $activate_text     = fs_text_inline( 'Activate', 'activate', $slug );
-    $plan_text         = fs_text_x_inline( 'Plan', 'as product pricing plan', 'plan', $slug );
-
-    // Defaults.
-    $plan                   = null;
-    $is_paid_trial          = false;
-    $license                = null;
-    $site                   = null;
-    $is_active_subscription = false;
-    $subscription           = null;
-    $is_paying              = false;
-
-    if ( is_object( $fs_addon ) ) {
-        $is_paying                  = $fs_addon->is_paying();
-        $user                       = $fs_addon->get_user();
-        $site                       = $fs_addon->get_site();
-        $license                    = $fs_addon->_get_license();
-        $subscription               = ( is_object( $license ) ?
-            $fs_addon->_get_subscription( $license->id ) :
-            null );
-        $plan                       = $fs_addon->get_plan();
-        $is_active_subscription     = ( is_object( $subscription ) && $subscription->is_active() );
-        $is_paid_trial              = $fs_addon->is_paid_trial();
-        $show_upgrade               = ( $fs_addon->has_paid_plan() && ! $is_paying && ! $is_paid_trial && ! $fs_addon->_has_premium_license() );
-        $is_current_license_expired = is_object( $license ) && $license->is_expired();
-    }
-?>
-<tr<?php if ( $odd ) {
-    echo ' class="alternate"';
-} ?>>
-    <td>
-        <!-- Title -->
-        <?php echo $addon->title ?>
-    </td>
-    <?php if ( $is_addon_connected ) : ?>
-        <!-- ID -->
-        <td><?php echo $site->id ?></td>
-        <!--/ ID -->
-
-        <!-- Version -->
-        <td><?php echo $fs_addon->get_plugin_version() ?></td>
-        <!--/ Version -->
-
-        <!-- Plan Title -->
-        <td><?php echo strtoupper( is_string( $plan->name ) ? $plan->title : $free_text ) ?></td>
-        <!--/ Plan Title -->
-
-        <?php if ( $fs_addon->is_trial() || is_object( $license ) ) : ?>
-
-        <!-- Expiration -->
-        <td>
-            <?php
-                $tags = array();
-
-                if ( $fs_addon->is_trial() ) {
-                    $tags[] = array( 'label' => $trial_text, 'type' => 'success' );
-
-                    $tags[] = array(
-                        'label' => sprintf(
-                            ( $is_paid_trial ?
-                                $renews_in_text :
-                                $expires_in_text ),
-                            human_time_diff( time(), strtotime( $site->trial_ends ) )
-                        ),
-                        'type'  => ( $is_paid_trial ? 'success' : 'warn' )
-                    );
-                } else {
-                    if ( is_object( $license ) ) {
-                        if ( $license->is_cancelled ) {
-                            $tags[] = array(
-                                'label' => fs_text_inline( 'Cancelled', 'cancelled', $slug ),
-                                'type'  => 'error'
-                            );
-                        } else if ( $license->is_expired() ) {
-                            $tags[] = array(
-                                'label' => fs_text_inline( 'Expired', 'expired', $slug ),
-                                'type'  => 'error'
-                            );
-                        } else if ( $license->is_lifetime() ) {
-                            $tags[] = array(
-                                'label' => fs_text_inline( 'No expiration', 'no-expiration', $slug ),
-                                'type'  => 'success'
-                            );
-                        } else if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) {
-                            $tags[] = array(
-                                'label' => sprintf( $expires_in_text, human_time_diff( time(), strtotime( $license->expiration ) ) ),
-                                'type'  => 'warn'
-                            );
-                        } else if ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) {
-                            $tags[] = array(
-                                'label' => sprintf( $renews_in_text, human_time_diff( time(), strtotime( $subscription->next_payment ) ) ),
-                                'type'  => 'success'
-                            );
-                        }
-                    }
-                }
-
-                foreach ( $tags as $t ) {
-                    printf( '<label class="fs-tag fs-%s">%s</label>' . "\n", $t['type'], $t['label'] );
-                }
-            ?>
-        </td>
-        <!--/ Expiration -->
-
-        <?php endif ?>
-
-        <?php
-        $buttons = array();
-        if ( $is_addon_activated ) {
-            if ( $is_paying ) {
-                $buttons[] = fs_ui_get_action_button(
-                    $fs->get_id(),
-                    'account',
-                    'deactivate_license',
-                    fs_text_inline( 'Deactivate License', 'deactivate-license', $slug ),
-                    '',
-                    array( 'plugin_id' => $addon_id ),
-                    false
-                );
-
-                $human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
-                $downgrade_confirmation_message    = sprintf(
-                    $downgrade_x_confirm_text,
-                    $plan->title,
-                    $human_readable_license_expiration
-                );
-
-                $after_downgrade_message = ! $license->is_block_features ?
-                    sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs_addon->get_module_label( true ) ) :
-                    sprintf( $after_downgrade_blocking_text, $plan->title );
-
-                if ( ! $license->is_lifetime() && $is_active_subscription ) {
-                    $buttons[] = fs_ui_get_action_button(
-                        $fs->get_id(),
-                        'account',
-                        'downgrade_account',
-                        esc_html( $fs_addon->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ),
-                        '',
-                        array( 'plugin_id' => $addon_id ),
-                        false,
-                        false,
-                        false,
-                        ( $downgrade_confirmation_message . ' ' . $after_downgrade_message ),
-                        'POST'
-                    );
-                }
-            } else if ( $is_paid_trial ) {
-                $buttons[] = fs_ui_get_action_button(
-                    $fs->get_id(),
-                    'account',
-                    'cancel_trial',
-                    esc_html( $cancel_trial_text ),
-                    '',
-                    array( 'plugin_id' => $addon_id ),
-                    false,
-                    false,
-                    'dashicons dashicons-download',
-                    $cancel_trial_confirm_text,
-                    'POST'
-                );
-            } else {
-                $premium_license = $fs_addon->_get_available_premium_license();
-
-                if ( is_object( $premium_license ) ) {
-                    $premium_plan = $fs_addon->_get_plan_by_id( $premium_license->plan_id );
-                    $site         = $fs_addon->get_site();
-
-                    $buttons[] = fs_ui_get_action_button(
-                        $fs->get_id(),
-                        'account',
-                        'activate_license',
-                        esc_html( sprintf( $activate_plan_text, $premium_plan->title, ( $site->is_localhost() && $premium_license->is_free_localhost ) ? '[localhost]' : ( 1 < $premium_license->left() ? $premium_license->left() . ' left' : '' ) ) ),
-                        '',
-                        array(
-                            'plugin_id'  => $addon_id,
-                            'license_id' => $premium_license->id,
-                        )
-                    );
-                }
-            }
-
-            if ( 0 == count( $buttons ) ) {
-                if ( $show_upgrade && $fs_addon->is_premium() ) {
-                    $fs_addon->_add_license_activation_dialog_box();
-
-                    $buttons[] = fs_ui_get_action_button(
-                        $fs->get_id(),
-                        'account',
-                        'activate_license',
-                        fs_esc_html_inline( 'Activate License', 'activate-license', $slug ),
-                        'activate-license-trigger ' . $fs_addon->get_unique_affix(),
-                        array(
-                            'plugin_id' => $addon_id,
-                        ),
-                        false,
-                        true
-                    );
-                }
-
-                // Add sync license only if non of the other CTAs are visible.
-                $buttons[] = fs_ui_get_action_button(
-                    $fs->get_id(),
-                    'account',
-                    $fs->get_unique_affix() . '_sync_license',
-                    esc_html( $sync_license_text ),
-                    '',
-                    array( 'plugin_id' => $addon_id ),
-                    false,
-                    true
-                );
-
-            }
-        } else if ( ! $show_upgrade ) {
-            if ( $fs->is_addon_installed( $addon_id ) ) {
-                $addon_file = $fs->get_addon_basename( $addon_id );
-                $buttons[]  = sprintf(
-                    '<a class="button button-primary edit" href="%s" title="%s">%s</a>',
-                    wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon_file, 'activate-plugin_' . $addon_file ),
-                    fs_esc_attr_inline( 'Activate this add-on', 'activate-this-addon', $slug ),
-                    $activate_text
-                );
-            } else {
-                if ( $fs->is_allowed_to_install() ) {
-                    $buttons[] = sprintf(
-                        '<a class="button button-primary edit" href="%s">%s</a>',
-                        wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ),
-                        fs_text_inline( 'Install Now', 'install-now', $slug )
-                    );
-                } else {
-                    $buttons[] = sprintf(
-                        '<a target="_blank" class="button button-primary edit" href="%s">%s</a>',
-                        $fs->_get_latest_download_local_url( $addon_id ),
-                        esc_html( $download_latest_text )
-                    );
-                }
-            }
-        }
-
-        if ( $show_upgrade ) {
-            $buttons[] = sprintf( '<a href="%s" class="thickbox button button-small button-primary" aria-label="%s" data-title="%s"><i class="dashicons dashicons-cart"></i> %s</a>',
-                esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
-                                            '&TB_iframe=true&width=600&height=550' ) ),
-                esc_attr( sprintf( fs_text_inline( 'More information about %s', 'more-information-about-x', $slug ), $addon->title ) ),
-                esc_attr( $addon->title ),
-                ( $fs_addon->has_free_plan() ?
-                    $upgrade_text :
-                    fs_text_x_inline( 'Purchase', 'verb', 'purchase', $slug ) )
-            );
-        }
-
-        $buttons_count = count( $buttons );
-        ?>
-
-        <!-- Actions -->
-        <td><?php if ( $buttons_count > 1 ) : ?>
-            <div class="button-group"><?php endif ?>
-                <?php foreach ( $buttons as $button ) {
-                        echo $button;
-                    } ?>
-                <?php if ( $buttons_count > 1 ) : ?></div><?php endif ?></td>
-        <!--/ Actions -->
-
-    <?php else : ?>
-        <?php // Add-on NOT Installed or was never connected.
-        ?>
-        <!-- Action -->
-        <td colspan="4">
-            <?php if ( $fs->is_addon_installed( $addon_id ) ) : ?>
-                <?php $addon_file = $fs->get_addon_basename( $addon_id ) ?>
-                <a class="button button-primary"
-                   href="<?php echo wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon_file, 'activate-plugin_' . $addon_file ) ?>"
-                   title="<?php fs_esc_attr_echo_inline( 'Activate this add-on', 'activate-this-addon', $slug ) ?>"
-                   class="edit"><?php echo esc_html( $activate_text ) ?></a>
-            <?php else : ?>
-                <?php if ( $fs->is_allowed_to_install() ) : ?>
-                    <a class="button button-primary"
-                       href="<?php echo wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ) ?>"><?php fs_esc_html_echo_inline( 'Install Now', 'install-now', $slug ) ?></a>
-                <?php else : ?>
-                    <a target="_blank" class="button button-primary"
-                       href="<?php echo $fs->_get_latest_download_local_url( $addon_id ) ?>"><?php echo esc_html( $download_latest_text ) ?></a>
-                <?php endif ?>
-            <?php endif ?>
-        </td>
-        <!--/ Action -->
-    <?php endif ?>
-    <?php if ( ! $is_paying && WP_FS__DEV_MODE ) : ?>
-        <!-- Optional Delete Action -->
-        <td>
-            <?php
-                if ( $is_addon_activated ) {
-                    fs_ui_action_button(
-                        $fs->get_id(), 'account',
-                        'delete_account',
-                        fs_text_x_inline( 'Delete', 'verb', 'delete', $slug ),
-                        '',
-                        array( 'plugin_id' => $addon_id ),
-                        false,
-                        $show_upgrade
-                    );
-                }
-            ?>
-        </td>
-        <!--/ Optional Delete Action -->
-    <?php endif ?>
+<?php
+    /**
+     * @var array    $VARS
+     * @var Freemius $fs
+     */
+    $fs       = $VARS['parent_fs'];
+    $addon_id = $VARS['addon_id'];
+    $odd      = $VARS['odd'];
+    $slug     = $fs->get_slug();
+
+
+    $addon              = $fs->get_addon( $addon_id );
+    $is_addon_activated = $fs->is_addon_activated( $addon_id );
+    $is_addon_connected = $fs->is_addon_connected( $addon_id );
+
+    $fs_addon = $is_addon_connected ?
+        freemius( $addon_id ) :
+        false;
+
+    // Aliases.
+    $download_latest_text         = fs_text_x_inline( 'Download Latest', 'as download latest version', 'download-latest', $slug );
+    $downgrading_plan_text        = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
+    $cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
+    /* translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
+    $downgrade_x_confirm_text     = fs_text_inline( '%1s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
+    $prices_increase_text         = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
+    $cancel_trial_confirm_text         = fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug );
+    $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
+    $after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
+    /* translators: %s: Plan title (e.g. "Professional") */
+    $activate_plan_text = fs_text_inline( 'Activate %s Plan', 'activate-x-plan', $slug );
+    $version_text       = fs_text_x_inline( 'Version', 'product version', 'version', $slug );
+    /* translators: %s: Time period (e.g. Auto renews in "2 months") */
+    $renews_in_text = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
+    /* translators: %s: Time period (e.g. Expires in "2 months") */
+    $expires_in_text   = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
+    $sync_license_text = fs_text_x_inline( 'Sync License', 'as synchronize license', 'sync-license', $slug );
+    $cancel_trial_text = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
+    $change_plan_text  = fs_text_inline( 'Change Plan', 'change-plan', $slug );
+    $upgrade_text      = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
+    $addons_text       = fs_text_inline( 'Add-Ons', 'add-ons', $slug );
+    $downgrade_text    = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
+    $trial_text        = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
+    $free_text         = fs_text_inline( 'Free', 'free', $slug );
+    $activate_text     = fs_text_inline( 'Activate', 'activate', $slug );
+    $plan_text         = fs_text_x_inline( 'Plan', 'as product pricing plan', 'plan', $slug );
+
+    // Defaults.
+    $plan                   = null;
+    $is_paid_trial          = false;
+    $license                = null;
+    $site                   = null;
+    $is_active_subscription = false;
+    $subscription           = null;
+    $is_paying              = false;
+
+    if ( is_object( $fs_addon ) ) {
+        $is_paying                  = $fs_addon->is_paying();
+        $user                       = $fs_addon->get_user();
+        $site                       = $fs_addon->get_site();
+        $license                    = $fs_addon->_get_license();
+        $subscription               = ( is_object( $license ) ?
+            $fs_addon->_get_subscription( $license->id ) :
+            null );
+        $plan                       = $fs_addon->get_plan();
+        $is_active_subscription     = ( is_object( $subscription ) && $subscription->is_active() );
+        $is_paid_trial              = $fs_addon->is_paid_trial();
+        $show_upgrade               = ( $fs_addon->has_paid_plan() && ! $is_paying && ! $is_paid_trial && ! $fs_addon->_has_premium_license() );
+        $is_current_license_expired = is_object( $license ) && $license->is_expired();
+    }
+?>
+<tr<?php if ( $odd ) {
+    echo ' class="alternate"';
+} ?>>
+    <td>
+        <!-- Title -->
+        <?php echo $addon->title ?>
+    </td>
+    <?php if ( $is_addon_connected ) : ?>
+        <!-- ID -->
+        <td><?php echo $site->id ?></td>
+        <!--/ ID -->
+
+        <!-- Version -->
+        <td><?php echo $fs_addon->get_plugin_version() ?></td>
+        <!--/ Version -->
+
+        <!-- Plan Title -->
+        <td><?php echo strtoupper( is_string( $plan->name ) ? $plan->title : $free_text ) ?></td>
+        <!--/ Plan Title -->
+
+        <?php if ( $fs_addon->is_trial() || is_object( $license ) ) : ?>
+
+        <!-- Expiration -->
+        <td>
+            <?php
+                $tags = array();
+
+                if ( $fs_addon->is_trial() ) {
+                    $tags[] = array( 'label' => $trial_text, 'type' => 'success' );
+
+                    $tags[] = array(
+                        'label' => sprintf(
+                            ( $is_paid_trial ?
+                                $renews_in_text :
+                                $expires_in_text ),
+                            human_time_diff( time(), strtotime( $site->trial_ends ) )
+                        ),
+                        'type'  => ( $is_paid_trial ? 'success' : 'warn' )
+                    );
+                } else {
+                    if ( is_object( $license ) ) {
+                        if ( $license->is_cancelled ) {
+                            $tags[] = array(
+                                'label' => fs_text_inline( 'Cancelled', 'cancelled', $slug ),
+                                'type'  => 'error'
+                            );
+                        } else if ( $license->is_expired() ) {
+                            $tags[] = array(
+                                'label' => fs_text_inline( 'Expired', 'expired', $slug ),
+                                'type'  => 'error'
+                            );
+                        } else if ( $license->is_lifetime() ) {
+                            $tags[] = array(
+                                'label' => fs_text_inline( 'No expiration', 'no-expiration', $slug ),
+                                'type'  => 'success'
+                            );
+                        } else if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) {
+                            $tags[] = array(
+                                'label' => sprintf( $expires_in_text, human_time_diff( time(), strtotime( $license->expiration ) ) ),
+                                'type'  => 'warn'
+                            );
+                        } else if ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) {
+                            $tags[] = array(
+                                'label' => sprintf( $renews_in_text, human_time_diff( time(), strtotime( $subscription->next_payment ) ) ),
+                                'type'  => 'success'
+                            );
+                        }
+                    }
+                }
+
+                foreach ( $tags as $t ) {
+                    printf( '<label class="fs-tag fs-%s">%s</label>' . "\n", $t['type'], $t['label'] );
+                }
+            ?>
+        </td>
+        <!--/ Expiration -->
+
+        <?php endif ?>
+
+        <?php
+        $buttons = array();
+        if ( $is_addon_activated ) {
+            if ( $is_paying ) {
+                $buttons[] = fs_ui_get_action_button(
+                    $fs->get_id(),
+                    'account',
+                    'deactivate_license',
+                    fs_text_inline( 'Deactivate License', 'deactivate-license', $slug ),
+                    '',
+                    array( 'plugin_id' => $addon_id ),
+                    false
+                );
+
+                $human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
+                $downgrade_confirmation_message    = sprintf(
+                    $downgrade_x_confirm_text,
+                    ( $fs_addon->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
+                    $plan->title,
+                    $human_readable_license_expiration
+                );
+
+                $after_downgrade_message = ! $license->is_block_features ?
+                    sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs_addon->get_module_label( true ) ) :
+                    sprintf( $after_downgrade_blocking_text, $plan->title );
+
+                if ( ! $license->is_lifetime() && $is_active_subscription ) {
+                    $buttons[] = fs_ui_get_action_button(
+                        $fs->get_id(),
+                        'account',
+                        'downgrade_account',
+                        esc_html( $fs_addon->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ),
+                        '',
+                        array( 'plugin_id' => $addon_id ),
+                        false,
+                        false,
+                        false,
+                        ( $downgrade_confirmation_message . ' ' . $after_downgrade_message . ' ' . $prices_increase_text ),
+                        'POST'
+                    );
+                }
+            } else if ( $is_paid_trial ) {
+                $buttons[] = fs_ui_get_action_button(
+                    $fs->get_id(),
+                    'account',
+                    'cancel_trial',
+                    esc_html( $cancel_trial_text ),
+                    '',
+                    array( 'plugin_id' => $addon_id ),
+                    false,
+                    false,
+                    'dashicons dashicons-download',
+                    $cancel_trial_confirm_text,
+                    'POST'
+                );
+            } else {
+                $premium_license = $fs_addon->_get_available_premium_license();
+
+                if ( is_object( $premium_license ) ) {
+                    $premium_plan = $fs_addon->_get_plan_by_id( $premium_license->plan_id );
+                    $site         = $fs_addon->get_site();
+
+                    $buttons[] = fs_ui_get_action_button(
+                        $fs->get_id(),
+                        'account',
+                        'activate_license',
+                        esc_html( sprintf( $activate_plan_text, $premium_plan->title, ( $site->is_localhost() && $premium_license->is_free_localhost ) ? '[localhost]' : ( 1 < $premium_license->left() ? $premium_license->left() . ' left' : '' ) ) ),
+                        '',
+                        array(
+                            'plugin_id'  => $addon_id,
+                            'license_id' => $premium_license->id,
+                        )
+                    );
+                }
+            }
+
+            if ( 0 == count( $buttons ) ) {
+                if ( $show_upgrade && $fs_addon->is_premium() ) {
+                    $fs_addon->_add_license_activation_dialog_box();
+
+                    $buttons[] = fs_ui_get_action_button(
+                        $fs->get_id(),
+                        'account',
+                        'activate_license',
+                        fs_esc_html_inline( 'Activate License', 'activate-license', $slug ),
+                        'activate-license-trigger ' . $fs_addon->get_unique_affix(),
+                        array(
+                            'plugin_id' => $addon_id,
+                        ),
+                        false,
+                        true
+                    );
+                }
+
+                // Add sync license only if non of the other CTAs are visible.
+                $buttons[] = fs_ui_get_action_button(
+                    $fs->get_id(),
+                    'account',
+                    $fs->get_unique_affix() . '_sync_license',
+                    esc_html( $sync_license_text ),
+                    '',
+                    array( 'plugin_id' => $addon_id ),
+                    false,
+                    true
+                );
+
+            }
+        } else if ( ! $show_upgrade ) {
+            if ( $fs->is_addon_installed( $addon_id ) ) {
+                $addon_file = $fs->get_addon_basename( $addon_id );
+                $buttons[]  = sprintf(
+                    '<a class="button button-primary edit" href="%s" title="%s">%s</a>',
+                    wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon_file, 'activate-plugin_' . $addon_file ),
+                    fs_esc_attr_inline( 'Activate this add-on', 'activate-this-addon', $slug ),
+                    $activate_text
+                );
+            } else {
+                if ( $fs->is_allowed_to_install() ) {
+                    $buttons[] = sprintf(
+                        '<a class="button button-primary edit" href="%s">%s</a>',
+                        wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ),
+                        fs_text_inline( 'Install Now', 'install-now', $slug )
+                    );
+                } else {
+                    $buttons[] = sprintf(
+                        '<a target="_blank" class="button button-primary edit" href="%s">%s</a>',
+                        $fs->_get_latest_download_local_url( $addon_id ),
+                        esc_html( $download_latest_text )
+                    );
+                }
+            }
+        }
+
+        if ( $show_upgrade ) {
+            $buttons[] = sprintf( '<a href="%s" class="thickbox button button-small button-primary" aria-label="%s" data-title="%s"><i class="dashicons dashicons-cart"></i> %s</a>',
+                esc_url( network_admin_url( 'plugin-install.php?fs_allow_updater_and_dialog=true&tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
+                                            '&TB_iframe=true&width=600&height=550' ) ),
+                esc_attr( sprintf( fs_text_inline( 'More information about %s', 'more-information-about-x', $slug ), $addon->title ) ),
+                esc_attr( $addon->title ),
+                ( $fs_addon->has_free_plan() ?
+                    $upgrade_text :
+                    fs_text_x_inline( 'Purchase', 'verb', 'purchase', $slug ) )
+            );
+        }
+
+        $buttons_count = count( $buttons );
+        ?>
+
+        <!-- Actions -->
+        <td><?php if ( $buttons_count > 1 ) : ?>
+            <div class="button-group"><?php endif ?>
+                <?php foreach ( $buttons as $button ) {
+                        echo $button;
+                    } ?>
+                <?php if ( $buttons_count > 1 ) : ?></div><?php endif ?></td>
+        <!--/ Actions -->
+
+    <?php else : ?>
+        <?php // Add-on NOT Installed or was never connected.
+        ?>
+        <!-- Action -->
+        <td colspan="4">
+            <?php if ( $fs->is_addon_installed( $addon_id ) ) : ?>
+                <?php $addon_file = $fs->get_addon_basename( $addon_id ) ?>
+                <a class="button button-primary"
+                   href="<?php echo wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon_file, 'activate-plugin_' . $addon_file ) ?>"
+                   title="<?php fs_esc_attr_echo_inline( 'Activate this add-on', 'activate-this-addon', $slug ) ?>"
+                   class="edit"><?php echo esc_html( $activate_text ) ?></a>
+            <?php else : ?>
+                <?php if ( $fs->is_allowed_to_install() ) : ?>
+                    <a class="button button-primary"
+                       href="<?php echo wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ) ?>"><?php fs_esc_html_echo_inline( 'Install Now', 'install-now', $slug ) ?></a>
+                <?php else : ?>
+                    <a target="_blank" class="button button-primary"
+                       href="<?php echo $fs->_get_latest_download_local_url( $addon_id ) ?>"><?php echo esc_html( $download_latest_text ) ?></a>
+                <?php endif ?>
+            <?php endif ?>
+        </td>
+        <!--/ Action -->
+    <?php endif ?>
+    <?php if ( ! $is_paying && WP_FS__DEV_MODE ) : ?>
+        <!-- Optional Delete Action -->
+        <td>
+            <?php
+                if ( $is_addon_activated ) {
+                    fs_ui_action_button(
+                        $fs->get_id(), 'account',
+                        'delete_account',
+                        fs_text_x_inline( 'Delete', 'verb', 'delete', $slug ),
+                        '',
+                        array( 'plugin_id' => $addon_id ),
+                        false,
+                        $show_upgrade
+                    );
+                }
+            ?>
+        </td>
+        <!--/ Optional Delete Action -->
+    <?php endif ?>
 </tr>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/site.php b/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/site.php
index 6629e9b71..976dc35aa 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/site.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/account/partials/site.php
@@ -292,14 +292,19 @@
                                 </td>
                                 <td><?php if ( $is_active_subscription ) : ?>
                                 <?php
-                                    $downgrade_x_confirm_text          = fs_text_inline( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
-                                    $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s updates and support.', 'after-downgrade-non-blocking', $slug );
-                                    $after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
-                                    $downgrade_text                    = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
+                                        $downgrading_plan_text        = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
+                                        $cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
+                                        /* translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
+                                        $downgrade_x_confirm_text          = fs_text_inline( '%1s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
+                                        $prices_increase_text              = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
+                                        $after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
+                                        $after_downgrade_blocking_text     = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
+                                        $downgrade_text                    = fs_text_x_inline( 'Downgrade', 'verb', 'downgrade', $slug );
 
                                     $human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
                                     $downgrade_confirmation_message    = sprintf(
                                         $downgrade_x_confirm_text,
+                                        ( $fs->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
                                         $plan->title,
                                         $human_readable_license_expiration
                                     );
@@ -313,7 +318,7 @@
                                         <input type="hidden" name="fs_action" value="<?php echo $action ?>">
                                         <?php wp_nonce_field( trim( "{$action}:{$blog_id}", ':' ) ) ?>
                                         <input type="hidden" name="blog_id" value="<?php echo $blog_id ?>">
-                                        <button class="button button-small" onclick="if (confirm('<?php echo ( $downgrade_confirmation_message . ' ' . $after_downgrade_message ) ?>')) { this.parentNode.submit(); } else { return false; }"><?php echo $downgrade_text ?></button>
+                                        <button class="button button-small" onclick="if (confirm('<?php echo esc_attr( $downgrade_confirmation_message . ' ' . $after_downgrade_message . ' ' . $prices_increase_text ) ?>')) { this.parentNode.submit(); } else { return false; }"><?php echo $downgrade_text ?></button>
                                     </form>
                                 <?php endif ?></td>
                             </tr>
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/add-ons.php b/wp-content/plugins/nextgen-gallery/freemius/templates/add-ons.php
index bf8c58fb0..ade0fc491 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/add-ons.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/add-ons.php
@@ -98,7 +98,7 @@
 						<li class="fs-card fs-addon" data-slug="<?php echo $addon->slug ?>">
 							<?php
 								echo sprintf( '<a href="%s" class="thickbox fs-overlay" aria-label="%s" data-title="%s"></a>',
-									esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
+									esc_url( network_admin_url( 'plugin-install.php?fs_allow_updater_and_dialog=true&tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
 									                            '&TB_iframe=true&width=600&height=550' ) ),
 									esc_attr( sprintf( fs_text_inline( 'More information about %s', 'more-information-about-x', $slug ), $addon->title ) ),
 									esc_attr( $addon->title )
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/admin-notice.php b/wp-content/plugins/nextgen-gallery/freemius/templates/admin-notice.php
index 3dd86eda2..6079e7126 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/admin-notice.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/admin-notice.php
@@ -11,8 +11,32 @@
 	}
 
 	$dismiss_text = fs_text_x_inline( 'Dismiss', 'as close a window', 'dismiss' );
+
+	$slug = '';
+	$type = '';
+
+	if ( ! empty( $VARS['manager_id'] ) ) {
+		/**
+		 * @var array $VARS
+		 */
+		$slug = $VARS['manager_id'];
+
+		$type = WP_FS__MODULE_TYPE_PLUGIN;
+
+		if ( false !== strpos( $slug, ':' ) ) {
+			$parts = explode( ':', $slug );
+
+			$slug = $parts[0];
+
+			$parts_count = count( $parts );
+
+			if ( 1 < $parts_count && WP_FS__MODULE_TYPE_THEME == $parts[1] ) {
+				$type = $parts[1];
+			}
+		}
+	}
 ?>
-<div<?php if ( ! empty( $VARS['id'] ) ) : ?> data-id="<?php echo $VARS['id'] ?>"<?php endif ?><?php if ( ! empty( $VARS['manager_id'] ) ) : ?> data-manager-id="<?php echo $VARS['manager_id'] ?>"<?php endif ?>
+<div<?php if ( ! empty( $VARS['id'] ) ) : ?> data-id="<?php echo $VARS['id'] ?>"<?php endif ?><?php if ( ! empty( $VARS['manager_id'] ) ) : ?> data-manager-id="<?php echo $VARS['manager_id'] ?>"<?php endif ?><?php if ( ! empty( $slug ) ) : ?> data-slug="<?php echo $slug ?>"<?php endif ?><?php if ( ! empty( $type ) ) : ?> data-type="<?php echo $type ?>"<?php endif ?>
 	class="<?php
 		switch ( $VARS['type'] ) {
 			case 'error':
@@ -33,6 +57,10 @@
 		echo ' fs-sticky';
 	} ?><?php if ( ! empty( $VARS['plugin'] ) ) {
 		echo ' fs-has-title';
+	} ?><?php if ( ! empty( $slug ) ) {
+		echo " fs-slug-{$slug}";
+	} ?><?php if ( ! empty( $type ) ) {
+		echo " fs-type-{$type}";
 	} ?>"><?php if ( ! empty( $VARS['plugin'] ) ) : ?>
 		<label class="fs-plugin-title"><?php echo $VARS['plugin'] ?></label>
 	<?php endif ?>
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/checkout.php b/wp-content/plugins/nextgen-gallery/freemius/templates/checkout.php
index 0e0f13f10..c2aa68c4b 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/checkout.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/checkout.php
@@ -174,7 +174,7 @@
 	fs_require_once_template('secure-https-header.php', $view_params);
 ?>
 	<div id="fs_checkout" class="wrap fs-section fs-full-size-wrapper">
-		<div id="frame"></div>
+		<div id="fs_frame"></div>
 		<script type="text/javascript">
 			// http://stackoverflow.com/questions/4583703/jquery-post-request-not-ajax
 			jQuery(function ($) {
@@ -234,7 +234,7 @@
 						src          = base_url + '/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
 						// Append the i-frame into the DOM.
 						frame        = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')
-							.appendTo('#frame');
+							.appendTo('#fs_frame');
 
 					FS.PostMessage.init(base_url, [frame[0]]);
 					FS.PostMessage.receiveOnce('height', function (data) {
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/connect.php b/wp-content/plugins/nextgen-gallery/freemius/templates/connect.php
index 8320fc9d3..e8378c216 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/connect.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/connect.php
@@ -40,10 +40,12 @@
 
 	$freemius_site_www = 'https://freemius.com';
 
-	$freemius_site_url = $freemius_site_www . '/' . ( $fs->is_premium() ?
-			'wordpress/' :
-			// Insights platform information.
-			'wordpress/usage-tracking/' . $fs->get_id() . "/{$slug}/" );
+	$freemius_usage_tracking_url = $freemius_site_www . '/wordpress/usage-tracking/' . $fs->get_id() . "/{$slug}/";
+	$freemius_plugin_terms_url   = $freemius_site_www . '/terms/' . $fs->get_id() . "/{$slug}/";
+
+	$freemius_site_url = $fs->is_premium() ?
+		$freemius_site_www :
+		$freemius_usage_tracking_url;
 
 	if ( $fs->is_premium() ) {
 		$freemius_site_url .= '?' . http_build_query( array(
@@ -425,7 +427,7 @@
 			<a href="https://freemius.com/privacy/" target="_blank"
 			   tabindex="1"><?php fs_esc_html_echo_inline( 'Privacy Policy', 'privacy-policy', $slug ) ?></a>
 			&nbsp;&nbsp;-&nbsp;&nbsp;
-			<a href="<?php echo $freemius_site_www ?>/terms/" target="_blank" tabindex="1"><?php fs_echo_inline( 'Terms of Service', 'tos', $slug ) ?></a>
+			<a href="<?php echo $require_license_key ? $freemius_plugin_terms_url : $freemius_usage_tracking_url ?>" target="_blank" tabindex="1"><?php $require_license_key ? fs_echo_inline( 'License Agreement', 'license-agreement', $slug ) : fs_echo_inline( 'Terms of Service', 'tos', $slug ) ?></a>
 		</div>
 	</div>
 	<?php
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/contact.php b/wp-content/plugins/nextgen-gallery/freemius/templates/contact.php
index a066a3f8f..bba101835 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/contact.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/contact.php
@@ -86,7 +86,7 @@
 	}
 ?>
 	<div id="fs_contact" class="wrap fs-section fs-full-size-wrapper">
-		<div id="frame"></div>
+		<div id="fs_frame"></div>
 		<script type="text/javascript">
 			(function ($) {
 				$(function () {
@@ -99,14 +99,14 @@
 
 					// Append the i-frame into the DOM.
 					frame = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')
-						.appendTo('#frame');
+						.appendTo('#fs_frame');
 
 					FS.PostMessage.init(base_url);
 					FS.PostMessage.receive('height', function (data) {
 						var h = data.height;
 						if (!isNaN(h) && h > 0 && h != frame_height) {
 							frame_height = h;
-							$('#frame i' + 'frame').height(frame_height + 'px');
+							$('#fs_frame i' + 'frame').height(frame_height + 'px');
 						}
 					});
 				});
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/debug.php b/wp-content/plugins/nextgen-gallery/freemius/templates/debug.php
index 0ee3ebf9c..bafff1614 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/debug.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/debug.php
@@ -113,6 +113,7 @@
             if (optionName) {
                 $.post(ajaxurl, {
                     action     : 'fs_get_db_option',
+                    _wpnonce   : '<?php echo wp_create_nonce( 'fs_get_db_option' ) ?>',
                     option_name: optionName
                 }, function (response) {
                     if (response.data.value)
@@ -132,6 +133,7 @@
                 if (optionValue) {
                     $.post(ajaxurl, {
                         action      : 'fs_set_db_option',
+                        _wpnonce   : '<?php echo wp_create_nonce( 'fs_set_db_option' ) ?>',
                         option_name : optionName,
                         option_value: optionValue
                     }, function () {
@@ -205,7 +207,7 @@
     </tr>
     </thead>
     <tbody>
-    <?php foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) : ?>
+    <?php foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) : ?>
         <?php $is_active = ( WP_FS__SDK_VERSION == $data->version ) ?>
         <tr<?php if ( $is_active ) {
             echo ' style="background: #E6FFE6; font-weight: bold"';
@@ -317,7 +319,7 @@
                                     <input type="hidden" name="module_id" value="<?php echo $fs->get_id() ?>">
                                     <?php wp_nonce_field( 'simulate_trial' ) ?>
 
-                                    <button type="submit" class="button button-primary simulate-trial"><?php fs_esc_html_echo_inline( 'Simulate Trial' ) ?></button>
+                                    <button type="submit" class="button button-primary simulate-trial"><?php fs_esc_html_echo_inline( 'Simulate Trial Promotion' ) ?></button>
                                 </form>
                             <?php endif ?>
                             <?php if ( $fs->is_registered() ) : ?>
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/deactivation/form.php b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/deactivation/form.php
index 93f08b32b..755ac9eff 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/deactivation/form.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/deactivation/form.php
@@ -10,6 +10,9 @@
 		exit;
 	}
 
+	/**
+	 * @var array $VARS
+	 */
 	$fs   = freemius( $VARS['id'] );
 	$slug = $fs->get_slug();
 
@@ -66,14 +69,15 @@ HTML;
 
 	fs_enqueue_local_style( 'fs_dialog_boxes', '/admin/dialog-boxes.css' );
 ?>
+<?php $fs->_maybe_add_subscription_cancellation_dialog_box() ?>
 <script type="text/javascript">
 (function ($) {
-	var reasonsHtml = <?php echo json_encode( $reasons_list_items_html ); ?>,
+	var reasonsHtml = <?php echo json_encode( $reasons_list_items_html ) ?>,
 	    modalHtml =
 		    '<div class="fs-modal fs-modal-deactivation-feedback<?php echo empty( $confirmation_message ) ? ' no-confirmation-message' : ''; ?>">'
 		    + '	<div class="fs-modal-dialog">'
 		    + '		<div class="fs-modal-header">'
-		    + '		    <h4><?php fs_esc_attr_echo_inline( 'Quick feedback', 'quick-feedback' , $slug ) ?></h4>'
+		    + '		    <h4><?php fs_esc_attr_echo_inline( 'Quick Feedback', 'quick-feedback' , $slug ) ?></h4>'
 		    + '		</div>'
 		    + '		<div class="fs-modal-body">'
 		    + '			<div class="fs-modal-panel" data-panel-id="confirm"><p><?php echo $confirmation_message; ?></p></div>'
@@ -82,7 +86,7 @@ HTML;
 		    + '		<div class="fs-modal-footer">'
 			+ '         <?php echo $anonymous_feedback_checkbox_html ?>'
 		    + '			<a href="#" class="button button-secondary button-deactivate"></a>'
-		    + '			<a href="#" class="button button-primary button-close"><?php fs_esc_js_echo_inline( 'Cancel', 'cancel' , $slug ) ?></a>'
+		    + '			<a href="#" class="button button-primary button-close"><?php fs_esc_js_echo_inline( 'Cancel', 'cancel', $slug ) ?></a>'
 		    + '		</div>'
 		    + '	</div>'
 		    + '</div>',
@@ -94,23 +98,82 @@ HTML;
 		isAnonymous           = <?php echo ( $is_anonymous ? 'true' : 'false' ); ?>,
 		otherReasonID         = <?php echo Freemius::REASON_OTHER; ?>,
 		dontShareDataReasonID = <?php echo Freemius::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION; ?>,
-        deleteThemeUpdateData = <?php echo $fs->is_theme() && $fs->is_premium() && ! $fs->has_any_active_valid_license() ? 'true' : 'false' ?>;
+        deleteThemeUpdateData = <?php echo $fs->is_theme() && $fs->is_premium() && ! $fs->has_any_active_valid_license() ? 'true' : 'false' ?>,
+        $subscriptionCancellationModal = $( '.fs-modal-subscription-cancellation-<?php echo $fs->get_id() ?>' );
 
 	$modal.appendTo($('body'));
 
+	if ( 0 !== $subscriptionCancellationModal.length ) {
+        $subscriptionCancellationModal.on( '<?php echo $fs->get_action_tag( 'subscription_cancellation_action' ) ?>', function( evt, cancelSubscription ) {
+            if ( false === cancelSubscription ) {
+                showModal();
+
+                $subscriptionCancellationModal.trigger( 'closeModal' );
+            } else {
+                var $errorMessage = $subscriptionCancellationModal.find( '.notice-error' );
+
+                <?php
+                $subscription_cancellation_context = $fs->is_paid_trial() ?
+                    fs_text_inline( 'trial', 'trial', $slug ) :
+                    fs_text_inline( 'subscription', 'subscription', $slug );
+                ?>
+
+                $.ajax({
+                    url       : ajaxurl,
+                    method    : 'POST',
+                    data      : {
+                        action   : '<?php echo $fs->get_ajax_action( 'cancel_subscription_or_trial' ) ?>',
+                        security : '<?php echo $fs->get_ajax_security( 'cancel_subscription_or_trial' ) ?>',
+                        module_id: '<?php echo $fs->get_id() ?>'
+                    },
+                    beforeSend: function() {
+                        $errorMessage.hide();
+
+                        $subscriptionCancellationModal.find( '.fs-modal-footer .button' ).addClass( 'disabled' );
+                        $subscriptionCancellationModal.find( '.fs-modal-footer .button-primary' ).text( '<?php echo esc_js(
+                            sprintf( fs_text_inline( 'Cancelling %s...', 'cancelling-x' , $slug ), $subscription_cancellation_context )
+                        ) ?>' );
+                    },
+                    success: function( result ) {
+                        if ( result.success ) {
+                            $subscriptionCancellationModal.removeClass( 'has-subscription-actions' );
+                            $subscriptionCancellationModal.find( '.fs-modal-footer .button-primary' ).removeClass( 'warn' );
+
+                            $subscriptionCancellationModal.remove();
+                            showModal();
+                        } else {
+                            $errorMessage.find( '> p' ).html( result.error );
+                            $errorMessage.show();
+
+                            $subscriptionCancellationModal.find( '.fs-modal-footer .button' ).removeClass( 'disabled' );
+                            $subscriptionCancellationModal.find( '.fs-modal-footer .button-primary' ).html( <?php echo json_encode( sprintf(
+                                fs_text_inline( 'Cancel %s & Proceed', 'cancel-x-and-proceed', $slug ),
+                                ucfirst( $subscription_cancellation_context )
+                            ) ) ?> );
+                        }
+                    }
+                });
+            }
+        });
+    }
+
 	registerEventHandlers();
 
 	function registerEventHandlers() {
-		<?php
-		if ( $fs->is_plugin() ) { ?>
 		$deactivateLink.click(function (evt) {
 			evt.preventDefault();
 
-			redirectLink = $(this).attr('href');
+            redirectLink = $(this).attr('href');
 
-			showModal();
+            if ( 0 == $subscriptionCancellationModal.length ) {
+                showModal();
+            } else {
+                $subscriptionCancellationModal.trigger( 'showModal' );
+            }
 		});
+
 		<?php
+        if ( ! $fs->is_plugin() ) {
 		/**
 		 * For "theme" module type, the modal is shown when the current user clicks on
 		 * the "Activate" button of any other theme. The "Activate" button is actually
@@ -122,8 +185,8 @@ HTML;
 		 *        
 		 * @since 1.2.2.7 Don't trigger the deactivation feedback form if activating the premium version of the theme.
 		 */
-		} else { ?>
-		$('body').on('click', '.theme-browser .theme:not([data-slug=<?php echo $slug ?>-premium]) .theme-actions .button.activate', function (evt) {
+		?>
+		$('body').on('click', '.theme-browser .theme:not([data-slug=<?php echo $fs->get_premium_slug() ?>]) .theme-actions .button.activate', function (evt) {
 			evt.preventDefault();
 
 			redirectLink = $(this).attr('href');
@@ -245,7 +308,7 @@ HTML;
 		});
 
 		$modal.on('click', 'input[type="radio"]', function () {
-			var $selectedReasonOption = $(this);
+			var $selectedReasonOption = $( this );
 
 			// If the selection has not changed, do not proceed.
 			if (selectedReasonID === $selectedReasonOption.val())
@@ -303,11 +366,15 @@ HTML;
 			}
 
 			// If the user has not clicked the close button and the clicked element is inside the modal dialog, just return.
-			if (!$target.hasClass('button-close') && ( $target.parents('.fs-modal-body').length > 0 || $target.parents('.fs-modal-footer').length > 0 )) {
+			if (
+			    ! $target.hasClass( 'button-close' ) &&
+                ( $target.parents( '.fs-modal-body' ).length > 0 || $target.parents( '.fs-modal-footer' ).length > 0 )
+            ) {
 				return;
 			}
 
 			closeModal();
+
 			return false;
 		});
 	}
@@ -372,14 +439,14 @@ HTML;
 		 * If the modal dialog has no confirmation message, that is, it has only one panel, then ensure
 		 * that clicking the deactivate button will actually deactivate the plugin.
 		 */
-		if ($modal.hasClass('no-confirmation-message')) {
-			$deactivateButton.addClass('allow-deactivate');
+		if ( $modal.hasClass( 'no-confirmation-message' ) ) {
+            $deactivateButton.addClass( 'allow-deactivate' );
 
-			showPanel('reasons');
+            showPanel( 'reasons' );
 		} else {
-			$deactivateButton.removeClass('allow-deactivate');
+			$deactivateButton.removeClass( 'allow-deactivate' );
 
-			showPanel('confirm');
+			showPanel( 'confirm' );
 		}
 	}
 
@@ -396,30 +463,30 @@ HTML;
 	}
 
 	function showPanel(panelType) {
-		$modal.find('.fs-modal-panel').removeClass('active ');
-		$modal.find('[data-panel-id="' + panelType + '"]').addClass('active');
+        $modal.find( '.fs-modal-panel' ).removeClass( 'active' );
+		$modal.find( '[data-panel-id="' + panelType + '"]' ).addClass( 'active' );
 
 		updateButtonLabels();
 	}
 
 	function updateButtonLabels() {
-		var $deactivateButton = $modal.find('.button-deactivate');
-
-		// Reset the deactivate button's text.
-		if ('confirm' === getCurrentPanel()) {
-			$deactivateButton.text('<?php echo esc_js( sprintf(
-				fs_text_inline( 'Yes - %s', 'deactivation-modal-button-confirm' , $slug ),
-				$fs->is_plugin() ?
-					$deactivate_text :
-					sprintf( $activate_x_text, $theme_text )
-			) ) ?>');
+        var $deactivateButton = $modal.find( '.button-deactivate' );
+
+        // Reset the deactivate button's text.
+        if ( 'confirm' === getCurrentPanel() ) {
+            $deactivateButton.text( <?php echo json_encode( sprintf(
+                fs_text_inline( 'Yes - %s', 'deactivation-modal-button-confirm', $slug ),
+                $fs->is_plugin() ?
+                    $deactivate_text :
+                    sprintf( $activate_x_text, $theme_text )
+            ) ) ?> );
 		} else {
-			$deactivateButton.html('<?php echo esc_js( sprintf(
+            $deactivateButton.html( <?php echo json_encode( sprintf(
 				fs_text_inline('Skip & %s', 'skip-and-x', $slug ),
 				$fs->is_plugin() ?
 					$deactivate_text :
 					sprintf( $activate_x_text, $theme_text )
-			) ) ?>');
+			) ) ?> );
 		}
 	}
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-handler.php b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-handler.php
index 7802fedcc..f30639bfa 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-handler.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-handler.php
@@ -20,12 +20,32 @@
     $plugin_name     = $plugin_data['Name'];
     $plugin_basename = $fs->get_plugin_basename();
 
+    $license = $fs->_get_license();
+
+    if ( ! is_object( $license ) ) {
+        $purchase_url = $fs->pricing_url();
+    } else {
+        $subscription = $fs->_get_subscription( $license->id );
+
+        $purchase_url = $fs->checkout_url(
+            is_object( $subscription ) ?
+                ( 1 == $subscription->billing_cycle ? WP_FS__PERIOD_MONTHLY : WP_FS__PERIOD_ANNUALLY ) :
+                WP_FS__PERIOD_LIFETIME,
+            false,
+            array( 'licenses' => $license->quota )
+        );
+    }
+
     $message = sprintf(
         fs_text_inline( 'There is a new version of %s available.', 'new-version-available-message', $slug ) .
-        fs_text_inline( ' %sRenew your license now%s to access version %s security & feature updates, and support.', 'renew-license-now', $slug ),
+        fs_text_inline( ' %s to access version %s security & feature updates, and support.', 'x-for-updates-and-support', $slug ),
         '<span id="plugin_name"></span>',
-        '<a id="pricing_url" href="">',
-        '</a>',
+        sprintf(
+            '<a id="pricing_url" href="">%s</a>',
+            is_object( $license ) ?
+                fs_text_inline( 'Renew your license now', 'renew-license-now', $slug ) :
+                fs_text_inline( 'Buy a license now', 'buy-license-now', $slug )
+        ),
         '<span id="new_version"></span>'
     );
 
@@ -33,7 +53,9 @@
 
     $header_title = fs_text_inline( 'New Version Available', 'new-version-available', $slug );
 
-    $renew_license_button_text = fs_text_inline( 'Renew license', 'renew-license', $slug );
+    $renew_license_button_text = is_object( $license ) ?
+        fs_text_inline( 'Renew license', 'renew-license', $slug ) :
+        fs_text_inline( 'Buy license', 'buy-license', $slug );
 
     fs_enqueue_local_style( 'fs_dialog_boxes', '/admin/dialog-boxes.css' );
 ?>
@@ -56,7 +78,7 @@
                 + '         <div class="fs-modal-panel active">' + modalContentHtml + '</div>'
                 + '     </div>'
                 + '     <div class="fs-modal-footer">'
-                + '         <a class="button button-primary button-renew-license" tabindex="3" href="<?php echo $fs->pricing_url() ?>"><?php echo esc_js( $renew_license_button_text ) ?></a>'
+                + '         <a class="button button-primary button-renew-license" tabindex="3" href="<?php echo $purchase_url ?>"><?php echo esc_js( $renew_license_button_text ) ?></a>'
                 + '         <button class="button button-secondary button-close" tabindex="4"><?php fs_esc_js_echo_inline( 'Cancel', 'cancel', $slug ) ?></button>'
                 + '     </div>'
                 + ' </div>'
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-metadata.php b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-metadata.php
index e77412fb2..d0dbf0f61 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-metadata.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/premium-versions-upgrade-metadata.php
@@ -14,6 +14,22 @@
      * @var Freemius $fs
      */
     $fs = freemius( $VARS['id'] );
+
+    $license = $fs->_get_license();
+
+    if ( ! is_object( $license ) ) {
+        $purchase_url = $fs->pricing_url();
+    } else {
+        $subscription = $fs->_get_subscription( $license->id );
+
+        $purchase_url = $fs->checkout_url(
+            is_object( $subscription ) ?
+                ( 1 == $subscription->billing_cycle ? WP_FS__PERIOD_MONTHLY : WP_FS__PERIOD_ANNUALLY ) :
+                WP_FS__PERIOD_LIFETIME,
+            false,
+            array( 'licenses' => $license->quota )
+        );
+    }
 ?>
 <script type="text/javascript">
 (function( $ ) {
@@ -22,7 +38,7 @@
 
         $premiumVersionCheckbox.addClass( 'license-expired' );
         $premiumVersionCheckbox.data( 'plugin-name', <?php echo json_encode( $fs->get_plugin_data()['Name'] ) ?> );
-        $premiumVersionCheckbox.data( 'pricing-url', <?php echo json_encode( $fs->pricing_url() ) ?> );
+        $premiumVersionCheckbox.data( 'pricing-url', <?php echo json_encode( $purchase_url ) ?> );
         $premiumVersionCheckbox.data( 'new-version', <?php echo json_encode( $VARS['new_version'] ) ?> );
     });
 })( jQuery );
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/forms/subscription-cancellation.php b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/subscription-cancellation.php
new file mode 100644
index 000000000..fe15b6b6b
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/forms/subscription-cancellation.php
@@ -0,0 +1,277 @@
+<?php
+/**
+ * @package   Freemius
+ * @copyright Copyright (c) 2015, Freemius, Inc.
+ * @license   https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
+ * @since     2.2.1
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+    exit;
+}
+
+/**
+ * @var array $VARS
+ */
+$fs   = freemius( $VARS['id'] );
+$slug = $fs->get_slug();
+
+/**
+ * @var FS_Plugin_License $license
+ */
+$license = $VARS['license'];
+
+$has_trial = $VARS['has_trial'];
+
+$subscription_cancellation_context = $has_trial ?
+    fs_text_inline( 'trial', 'trial', $slug ) :
+    fs_text_inline( 'subscription', 'subscription', $slug );
+
+$plan         = $fs->get_plan();
+$module_label = $fs->get_module_label( true );
+
+if ( $VARS['is_license_deactivation'] ) {
+    $subscription_cancellation_text = '';
+} else {
+    $subscription_cancellation_text = sprintf(
+        fs_text_inline(
+            "Deactivating or uninstalling the %s will automatically disable the license, which you'll be able to use on another site.",
+            'deactivation-or-uninstall-message',
+            $slug
+        ),
+        $module_label
+    ) . ' ';
+}
+
+    $subscription_cancellation_text .= sprintf(
+    fs_text_inline(
+        'In case you are NOT planning on using this %s on this site (or any other site) - would you like to cancel the %s as well?',
+        'cancel-subscription-message',
+        $slug
+    ),
+    ( $VARS['is_license_deactivation'] ? fs_text_inline( 'license', 'license', $slug ) : $module_label ),
+    $subscription_cancellation_context
+);
+
+$cancel_subscription_action_label = sprintf(
+    fs_esc_html_inline(
+        "Cancel %s - I no longer need any security & feature updates, nor support for %s because I'm not planning to use the %s on this, or any other site.",
+        'cancel-x',
+        $slug
+    ),
+    esc_html( $subscription_cancellation_context ),
+    sprintf( '<strong>%s</strong>', esc_html( $fs->get_plugin_title() ) ),
+    esc_html( $module_label )
+);
+
+$keep_subscription_active_action_label = esc_html( sprintf(
+    fs_text_inline(
+        "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support.",
+        'dont-cancel-x',
+        $slug
+    ),
+    $subscription_cancellation_context
+) );
+
+$subscription_cancellation_text = esc_html( $subscription_cancellation_text );
+
+$subscription_cancellation_html = <<< HTML
+    <div class="notice notice-error inline"><p></p></div><p>{$subscription_cancellation_text}</p>
+    <ul class="subscription-actions">
+        <li>
+            <label>
+                <input type="radio" name="cancel-subscription" value="false"/>
+                <span>{$keep_subscription_active_action_label}</span>
+            </label>
+        </li>
+        <li>
+            <label>
+                <input type="radio" name="cancel-subscription" value="true"/>
+                <span>{$cancel_subscription_action_label}</span>
+            </label>
+        </li>
+    </ul>
+HTML;
+
+$downgrading_plan_text                      = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
+$cancelling_subscription_text               = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
+/* translators: %1s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
+$downgrade_x_confirm_text                   = fs_text_inline( '%1s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
+$prices_increase_text                       = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
+$after_downgrade_non_blocking_text          = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
+$after_downgrade_blocking_text              = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
+$after_downgrade_blocking_text_premium_only = fs_text_inline( 'Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license.', 'after-downgrade-blocking-premium-only', $slug );
+
+$subscription_cancellation_confirmation_message = $has_trial ?
+    fs_text_inline( 'Cancelling the trial will immediately block access to all premium features. Are you sure?', 'cancel-trial-confirm', $slug ) :
+    sprintf(
+        '%s %s %s %s',
+        sprintf(
+            $downgrade_x_confirm_text,
+            ($fs->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
+            $plan->title,
+            human_time_diff( time(), strtotime( $license->expiration ) )
+        ),
+        (
+        $license->is_block_features ?
+            (
+                $fs->is_only_premium() ?
+                    sprintf( $after_downgrade_blocking_text_premium_only, $module_label ) :
+                    sprintf( $after_downgrade_blocking_text, $plan->title )
+            ) :
+            sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs->get_module_label( true ) )
+        ),
+        $prices_increase_text,
+        fs_esc_attr_inline( 'Are you sure you want to proceed?', 'proceed-confirmation', $slug )
+    );
+
+fs_enqueue_local_style( 'fs_dialog_boxes', '/admin/dialog-boxes.css' );
+?>
+<script type="text/javascript">
+    (function( $ ) {
+        var modalHtml =
+            '<div class="fs-modal fs-modal-subscription-cancellation fs-modal-subscription-cancellation-<?php echo $fs->get_id() ?>">'
+            + '	<div class="fs-modal-dialog">'
+            + '		<div class="fs-modal-header">'
+            + '		    <h4><?php echo esc_attr( sprintf( fs_text_inline( 'Cancel %s?', 'cancel-x', $slug ), ucfirst( $subscription_cancellation_context ) ) ) ?></h4>'
+            + '		</div>'
+            + '		<div class="fs-modal-body">'
+            + '			<div class="fs-modal-panel active">' + <?php echo json_encode( $subscription_cancellation_html ) ?> + '<p class="fs-price-increase-warning" style="display: none;">' + <?php echo json_encode( $prices_increase_text ) ?> + '</p></div>'
+            + '		</div>'
+            + '		<div class="fs-modal-footer">'
+            + '			<a href="#" class="button button-secondary button-close"><?php fs_esc_attr_echo( 'cancel', $slug ) ?></a>'
+            + '			<a href="#" class="button button-primary button-deactivate disabled"><?php fs_esc_attr_echo_inline( 'Proceed', 'proceed', $slug ) ?></a>'
+            + '		</div>'
+            + '	</div>'
+            + '</div>',
+            $modal    = $(modalHtml);
+
+        $modal.appendTo($('body'));
+
+        registerEventHandlers();
+
+        function registerEventHandlers() {
+            $modal.on( 'showModal', function() {
+                showModal();
+            });
+
+            $modal.on( 'closeModal', function() {
+                closeModal();
+            });
+
+            $modal.on('click', '.fs-modal-footer .button', function (evt) {
+                evt.preventDefault();
+
+                if ($(this).hasClass('disabled')) {
+                    return;
+                }
+
+                var _this                                   = $(this),
+                    subscriptionCancellationActionEventName = <?php echo json_encode( $fs->get_action_tag( 'subscription_cancellation_action' ) ) ?>;
+
+                if ( _this.hasClass( 'button-primary' ) ) {
+                    if ( 'true' !== $( 'input[name="cancel-subscription"]:checked' ).val() ) {
+                        $modal.trigger( subscriptionCancellationActionEventName, false );
+                    } else {
+                        if ( confirm( <?php echo json_encode( $subscription_cancellation_confirmation_message ) ?> ) ) {
+                            $modal.trigger( subscriptionCancellationActionEventName, true );
+                        }
+                    }
+                }
+            });
+
+            $modal.on('click', 'input[type="radio"]', function () {
+                var
+                    $selectedOption = $( this ),
+                    $primaryButton  = $modal.find( '.button-primary' ),
+                    isSelected      = ( 'true' === $selectedOption.val() );
+
+                if ( isSelected ) {
+                    $primaryButton.html( <?php echo json_encode( sprintf(
+                        fs_text_inline( 'Cancel %s & Proceed', 'cancel-x-and-proceed', $slug ),
+                        ucfirst( $subscription_cancellation_context )
+                    ) ) ?> );
+
+                    $modal.find('.fs-price-increase-warning').show();
+                } else {
+                    $primaryButton.html( <?php echo fs_json_encode_echo_inline( 'Proceed', 'proceed', $slug ) ?> );
+                    $modal.find('.fs-price-increase-warning').hide();
+                }
+
+                $primaryButton.toggleClass( 'warn', isSelected );
+                $primaryButton.removeClass( 'disabled' );
+            });
+
+            // If the user has clicked outside the window, cancel it.
+            $modal.on('click', function (evt) {
+                var $target = $(evt.target);
+
+                // If the user has clicked anywhere in the modal dialog, just return.
+                if ($target.hasClass('fs-modal-body') || $target.hasClass('fs-modal-footer')) {
+                    return;
+                }
+
+                // If the user has not clicked the close button and the clicked element is inside the modal dialog, just return.
+                if (
+                    ( ! $target.hasClass( 'button-close' ) ) &&
+                    ( $target.parents( '.fs-modal-body' ).length > 0 || $target.parents( '.fs-modal-footer' ).length > 0 )
+                ) {
+                    return;
+                }
+
+                closeModal();
+
+                return false;
+            });
+        }
+
+        function showModal() {
+            resetModal();
+
+            // Display the dialog box.
+            $modal.addClass('active');
+
+            $('body').addClass('has-fs-modal');
+        }
+
+        function closeModal() {
+            var activeModalsCount = $( '.fs-modal.active' ).length;
+
+            $modal.removeClass('active');
+
+            // If child modal, do not remove the "has-fs-modal" class of the <body> element to keep its scrollbars hidden.
+            if ( activeModalsCount > 1 ) {
+                return;
+            }
+
+            $('body').removeClass('has-fs-modal');
+        }
+
+        function resetModal() {
+            updateButtonLabels();
+
+            if ( 0 === $modal.find( '.subscription-actions' ).length ) {
+                $modal.find('.button-deactivate').removeClass('disabled');
+            } else {
+                $modal.find('.button-deactivate').addClass('disabled');
+            }
+
+            $modal.find('.fs-price-increase-warning').hide();
+
+            // Uncheck all radio buttons.
+            $modal.find('input[type="radio"]').prop('checked', false);
+
+            $modal.find('.message').hide();
+        }
+
+        function showMessage(message) {
+            $modal.find('.message').text(message).show();
+        }
+
+        function updateButtonLabels() {
+            $modal.find('.button-primary').text( <?php fs_json_encode_echo_inline( 'Proceed', 'proceed', $slug ) ?> );
+
+            $modal.find('.button-secondary').text( <?php fs_json_encode_echo( 'cancel', $slug ) ?> );
+        }
+    })( jQuery );
+</script>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/pricing.php b/wp-content/plugins/nextgen-gallery/freemius/templates/pricing.php
index b657028a7..90758a04d 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/pricing.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/pricing.php
@@ -105,7 +105,7 @@
 	}
 ?>
 	<div id="fs_pricing" class="wrap fs-section fs-full-size-wrapper">
-		<div id="frame"></div>
+		<div id="fs_frame"></div>
 		<form action="" method="POST">
 			<input type="hidden" name="user_id"/>
 			<input type="hidden" name="user_email"/>
@@ -128,7 +128,7 @@
 
 					// Append the I-frame into the DOM.
 					frame = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')
-						.appendTo('#frame');
+						.appendTo('#fs_frame');
 
 					FS.PostMessage.init(base_url, [frame[0]]);
 
diff --git a/wp-content/plugins/nextgen-gallery/freemius/templates/tabs.php b/wp-content/plugins/nextgen-gallery/freemius/templates/tabs.php
index 4661ee11d..e57e36df9 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/templates/tabs.php
+++ b/wp-content/plugins/nextgen-gallery/freemius/templates/tabs.php
@@ -30,6 +30,10 @@
                     'support' :
                     $item['menu_slug'];
 
+                if ( 'pricing' === $submenu_name && ! $fs->is_pricing_page_visible() ) {
+                    continue;
+                }
+
                 if ( ! $is_free_wp_org_theme || ! $fs->is_submenu_item_visible( $submenu_name, true ) ) {
                     continue;
                 }
diff --git a/wp-content/plugins/nextgen-gallery/nggallery.php b/wp-content/plugins/nextgen-gallery/nggallery.php
index 5228f93bd..c0d94b4af 100644
--- a/wp-content/plugins/nextgen-gallery/nggallery.php
+++ b/wp-content/plugins/nextgen-gallery/nggallery.php
@@ -3,8 +3,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
 
 /**
  * Plugin Name: NextGEN Gallery
- * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 24 million downloads.
- * Version: 3.1.6
+ * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 25 million downloads.
+ * Version: 3.2.2
  * Author: Imagely
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
  * Author URI: https://www.imagely.com
@@ -391,8 +391,12 @@ class C_NextGEN_Bootstrap
 	 */
 	function _register_hooks()
 	{
-		// Register the deactivation routines
-		add_action('deactivate_'.NGG_PLUGIN_BASENAME, array(get_class(), 'deactivate'));
+		// Register the (de)activation routines
+		add_action('deactivate_' . NGG_PLUGIN_BASENAME, array(get_class(), 'deactivate'));
+		add_action('activate_'   . NGG_PLUGIN_BASENAME, array(get_class(), 'activate'), -10);
+		
+		// Handle activation redirect to overview page
+		add_action('init', array($this, 'handle_activation_redirect'));
 
 		// Register our test suite
 		add_filter('simpletest_suites', array(&$this, 'add_testsuite'));
@@ -450,6 +454,14 @@ class C_NextGEN_Bootstrap
 		return $enabled;
 	}
 
+	function handle_activation_redirect()
+	{
+		if (get_transient('ngg-activated')) {
+			delete_transient('ngg-activated');
+			wp_redirect(admin_url("?page=nextgen-gallery"));
+		}
+	}
+
 	function fix_autoupdate_api_requests($args, $url)
 	{
 		// Is this an HTTP request to the licensing server?
@@ -654,13 +666,50 @@ class C_NextGEN_Bootstrap
 	/**
 	 * Run the uninstaller
 	 */
-	static function deactivate()
+	public static function deactivate()
 	{
         include_once('products/photocrati_nextgen/class.nextgen_product_installer.php');
         C_Photocrati_Installer::add_handler(NGG_PLUGIN_BASENAME, 'C_NextGen_Product_Installer');
 		C_Photocrati_Installer::uninstall(NGG_PLUGIN_BASENAME);
 	}
 
+	public static function set_role_caps()
+	{
+		// Set the capabilities for the administrator
+        $role = get_role('administrator');
+
+        // We need this role, no other chance
+        if (empty($role))
+        {
+            update_option("ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery"));
+            return;
+        }
+
+        $capabilities = array(
+            'NextGEN Attach Interface',
+            'NextGEN Change options',
+            'NextGEN Change style',
+            'NextGEN Edit album',
+            'NextGEN Gallery overview',
+            'NextGEN Manage gallery',
+            'NextGEN Manage others gallery',
+            'NextGEN Manage tags',
+            'NextGEN Upload images',
+            'NextGEN Use TinyMCE'
+        );
+
+        foreach ($capabilities as $capability) {
+            $role->add_cap($capability);
+		}
+	}
+
+	public static function activate()
+    {
+        self::set_role_caps();
+		
+		set_transient('ngg-activated', time(), 30);
+    }
+
 	/**
 	 * Defines necessary plugins for the plugin to load correctly
 	 */
@@ -668,7 +717,7 @@ class C_NextGEN_Bootstrap
 	{
 		define('NGG_PLUGIN', basename($this->directory_path()));
 		define('NGG_PLUGIN_BASENAME', plugin_basename(__FILE__));
-		define('NGG_PLUGIN_DIR', $this->directory_path());
+		define('NGG_PLUGIN_DIR', plugin_dir_path(__FILE__));
 		define('NGG_PLUGIN_URL', $this->path_uri());
 		define('NGG_TESTS_DIR',   implode(DIRECTORY_SEPARATOR, array(rtrim(NGG_PLUGIN_DIR, "/\\"), 'tests')));
 		define('NGG_PRODUCT_DIR', implode(DIRECTORY_SEPARATOR, array(rtrim(NGG_PLUGIN_DIR, "/\\"), 'products')));
@@ -676,12 +725,14 @@ class C_NextGEN_Bootstrap
 		define('NGG_PRODUCT_URL', path_join(str_replace("\\" , '/', NGG_PLUGIN_URL), 'products'));
 		define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
 		define('NGG_PLUGIN_STARTED_AT', microtime());
-		define('NGG_PLUGIN_VERSION', '3.1.6');
+		define('NGG_PLUGIN_VERSION', '3.2.2');
 
-		if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
-			define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
-		else
-			define('NGG_SCRIPT_VERSION', NGG_PLUGIN_VERSION);
+		define(
+			'NGG_SCRIPT_VERSION',
+			defined('SCRIPT_DEBUG') && SCRIPT_DEBUG
+				? (string)mt_rand(0, mt_getrandmax())
+				: NGG_PLUGIN_VERSION
+		);
 
 		if (!defined('NGG_HIDE_STRICT_ERRORS')) {
 			define('NGG_HIDE_STRICT_ERRORS', TRUE);
@@ -739,6 +790,11 @@ class C_NextGEN_Bootstrap
 		if (!defined('NGG_POPE_CACHE')) {
 			define('NGG_POPE_CACHE', FALSE);
 		}
+
+		// Where are galleries restricted to?
+		if (!defined('NGG_GALLERY_ROOT_TYPE')) {
+			define('NGG_GALLERY_ROOT_TYPE', 'site'); // "content" is the other possible value
+		}
 	}
 
 	/**
@@ -802,36 +858,6 @@ class C_NextGEN_Bootstrap
 	 */
 	function get_plugin_location()
 	{
-		$path = dirname(__FILE__);
-		$gallery_dir = strtolower($path);
-		$gallery_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $gallery_dir);
-
-		$theme_dir = strtolower(get_stylesheet_directory());
-		$theme_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $theme_dir);
-
-		$plugin_dir = strtolower(WP_PLUGIN_DIR);
-		$plugin_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $plugin_dir);
-
-		$common_dir_theme = substr($gallery_dir, 0, strlen($theme_dir));
-		$common_dir_plugin = substr($gallery_dir, 0, strlen($plugin_dir));
-
-		if ($common_dir_theme == $theme_dir)
-		{
-			return 'theme';
-		}
-
-		if ($common_dir_plugin == $plugin_dir)
-		{
-			return 'plugin';
-		}
-
-		$parent_dir = dirname($path);
-
-		if (file_exists($parent_dir . DIRECTORY_SEPARATOR . 'style.css'))
-		{
-			return 'theme';
-		}
-
 		return 'plugin';
 	}
 
@@ -989,10 +1015,10 @@ function ngg_fs( $activate_for_all = false ) {
 				$run_freemius = true;
 			} else {
 				// Run Freemius code on 20% of the new installations.
-			// $random = rand( 1, 10 );
-			// $run_freemius = ( 1 <= $random && $random <= 2 );
-            // Update 2016-08: run on all new instances
-            $run_freemius = TRUE;
+				// $random = rand( 1, 10 );
+				// $run_freemius = ( 1 <= $random && $random <= 2 );
+				// Update 2016-08: run on all new instances
+				$run_freemius = true;
 			}
 
 			update_option( 'ngg_run_freemius', $run_freemius );
@@ -1004,13 +1030,13 @@ function ngg_fs( $activate_for_all = false ) {
 		} else {
 			// Don't run Freemius for plugin updates.
 			$run_freemius = false;
-		if (is_null($ngg_run_freemius))
-			update_option('ngg_run_freemius', FALSE);
-		}
+			if (is_null($ngg_run_freemius))
+				update_option('ngg_run_freemius', FALSE);
+			}
 
-		if ( ! $run_freemius ) {
-			return false;
-		}
+			if ( ! $run_freemius ) {
+				return false;
+			}
 	}
 
 	if ( ! isset( $ngg_fs ) ) {
@@ -1054,9 +1080,10 @@ function ngg_fs( $activate_for_all = false ) {
 	return $ngg_fs;
 }
 
-// Init Freemius.
-ngg_fs();
+// // Init Freemius.
+// Update 2019-03-19: don't run on any instances
+// ngg_fs();
 
-#endregion Freemius
+// #endregion Freemius
 
 new C_NextGEN_Bootstrap();
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php
index 645e0a517..3b749334d 100644
--- a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php
+++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php
@@ -126,9 +126,9 @@ if (!class_exists('C_Photocrati_Installer'))
             $global_settings    = C_NextGen_Global_Settings::get_instance();
 
             // Somehow some installations are missing several default settings
-            // Because gallerystorage_driver is essential to know we do a 'soft' reset here
+            // Because imgWidth is essential to know we do a 'soft' reset here
             // by filling in any missing options from the default settings
-            if (is_null($local_settings->gallerystorage_driver)) {
+            if (!$local_settings->imgWidth) {
                 $settings_installer = new C_NextGen_Settings_Installer();
 
                 $local_settings->reset();
@@ -188,10 +188,9 @@ if (!class_exists('C_Photocrati_Installer'))
                     apc_clear_cache();
                 }
 
-				// We flush ALL transients
+				// Clear all of our transients
 				wp_cache_flush();
-				global $wpdb;
-				$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient%'");
+                C_Photocrati_Transient_Manager::flush();
 
 				// Remove all NGG created cron jobs
 				self::refresh_cron();
@@ -225,6 +224,9 @@ if (!class_exists('C_Photocrati_Installer'))
 				// Save any changes settings
 				$global_settings->save();
 				$local_settings->save();
+
+				// Set role capabilities
+				self::set_role_caps();
             }
 
             // Another workaround to an issue caused by NextGen's lack of multisite compatibility. It's possible
@@ -246,6 +248,36 @@ if (!class_exists('C_Photocrati_Installer'))
 			}
 		}
 
+		public static function set_role_caps()
+		{
+			// Set the capabilities for the administrator
+			$role = get_role('administrator');
+	
+			// We need this role, no other chance
+			if (empty($role))
+			{
+				update_option("ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery"));
+				return;
+			}
+	
+			$capabilities = array(
+				'NextGEN Attach Interface',
+				'NextGEN Change options',
+				'NextGEN Change style',
+				'NextGEN Edit album',
+				'NextGEN Gallery overview',
+				'NextGEN Manage gallery',
+				'NextGEN Manage others gallery',
+				'NextGEN Manage tags',
+				'NextGEN Upload images',
+				'NextGEN Use TinyMCE'
+			);
+	
+			foreach ($capabilities as $capability) {
+				$role->add_cap($capability);
+			}
+		}		
+
         static function _get_last_module_list($reset=FALSE)
         {
             // Return empty array to reset
diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php
index b557b1bf3..3810d22bb 100755
--- a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php
+++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php
@@ -81,7 +81,7 @@ class C_Component_Registry
      */
     function add_module_path($path, $recurse = false, $load_all = false)
     {
-	    if (!$recurse || (!$this->has_searched_path_before($path))) {
+	    if (!preg_match("/(lib|libs|include|includes|static|templates)$/", $path) && (!$recurse || (!$this->has_searched_path_before($path)))) {
 
 		    // If no default module path has been set, then set one now
 		    if ($this->get_default_module_path() == null)  {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php
index 0f251b850..5b0f318a4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php
@@ -79,6 +79,20 @@ class C_NextGen_Product_Installer
                 unset($pope_modules_list[$search]);
         }
 
+        // TODO: remove this also. NextGen Plus should also be updated in a separate release
+        if (defined('NGG_PLUS_PLUGIN_VERSION'))
+            $plus_version = 'NGG_PLUS_PLUGIN_VERSION';
+        if (FALSE !== $plus_version)
+            $plus_version = constant($plus_version);
+
+        if (FALSE !== $plus_version)
+        {
+            $pope_modules_list = $this->_filter_modules($pope_modules_list, $this->get_modules_to_load_for('photocrati-nextgen-plus'));
+            $search = array_search('photocrati-nextgen-plus|' . $plus_version, $pope_modules_list);
+            if (FALSE !== $search)
+                unset($pope_modules_list[$search]);
+        }
+
         if (empty($pope_modules_list))
             delete_option('pope_module_list');
         else
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php
index af44ddfb3..a6500592b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php
@@ -17,7 +17,7 @@ class M_Ajax extends C_Base_Module
             'photocrati-ajax',
             'AJAX',
             'Provides AJAX functionality',
-            '3.0.0',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/package.module.ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/package.module.ajax.php
index b115eb7f4..240e481bf 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/package.module.ajax.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/package.module.ajax.php
@@ -59,19 +59,12 @@ class C_Ajax_Controller extends C_MVC_Controller
         }
         return self::$_instances[$context];
     }
-    function validate_ajax_request($action = NULL, $check_token = false)
+    function validate_ajax_request($action = NULL, $token = false)
     {
-        // TODO: remove this. Pro 2.1's proofing calls validate_ajax_request() with a null $action
-        if (!$action) {
-            return TRUE;
+        if ($token === TRUE) {
+            $token = isset($_REQUEST['nonce']) ? $_REQUEST['nonce'] : FALSE;
         }
-        $valid_request = false;
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
-        $sec_token = $security->get_request_token($action);
-        if ($sec_actor->is_allowed($action) && (!$check_token || $sec_token->check_current_request())) {
-            $valid_request = true;
-        }
-        return $valid_request;
+        // TODO: Remove !$action condition. Necessary for Proofing at the moment
+        return (!$action || M_Security::is_allowed($action)) && (!$token || M_Security::verify_nonce($token, $action));
     }
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php
index 5524d4b52..6f774a602 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php
@@ -1,7 +1,7 @@
 <?php
 
 define('NGG_ATTACH_TO_POST_SLUG', 'nextgen-attach_to_post');
-define('NGG_ATTACH_TO_POST_VERSION', '3.1.4.2');
+define('NGG_ATTACH_TO_POST_VERSION', '3.1.19.1');
 
 class M_Attach_To_Post extends C_Base_Module
 {
@@ -249,11 +249,9 @@ class M_Attach_To_Post extends C_Base_Module
 	
 	function add_media_button()
 	{
-        $security  = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
         if (in_array(FALSE, array(
-            $sec_actor->is_allowed('NextGEN Attach Interface'),
-            $sec_actor->is_allowed('NextGEN Use TinyMCE'))))
+            M_Security::is_allowed('NextGEN Attach Interface'),
+            M_Security::is_allowed('NextGEN Use TinyMCE'))))
             return;
 
 		$router = C_Router::get_instance();
@@ -403,11 +401,9 @@ class M_Attach_To_Post extends C_Base_Module
 
 	function can_use_tinymce()
 	{
-		$security   = $this->get_registry()->get_utility('I_Security_Manager');
-		$sec_actor  = $security->get_current_actor();
 		$checks = array(
-			$sec_actor->is_allowed('NextGEN Attach Interface'),
-			$sec_actor->is_allowed('NextGEN Use TinyMCE'),
+			M_Security::is_allowed('NextGEN Attach Interface'),
+			M_Security::is_allowed('NextGEN Use TinyMCE'),
 			get_user_option('rich_editing') == 'true'
 		);
 		return !in_array(FALSE, $checks);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php
index 58148c139..20868dad6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php
@@ -445,7 +445,6 @@ class Mixin_Attach_To_Post extends Mixin
         $image_mapper = $this->get_registry()->get_utility('I_Image_Mapper', $context);
         $display_type_mapper = $this->get_registry()->get_utility('I_Display_Type_Mapper', $context);
         $sources = C_Displayed_Gallery_Source_Manager::get_instance();
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
         $settings = C_NextGen_Settings::get_instance();
         // Get the nextgen tags
         global $wpdb;
@@ -456,6 +455,7 @@ class Mixin_Attach_To_Post extends Mixin
         array_unshift($tags, $all_tags);
         $display_types = array();
         $registry = C_Component_Registry::get_instance();
+        $display_type_mapper->flush_query_cache();
         foreach ($display_type_mapper->find_all() as $display_type) {
             if (isset($display_type->hidden_from_igw) && $display_type->hidden_from_igw || isset($display_type->hidden_from_ui) && $display_type->hidden_from_ui) {
                 continue;
@@ -464,12 +464,25 @@ class Mixin_Attach_To_Post extends Mixin
             if (!apply_filters('ngg_atp_show_display_type', $available, $display_type)) {
                 continue;
             }
+            // Some display types were saved with values like "nextgen-gallery-pro/modules/nextgen_pro_imagebrowser/static/preview.jpg"
+            // as the preview_image_relpath property
+            if (strpos($display_type->preview_image_relpath, '#') === FALSE) {
+                $static_path = preg_replace("#^.*static/#", "", $display_type->preview_image_relpath);
+                $module_id = isset($display_type->module_id) ? $display_type->module_id : $display_type->name;
+                if ($module_id == 'photocrati-nextgen_basic_slideshow') {
+                    $display_type->module_id = $module_id = 'photocrati-nextgen_basic_gallery';
+                }
+                $display_type->preview_image_relpath = "{$module_id}#{$static_path}";
+                $display_type_mapper->save($display_type);
+                $display_type_mapper->flush_query_cache();
+            }
+            $display_type->preview_image_url = M_Static_Assets::get_static_url($display_type->preview_image_relpath);
             $display_types[] = $display_type;
         }
         usort($display_types, array($this->object, '_display_type_list_sort'));
         wp_enqueue_script('ngg_display_tab', $this->get_static_url('photocrati-attach_to_post#display_tab.js'), array('jquery', 'backbone', 'photocrati_ajax'), NGG_SCRIPT_VERSION);
         $this->object->mark_script('ngg_display_tab');
-        wp_localize_script('ngg_display_tab', 'igw_data', array('displayed_gallery_preview_url' => $settings->gallery_preview_url, 'displayed_gallery' => $this->object->_displayed_gallery->get_entity(), 'sources' => $sources->get_all(), 'gallery_primary_key' => $gallery_mapper->get_primary_key_column(), 'galleries' => $gallery_mapper->find_all(), 'albums' => $album_mapper->find_all(), 'tags' => $tags, 'display_types' => $display_types, 'sec_token' => $security->get_request_token('nextgen_edit_displayed_gallery')->get_json(), 'image_primary_key' => $image_mapper->get_primary_key_column(), 'display_type_priority_base' => NGG_DISPLAY_PRIORITY_BASE, 'display_type_priority_step' => NGG_DISPLAY_PRIORITY_STEP, 'shortcode_ref' => isset($_REQUEST['ref']) ? floatval($_REQUEST['ref']) : null, 'shortcode_defaults' => array('order_by' => $settings->galSort, 'order_direction' => $settings->galSortDir, 'returns' => 'included', 'maximum_entity_count' => $settings->maximum_entity_count), 'shortcode_attr_replacements' => array('source' => 'src', 'container_ids' => 'ids', 'display_type' => 'display'), 'i18n' => array('sources' => __('Are you inserting a Gallery (default), an Album, or images based on Tags?', 'nggallery'), 'optional' => __('(optional)', 'nggallery'), 'slug_tooltip' => __('Sets an SEO-friendly name to this gallery for URLs. Currently only in use by the Pro Lightbox', 'nggallery'), 'slug_label' => __('Slug', 'nggallery'), 'no_entities' => __('No entities to display for this source', 'nggallery'), 'exclude_question' => __('Exclude?', 'nggallery'), 'select_gallery' => __('Select a Gallery', 'nggallery'), 'galleries' => __('Select one or more galleries (click in box to see available galleries).', 'nggallery'), 'albums' => __('Select one album (click in box to see available albums).', 'nggallery'))));
+        wp_localize_script('ngg_display_tab', 'igw_data', array('displayed_gallery_preview_url' => $settings->gallery_preview_url, 'displayed_gallery' => $this->object->_displayed_gallery->get_entity(), 'sources' => $sources->get_all(), 'gallery_primary_key' => $gallery_mapper->get_primary_key_column(), 'galleries' => $gallery_mapper->find_all(), 'albums' => $album_mapper->find_all(), 'tags' => $tags, 'display_types' => $display_types, 'nonce' => M_Security::create_nonce('nextgen_edit_displayed_gallery'), 'image_primary_key' => $image_mapper->get_primary_key_column(), 'display_type_priority_base' => NGG_DISPLAY_PRIORITY_BASE, 'display_type_priority_step' => NGG_DISPLAY_PRIORITY_STEP, 'shortcode_ref' => isset($_REQUEST['ref']) ? floatval($_REQUEST['ref']) : null, 'shortcode_defaults' => array('order_by' => $settings->galSort, 'order_direction' => $settings->galSortDir, 'returns' => 'included', 'maximum_entity_count' => $settings->maximum_entity_count), 'shortcode_attr_replacements' => array('source' => 'src', 'container_ids' => 'ids', 'display_type' => 'display'), 'i18n' => array('sources' => __('Are you inserting a Gallery (default), an Album, or images based on Tags?', 'nggallery'), 'optional' => __('(optional)', 'nggallery'), 'slug_tooltip' => __('Sets an SEO-friendly name to this gallery for URLs. Currently only in use by the Pro Lightbox', 'nggallery'), 'slug_label' => __('Slug', 'nggallery'), 'no_entities' => __('No entities to display for this source', 'nggallery'), 'exclude_question' => __('Exclude?', 'nggallery'), 'select_gallery' => __('Select a Gallery', 'nggallery'), 'galleries' => __('Select one or more galleries (click in box to see available galleries).', 'nggallery'), 'albums' => __('Select one album (click in box to see available albums).', 'nggallery'))));
     }
     function start_resource_monitoring()
     {
@@ -603,18 +616,16 @@ class Mixin_Attach_To_Post extends Mixin
     function _get_main_tabs()
     {
         $retval = array();
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
-        if ($sec_actor->is_allowed('NextGEN Manage gallery')) {
+        if (M_Security::is_allowed('NextGEN Manage gallery')) {
             $retval['displayed_tab'] = array('content' => $this->object->_render_display_tab(), 'title' => __('Insert Into Page', 'nggallery'));
         }
-        if ($sec_actor->is_allowed('NextGEN Upload images')) {
+        if (M_Security::is_allowed('NextGEN Upload images')) {
             $retval['create_tab'] = array('content' => $this->object->_render_create_tab(), 'title' => __('Upload Images', 'nggallery'));
         }
-        if ($sec_actor->is_allowed('NextGEN Manage others gallery') && $sec_actor->is_allowed('NextGEN Manage gallery')) {
+        if (M_Security::is_allowed('NextGEN Manage others gallery') && M_Security::is_allowed('NextGEN Manage gallery')) {
             $retval['galleries_tab'] = array('content' => $this->object->_render_galleries_tab(), 'title' => __('Manage Galleries', 'nggallery'));
         }
-        if ($sec_actor->is_allowed('NextGEN Edit album')) {
+        if (M_Security::is_allowed('NextGEN Edit album')) {
             $retval['albums_tab'] = array('content' => $this->object->_render_albums_tab(), 'title' => __('Manage Albums', 'nggallery'));
         }
         // if ($sec_actor->is_allowed('NextGEN Manage tags')) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css
index a1429dc90..fe4ec994c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css
@@ -74,8 +74,11 @@ body {
 
 #attach_to_post_tabs h3 {
 	text-transform: uppercase;
-	color: #666;
+    color: black;
     margin-top: 0;
+    letter-spacing: 2px;
+    font-size: 18px;
+    font-weight: 900;
 }
 
 h3#choose_display {
@@ -155,8 +158,6 @@ table {
 /* 2. IGW Sidebar */
 
 #attach_to_post_tabs .ui-tabs-icon {
-	background: #133148;
-	border-right: 1px solid #9cbe1b;;
 	box-sizing: border-box;
     color: #fff;
     font-family: Lato, sans-serif;
@@ -175,8 +176,8 @@ table {
 }
 
 #attach_to_post_tabs img.attach_to_post_logo {
-    height: 45px;
-    padding: 20px 0 10px;
+    height: 80px;
+    padding: 50px 0 30px;
     float: right;
     margin-right: 26px;
 }
@@ -185,7 +186,7 @@ table {
     border: none;
     background: transparent;
     padding: 0;
-    margin-top: 90px;
+    margin-top: 110px;
     list-style: none;
 }
 
@@ -199,15 +200,9 @@ table {
 	width: 100%;
 	border-radius: 0;
     box-sizing: border-box;
-    border-bottom: 1px solid #344a59;
     padding: 24px 30px 24px 20px;
 }
 
-#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active {
-    background: #2b4d65;
-    background: #9dbd1b;
-}
-
 #attach_to_post_tabs .ui-tabs-nav li.ui-state-focus, 
 #attach_to_post_tabs .ui-tabs-nav li.ui-state-active, 
 #attach_to_post_tabs .ui-tabs-nav li:focus, 
@@ -219,7 +214,7 @@ table {
 /* TODO: consolidate when plupload is upgraded */
 #attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1) {
     list-style: none;
-    border-top: 1px solid #344a59;
+    /*border-top: 1px solid #344a59;*/
 }
 #attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2) {
     list-style: none;
@@ -232,44 +227,20 @@ table {
     display: list-item;
 }
 
-/* Because the upload-images tab is removed on iOS we must position this divider bar differently */
-/*#attach_to_post_tabs.ngg_atp_ios_detected .ui-tabs-nav li:nth-of-type(1)::after {
-	border-bottom: 1px solid rgba(255,255,255,.2);
-	content: "";
-	display: block;
-	float: right;
-	margin: 24px 4px 20px 0;
-	position: static;
-	width: 90%;
-}*/
-
-/* This rule applies for all non-iOS browsers */
-/*#attach_to_post_tabs:not(.ngg_atp_ios_detected) .ui-tabs-nav li:nth-of-type(2)::after {
-    border-bottom: 1px solid rgba(255,255,255,.2);
-    content: "";
-    display: block;
-    float: right;
-    margin: 24px 4px 20px 0;
-    position: static;
-    width: 90%;
-}*/
-
 #attach_to_post_tabs .ui-tabs-nav li a {
-    color: #fff;
+    color: #555;
     float: right;
-    font-size: 16px;
-    letter-spacing: 0;
-    line-height: 1;
-    padding: 10px 5px 5px 0 !important;
-    text-transform: none;   
+    font-size: 13px;
+    font-weight: 400;
     font-family: lato, sans-serif;
+    letter-spacing: 1.5px;
+    line-height: 1;  
     text-transform: uppercase;
-    font-size: 13px;
-    letter-spacing: 1px;
-    font-weight: 700;
-    padding: 0 !important;
-    font-size: 12px;
-    letter-spacing: 1.2px;
+    padding: 0 !important;  
+}
+
+#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active {
+	border-left: 6px solid #9dbd1b;
 }
 
 #attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a, 
@@ -278,19 +249,9 @@ table {
 	cursor: pointer;
 }
 
-#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before {
-	border-right: solid .75em #fff;
-    border-top: solid 1.2em transparent;
-    border-bottom: solid 1.2em transparent;
-    content: '';
-    position: absolute;
-    top: 16px;
-    right: -3px;
-}
-
 #attach_to_post_tabs .ui-tabs-nav li a.active_tab {
-	color: #fff;
 	font-weight: 800;
+	color: black;
 }
 
 /* 3. Display Tab: General CSS */
@@ -312,62 +273,46 @@ table {
 #displayed_tab #ngg_page_content .ngg_page_content_menu {
     background: transparent;
     border: none;
-    padding: 10px 20px 10px 0;
+    padding: 0 20px 10px 27px;
     float: none;
     height: 25px;
     margin-top: 0;
     width: auto;
-    border-bottom: 1px solid #ddd;
-    background: #fafafa;
+    position: relative;
+    top: 100px;
 }
 
 #displayed_tab #ngg_page_content .ngg_page_content_menu a,
 #displayed_tab #ngg_page_content .ngg_page_content_menu a:active {
     border: none;
-    color: #888;
+    color: black;
     display: inline;
     font-size: 14px;
-    font-weight: 400;
+    font-weight: 300;
     text-decoration: none;
     line-height: 25px;
-    padding: 15px 20px;
+    padding: 4px;
     font-size: 12px;
     background: transparent;
-    /*border: none !important;*/
+    margin-right: 10px;
 }
 
 #displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active {
-	background: transparent;
-	font-weight: bold;
-	color: #123248;
-	border-left: 1px solid #ddd;
-    border-right: 1px solid #ddd;
-    border-bottom: 2px solid #fff;
-    background: #fff;
+	font-weight: 500;
+	color: black;
+	border-bottom: 3px solid #9ebc1b;
 }
 
 #displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after {
 	display:none;
 }
 
-/*#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after {
-    border-left: 8px solid transparent;
-    border-right: 8px solid transparent;
-    border-top: 6px solid #cad1d6;
-    border-top: 6px solid #123248;
-    content: " ";
-    position: absolute;
-    left: 45%;
-    display: inline;
-    top: 42px;
-}*/
-
 #displayed_tab #ngg_page_content .ngg_page_content_menu a:before {
 	display: none;
 }
 
 #displayed_tab #ngg_page_content .ngg_page_content_main {
-    padding: 30px;
+    padding: 20px 30px 30px;
     width: 100%;
     box-shadow: none;
 }
@@ -382,7 +327,7 @@ table {
     position: relative;
     top: -187px;
     left: 608px;
-    background: #123248;
+    background: black;
     color: #fff;
     border-bottom: 5px solid #9ebc1b;
     font-family: Lato,sans-serif;
@@ -408,19 +353,19 @@ table {
 
 #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main > div.ngg_igw_video {
 	display: block !important;
-	position: absolute;
-	left: 175px;
-    top: 69px;
+    position: absolute;
+    left: 280px;
+    top: 71px;
 }
 
 #displayed_tab .ngg_igw_video_open {	
-	background: #9ebc1b;
-	color: #fff;
-	cursor: pointer;
-	font-family: Lato, sans-serif;
-    font-size: 13px;
+	background: black;
+    cursor: pointer;
     margin: 0;
-    padding: 8px 10px;  
+    font-weight: 400;
+    height: 28px !important;
+    line-height: 28px !important;
+    font-size: 10px;
 }
 
 #displayed_tab .ngg_igw_video_inner {
@@ -430,29 +375,35 @@ table {
 }
 
 #displayed_tab .ngg_igw_video_close {
-    color: #9ebc1b;
     width: 100%;
     height: 50px;
     display: block;
-    background: #123248;
     text-align: center;
     line-height: 50px;
-    font-size: 15px;
-    font-weight: bold;
+    font-size: 13px;
+    font-weight: 600;
     cursor: pointer;
     font-family: Lato, sans-serif;
     letter-spacing: .5px;
-    background: #9ebc1b;
+    background: black;
     color: #fff;
+    text-transform: uppercase;
+    letter-spacing: 1.5px;
 }
 
 #displayed_tab .ngg_igw_video iframe {
-    width: 525px;
-    height: 295px !important;
+    width: 630px;
+    height: 350px !important;
     min-height: auto;
     margin-bottom: -3px;
 }
 
+#choose_display_content, 
+#display_settings_tab_content, 
+#preview_tab_content {
+	margin-top: 80px;
+}
+
 /* 3a. Display Tab: "Choose Display" Subtab **/
 
 #displayed_tab #displayed_gallery_source {
@@ -495,6 +446,12 @@ table {
 	line-height: 20px;
 }
 
+#displayed_tab #ngg_page_content .ngg_page_content_main .select2-selection--multiple, 
+#displayed_tab #ngg_page_content .ngg_page_content_main .select2-selection--single {
+    height: auto;
+    line-height: 21px;
+}
+
 .select2-container--default .select2-results__option--highlighted[aria-selected] {
     background-color: #9fbb1a;
 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css
index bb63f7250..79e4fab0d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css
@@ -1 +1 @@
-body,html,iframe{width:100%;padding:0}.ui-helper-reset,body,html,table{font-size:13px}body,html{height:100%;margin:0;overflow:hidden}body{position:absolute;visibility:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;height:100%}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}#attach_to_post_tabs{border:0;background:0 0;height:100%;overflow:hidden;padding:0;position:relative;visibility:visible}#attach_to_post_tabs #attach_to_post_tabs.ui-tabs-hide{display:block!important;visibility:hidden;position:absolute;top:-5000px}#attach_to_post_tabs h3{text-transform:uppercase;color:#666;margin-top:0}h3#choose_display{margin-bottom:24px}#attach_to_post_tabs .main_menu_tab{padding:0;position:absolute;left:220px;right:0;top:0;bottom:0}#attach_to_post_tabs.ngg_atp_ios_detected{overflow-y:scroll;-webkit-overflow-scrolling:touch}#attach_to_post_tabs .ui-widget-header{border:0;border-bottom:1px solid #dfdfdf;background:0 0}iframe{min-height:100%;border:none;margin:0;background:0 0}.chrome_70_hack_frames{z-index:100000000!important}.chrome_70_hack_noframes{z-index:0!important}.clear{clear:both;float:none}.select2-search input{width:100%!important}.select2-result-label{white-space:nowrap}.select2-results{font-family:'segoe ui',Arial,sans-serif;font-size:13px}.select2-container a{color:#444!important}#ngg_page_content .ngg_page_content_main .select2-container{width:100%!important;max-width:500px!important}#attach_to_post_tabs .ui-tabs-icon{background:#133148;border-right:1px solid #9cbe1b;box-sizing:border-box;color:#fff;font-family:Lato,sans-serif;float:none;font-size:20px;font-weight:700;height:100%;letter-spacing:1px;line-height:60px;margin-bottom:0;position:fixed;text-transform:uppercase;width:220px;padding:0}#attach_to_post_tabs img.attach_to_post_logo{height:45px;padding:20px 0 10px;float:right;margin-right:26px}#attach_to_post_tabs .ui-tabs-nav{border:none;background:0 0;padding:0;margin-top:90px;list-style:none}#attach_to_post_tabs .ui-tabs-nav li{background:0 0;border:none;display:block;height:auto;margin:0;width:100%;border-radius:0;box-sizing:border-box;border-bottom:1px solid #344a59;padding:24px 30px 24px 20px}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{background:#9dbd1b}#attach_to_post_tabs .ui-tabs-nav li.active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-focus,#attach_to_post_tabs .ui-tabs-nav li:focus{outline:0}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1){list-style:none;border-top:1px solid #344a59}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2){list-style:none}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(2) a,#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(1) a{display:list-item}#attach_to_post_tabs .ui-tabs-nav li a{color:#fff;float:right;line-height:1;font-family:lato,sans-serif;text-transform:uppercase;font-weight:700;padding:0!important;font-size:12px;letter-spacing:1.2px}#attach_to_post_tabs .ui-tabs-nav li.ui-state-disabled a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:pointer}#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before{border-right:solid .75em #fff;border-top:solid 1.2em transparent;border-bottom:solid 1.2em transparent;content:'';position:absolute;top:16px;right:-3px}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#fff;font-weight:800}#displayed_tab.main_menu_tab{overflow-y:scroll;overflow-x:hidden}#displayed_tab #ngg_page_content{margin:0;width:100%}#displayed_tab #attach_to_post_tabs .ngg_page_content_header{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu{border:none;padding:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto;border-bottom:1px solid #ddd;background:#fafafa}#displayed_tab #ngg_page_content .ngg_page_content_menu a,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{border:none;color:#888;display:inline;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px;font-size:12px;background:0 0}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{font-weight:700;color:#123248;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:2px solid #fff;background:#fff}#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after,#displayed_tab #ngg_page_content .ngg_page_content_menu a:before{display:none}#displayed_tab #ngg_page_content .ngg_page_content_main{padding:30px;width:100%;box-shadow:none}#displayed_tab #ngg_page_content.ngg_settings_page{border:none}#displayed_tab .ngg_igw_promo{display:block!important;padding:10px 20px;position:relative;top:-187px;left:608px;background:#123248;color:#fff;border-bottom:5px solid #9ebc1b;font-family:Lato,sans-serif;letter-spacing:.5px;box-sizing:border-box;width:200px;height:172px;margin-bottom:-170px}#displayed_tab .ngg_igw_promo a{text-decoration:none;font-weight:600}#displayed_tab .ngg_igw_coupon{font-size:12px;margin-top:47px;color:#7298b1}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video{display:block!important;position:absolute;left:175px;top:69px}#displayed_tab .ngg_igw_video_open{background:#9ebc1b;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:13px;margin:0;padding:8px 10px}#displayed_tab .ngg_igw_video_inner{display:none;box-shadow:0 0 10px 5px rgba(0,0,0,.2);background:#fff}#displayed_tab .ngg_igw_video_close{width:100%;height:50px;display:block;text-align:center;line-height:50px;font-size:15px;font-weight:700;cursor:pointer;font-family:Lato,sans-serif;letter-spacing:.5px;background:#9ebc1b;color:#fff}#displayed_tab .ngg_igw_video iframe{width:525px;height:295px!important;min-height:auto;margin-bottom:-3px}#displayed_tab #displayed_gallery_source{width:400px}#displayed_tab #display_tip{color:rgba(42,52,61,.6);display:block;font-size:14px;width:960px;max-width:100%;padding:10px 0 0}#displayed_tab #slug_configuration{display:none}#displayed_tab #slug_configuration td,#displayed_tab #source_configuration td{vertical-align:top;padding:4px 0!important;min-width:200px}#displayed_tab #source_configuration label{color:#777!important;font-size:13px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #source_configuration tr td:first-of-type{white-space:normal;line-height:1.2;width:265px}#displayed_tab #ngg_page_content .select2-container{width:250px!important;line-height:20px}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#9fbb1a}#displayed_tab #slug_configuration #slug_label{width:52px}#displayed_tab #slug_configuration #slug_column input[type=text]{width:498px}#displayed_tab #display_type_selector{margin-top:14px}#displayed_tab .display_type_preview{float:left;margin:0 5px 5px 0;border:1px solid #ddd;background:#fff;width:145px;height:170px}#displayed_tab .display_type_preview .image_container{width:100%;vertical-align:middle;text-align:center;font-size:12px;font-weight:500;padding:8px;box-sizing:border-box}#displayed_tab .display_type_preview .image_container img{margin-top:10px;margin-bottom:10px;box-sizing:border-box;max-width:100px}#displayed_tab .display_type_preview .image_container p{display:inline-block}.display_type_preview label>div{font-size:12px}#displayed_tab .select2-chosen{color:#666!important}#ngg_page_content #save_displayed_gallery.button{font-weight:700;height:50px!important;line-height:50px!important;padding:0 30px!important;font-size:13px}#save_displayed_gallery:disabled{background:gray!important}#display_settings_tab #display_settings_form table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;width:180px}#display_settings_tab #display_settings_form table td{text-align:left}#display_settings_tab #display_settings_form table textarea{height:60px}#display_settings_tab #display_settings_form input[type=number],#display_settings_tab #display_settings_form input[type=text],#display_settings_tab #display_settings_form select,#display_settings_tab #display_settings_form textarea{width:157px}#display_settings_tab #display_settings_form .ngg_slideshow_gallery_height,#display_settings_tab #display_settings_form .ngg_slideshow_gallery_width,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_height,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_width{width:65px!important}#display_settings_tab #display_settings_form .nextgen_settings_colorpicker{width:85px!important;text-align:center}h3#preview_tab{margin-bottom:0}#preview_tab_content{padding:10px 0}#preview_tab_content a{text-decoration:none;font-weight:300}#preview_tab_content .previewed_entity{width:100%;border-bottom:solid 1px #E0E0D6;background-color:#FAFAF0}#preview_tab_content .previewed_entity .container{padding-top:15px}#preview_tab_content .previewed_entity.header{background-color:#F0F0E6;padding-bottom:5px;padding-top:5px}#preview_tab_content .header label{font-size:12px;color:#649664;font-weight:600}#preview_tab_content .ui-sortable-helper{background:0 0}#preview_tab_content ul{list-style-type:none;display:block;padding:0;position:relative;margin-top:20px}#preview_tab_content .inclusion_checkbox{margin-right:7px;display:block;float:left}#preview_tab_content .preview_item{background-color:#fff;width:100px;padding:10px 10px 30px;margin:0 5px 5px 0;border:1px solid #eee;display:block;vertical-align:middle;text-align:center;position:relative}#preview_tab_content .image_container{background-repeat:no-repeat;background-position:center;background-size:cover;display:block;width:100%;height:75px}#preview_tab_content .image_container img{border:0}#preview_tab_content #entity_list li{float:left}#preview_tab_content #entity_list .ui-state-default{background:0 0;border:none}#preview_tab_content .placeholder{background-color:#e0ddc1;position:relative}#preview_tab_content #entity_list .exclude_container{background:#fff;display:block;text-align:center;margin:0 auto;color:#000;font-weight:400;height:1.4em;line-height:1.1em;font-size:.8em;position:absolute;bottom:.2em;left:0;width:100%;padding:5px 0}#preview_tab_content #entity_list .exclude_container input{vertical-align:middle;line-height:1.2em;margin:0 .5em}#preview_tab_content .header_row{margin-bottom:5px;font-weight:300}#preview_tab_content .header_row strong{width:70px;display:inline-block}#preview_tab_content .header_row .separator{display:inline-block;margin:0 5px}#preview_tab_content .header_row .selected{font-weight:700}#preview_tab_content #entity_list li.clear{float:none;clear:both}#preview_tab_content .refresh_button{float:right}@media (max-width:1120px){#displayed_tab .ngg_igw_promo{position:static;width:602px;height:125px;max-width:100%;margin-bottom:10px}#displayed_tab .ngg_igw_coupon{margin-top:10px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video,#displayed_tab .ngg_igw_video_inner{display:none!important}}@media (max-width:800px){#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before,#attach_to_post_tabs img.attach_to_post_logo,#attach_to_post_tabs:not(.ngg_atp_ios_detected) .ui-tabs-nav li:nth-of-type(2)::after{display:none}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active,#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#attach_to_post_tabs .ui-tabs-icon{width:100%;position:static;border-right:none;border-bottom:3px solid #9fbb1a;text-align:center;height:150px;padding:20px}#attach_to_post_tabs .ui-tabs-nav{margin-top:0}#attach_to_post_tabs .ui-tabs-nav li{padding:5px;list-style:none!important;border-bottom:none;border-top:none!important}#attach_to_post_tabs .ui-tabs-nav li a{float:none;padding:0!important;font-weight:400}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#9ebc1b}#attach_to_post_tabs .main_menu_tab{margin-left:0;min-height:auto;position:absolute;top:150px;right:0;left:0;bottom:0;height:auto}#displayed_tab #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#displayed_tab #slug_configuration tr,#displayed_tab #source_configuration tr{margin-bottom:24px}#ngg_page_content #save_displayed_gallery.button{position:static;margin-left:0;padding:0}}@media (max-width:781px){#attach_to_post_tabs.ngg_atp_ios_detected .ui-tabs-nav li:nth-of-type(1)::after{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td{width:100%!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration{display:table!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration tbody{display:table-row-group!important}#displayed_tab #ngg_page_content .responsive-menu-icon{padding:10px 0 15px!important}}@media (max-width:400px){#displayed_tab .display_type_preview{float:none;margin:20px auto;width:170px}}
\ No newline at end of file
+.ui-helper-reset,body,html{font-size:13px}body,html,iframe{width:100%;padding:0}body,html{height:100%;margin:0;overflow:hidden}body{position:absolute;visibility:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;height:100%}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}#attach_to_post_tabs{border:0;background:0 0;height:100%;overflow:hidden;padding:0;position:relative;visibility:visible}#attach_to_post_tabs #attach_to_post_tabs.ui-tabs-hide{display:block!important;visibility:hidden;position:absolute;top:-5000px}#attach_to_post_tabs h3{text-transform:uppercase;color:#000;margin-top:0;letter-spacing:2px;font-size:18px;font-weight:900}h3#choose_display{margin-bottom:24px}#attach_to_post_tabs .main_menu_tab{padding:0;position:absolute;left:220px;right:0;top:0;bottom:0}#attach_to_post_tabs.ngg_atp_ios_detected{overflow-y:scroll;-webkit-overflow-scrolling:touch}#attach_to_post_tabs .ui-widget-header{border:0;border-bottom:1px solid #dfdfdf;background:0 0}iframe{min-height:100%;border:none;margin:0;background:0 0}.chrome_70_hack_frames{z-index:100000000!important}.chrome_70_hack_noframes{z-index:0!important}.clear{clear:both;float:none}table{font-size:13px}.select2-search input{width:100%!important}.select2-result-label{white-space:nowrap}.select2-results{font-family:'segoe ui',Arial,sans-serif;font-size:13px}.select2-container a{color:#444!important}#ngg_page_content .ngg_page_content_main .select2-container{width:100%!important;max-width:500px!important}#attach_to_post_tabs .ui-tabs-icon{box-sizing:border-box;color:#fff;font-family:Lato,sans-serif;float:none;font-size:20px;font-weight:700;height:100%;letter-spacing:1px;line-height:60px;margin-bottom:0;position:fixed;text-transform:uppercase;width:220px;padding:0}#attach_to_post_tabs img.attach_to_post_logo{height:80px;padding:50px 0 30px;float:right;margin-right:26px}#attach_to_post_tabs .ui-tabs-nav{border:none;background:0 0;padding:0;margin-top:110px;list-style:none}#attach_to_post_tabs .ui-tabs-nav li{background:0 0;border:none;display:block;height:auto;margin:0;width:100%;border-radius:0;box-sizing:border-box;padding:24px 30px 24px 20px}#attach_to_post_tabs .ui-tabs-nav li.active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-focus,#attach_to_post_tabs .ui-tabs-nav li:focus{outline:0}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1),#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2){list-style:none}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(2) a,#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(1) a{display:list-item}#attach_to_post_tabs .ui-tabs-nav li a{color:#555;float:right;font-size:13px;font-weight:400;font-family:lato,sans-serif;letter-spacing:1.5px;line-height:1;text-transform:uppercase;padding:0!important}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{border-left:6px solid #9dbd1b}#attach_to_post_tabs .ui-tabs-nav li.ui-state-disabled a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:pointer}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{font-weight:800;color:#000}#displayed_tab.main_menu_tab{overflow-y:scroll;overflow-x:hidden}#displayed_tab #ngg_page_content{margin:0;width:100%}#displayed_tab #attach_to_post_tabs .ngg_page_content_header{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu{background:0 0;border:none;padding:0 20px 10px 27px;float:none;height:25px;margin-top:0;width:auto;position:relative;top:100px}#displayed_tab #ngg_page_content .ngg_page_content_menu a,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{border:none;color:#000;display:inline;font-weight:300;text-decoration:none;line-height:25px;padding:4px;font-size:12px;background:0 0;margin-right:10px}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{font-weight:500;color:#000;border-bottom:3px solid #9ebc1b}#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after,#displayed_tab #ngg_page_content .ngg_page_content_menu a:before{display:none}#displayed_tab #ngg_page_content .ngg_page_content_main{padding:20px 30px 30px;width:100%;box-shadow:none}#displayed_tab #ngg_page_content.ngg_settings_page{border:none}#displayed_tab .ngg_igw_promo{display:block!important;padding:10px 20px;position:relative;top:-187px;left:608px;background:#000;color:#fff;border-bottom:5px solid #9ebc1b;font-family:Lato,sans-serif;letter-spacing:.5px;box-sizing:border-box;width:200px;height:172px;margin-bottom:-170px}#displayed_tab .ngg_igw_promo a{text-decoration:none;font-weight:600}#displayed_tab .ngg_igw_coupon{font-size:12px;margin-top:47px;color:#7298b1}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video{display:block!important;position:absolute;left:280px;top:71px}#displayed_tab .ngg_igw_video_open{background:#000;cursor:pointer;margin:0;font-weight:400;height:28px!important;line-height:28px!important;font-size:10px}#displayed_tab .ngg_igw_video_inner{display:none;box-shadow:0 0 10px 5px rgba(0,0,0,.2);background:#fff}#displayed_tab .ngg_igw_video_close{width:100%;height:50px;display:block;text-align:center;line-height:50px;font-size:13px;font-weight:600;cursor:pointer;font-family:Lato,sans-serif;background:#000;color:#fff;text-transform:uppercase;letter-spacing:1.5px}#displayed_tab .ngg_igw_video iframe{width:630px;height:350px!important;min-height:auto;margin-bottom:-3px}#choose_display_content,#display_settings_tab_content,#preview_tab_content{margin-top:80px}#displayed_tab #displayed_gallery_source{width:400px}#displayed_tab #display_tip{color:rgba(42,52,61,.6);display:block;font-size:14px;width:960px;max-width:100%;padding:10px 0 0}#displayed_tab #slug_configuration{display:none}#displayed_tab #slug_configuration td,#displayed_tab #source_configuration td{vertical-align:top;padding:4px 0!important;min-width:200px}#displayed_tab #source_configuration label{color:#777!important;font-size:13px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #source_configuration tr td:first-of-type{white-space:normal;line-height:1.2;width:265px}#displayed_tab #ngg_page_content .select2-container{width:250px!important;line-height:20px}#displayed_tab #ngg_page_content .ngg_page_content_main .select2-selection--multiple,#displayed_tab #ngg_page_content .ngg_page_content_main .select2-selection--single{height:auto;line-height:21px}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#9fbb1a}#displayed_tab #slug_configuration #slug_label{width:52px}#displayed_tab #slug_configuration #slug_column input[type=text]{width:498px}#displayed_tab #display_type_selector{margin-top:14px}#displayed_tab .display_type_preview{float:left;margin:0 5px 5px 0;border:1px solid #ddd;background:#fff;width:145px;height:170px}#displayed_tab .display_type_preview .image_container{width:100%;vertical-align:middle;text-align:center;font-size:12px;font-weight:500;padding:8px;box-sizing:border-box}#displayed_tab .display_type_preview .image_container img{margin-top:10px;margin-bottom:10px;box-sizing:border-box;max-width:100px}#displayed_tab .display_type_preview .image_container p{display:inline-block}.display_type_preview label>div{font-size:12px}#displayed_tab .select2-chosen{color:#666!important}#ngg_page_content #save_displayed_gallery.button{font-weight:700;height:50px!important;line-height:50px!important;padding:0 30px!important;font-size:13px}#save_displayed_gallery:disabled{background:gray!important}#display_settings_tab #display_settings_form table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;width:180px}#display_settings_tab #display_settings_form table td{text-align:left}#display_settings_tab #display_settings_form table textarea{height:60px}#display_settings_tab #display_settings_form input[type=number],#display_settings_tab #display_settings_form input[type=text],#display_settings_tab #display_settings_form select,#display_settings_tab #display_settings_form textarea{width:157px}#display_settings_tab #display_settings_form .ngg_slideshow_gallery_height,#display_settings_tab #display_settings_form .ngg_slideshow_gallery_width,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_height,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_width{width:65px!important}#display_settings_tab #display_settings_form .nextgen_settings_colorpicker{width:85px!important;text-align:center}h3#preview_tab{margin-bottom:0}#preview_tab_content{padding:10px 0}#preview_tab_content a{text-decoration:none;font-weight:300}#preview_tab_content .previewed_entity{width:100%;border-bottom:solid 1px #E0E0D6;background-color:#FAFAF0}#preview_tab_content .previewed_entity .container{padding-top:15px}#preview_tab_content .previewed_entity.header{background-color:#F0F0E6;padding-bottom:5px;padding-top:5px}#preview_tab_content .header label{font-size:12px;color:#649664;font-weight:600}#preview_tab_content .ui-sortable-helper{background:0 0}#preview_tab_content ul{list-style-type:none;display:block;padding:0;position:relative;margin-top:20px}#preview_tab_content .inclusion_checkbox{margin-right:7px;display:block;float:left}#preview_tab_content .preview_item{background-color:#fff;width:100px;padding:10px 10px 30px;margin:0 5px 5px 0;border:1px solid #eee;display:block;vertical-align:middle;text-align:center;position:relative}#preview_tab_content .image_container{background-repeat:no-repeat;background-position:center;background-size:cover;display:block;width:100%;height:75px}#preview_tab_content .image_container img{border:0}#preview_tab_content #entity_list li{float:left}#preview_tab_content #entity_list .ui-state-default{background:0 0;border:none}#preview_tab_content .placeholder{background-color:#e0ddc1;position:relative}#preview_tab_content #entity_list .exclude_container{background:#fff;display:block;text-align:center;margin:0 auto;color:#000;font-weight:400;height:1.4em;line-height:1.1em;font-size:.8em;position:absolute;bottom:.2em;left:0;width:100%;padding:5px 0}#preview_tab_content #entity_list .exclude_container input{vertical-align:middle;line-height:1.2em;margin:0 .5em}#preview_tab_content .header_row{margin-bottom:5px;font-weight:300}#preview_tab_content .header_row strong{width:70px;display:inline-block}#preview_tab_content .header_row .separator{display:inline-block;margin:0 5px}#preview_tab_content .header_row .selected{font-weight:700}#preview_tab_content #entity_list li.clear{float:none;clear:both}#preview_tab_content .refresh_button{float:right}@media (max-width:1120px){#displayed_tab .ngg_igw_promo{position:static;width:602px;height:125px;max-width:100%;margin-bottom:10px}#displayed_tab .ngg_igw_coupon{margin-top:10px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video,#displayed_tab .ngg_igw_video_inner{display:none!important}}@media (max-width:800px){#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before,#attach_to_post_tabs img.attach_to_post_logo,#attach_to_post_tabs:not(.ngg_atp_ios_detected) .ui-tabs-nav li:nth-of-type(2)::after{display:none}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active,#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#attach_to_post_tabs .ui-tabs-icon{width:100%;position:static;border-right:none;border-bottom:3px solid #9fbb1a;text-align:center;height:150px;padding:20px}#attach_to_post_tabs .ui-tabs-nav{margin-top:0}#attach_to_post_tabs .ui-tabs-nav li{padding:5px;list-style:none!important;border-bottom:none;border-top:none!important}#attach_to_post_tabs .ui-tabs-nav li a{float:none;padding:0!important;font-weight:400}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#9ebc1b}#attach_to_post_tabs .main_menu_tab{margin-left:0;min-height:auto;position:absolute;top:150px;right:0;left:0;bottom:0;height:auto}#displayed_tab #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#displayed_tab #slug_configuration tr,#displayed_tab #source_configuration tr{margin-bottom:24px}#ngg_page_content #save_displayed_gallery.button{position:static;margin-left:0;padding:0}}@media (max-width:781px){#attach_to_post_tabs.ngg_atp_ios_detected .ui-tabs-nav li:nth-of-type(1)::after{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td{width:100%!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration{display:table!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration tbody{display:table-row-group!important}#displayed_tab #ngg_page_content .responsive-menu-icon{padding:10px 0 15px!important}}@media (max-width:400px){#displayed_tab .display_type_preview{float:none;margin:20px auto;width:170px}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css
index 9302e5625..f5bb2775e 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css
@@ -148,56 +148,57 @@
  * placeholder is properly styled for Gutenberg. */
 
 div[aria-label="Block: Classic"] .nggPlaceholder {
-    padding: 30px 30px 65px 30px;
-    text-align: center;
-    background-color: #143650;
+    background-color: #ffffff;
+    border-radius: 0;
+    box-shadow: 0 0 4px 2px rgba(0,0,0,.05);
     box-sizing: border-box;
-    border-radius: 2px;
+    border-top: 5px solid #b8d330;
+    color: #fff;
     font-family: sans-serif;
     font-size: 20px;
-    color: #fff;
-    color: #9fbb1a;
-    border-top: 5px solid #b8d330;
+    margin: 20px auto !important;
     outline: none !important;
-    box-shadow: 0 0 4px 1px rgba(0,0,0,.05);
-    margin-top: 0;
-    position: relative;
-    z-index: 2;
+    text-align: center;
+    width: 99%;
+    min-height: 210px;
+    padding: 60px 60px 70px;
 }
 
 div[aria-label="Block: Classic"] .nggPlaceholder h3 {
-    color: #fff !important;
-    font-family: Lato, sans-serif;
-    font-size: 16px;
-    font-size: 1.6rem;
-    font-weight: 600;
-    margin: 24px 0 0 0;
+    color: black !important;
+    text-transform: uppercase;
+    font-size: 21px;
+    font-family: Lato, sans-serif !important;
+    font-weight: 700 !important;
+    letter-spacing: 3px !important;
+    margin-bottom: 0;
+    margin-top: 0;
 }
 
 div[aria-label="Block: Classic"] .nggPlaceholderButton {
-    background: #9ebd00 !important;
+    background: black !important;
     border-radius: 2px;
     border: none !important;
     box-shadow: none !important;
     color: #fff !important;
     display: inline-block !important;
-    font-size: 13px;
+    font-size: 12px;
     font-weight: bold;
-    font-family: Lato, sans-serif !important !important;
+    font-family: Lato, sans-serif !important;
     height: 36px !important;
     line-height: 36px !important;
     letter-spacing: 1.2px;
-    margin: 2px;
+    margin: 0px 4px 2px 0;
     padding: 0;
-    width: 110px;
-    text-align: center;   
-    text-transform: uppercase !important; 
+    width: 121px;
+    text-align: center;
+    text-transform: uppercase !important;
     text-shadow: none !important;
     cursor: pointer;
 }
 
 div[aria-label="Block: Classic"] .nggPlaceholderButton:hover {
-    background: #a5c31a !important;
+    background: #383838 !important;
 }
 
 @media (max-width: 781px) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.min.css
index db85319cc..aaf3bf6f5 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.min.css
@@ -1 +1 @@
-#TB_window.ngg_tb_window{box-shadow:0 0 20px 10px rgba(0,0,0,.5)}.ngg_tb_window #TB_iframeContent{height:100.1%!important}.ngg_tb_window #TB_title{height:0!important;border:none!important}.ngg_tb_window #TB_closeWindowButton{background:0 0;top:10px;right:20px}.ngg_tb_window #TB_closeWindowButton:focus .tb-close-icon,.ngg_tb_window .tb-close-icon{color:#fff;border:none;box-shadow:none;background:#9fbb1a;border-radius:50%;padding:1px;height:20px;width:20px;font-size:12px}.ngg_tb_window #TB_closeWindowButton:focus .tb-close-icon,.ngg_tb_window #TB_closeWindowButton:hover .tb-close-icon{color:#fff}.ngg_tb_window .tb-close-icon:before{font:400 18px dashicons}#ngg_attach_to_post_dialog{width:95%!important;left:2.5%!important}#ngg_attach_to_post_dialog-head #ngg_attach_to_post_dialog-title{display:none}#ngg_attach_to_post_dialog-body{width:100%!important}#ngg_attach_to_post_dialog-head{min-height:0;height:0;border:none}#ngg_attach_to_post_dialog-head .mce-close{position:absolute;background:0 0;top:10px!important;right:20px!important;z-index:2}#ngg_attach_to_post_dialog-head .mce-close i,#ngg_attach_to_post_dialog-head .mce-close:focus i{color:#fff;border:none;box-shadow:none;background:#9fbb1a;border-radius:50%;padding:1px;height:20px;width:20px;font-size:12px}#ngg_attach_to_post_dialog-head .mce-close:focus i,#ngg_attach_to_post_dialog-head .mce-close:hover i{color:#fff}#ngg_attach_to_post_dialog-head .mce-close i:before{font:400 17px dashicons;color:#fff;margin:1.2px 0 0 -8px}.ngg_attach_to_post_window{position:relative;border:none!important}.ngg_attach_to_post_window .mceBottom,.ngg_attach_to_post_window .mceCenter,.ngg_attach_to_post_window .mceLeft,.ngg_attach_to_post_window .mceResize,.ngg_attach_to_post_window .mceRight,.ngg_attach_to_post_window .mceTop{background:0 0!important;border:none!important}.ngg_attach_to_post_window .mceMiddle span{padding-top:6px!important}.ngg_attach_to_post_window .mceTop{display:block!important;height:0!important;font-size:0!important}.ngg_attach_to_post_window .mceClose{background:url(uploader-icons.png) -100px 0!important;display:block!important;margin:0!important;padding:0!important;width:15px!important;height:15px!important;position:absolute!important;top:44px!important;right:30px!important}#ngg_attach_to_post_dialog-body{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:rgba(255,255,255,.6);border-top:none}div[aria-label="Block: Classic"] .nggPlaceholder{padding:30px 30px 65px;text-align:center;background-color:#143650;box-sizing:border-box;border-radius:2px;font-family:sans-serif;font-size:20px;color:#9fbb1a;border-top:5px solid #b8d330;outline:0!important;box-shadow:0 0 4px 1px rgba(0,0,0,.05);margin-top:0;position:relative;z-index:2}div[aria-label="Block: Classic"] .nggPlaceholder h3{color:#fff!important;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:600;margin:24px 0 0}div[aria-label="Block: Classic"] .nggPlaceholderButton{background:#9ebd00!important;border-radius:2px;border:none!important;box-shadow:none!important;color:#fff!important;display:inline-block!important;font-size:13px;font-weight:700;font-family:Lato,sans-serif!important!important;height:36px!important;line-height:36px!important;letter-spacing:1.2px;margin:2px;padding:0;width:110px;text-align:center;text-transform:uppercase!important;text-shadow:none!important;cursor:pointer}div[aria-label="Block: Classic"] .nggPlaceholderButton:hover{background:#a5c31a!important}@media (max-width:781px){#TB_window.ngg_tb_window{position:absolute!important}}
\ No newline at end of file
+#TB_window.ngg_tb_window{box-shadow:0 0 20px 10px rgba(0,0,0,.5)}.ngg_tb_window #TB_iframeContent{height:100.1%!important}.ngg_tb_window #TB_title{height:0!important;border:none!important}.ngg_tb_window #TB_closeWindowButton{background:0 0;top:10px;right:20px}.ngg_tb_window #TB_closeWindowButton:focus .tb-close-icon,.ngg_tb_window .tb-close-icon{color:#fff;border:none;box-shadow:none;background:#9fbb1a;border-radius:50%;padding:1px;height:20px;width:20px;font-size:12px}.ngg_tb_window #TB_closeWindowButton:focus .tb-close-icon,.ngg_tb_window #TB_closeWindowButton:hover .tb-close-icon{color:#fff}.ngg_tb_window .tb-close-icon:before{font:400 18px dashicons}#ngg_attach_to_post_dialog{width:95%!important;left:2.5%!important}#ngg_attach_to_post_dialog-head #ngg_attach_to_post_dialog-title{display:none}#ngg_attach_to_post_dialog-body{width:100%!important}#ngg_attach_to_post_dialog-head{min-height:0;height:0;border:none}#ngg_attach_to_post_dialog-head .mce-close{position:absolute;background:0 0;top:10px!important;right:20px!important;z-index:2}#ngg_attach_to_post_dialog-head .mce-close i,#ngg_attach_to_post_dialog-head .mce-close:focus i{color:#fff;border:none;box-shadow:none;background:#9fbb1a;border-radius:50%;padding:1px;height:20px;width:20px;font-size:12px}#ngg_attach_to_post_dialog-head .mce-close:focus i,#ngg_attach_to_post_dialog-head .mce-close:hover i{color:#fff}#ngg_attach_to_post_dialog-head .mce-close i:before{font:400 17px dashicons;color:#fff;margin:1.2px 0 0 -8px}.ngg_attach_to_post_window{position:relative;border:none!important}.ngg_attach_to_post_window .mceBottom,.ngg_attach_to_post_window .mceCenter,.ngg_attach_to_post_window .mceLeft,.ngg_attach_to_post_window .mceResize,.ngg_attach_to_post_window .mceRight,.ngg_attach_to_post_window .mceTop{background:0 0!important;border:none!important}.ngg_attach_to_post_window .mceMiddle span{padding-top:6px!important}.ngg_attach_to_post_window .mceTop{display:block!important;height:0!important;font-size:0!important}.ngg_attach_to_post_window .mceClose{background:url(uploader-icons.png) -100px 0!important;display:block!important;margin:0!important;padding:0!important;width:15px!important;height:15px!important;position:absolute!important;top:44px!important;right:30px!important}#ngg_attach_to_post_dialog-body{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:rgba(255,255,255,.6);border-top:none}div[aria-label="Block: Classic"] .nggPlaceholder{background-color:#fff;border-radius:0;box-shadow:0 0 4px 2px rgba(0,0,0,.05);box-sizing:border-box;border-top:5px solid #b8d330;color:#fff;font-family:sans-serif;font-size:20px;margin:20px auto!important;outline:0!important;text-align:center;width:99%;min-height:210px;padding:60px 60px 70px}div[aria-label="Block: Classic"] .nggPlaceholder h3{color:#000!important;text-transform:uppercase;font-size:21px;font-family:Lato,sans-serif!important;font-weight:700!important;letter-spacing:3px!important;margin-bottom:0;margin-top:0}div[aria-label="Block: Classic"] .nggPlaceholderButton{background:#000!important;border-radius:2px;border:none!important;box-shadow:none!important;color:#fff!important;display:inline-block!important;font-size:12px;font-weight:700;font-family:Lato,sans-serif!important;height:36px!important;line-height:36px!important;letter-spacing:1.2px;margin:0 4px 2px 0;padding:0;width:121px;text-align:center;text-transform:uppercase!important;text-shadow:none!important;cursor:pointer}div[aria-label="Block: Classic"] .nggPlaceholderButton:hover{background:#383838!important}@media (max-width:781px){#TB_window.ngg_tb_window{position:absolute!important}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js
index 470f2db00..d1cc0fe40 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js
@@ -235,11 +235,12 @@ jQuery(function($){
         extra_data:  {},
 
         _create_request: function(limit, offset) {
-            var request = _.extend({}, igw_data.sec_token, {
+            var request = {
                 action: this.action,
                 limit: limit ? limit : this.fetch_limit,
-                offset: offset ? offset : 0
-            });
+                offset: offset ? offset : 0,
+                nonce: igw_data.nonce,
+            };
             for (var index in this.extra_data) {
                 var value = this.extra_data[index];
                 if (typeof(request[index]) === 'undefined') {
@@ -825,22 +826,8 @@ jQuery(function($){
                 // Create all elements
                 var image_container = $('<label style="display: block; cursor: pointer;"/>').addClass('image_container');
 
-                // 2.0.66 did not support plugins_url, 2.0.66.3+ does
-                var installed_at_version = this.model.get('installed_at_version');
-                var baseurl = photocrati_ajax.wp_plugins_url;
-                var preview_image_relpath = this.model.get('preview_image_relpath');
-                if (typeof installed_at_version == 'undefined') {
-                    baseurl = photocrati_ajax.wp_site_url;
-                    baseurl = baseurl.replace(/(.*)\/index\.php$/i, "$1");
-                    // those who installed 2.0.66.3 lack the 'installed_at_version' setting but have a
-                    // plugin-relative path
-                    if (preview_image_relpath.indexOf('/nextgen-gallery') == 0) {
-                        baseurl = photocrati_ajax.wp_plugins_url;
-                    }
-                }
-
                 var img = $('<img/>').attr({
-                    src: baseurl + '/' + preview_image_relpath,
+                    src: this.model.get('preview_image_url'),
                     title: this.model.get('title'),
                     alt: this.model.get('alt')
                 });
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js
index be3d59c2b..bc9fa993e 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js
@@ -1 +1 @@
-jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.multiple&&(this.$el.prop("multiple",!0),this.$el.attr("multiple","multiple")),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){return this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},this.select_tag.$el.select2(this.select2_opts),this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i=_.extend({},igw_data.sec_token,{action:this.action,limit:e||this.fetch_limit,offset:t||0});for(var s in this.extra_data){var l=this.extra_data[s];void 0===i[s]&&(i[s]={}),void 0!==l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(void 0!==igw_data.shortcode_defaults[t]&&igw_data.shortcode_defaults[t]==i&&(i=null),_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),void 0!==igw_data.shortcode_attr_replacements[t]&&(t=igw_data.shortcode_attr_replacements[t]),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){if(!(["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"].indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else(n=e(s,a))&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id,t=this.get("aliases");return _.isArray(t)&&t.length>0&&(e=t[0]),e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=this.selected();return e.length>0?e[0].get("name"):null},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td id="source_column"></td><td><label><%- sources %></label></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=function(e){return e=String(e),e.charAt(0).toUpperCase()+e.slice(1)}(s.pop().id)+"Source";if(void 0!==t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var r=new this.DisplayType;r.model=n,r.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var o=n.get("view_order");o||(o=s);var d=Math.floor(o/l);i=d,this.$el.append(r.render().el)},this),this.$el.append('<li class="clear" style="height: 10px; list-style-type:none" />'),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=this.model.get("installed_at_version"),s=photocrati_ajax.wp_plugins_url,l=this.model.get("preview_image_relpath");void 0===i&&(s=photocrati_ajax.wp_site_url,s=s.replace(/(.*)\/index\.php$/i,"$1"),0==l.indexOf("/nextgen-gallery")&&(s=photocrati_ajax.wp_plugins_url));var n=e("<img/>").attr({src:s+"/"+l,title:this.model.get("title"),alt:this.model.get("alt")}),a=e("<div/>"),r=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")}),o=e("<br>");return t.append(a),t.append(n),t.append("<br>"),t.append(this.model.get("title").replace(/nextgen /gi,"")),a.append(r),a.append(o),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&void 0!==console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button button-primary",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append('<span style="margin-right: 8px;">Exclude:</span>');var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");-1!==_.indexOf(e,"image")?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append('<span style="margin-right: 8px;">Sort By:</span>'),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<span style="margin: 0 8px 0 40px;">Order By:</span>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var r=new this.ExcludeCheckbox({model:this.model});return a.append(r.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e('<tr><td class="galleries_column"></td><td><label>'+igw_data.i18n.galleries+"</label></td></tr>");return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="albums_column"></td><td><label>'+igw_data.i18n.albums+"</label></td></tr>"),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="tags_column"></td><td><label>Tags</label></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="recent_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="random_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings();var e=this.displayed_gallery.to_shortcode();insert_into_editor(e,this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref);var t=null;(t=location.toString().match(/editor=([^\&]+)/))&&t.length>=2&&top.tinyMCE.editors[t[1]].fire("ngg-inserted",{shortcode:e}),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=i.data("defaults"),l=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var l=t.name.split("["),n=i,a=0;a<l.length;a++){var r=l[a].replace(/\]$/,"");if(s[r]==t.value)return!0;n[r]||(a==l.length-1?n[r]=t.value:n[r]={}),n=n[r]}}),i}(i);this.displayed_gallery.set("display_settings",l[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var i=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));i&&i.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var s=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));s&&(s.set("selected",!0),this.displayed_gallery.set("display_type",s.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){e("#save_displayed_gallery").prop("disabled",!0),setTimeout(function(){e("#save_displayed_gallery").prop("disabled",!1)},1e3),this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var t=this.display_types.selected(),i=this.sources.selected();t.length>0&&i.length>0&&(t=t[0],i=i[0],t.is_compatible_with_source(i)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),!this.displayed_gallery.get("source")){var l=this.sources.find_by_name_or_alias("galleries");l&&(l.set("selected",!0),this.sources.trigger("selected"))}if(window.Frame_Event_Publisher){var n=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){n.galleries.reset(),n.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){n.galleries.reset(),n.galleries.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){n.albums.reset(),n.albums.fetch();var t=n.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){n.tags.reset(),n.tags.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=n.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var s=n.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);s&&s.set("thumb_url",e.image.thumb_url)}else{var l=n.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);l&&l.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
\ No newline at end of file
+jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.multiple&&(this.$el.prop("multiple",!0),this.$el.attr("multiple","multiple")),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){return this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},this.select_tag.$el.select2(this.select2_opts),this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i={action:this.action,limit:e||this.fetch_limit,offset:t||0,nonce:igw_data.nonce};for(var s in this.extra_data){var l=this.extra_data[s];void 0===i[s]&&(i[s]={}),void 0!==l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(void 0!==igw_data.shortcode_defaults[t]&&igw_data.shortcode_defaults[t]==i&&(i=null),_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),void 0!==igw_data.shortcode_attr_replacements[t]&&(t=igw_data.shortcode_attr_replacements[t]),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){if(!(["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"].indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else(n=e(s,a))&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id,t=this.get("aliases");return _.isArray(t)&&t.length>0&&(e=t[0]),e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=this.selected();return e.length>0?e[0].get("name"):null},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td id="source_column"></td><td><label><%- sources %></label></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=function(e){return e=String(e),e.charAt(0).toUpperCase()+e.slice(1)}(s.pop().id)+"Source";if(void 0!==t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var r=new this.DisplayType;r.model=n,r.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var o=n.get("view_order");o||(o=s);var d=Math.floor(o/l);i=d,this.$el.append(r.render().el)},this),this.$el.append('<li class="clear" style="height: 10px; list-style-type:none" />'),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=e("<img/>").attr({src:this.model.get("preview_image_url"),title:this.model.get("title"),alt:this.model.get("alt")}),s=e("<div/>"),l=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")}),n=e("<br>");return t.append(s),t.append(i),t.append("<br>"),t.append(this.model.get("title").replace(/nextgen /gi,"")),s.append(l),s.append(n),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&void 0!==console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button button-primary",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append('<span style="margin-right: 8px;">Exclude:</span>');var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");-1!==_.indexOf(e,"image")?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append('<span style="margin-right: 8px;">Sort By:</span>'),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<span style="margin: 0 8px 0 40px;">Order By:</span>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var r=new this.ExcludeCheckbox({model:this.model});return a.append(r.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e('<tr><td class="galleries_column"></td><td><label>'+igw_data.i18n.galleries+"</label></td></tr>");return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="albums_column"></td><td><label>'+igw_data.i18n.albums+"</label></td></tr>"),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="tags_column"></td><td><label>Tags</label></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="recent_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="random_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings();var e=this.displayed_gallery.to_shortcode();insert_into_editor(e,this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref);var t=null;(t=location.toString().match(/editor=([^\&]+)/))&&t.length>=2&&top.tinyMCE.editors[t[1]].fire("ngg-inserted",{shortcode:e}),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=i.data("defaults"),l=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var l=t.name.split("["),n=i,a=0;a<l.length;a++){var r=l[a].replace(/\]$/,"");if(s[r]==t.value)return!0;n[r]||(a==l.length-1?n[r]=t.value:n[r]={}),n=n[r]}}),i}(i);this.displayed_gallery.set("display_settings",l[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var i=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));i&&i.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var s=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));s&&(s.set("selected",!0),this.displayed_gallery.set("display_type",s.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){e("#save_displayed_gallery").prop("disabled",!0),setTimeout(function(){e("#save_displayed_gallery").prop("disabled",!1)},1e3),this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var t=this.display_types.selected(),i=this.sources.selected();t.length>0&&i.length>0&&(t=t[0],i=i[0],t.is_compatible_with_source(i)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),!this.displayed_gallery.get("source")){var l=this.sources.find_by_name_or_alias("galleries");l&&(l.set("selected",!0),this.sources.trigger("selected"))}if(window.Frame_Event_Publisher){var n=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){n.galleries.reset(),n.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){n.galleries.reset(),n.galleries.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){n.albums.reset(),n.albums.fetch();var t=n.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){n.tags.reset(),n.tags.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=n.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var s=n.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);s&&s.set("thumb_url",e.image.thumb_url)}else{var l=n.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);l&&l.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css
index 21a46fa1a..dc5280ff9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css
@@ -43,6 +43,12 @@ html#iframely {
     width: 100%;
 }
 
+#iframely #ngg_page_content, 
+#iframely #ngg_page_content .ngg_manage_galleries table th, 
+#iframely #ngg_page_content .ngg_manage_galleries table td {
+    font-size: 13px !important;
+}
+
 #iframely .ngg-admin .notice, 
 #iframely .ngg-admin div.error, 
 #iframely .ngg-admin div.updated {
@@ -50,31 +56,36 @@ html#iframely {
 }
 
 #iframely #ngg_page_content .ngg_page_content_header {
-    display:none;
+    margin: 25px 0 -30px;
+    padding-left: 30px;
+}
+
+#iframely #ngg_page_content .ngg_page_content_header img,
+#iframely #ngg_page_content .ngg_page_content_header p {
+    display: none;
 }
 
 #iframely #ngg_page_content .ngg_page_content_menu {
     background: transparent;
     border: none;
-    padding: 10px 20px 10px 0;
+    padding: 10px 20px 10px 23px;
     float: none;
     height: 25px;
-    margin-top: 0;
+    margin-top: 16px;
     width: auto;
-    border-bottom: 1px solid #ddd;
-    background: #fafafa;
 }
 
 #iframely #ngg_page_content .ngg_page_content_menu a {
     border: none;
-    color: #888;
+    color: black;
     display: inline;
     font-size: 14px;
-    font-weight: 400;
+    font-weight: 300;
     text-decoration: none;
     line-height: 25px;
-    padding: 15px 20px;
+    padding: 6px;
     font-size: 12px;
+    margin-right: 10px;
 }
 
 #iframely #ngg_page_content .ngg_page_content_menu a:active {
@@ -82,26 +93,10 @@ html#iframely {
 }
 
 #iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active {
-    background: transparent;
-    font-weight: bold;
-    color: #123248;
-    border-left: 1px solid #ddd;
-    border-right: 1px solid #ddd;
-    border-bottom: 2px solid #fff;
-    background: #fff;
-}
+    font-weight: 500;
+    border-bottom: 3px solid #9ebc1b;
 
-/*#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after {
-    border-left: 8px solid transparent;
-    border-right: 8px solid transparent;
-    border-top: 6px solid #cad1d6;
-    border-top: 6px solid #123248;
-    content: " ";
-    position: absolute;
-    left: 45%;
-    display: inline;
-    top: 42px;
-}*/
+}
 
 #iframely #ngg_page_content .ngg_page_content_menu a:before {
 	display: none;
@@ -109,7 +104,7 @@ html#iframely {
 
 #displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,
 #displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after {
-    display: none;
+    display: none !important;
 }
 
 #iframely #ngg_page_content .ngg_page_content_main {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.css
index d65353018..08bc9a872 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.css
@@ -1 +1 @@
-#iframely,#iframely body,html#iframely{background:#fff!important}#iframely,#iframely body{padding:0;width:100%;height:100%}#iframely{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;background-position:center center;background-repeat:no-repeat;position:absolute;visibility:hidden}#iframely #wpbody-content{float:none;padding:0}#iframely #ngg_page_content.ngg_settings_page{background:#fff}#iframely #icon-nextgen-gallery,#iframely #ngg_page_content .ngg_page_content_header,#iframely .ngg-admin .notice,#iframely .ngg-admin div.error,#iframely .ngg-admin div.updated,#iframely h2{display:none}#iframely #wpwrap{background-color:#fcfcfc}#iframely #ngg_page_content{margin:0;width:100%}#iframely #ngg_page_content .ngg_page_content_menu{border:none;padding:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto;border-bottom:1px solid #ddd;background:#fafafa}#iframely #ngg_page_content .ngg_page_content_menu a{border:none;color:#888;display:inline;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px;font-size:12px}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after,#iframely #ngg_page_content .ngg_page_content_main h3,#iframely #ngg_page_content .ngg_page_content_menu a:before{display:none}#iframely #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{font-weight:700;color:#123248;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:2px solid #fff;background:#fff}#iframely #ngg_page_content .ngg_page_content_main{padding:30px;width:100%;box-shadow:none}#iframely #ngg_page_content .ngg_manage_albums .ngg_page_content_main h3,#iframely #ngg_page_content .ngg_manage_images .ngg_page_content_main h3,#iframely #ngg_page_content .ngg_manage_tags .ngg_page_content_main h3{display:block}#iframely #ngg_page_content .button-primary:active,#iframely #ngg_page_content .button-secondary:active,#iframely #ngg_page_content button:active{vertical-align:top}#iframely #ngg_page_content .ngg_manage_galleries .search-form{margin-top:-20px}#iframely #ngg_page_content .ngg_manage_galleries p.search-box{margin:0;position:relative;float:none;top:37px;left:460px;width:350px}#iframely #bulkaction,#iframely .search-box input[name="s"]{width:140px!important}#iframely .tablenav.top .displaying-num{display:none}#iframely .ngg_manage_galleries table #id{min-width:40px}#iframely .ngg_manage_galleries table #author{min-width:85px}#iframely .ngg_manage_galleries table #page_id{min-width:65px}#iframely .gallery_page_nggallery-manage-gallery .ui-dialog{height:auto!important;min-height:auto}@media (max-width:1140px){#iframely .plupload_buttons{display:inline;margin:0 0 0 10px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:130px!important}}@media (max-width:940px){#iframely .plupload_buttons{display:block;margin:10px 0 0 75px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:201px!important}}@media (max-width:800px){#iframely .ngg-admin #wpbody{padding:0}#iframely #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#iframely #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#iframely #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#iframely #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#iframely .plupload_buttons{margin-left:0}#iframely #ngg_page_content .plupload_droptext{line-height:60px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:100%!important;margin:4px 0;display:block}}
\ No newline at end of file
+#iframely,#iframely body,html#iframely{background:#fff!important}#iframely #icon-nextgen-gallery,#iframely #ngg_page_content .ngg_page_content_header img,#iframely #ngg_page_content .ngg_page_content_header p,#iframely .ngg-admin .notice,#iframely .ngg-admin div.error,#iframely .ngg-admin div.updated,#iframely h2{display:none}#iframely,#iframely body{padding:0;width:100%;height:100%}#iframely{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;background-position:center center;background-repeat:no-repeat;position:absolute;visibility:hidden}#iframely #wpbody-content{float:none;padding:0}#iframely #ngg_page_content.ngg_settings_page{background:#fff}#iframely #wpwrap{background-color:#fcfcfc}#iframely #ngg_page_content{margin:0;width:100%}#iframely #ngg_page_content,#iframely #ngg_page_content .ngg_manage_galleries table td,#iframely #ngg_page_content .ngg_manage_galleries table th{font-size:13px!important}#iframely #ngg_page_content .ngg_page_content_header{margin:25px 0 -30px;padding-left:30px}#iframely #ngg_page_content .ngg_page_content_menu{background:0 0;border:none;padding:10px 20px 10px 23px;float:none;height:25px;margin-top:16px;width:auto}#iframely #ngg_page_content .ngg_page_content_menu a{border:none;color:#000;display:inline;font-weight:300;text-decoration:none;line-height:25px;padding:6px;font-size:12px;margin-right:10px}#iframely #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{font-weight:500;border-bottom:3px solid #9ebc1b}#iframely #ngg_page_content .ngg_page_content_menu a:before{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after{display:none!important}#iframely #ngg_page_content .ngg_page_content_main{padding:30px;width:100%;box-shadow:none}#iframely #ngg_page_content .ngg_page_content_main h3{display:none}#iframely #ngg_page_content .ngg_manage_albums .ngg_page_content_main h3,#iframely #ngg_page_content .ngg_manage_images .ngg_page_content_main h3,#iframely #ngg_page_content .ngg_manage_tags .ngg_page_content_main h3{display:block}#iframely #ngg_page_content .button-primary:active,#iframely #ngg_page_content .button-secondary:active,#iframely #ngg_page_content button:active{vertical-align:top}#iframely #ngg_page_content .ngg_manage_galleries .search-form{margin-top:-20px}#iframely #ngg_page_content .ngg_manage_galleries p.search-box{margin:0;position:relative;float:none;top:37px;left:460px;width:350px}#iframely #bulkaction,#iframely .search-box input[name="s"]{width:140px!important}#iframely .tablenav.top .displaying-num{display:none}#iframely .ngg_manage_galleries table #id{min-width:40px}#iframely .ngg_manage_galleries table #author{min-width:85px}#iframely .ngg_manage_galleries table #page_id{min-width:65px}#iframely .gallery_page_nggallery-manage-gallery .ui-dialog{height:auto!important;min-height:auto}@media (max-width:1140px){#iframely .plupload_buttons{display:inline;margin:0 0 0 10px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:130px!important}}@media (max-width:940px){#iframely .plupload_buttons{display:block;margin:10px 0 0 75px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:201px!important}}@media (max-width:800px){#iframely .ngg-admin #wpbody{padding:0}#iframely #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#iframely #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#iframely #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#iframely #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#iframely .plupload_buttons{margin-left:0}#iframely #ngg_page_content .plupload_droptext{line-height:60px}#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,#iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary,#iframely .gallery_page_ngg_addgallery #ngg_page_content button{width:100%!important;margin:4px 0;display:block}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw_button.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw_button.png
index f5cd550916542ef0c32df047784ae881f225400b..29e0c6cff5043a4754777eea326f06a1023d22c6 100644
GIT binary patch
delta 14132
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
W-95v*_$31a1B0ilpUXO@geCxAmO6a^

delta 29981
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
Dd-U&x

diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php
index c5e3f7fda..dabbb782a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php
@@ -31,7 +31,7 @@
 			<input type="button" class="button button-primary button-large ngg_display_tab_save" id="save_displayed_gallery" value="<?php if ($displayed_gallery->id()) { _e('Save Changes', 'nggallery'); } else { _e('Insert Gallery', 'nggallery'); } ?>"/>
 		</p>
         <div class="ngg_igw_video">
-        	<p class="ngg_igw_video_open"><?php esc_html_e('Need a quick tutorial?', 'nggallery'); ?></p>
+        	<p class="ngg_igw_video_open button-primary"><?php esc_html_e('Need a quick tutorial?', 'nggallery'); ?></p>
         	<div class="ngg_igw_video_inner">
         		<span class="ngg_igw_video_close"><?php esc_html_e('Click to Close', 'nggallery'); ?></span>
         	</div>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php
index ccbe23dc7..e6caf99c3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php
@@ -14,7 +14,7 @@ class M_DataMapper extends C_Base_Module
 			'photocrati-datamapper',
 			'DataMapper',
 			'Provides a database abstraction layer following the DataMapper pattern',
-			'3.1.4.2',
+			'3.1.19',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php
index b7fa1ceae..9ce9f857f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php
@@ -673,6 +673,10 @@ class C_DataMapper_Driver_Base extends C_Component
             return $default;
         }
     }
+    function flush_query_cache()
+    {
+        $this->_cache = array();
+    }
 }
 /**
  * Provides instance methods for C_CustomTable_DataMapper_Driver
@@ -1567,6 +1571,7 @@ class Mixin_DataMapper_Driver_Base extends Mixin
     {
         $retval = FALSE;
         $model = $entity;
+        $this->flush_query_cache();
         // Attempt to use something else, most likely an associative array
         // TODO: Support assocative arrays. The trick is to support references
         // with dynamic calls using __call() and call_user_func_array().
@@ -1583,6 +1588,7 @@ class Mixin_DataMapper_Driver_Base extends Mixin
             unset($saved_entity->_errors);
             $retval = $this->object->_save_entity($saved_entity);
         }
+        $this->flush_query_cache();
         // We always return the same type of entity that we given
         if (get_class($entity) == 'stdClass') {
             $model->get_entity();
@@ -1787,6 +1793,10 @@ class C_DataMapper_Model extends C_Component
             $this->_stdObject->__defaults_set = TRUE;
         }
     }
+    function jsonSerialize()
+    {
+        return $this->get_entity();
+    }
     function has_default_values()
     {
         return isset($this->_stdObject->__defaults_set) && $this->_stdObject->__defaults_set == TRUE;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php
index a40925749..4277dae86 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php
@@ -20,7 +20,7 @@ class M_Dynamic_Thumbnails extends C_Base_Module
 			'photocrati-dynamic_thumbnails',
 			'Dynamic Thumbnails',
 			'Adds support for dynamic thumbnails',
-			'3.0.0',
+			'3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -29,11 +29,6 @@ class M_Dynamic_Thumbnails extends C_Base_Module
 		C_Photocrati_Installer::add_handler($this->module_id, 'C_Dynamic_Thumbnails_Installer');
 	}
 
-	function _register_adapters()
-	{
-		$this->get_registry()->add_adapter('I_GalleryStorage_Driver', 'A_Dynamic_Thumbnails_Storage_Driver');
-	}
-
 	function _register_utilities()
 	{
         $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Manager', 'C_Dynamic_Thumbnails_Manager');
@@ -63,10 +58,8 @@ class M_Dynamic_Thumbnails extends C_Base_Module
     function get_type_list()
     {
         return array(
-            'A_Dynamic_Thumbnails_Storage_Driver'	=> 'adapter.dynamic_thumbnails_storage_driver.php',
             'C_Dynamic_Thumbnails_Installer'		=> 'class.dynamic_thumbnails_installer.php',
-            'C_Dynamic_Thumbnails_Controller' 		=> 'class.dynamic_thumbnails_controller.php',
-            'C_Dynamic_Thumbnails_Manager' 			=> 'class.dynamic_thumbnails_manager.php'
+            'C_Dynamic_Thumbnails_Controller' 		=> 'class.dynamic_thumbnails_controller.php'
         );
     }
 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php
index bed66ba44..a95cd1b32 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php
@@ -1,93 +1,4 @@
 <?php
-/**
- * Class A_Dynamic_Thumbnails_Storage_Driver
- * @mixin C_GalleryStorage_Driver_Base
- * @adapts I_GalleryStorage_Driver
- */
-class A_Dynamic_Thumbnails_Storage_Driver extends Mixin
-{
-    function get_image_abspath($image, $size = FALSE, $check_existance = FALSE)
-    {
-        $retval = NULL;
-        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
-        if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
-            // If we have the id, get the actual image entity
-            if (is_numeric($image)) {
-                $image = $this->object->_image_mapper->find($image);
-            }
-            // Ensure we have the image entity - user could have passed in an
-            // incorrect id
-            if (is_object($image)) {
-                if ($folder_path = $this->object->get_cache_abspath($image->galleryid)) {
-                    $params = $dynthumbs->get_params_from_name($size, true);
-                    $image_filename = $dynthumbs->get_image_name($image, $params);
-                    $image_path = implode(DIRECTORY_SEPARATOR, array(rtrim($folder_path, "\\/"), $image_filename));
-                    if ($check_existance) {
-                        if (@file_exists($image_path)) {
-                            $retval = $image_path;
-                        }
-                    } else {
-                        $retval = $image_path;
-                    }
-                }
-            }
-        } else {
-            $retval = $this->call_parent('get_image_abspath', $image, $size, $check_existance);
-        }
-        return $retval;
-    }
-    function get_image_url($image, $size = 'full', $check_existance = FALSE)
-    {
-        $retval = NULL;
-        $abspath = FALSE;
-        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
-        if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
-            $abspath = $this->object->get_image_abspath($image, $size, true);
-            // If abspath is NULL, then we assume we're dealing with a dynamic image
-            if ($abspath == null) {
-                $params = $dynthumbs->get_params_from_name($size, true);
-                $retval = $dynthumbs->get_image_url($image, $params);
-            } else {
-                $check_existance = FALSE;
-            }
-        }
-        if ($retval == null) {
-            $retval = $this->call_parent('get_image_url', $image, $size, $check_existance, $abspath);
-        }
-        // Try generating the thumbnail
-        if ($retval == null) {
-            $params = array('watermark' => false, 'reflection' => false, 'crop' => true);
-            $result = $this->generate_image_size($image, $size, $params);
-            if ($result) {
-                $retval = $this->call_parent('get_image_url', $image, $size, $check_existance);
-            }
-        }
-        return $retval;
-    }
-    function get_image_dimensions($image, $size = 'full')
-    {
-        $retval = $this->call_parent('get_image_dimensions', $image, $size);
-        if ($retval == null) {
-            $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
-            if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
-                $new_dims = $this->object->calculate_image_size_dimensions($image, $size);
-                $retval = array('width' => $new_dims['real_width'], 'height' => $new_dims['real_height']);
-            }
-        }
-        return $retval;
-    }
-    function get_image_size_params($image, $size, $params = null, $skip_defaults = false)
-    {
-        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
-        if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
-            $named_params = $dynthumbs->get_params_from_name($size, true);
-            foreach ($named_params as $param_name => $param_value) {
-                $params[$param_name] = $param_value;
-            }
-        }
-        return $this->call_parent('get_image_size_params', $image, $size, $params, $skip_defaults);
-    }
-}
 /**
  * Class C_Dynamic_Thumbnails_Controller
  * @implements I_Dynamic_Thumbnails_Controller
@@ -139,7 +50,7 @@ class C_Dynamic_Thumbnails_Controller extends C_MVC_Controller
                 $hash = wp_hash($uri_plain);
                 if (strpos($uri, $hash) === false) {
                     $valid = false;
-                    $filename = $this->object->find_static_file('invalid_image.png');
+                    $filename = M_Static_Assets::get_static_abspath('photocrati-dynamic_thumbnails#invalid_image.png');
                     $this->set_content_type('image/png');
                     readfile($filename);
                     $this->render();
@@ -150,369 +61,4 @@ class C_Dynamic_Thumbnails_Controller extends C_MVC_Controller
             }
         }
     }
-}
-class Mixin_Dynamic_Thumbnails_Manager extends Mixin
-{
-    function get_route_name()
-    {
-        return C_NextGen_Settings::get_instance()->get('dynamic_thumbnail_slug');
-    }
-    function _get_params_sanitized($params)
-    {
-        if (isset($params['rotation'])) {
-            $rotation = intval($params['rotation']);
-            if ($rotation && in_array(abs($rotation), array(90, 180, 270))) {
-                $rotation = $rotation % 360;
-                if ($rotation < 0) {
-                    $rotation = 360 - $rotation;
-                }
-                $params['rotation'] = $rotation;
-            } else {
-                unset($params['rotation']);
-            }
-        }
-        if (isset($params['flip'])) {
-            $flip = strtolower($params['flip']);
-            if (in_array($flip, array('h', 'v', 'hv'))) {
-                $params['flip'] = $flip;
-            } else {
-                unset($params['flip']);
-            }
-        }
-        return $params;
-    }
-    function get_uri_from_params($params)
-    {
-        $params = $this->object->_get_params_sanitized($params);
-        $image = isset($params['image']) ? $params['image'] : null;
-        $image_id = is_scalar($image) || is_null($image) ? (int) $image : $image->pid;
-        $image_width = isset($params['width']) ? $params['width'] : null;
-        $image_height = isset($params['height']) ? $params['height'] : null;
-        $image_quality = isset($params['quality']) ? $params['quality'] : null;
-        $image_type = isset($params['type']) ? $params['type'] : null;
-        $image_crop = isset($params['crop']) ? $params['crop'] : null;
-        $image_watermark = isset($params['watermark']) ? $params['watermark'] : null;
-        $image_rotation = isset($params['rotation']) ? $params['rotation'] : null;
-        $image_flip = isset($params['flip']) ? $params['flip'] : null;
-        $image_reflection = isset($params['reflection']) ? $params['reflection'] : null;
-        $uri = null;
-        $uri .= '/';
-        $uri .= $this->object->get_route_name() . '/';
-        $uri .= strval($image_id) . '/';
-        $uri .= strval($image_width) . 'x' . strval($image_height);
-        if ($image_quality != null) {
-            $uri .= 'x' . strval($image_quality);
-        }
-        $uri .= '/';
-        if ($image_type != null) {
-            $uri .= $image_type . '/';
-        }
-        if ($image_crop) {
-            $uri .= 'crop/';
-        }
-        if ($image_watermark) {
-            $uri .= 'watermark/';
-        }
-        if ($image_rotation) {
-            $uri .= 'rotation-' . $image_rotation . '/';
-        }
-        if ($image_flip) {
-            $uri .= 'flip-' . $image_flip . '/';
-        }
-        if ($image_reflection) {
-            $uri .= 'reflection/';
-        }
-        return $uri;
-    }
-    function get_image_uri($image, $params)
-    {
-        $params['image'] = $image;
-        $uri = $this->object->get_uri_from_params($params);
-        if (substr($uri, -1) != '/') {
-            $uri .= '/';
-        }
-        $uri .= wp_hash($uri) . '/';
-        return $uri;
-    }
-    function get_image_url($image, $params)
-    {
-        return C_Router::get_instance()->get_url($this->object->get_image_uri($image, $params), FALSE, 'root');
-    }
-    function get_params_from_uri($uri)
-    {
-        $regex = '/\\/?' . $this->object->get_route_name() . '\\/(\\d+)(?:\\/(.*))?/';
-        $match = null;
-        // XXX move this URL clean up to I_Router?
-        $uri = preg_replace('/\\/index.php\\//', '/', $uri, 1);
-        $uri = trim($uri, '/');
-        if (@preg_match($regex, $uri, $match) > 0) {
-            $image_id = $match[1];
-            $uri_args = isset($match[2]) ? explode('/', $match[2]) : array();
-            $params = array('image' => $image_id);
-            foreach ($uri_args as $uri_arg) {
-                $uri_arg_set = explode('-', $uri_arg);
-                $uri_arg_name = array_shift($uri_arg_set);
-                $uri_arg_value = $uri_arg_set ? array_shift($uri_arg_set) : null;
-                $size_match = null;
-                if ($uri_arg == 'watermark') {
-                    $params['watermark'] = true;
-                } else {
-                    if ($uri_arg_name == 'rotation') {
-                        $params['rotation'] = $uri_arg_value;
-                    } else {
-                        if ($uri_arg_name == 'flip') {
-                            $params['flip'] = $uri_arg_value;
-                        } else {
-                            if ($uri_arg == 'reflection') {
-                                $params['reflection'] = true;
-                            } else {
-                                if ($uri_arg == 'crop') {
-                                    $params['crop'] = true;
-                                } else {
-                                    if (in_array(strtolower($uri_arg), array('gif', 'jpg', 'png'))) {
-                                        $params['type'] = $uri_arg;
-                                    } else {
-                                        if (preg_match('/(\\d+)x(\\d+)(?:x(\\d+))?/i', $uri_arg, $size_match) > 0) {
-                                            $params['width'] = $size_match[1];
-                                            $params['height'] = $size_match[2];
-                                            if (isset($size_match[3])) {
-                                                $params['quality'] = $size_match[3];
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            return $this->object->_get_params_sanitized($params);
-        }
-        return null;
-    }
-    function _get_name_prefix_list()
-    {
-        return array('id' => 'nggid0', 'size' => 'ngg0dyn-', 'flags' => '00f0', 'flag' => array('w0' => 'watermark', 'c0' => 'crop', 'r1' => 'rotation', 'f1' => 'flip', 'r0' => 'reflection', 't0' => 'type'), 'flag_len' => 2, 'max_value_length' => 15);
-    }
-    function get_name_from_params($params, $only_size_name = false, $id_in_name = true)
-    {
-        $prefix_list = $this->object->_get_name_prefix_list();
-        $id_prefix = $prefix_list['id'];
-        $size_prefix = $prefix_list['size'];
-        $flags_prefix = $prefix_list['flags'];
-        $flags = $prefix_list['flag'];
-        $max_value_length = $prefix_list['max_value_length'];
-        $params = $this->object->_get_params_sanitized($params);
-        $image = isset($params['image']) ? $params['image'] : null;
-        $image_width = isset($params['width']) ? $params['width'] : null;
-        $image_height = isset($params['height']) ? $params['height'] : null;
-        $image_quality = isset($params['quality']) ? $params['quality'] : null;
-        $extension = null;
-        $name = null;
-        // if $only_size_name is false then we include the file name and image id for the image
-        if (!$only_size_name) {
-            if (is_int($image)) {
-                $imap = C_Image_Mapper::get_instance();
-                $image = $imap->find($image);
-            }
-            if ($image != null) {
-                // this is used to remove the extension and then add it back at the end of the name
-                $extension = M_I18n::mb_pathinfo($image->filename, PATHINFO_EXTENSION);
-                if ($extension != null) {
-                    $extension = '.' . $extension;
-                }
-                $name .= M_I18n::mb_basename($image->filename);
-                $name .= '-';
-                if ($id_in_name) {
-                    $image_id = strval($image->pid);
-                    $id_len = min($max_value_length, strlen($image_id));
-                    $id_len_hex = dechex($id_len);
-                    // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter
-                    if (strlen($id_len_hex) == 1) {
-                        $name .= $id_prefix . $id_len . substr($image_id, 0, $id_len);
-                        $name .= '-';
-                    }
-                }
-            }
-        }
-        $name .= $size_prefix;
-        $name .= strval($image_width) . 'x' . strval($image_height);
-        if ($image_quality != null) {
-            $name .= 'x' . $image_quality;
-        }
-        $name .= '-';
-        $name .= $flags_prefix;
-        foreach ($flags as $flag_prefix => $flag_name) {
-            $flag_value = 0;
-            if (isset($params[$flag_name])) {
-                $flag_value = $params[$flag_name];
-                if (!is_string($flag_value)) {
-                    // only strings or ints allowed, sprintf is required because intval(0) returns '' and not '0'
-                    $flag_value = intval($flag_value);
-                    $flag_value = sprintf('%d', $flag_value);
-                }
-            }
-            $flag_value = strval($flag_value);
-            $flag_len = min($max_value_length, strlen($flag_value));
-            $flag_len_hex = dechex($flag_len);
-            // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter
-            if (strlen($flag_len_hex) == 1) {
-                $name .= $flag_prefix . $flag_len . substr($flag_value, 0, $flag_len);
-            }
-        }
-        $name .= $extension;
-        return $name;
-    }
-    function get_size_name($params)
-    {
-        $name = $this->object->get_name_from_params($params, true);
-        return $name;
-    }
-    function get_image_name($image, $params)
-    {
-        $params['image'] = $image;
-        $name = $this->object->get_name_from_params($params);
-        return $name;
-    }
-    function get_params_from_name($name, $is_only_size_name = false)
-    {
-        $prefix_list = $this->object->_get_name_prefix_list();
-        $id_prefix = $prefix_list['id'];
-        $size_prefix = $prefix_list['size'];
-        $flags_prefix = $prefix_list['flags'];
-        $max_value_length = $prefix_list['max_value_length'];
-        $size_name = null;
-        $id_name = null;
-        $params = array();
-        if (!$is_only_size_name) {
-            $extension = M_I18n::mb_pathinfo($name, PATHINFO_EXTENSION);
-            if ($extension != null) {
-                $extension = '.' . $extension;
-            }
-            $name = M_I18n::mb_basename($name);
-        }
-        $size_index = strrpos($name, $size_prefix);
-        if ($size_index > 0 || $size_index === 0) {
-            // check if name contains dynamic size/params info by looking for prefix
-            $size_name = substr($name, $size_index);
-        }
-        if (!$is_only_size_name) {
-            // name should contain the image id, search for prefix
-            $id_index = strrpos($name, $id_prefix);
-            if ($id_index > 0 || $id_index === 0) {
-                if ($size_index > 0 && $size_index > $id_index) {
-                    $id_name = substr($name, $id_index, $size_index - $id_index);
-                } else {
-                    $id_name = substr($name, $id_index);
-                }
-            }
-        }
-        // Double check we got a correct dynamic size/params string
-        if (substr($size_name, 0, strlen($size_prefix)) == $size_prefix) {
-            $flags = $prefix_list['flag'];
-            // get the length of the flag id (the key in the $flags array) in the string (how many characters to consume)
-            $flag_id_len = $prefix_list['flag_len'];
-            $params_str = substr($size_name, strlen($size_prefix));
-            $params_parts = explode('-', $params_str);
-            // $param_part is a single param, separated by '-'
-            foreach ($params_parts as $param_part) {
-                // Parse WxHxQ - Q=quality
-                $param_size = explode('x', $param_part);
-                $param_size_count = count($param_size);
-                if (substr($param_part, 0, strlen($flags_prefix)) == $flags_prefix) {
-                    /* Set flags, using $flags keys as prefixes */
-                    // move string pointer up (after the main flags prefix)
-                    $param_flags = substr($param_part, strlen($flags_prefix));
-                    $param_flags_len = strlen($param_flags);
-                    $flags_todo = $flags;
-                    while (true) {
-                        // ensure we don't run into an infinite loop ;)
-                        if (count($flags_todo) == 0 || strlen($param_flags) == 0) {
-                            break;
-                        }
-                        // get the flag prefix (a key in the $flags array) using flag id length
-                        $flag_prefix = substr($param_flags, 0, $flag_id_len);
-                        // move string pointer up (after the single flag prefix)
-                        $param_flags = substr($param_flags, $flag_id_len);
-                        // get the length of the flag value in the string (how many characters to consume)
-                        // flag value length is stored in a single hexadecimal character next to the flag prefix
-                        $flag_value_len = min(hexdec(substr($param_flags, 0, 1)), min($max_value_length, strlen($param_flags) - 1));
-                        // get the flag value
-                        $flag_value = substr($param_flags, 1, $flag_value_len);
-                        // move string pointer up (after the entire flag)
-                        $param_flags = substr($param_flags, $flag_value_len + 1);
-                        // make sure the flag is supported
-                        if (isset($flags[$flag_prefix])) {
-                            $flag_name = $flags[$flag_prefix];
-                            if (is_numeric($flag_value)) {
-                                // convert numerical flags to integers
-                                $flag_value = intval($flag_value);
-                            }
-                            $params[$flag_name] = $flag_value;
-                            if (isset($flags_todo[$flag_prefix])) {
-                                unset($flags_todo[$flag_prefix]);
-                            }
-                        } else {
-                            // XXX unknown flag?
-                        }
-                    }
-                } else {
-                    if ($param_size_count == 2 || $param_size_count == 3) {
-                        // Set W H Q
-                        $params['width'] = intval($param_size[0]);
-                        $params['height'] = intval($param_size[1]);
-                        if (isset($param_size[2]) && intval($param_size[2]) > 0) {
-                            $params['quality'] = intval($param_size[2]);
-                        }
-                    }
-                }
-            }
-        }
-        // Double check we got a correct id string
-        if (substr($id_name, 0, strlen($id_prefix)) == $id_prefix) {
-            // move string pointer up (after the prefix)
-            $id_name = substr($id_name, strlen($id_prefix));
-            // get the length of the image id in the string (how many characters to consume)
-            $id_len = min(hexdec(substr($id_name, 0, 1)), min($max_value_length, strlen($id_name) - 1));
-            // get the id based on old position and id length
-            $image_id = intval(substr($id_name, 1, $id_len));
-            if ($image_id > 0) {
-                $params['image'] = $image_id;
-            }
-        }
-        return $this->object->_get_params_sanitized($params);
-    }
-    function is_size_dynamic($name, $is_only_size_name = false)
-    {
-        $params = $this->object->get_params_from_name($name, $is_only_size_name);
-        if (isset($params['width']) && isset($params['height'])) {
-            return true;
-        }
-        return false;
-    }
-}
-/**
- * Class C_Dynamic_Thumbnails_Manager
- * @mixin Mixin_Dynamic_Thumbnails_Manager
- */
-class C_Dynamic_Thumbnails_Manager extends C_Component
-{
-    static $_instances = array();
-    function define($context = FALSE)
-    {
-        parent::define($context);
-        $this->implement('I_Dynamic_Thumbnails_Manager');
-        $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager');
-    }
-    /**
-     * @param bool|string $context
-     * @return C_Dynamic_Thumbnails_Manager
-     */
-    static function get_instance($context = False)
-    {
-        if (!isset(self::$_instances[$context])) {
-            self::$_instances[$context] = new C_Dynamic_Thumbnails_Manager($context);
-        }
-        return self::$_instances[$context];
-    }
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php
index 360d69a21..e1f189f75 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php
@@ -19,7 +19,7 @@ class M_Fs extends C_Base_Module
 			'photocrati-fs',
 			'Filesystem',
 			'Provides a filesystem abstraction layer for Pope modules',
-			'3.0.0',
+			'3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php
index dba1c05fd..57824e947 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php
@@ -47,41 +47,11 @@ class Mixin_Fs_Instance_Methods extends Mixin
      * Returns a calculated path to a file
      * @param string $path
      * @param string|false $module (optional)
-     * @param bool $relpath (optional)
-     * @return string
-     */
-    function get_abspath($path, $module = FALSE, $relpath = FALSE)
-    {
-        // Wel'l assume that we're to calculate the path relative to
-        // the site document root
-        $retval = $path;
-        if (strpos($path, $this->get_document_root()) === FALSE) {
-            $retval = $this->join_paths($this->get_document_root(), $path);
-        }
-        // If a module is provided, then we should calculate the path
-        // relative to the module directory
-        if ($module) {
-            if ($module_dir = $this->get_registry()->get_module_dir($module)) {
-                $retval = $this->join_paths($module_dir, $path);
-            } else {
-                $retval = $this->join_path($this->get_document_root(), $module, $path);
-            }
-        }
-        // Return the calculated path relative to the document root
-        if ($relpath) {
-            $retval = $this->object->remove_path_segment($retval, $this->get_document_root());
-        }
-        return $retval;
-    }
-    /**
-     * Returns a calculated relpath to a particular file
-     * @param string $path
-     * @param string|false $module (optional)
      * @return string
      */
-    function get_relpath($path, $module = FALSE)
+    function get_abspath($path, $module = FALSE)
     {
-        return $this->object->get_abspath($path, $module, TRUE);
+        return M_Static_Assets::get_static_abspath($path, $module);
     }
     /**
      * Removes a path segment from a url or filesystem path
@@ -104,41 +74,25 @@ class Mixin_Fs_Instance_Methods extends Mixin
      * @param array $search_paths (optional)
      * @return string|NULL
      */
-    function find_abspath($path, $module = FALSE, $relpath = FALSE, $search_paths = array())
+    function find_abspath($path, $module = FALSE)
     {
-        $retval = NULL;
-        // Ensure that we weren't passed a module id in the path
-        if (!$module) {
-            list($path, $module) = $this->object->parse_formatted_path($path);
-        }
-        if (@file_exists($path)) {
-            $retval = $path;
-        } else {
-            // Ensure that we know where to search for the file
-            if (!$search_paths) {
-                $search_paths = $this->object->get_search_paths($path, $module);
-            }
-            // See if the file is located under one of the search paths directly
-            foreach ($search_paths as $dir) {
-                if (@file_exists($this->join_paths($dir, $path))) {
-                    $retval = $this->join_paths($dir, $path);
-                    break;
-                }
-            }
-            // Use rglob to find the file
-            if (!$retval) {
-                foreach ($search_paths as $dir) {
-                    if ($retval = $this->object->_rglob($dir, $path)) {
-                        break;
-                    }
-                }
-            }
-            // Return the relative path if we're to do so
-            if ($relpath) {
-                $retval = $this->object->remove_path_segment($retval, $this->get_document_root());
+        if (strpos($path, '#') !== FALSE) {
+            $parts = explode("#", $path);
+            if (count($parts) === 2) {
+                $path = $parts[1];
+                $module = $parts[0];
+            } else {
+                $path = $parts[0];
             }
         }
-        return $retval;
+        if (!$module) {
+            die(sprintf("find_abspath requires a path and module. Received %s and %s", $path, strval($module)));
+        }
+        $module_dir = C_Component_Registry::get_instance()->get_module_dir($module);
+        $path = preg_replace("#^/{1,2}#", "", $path, 1);
+        $retval = path_join($module_dir, $path);
+        // Adjust for windows paths
+        return wp_normalize_path($retval);
     }
     /**
      * Returns a list of directories to search for a particular filename
@@ -245,6 +199,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
     }
     /**
      * Joins multiple path segments together
+     * @deprecated use path_join() instead when you can
      * @return string
      */
     function join_paths()
@@ -337,7 +292,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
                 break;
             case 'gallery':
             case 'galleries':
-                $root_type = defined('NGG_GALLERY_ROOT_TYPE') ? NGG_GALLERY_ROOT_TYPE : 'site';
+                $root_type = NGG_GALLERY_ROOT_TYPE;
                 if ($root_type == 'content') {
                     $retval = WP_CONTENT_DIR;
                 } else {
@@ -347,14 +302,10 @@ class Mixin_Fs_Instance_Methods extends Mixin
             default:
                 $retval = $this->_document_root;
         }
-        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
-            $retval = str_replace('/', DIRECTORY_SEPARATOR, $retval);
-        }
-        return $retval;
+        return wp_normalize_path($retval);
     }
     function get_absolute_path($path)
     {
-        $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
         $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
         $absolutes = array();
         foreach ($parts as $part) {
@@ -367,7 +318,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
                 $absolutes[] = $part;
             }
         }
-        return implode(DIRECTORY_SEPARATOR, $absolutes);
+        return wp_normalize_path(implode(DIRECTORY_SEPARATOR, $absolutes));
     }
     /**
      * Sets the document root for this application
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po
index 9d08822b3..41bf73fa2 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po
@@ -3499,10 +3499,10 @@ msgstr "Galleriet ID =%s findes ikke."
 #. Description of the plugin
 msgid ""
 "The most popular gallery plugin for WordPress and one of the most popular "
-"plugins of all time with over 24 million downloads."
+"plugins of all time with over 25 million downloads."
 msgstr ""
 "Den mest populære galleri plugin til WordPress og et af de mest populære "
-"plugins igennem tiden med over 24 millioner downloads."
+"plugins igennem tiden med over 25 millioner downloads."
 
 #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:290
 msgid "The most powerful gallery system ever built for WordPress. "
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po
index 27bf045da..bf4489688 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po
@@ -2431,8 +2431,8 @@ msgid "Server Settings"
 msgstr "Serverinställningar"
 
 #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
-msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 24 million downloads."
-msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 24 miljoner nedladdningar."
+msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 25 million downloads."
+msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 25 miljoner nedladdningar."
 
 # Missed by NextGEN, translated string is displayed.
 #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
@@ -3222,8 +3222,8 @@ msgid "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
 msgstr "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
 
 #. Description of the plugin/theme
-msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 24 million downloads."
-msgstr "Det mest populära galleri-tillägget för WordPress och ett av de mest populära tillägg genom tiderna med över 24 miljoner nedladdningar."
+msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 25 million downloads."
+msgstr "Det mest populära galleri-tillägget för WordPress och ett av de mest populära tillägg genom tiderna med över 25 miljoner nedladdningar."
 
 #. Author of the plugin/theme
 msgid "Imagely"
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po
index a0afdeec6..db42cc08f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po
@@ -2446,7 +2446,7 @@ msgid "Server Settings"
 msgstr ""
 
 #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
-msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 24 million downloads."
+msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 25 million downloads."
 msgstr ""
 
 #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
@@ -3231,7 +3231,7 @@ msgid "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
 msgstr ""
 
 #. Description of the plugin/theme
-msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 24 million downloads."
+msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 25 million downloads."
 msgstr ""
 
 #. Author of the plugin/theme
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php
index 14572c307..7510582f6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php
@@ -20,7 +20,7 @@ class M_I18N extends C_Base_Module
             'photocrati-i18n',
             'Internationalization',
             "Adds I18N resources and methods",
-            '3.1.6',
+            '3.1.14',
             'https://www.imagely.com/languages/',
             'Imagely',
             'https://www.imagely.com'
@@ -47,11 +47,10 @@ class M_I18N extends C_Base_Module
 
     function register_translation_hooks()
     {
-        $fs = C_Fs::get_instance();
         $dir = str_replace(
-            $fs->get_document_root('plugins'),
-            '',
-            $fs->get_abspath('lang', 'photocrati-i18n')
+        	wp_normalize_path(WP_PLUGIN_DIR),
+        	"",
+        	wp_normalize_path(__DIR__ . DIRECTORY_SEPARATOR . 'lang')
         );
 
         // Load text domain
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/lib/class-imagify-partner.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/lib/class-imagify-partner.php
index 6e577f90a..0dd443d54 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/lib/class-imagify-partner.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/lib/class-imagify-partner.php
@@ -833,7 +833,7 @@ if ( ! class_exists( 'Imagify_Partner' ) ) :
 				return IMAGIFY_FILE;
 			}
 
-			return WP_PLUGIN_DIR . '/imagify/imagify.php';
+			return wp_normalize_path(WP_PLUGIN_DIR . '/imagify/imagify.php');
 		}
 
 		/**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/module.imagify.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/module.imagify.php
index f030de296..6d1c44438 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/module.imagify.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/module.imagify.php
@@ -27,7 +27,7 @@ class M_Imagify extends C_Base_Module
             'photocrati-imagify',
             'NextGEN Imagify Integration',
             'NextGen Gallery / Imagify Integration',
-            '3.1.0',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php
index 3a87ab769..5944c154f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php
@@ -23,7 +23,7 @@ class M_Lightbox extends C_Base_Module
             'photocrati-lightbox',
             'Lightbox',
             "Provides integration with several JavaScript lightbox effect libraries",
-            '3.0.0',
+            '3.1.19',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.js
index 973840707..67ddf6ffa 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.js
@@ -1,14 +1,24 @@
 jQuery(function($) {
 
+    var selector = null;
+
+    var nextgen_simplebox_options = {
+        history: false,
+        animationSlide: false,
+        animationSpeed: 100
+    };
+
     var nextgen_simplelightbox_init = function() {
-        var selector = nextgen_lightbox_filter_selector($, $(".ngg-simplelightbox"));
-        selector.simpleLightbox({
-            history: false,
-            animationSlide: false,
-            animationSpeed: 100
-        });
+        selector = nextgen_lightbox_filter_selector($, $(".ngg-simplelightbox"));
+        selector.simpleLightbox(nextgen_simplebox_options);
     };
 
-    $(window).bind('refreshed', nextgen_simplelightbox_init);
     nextgen_simplelightbox_init();
-});
+
+    $(window).bind('refreshed', function() {
+        selector = nextgen_lightbox_filter_selector($, $(".ngg-simplelightbox"));
+        var gallery = selector.simpleLightbox(nextgen_simplebox_options);
+        gallery.refresh();
+
+    });
+});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.min.js
index 804718f10..2fd7396f5 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/simplelightbox/nextgen_simple_lightbox_init.min.js
@@ -1 +1 @@
-jQuery(function(i){var e=function(){nextgen_lightbox_filter_selector(i,i(".ngg-simplelightbox")).simpleLightbox({history:!1,animationSlide:!1,animationSpeed:100})};i(window).bind("refreshed",e),e()});
\ No newline at end of file
+jQuery(function(e){var i=null,n={history:!1,animationSlide:!1,animationSpeed:100};!function(){i=nextgen_lightbox_filter_selector(e,e(".ngg-simplelightbox")),i.simpleLightbox(n)}(),e(window).bind("refreshed",function(){i=nextgen_lightbox_filter_selector(e,e(".ngg-simplelightbox")),i.simpleLightbox(n).refresh()})});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php
index cbf21b50f..1277c0cd9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php
@@ -27,7 +27,7 @@ class M_MVC extends C_Base_Module
             'photocrati-mvc',
             'MVC Framework',
             'Provides an MVC architecture for the plugin to use',
-            '3.1.0',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery',
             'Imagely',
             'https://www.imagely.com'
@@ -57,7 +57,6 @@ class M_MVC extends C_Base_Module
     function _register_adapters()
     {
             $this->get_registry()->add_adapter('I_Fs', 'A_MVC_Fs');
-            $this->get_registry()->add_adapter('I_Router', 'A_MVC_Router');
             $this->get_registry()->add_adapter('I_Component_Factory', 'A_MVC_Factory');
     }
 
@@ -66,7 +65,6 @@ class M_MVC extends C_Base_Module
         return array(
             'A_Mvc_Factory' => 'adapter.mvc_factory.php',
             'A_Mvc_Fs' => 'adapter.mvc_fs.php',
-            'A_Mvc_Router' => 'adapter.mvc_router.php',
             'C_Mvc_Installer' => 'class.mvc_installer.php',
             'C_Mvc_Controller' => 'class.mvc_controller.php',
             'C_Mvc_View' => 'class.mvc_view.php',
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/package.module.mvc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/package.module.mvc.php
index e05e90710..5e6a79f41 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/package.module.mvc.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/package.module.mvc.php
@@ -42,6 +42,7 @@ class A_MVC_Fs extends Mixin
      * @param bool $relative (optional)
      * @param bool $found_root (optional)
      * @return string|NULL
+     * @deprecated Use M_Static_Assets instead
      */
     function find_static_abspath($path, $module = FALSE, $relative = FALSE, &$found_root = FALSE)
     {
@@ -72,6 +73,7 @@ class A_MVC_Fs extends Mixin
             }
             // Create the absolute path to the file
             $path = $this->object->join_paths($mod_dir, C_NextGen_Settings::get_instance()->get('mvc_static_dirname'), $path);
+            $path = wp_normalize_path($path);
             if ($relative) {
                 $original_length = strlen($path);
                 $roots = array('plugins', 'plugins_mu', 'templates', 'stylesheets');
@@ -104,123 +106,6 @@ class A_MVC_Fs extends Mixin
         }
         return $key;
     }
-    /**
-     * Gets the relative path to a static resource. If it doesn't exist, then NULL is returned
-     *
-     * @param string $path
-     * @param string|false $module (optional)
-     * @return string|NULL
-     */
-    function find_static_relpath($path, $module = FALSE)
-    {
-        return $this->object->find_static_abspath($path, $module, TRUE);
-    }
-}
-/**
- * Class A_MVC_Router
- * @mixin C_Router
- * @adapts I_Router
- */
-class A_MVC_Router extends Mixin
-{
-    static $_lookups = array();
-    function initialize()
-    {
-        register_shutdown_function(array(&$this, 'cache_lookups'));
-        self::$_lookups = C_Photocrati_Transient_Manager::fetch($this->_get_cache_key(), array());
-    }
-    function _get_cache_key()
-    {
-        return C_Photocrati_Transient_Manager::create_key('MVC', 'get_static_url');
-    }
-    function cache_lookups()
-    {
-        C_Photocrati_Transient_Manager::update($this->_get_cache_key(), self::$_lookups);
-    }
-    function _get_static_url_key($path, $module = FALSE)
-    {
-        $parts = array($path, $module, $this->object->get_base_url('plugins'), $this->object->get_base_url('plugins_mu'), $this->object->get_base_url('templates'), $this->object->get_base_url('stylesheets'));
-        return implode('|', $parts);
-    }
-    /**
-     * First tries to find the static file in the 'static' folder
-     * @param string $path
-     * @param string $module
-     * @return string
-     */
-    function get_static_url($path, $module = FALSE)
-    {
-        $retval = NULL;
-        $key = $this->object->_get_static_url_key($path, $module);
-        // Have we looked up this url before?
-        if (isset(self::$_lookups[$key])) {
-            $retval = self::$_lookups[$key];
-        }
-        $fs = C_Fs::get_instance();
-        // Check for a user-supplied override
-        if (NULL === $retval) {
-            $formatted_path = $fs->parse_formatted_path($path);
-            $abspath = $fs->join_paths($this->object->get_static_override_dir($formatted_path[1]), $formatted_path[0]);
-            if (@is_file($abspath)) {
-                $abspath = str_replace($fs->get_document_root('content'), '', $abspath);
-                $retval = self::$_lookups[$key] = $this->object->join_paths($this->object->get_base_url('content'), str_replace("\\", '/', $abspath));
-            }
-        }
-        // We'll have to calculate the url from our own modules
-        if (NULL === $retval) {
-            $path = $fs->find_static_abspath($path, $module);
-            $original_length = strlen($path);
-            $roots = array('plugins', 'plugins_mu', 'templates', 'stylesheets');
-            $found_root = FALSE;
-            foreach ($roots as $root) {
-                $path = str_replace($fs->get_document_root($root), '', $path);
-                if (strlen($path) != $original_length) {
-                    $found_root = $root;
-                    break;
-                }
-            }
-            // We found the root so we know what base url to prepend
-            if ($found_root) {
-                $retval = self::$_lookups[$key] = $this->object->join_paths($this->object->get_base_url($found_root), str_replace("\\", '/', $path));
-            } else {
-                $retval = self::$_lookups[$key] = $this->object->join_paths($this->object->get_base_url('root'), str_replace("\\", '/', $path));
-            }
-        }
-        // For the "Sage" theme and others using the "Soil" plugin "Roots" theme was re-branded to "Sage" theme
-        // 2015-02-25; see https://roots.io/new-website-sage-and-the-future/
-        if ((current_theme_supports('soil-relative-urls') || current_theme_supports('root-relative-urls')) && strpos($retval, '/') !== 0) {
-            $retval = '/' . $retval;
-        }
-        return $retval;
-    }
-    /**
-     * @param string $module_id
-     *
-     * @return string $dir
-     */
-    function get_static_override_dir($module_id = NULL)
-    {
-        $fs = C_Fs::get_instance();
-        $dir = $fs->join_paths(WP_CONTENT_DIR, 'ngg');
-        if (!@file_exists($dir)) {
-            wp_mkdir_p($dir);
-        }
-        $dir = $fs->join_paths($dir, 'modules');
-        if (!@file_exists($dir)) {
-            wp_mkdir_p($dir);
-        }
-        if ($module_id) {
-            $dir = $fs->join_paths($dir, $module_id);
-            if (!@file_exists($dir)) {
-                wp_mkdir_p($dir);
-            }
-            $dir = $fs->join_paths($dir, 'static');
-            if (!@file_exists($dir)) {
-                wp_mkdir_p($dir);
-            }
-        }
-        return $dir;
-    }
 }
 if (preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) {
     die('You are not allowed to call this page directly.');
@@ -397,22 +282,11 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
      * Gets the absolute path of a static resource
      * @param string $path
      * @param string|false $module (optional)
-     * @param boolean $relative
-     * @return string
-     */
-    function get_static_abspath($path, $module = FALSE, $relative = FALSE)
-    {
-        return C_Fs::get_instance()->find_static_abspath($path, $module);
-    }
-    /**
-     * Gets the relative path of a static resource
-     * @param string $path
-     * @param string|false $module (optional)
      * @return string
      */
-    function get_static_relpath($path, $module = FALSE)
+    function get_static_abspath($path, $module = FALSE)
     {
-        return C_Fs::get_instance()->find_static_abspath($path, $module, TRUE);
+        return M_Static_Assets::get_static_abspath($path, $module);
     }
     /**
      * @param string $path
@@ -421,7 +295,7 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
      */
     function get_static_url($path, $module = FALSE)
     {
-        return C_Router::get_instance()->get_static_url($path, $module);
+        return M_Static_Assets::get_static_url($path, $module);
     }
     /**
      * Renders a template and outputs the response headers
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php
index 4753124a1..fd5171031 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php
@@ -22,7 +22,7 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
             'photocrati-nextgen_addgallery_page',
             'NextGEN Add Gallery Page',
             'Provides admin page for adding a gallery and uploading images',
-            '3.0.0',
+            '3.1.19',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php
index 97923c89b..b6cd8c1b1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php
@@ -19,7 +19,7 @@ class A_Import_Folder_Form extends Mixin
     }
     function render()
     {
-        return $this->object->render_partial('photocrati-nextgen_addgallery_page#import_folder', array('browse_sec_token' => C_WordPress_Security_Manager::get_instance()->get_request_token('nextgen_upload_image'), 'import_sec_token' => C_WordPress_Security_Manager::get_instance()->get_request_token('nextgen_upload_image')), TRUE);
+        return $this->object->render_partial('photocrati-nextgen_addgallery_page#import_folder', array('browse_nonce' => M_Security::create_nonce('nextgen_upload_image'), 'import_nonce' => M_Security::create_nonce('nextgen_upload_image')), TRUE);
     }
 }
 /**
@@ -39,10 +39,7 @@ class A_Import_Media_Library_Form extends Mixin
         wp_enqueue_script('nextgen_media_library_import-js');
         wp_enqueue_style('nextgen_media_library_import-css');
         $url = admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid={gid}';
-        $i18n_array = array('admin_url' => admin_url(), 'title' => __('Import Images into NextGen Gallery', 'nggallery'), 'import_multiple' => __('Import %s images', 'nggallery'), 'import_singular' => __('Import 1 image', 'nggallery'), 'imported_multiple' => sprintf(__('{count} images were uploaded successfully. <a href="%s" target="_blank">Manage gallery</a>', 'nggallery'), $url), 'imported_singular' => sprintf(__('1 image was uploaded successfully. <a href="%s" target="_blank">Manage gallery</a>', 'nggallery'), $url), 'imported_none' => __('0 images were uploaded', 'nggallery'), 'progress_title' => __('Importing gallery', 'nggallery'), 'in_progress' => __('In Progress...', 'nggallery'), 'gritter_title' => __('Upload complete. Great job!', 'nggallery'), 'gritter_error' => __('Oops! Sorry, but an error occured. This may be due to a server misconfiguration. Check your PHP error log or ask your hosting provider for assistance.', 'nggallery'));
-        foreach (C_WordPress_Security_Manager::get_instance()->get_request_token('nextgen_upload_image')->get_request_list() as $name => $value) {
-            $i18n_array['sectoken'][$name] = $value;
-        }
+        $i18n_array = array('admin_url' => admin_url(), 'title' => __('Import Images into NextGen Gallery', 'nggallery'), 'import_multiple' => __('Import %s images', 'nggallery'), 'import_singular' => __('Import 1 image', 'nggallery'), 'imported_multiple' => sprintf(__('{count} images were uploaded successfully. <a href="%s" target="_blank">Manage gallery</a>', 'nggallery'), $url), 'imported_singular' => sprintf(__('1 image was uploaded successfully. <a href="%s" target="_blank">Manage gallery</a>', 'nggallery'), $url), 'imported_none' => __('0 images were uploaded', 'nggallery'), 'progress_title' => __('Importing gallery', 'nggallery'), 'in_progress' => __('In Progress...', 'nggallery'), 'gritter_title' => __('Upload complete. Great job!', 'nggallery'), 'gritter_error' => __('Oops! Sorry, but an error occured. This may be due to a server misconfiguration. Check your PHP error log or ask your hosting provider for assistance.', 'nggallery'), 'nonce' => M_Security::create_nonce('nextgen_upload_image'));
         wp_localize_script('nextgen_media_library_import-js', 'ngg_importml_i18n', $i18n_array);
     }
     function render()
@@ -52,16 +49,14 @@ class A_Import_Media_Library_Form extends Mixin
     }
     function get_galleries()
     {
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
         $galleries = array();
-        if ($sec_actor->is_allowed('nextgen_edit_gallery')) {
+        if (M_Security::is_allowed('nextgen_edit_gallery')) {
             $galleries = C_Gallery_Mapper::get_instance()->find_all();
-            if (!$sec_actor->is_allowed('nextgen_edit_gallery_unowned')) {
+            if (!M_Security::is_allowed('nextgen_edit_gallery_unowned')) {
                 $galleries_all = $galleries;
                 $galleries = array();
                 foreach ($galleries_all as $gallery) {
-                    if ($sec_actor->is_user() && $sec_actor->get_entity_id() == (int) $gallery->author) {
+                    if (wp_get_current_user()->ID == (int) $gallery->author) {
                         $galleries[] = $gallery;
                     }
                 }
@@ -126,22 +121,22 @@ class A_NextGen_AddGallery_Ajax extends Mixin
                             } else {
                                 $retval['error'] = __('Failed to extract images from ZIP', 'nggallery');
                             }
-                        } elseif ($image = $storage->upload_image($gallery_id)) {
-                            $retval['image_ids'] = array($image->id());
+                        } elseif ($image_id = $storage->upload_image($gallery_id)) {
+                            $retval['image_ids'] = array($image_id);
                             $retval['image_errors'] = array();
                             // check if image was resized correctly
                             if ($settings->imgAutoResize) {
-                                $image_path = $storage->get_full_abspath($image);
+                                $image_path = $storage->get_full_abspath($image_id);
                                 $image_thumb = new C_NggLegacy_Thumbnail($image_path, true);
                                 if ($image_thumb->error) {
-                                    $retval['image_errors'][] = array('id' => $image->id(), 'error' => sprintf(__('Automatic image resizing failed [%1$s].', 'nggallery'), $image_thumb->errmsg));
+                                    $retval['image_errors'][] = array('id' => $image_id, 'error' => sprintf(__('Automatic image resizing failed [%1$s].', 'nggallery'), $image_thumb->errmsg));
                                     $image_thumb = null;
                                 }
                             }
                             // check if thumb was generated correctly
-                            $thumb_path = $storage->get_thumb_abspath($image);
+                            $thumb_path = $storage->get_thumb_abspath($image_id);
                             if (!file_exists($thumb_path)) {
-                                $retval['image_errors'][] = array('id' => $image->id(), 'error' => __('Thumbnail generation failed.', 'nggallery'));
+                                $retval['image_errors'][] = array('id' => $image_id, 'error' => __('Thumbnail generation failed.', 'nggallery'));
                             }
                         } else {
                             $retval['error'] = __('Image generation failed', 'nggallery');
@@ -161,6 +156,9 @@ class A_NextGen_AddGallery_Ajax extends Mixin
                 }
             }
         } else {
+            $action = 'nextgen_upload_image';
+            $retval['allowed'] = M_Security::is_allowed($action);
+            $retval['verified_token'] = !$_REQUEST['nonce'] || wp_verify_nonce($_REQUEST['nonce'], $action);
             $retval['error'] = __("No permissions to upload images. Try refreshing the page or ensuring that your user account has sufficient roles/privileges.", 'nggallery');
             $error = TRUE;
         }
@@ -224,7 +222,7 @@ class A_NextGen_AddGallery_Ajax extends Mixin
     function import_folder_action()
     {
         $retval = array();
-        if ($this->validate_ajax_request('nextgen_upload_image', TRUE)) {
+        if ($this->validate_ajax_request('nextgen_upload_image', $_REQUEST['nonce'])) {
             if ($folder = $this->param('folder')) {
                 $storage = C_Gallery_Storage::get_instance();
                 $fs = C_Fs::get_instance();
@@ -267,7 +265,7 @@ class A_NextGen_AddGallery_Ajax extends Mixin
         $gallery_mapper = C_Gallery_Mapper::get_instance();
         $image_mapper = C_Image_Mapper::get_instance();
         $attachment_ids = $this->param('attachment_ids');
-        if ($this->validate_ajax_request('nextgen_upload_image', TRUE)) {
+        if ($this->validate_ajax_request('nextgen_upload_image', $_REQUEST['nonce'])) {
             if (empty($attachment_ids) || !is_array($attachment_ids)) {
                 $retval['error'] = __('An unexpected error occured.', 'nggallery');
             }
@@ -297,10 +295,10 @@ class A_NextGen_AddGallery_Ajax extends Mixin
                             $retval['error'] = __('Image generation failed', 'nggallery');
                             break;
                         }
-                        $image = $storage->upload_base64_image($gallery_id, $file_data, $file_name);
+                        $image = $storage->upload_image($gallery_id, $file_name, $file_data);
                         if ($image) {
                             // Potentially import metadata from WordPress
-                            $image = $image_mapper->find($image->id());
+                            $image = $image_mapper->find($image);
                             if (!empty($attachment->post_excerpt)) {
                                 $image->alttext = $attachment->post_excerpt;
                             }
@@ -309,11 +307,11 @@ class A_NextGen_AddGallery_Ajax extends Mixin
                             }
                             $image = apply_filters('ngg_medialibrary_imported_image', $image, $attachment);
                             $image_mapper->save($image);
+                            $retval['image_ids'][] = $image->{$image->id_field};
                         } else {
                             $retval['error'] = __('Image generation failed', 'nggallery');
                             break;
                         }
-                        $retval['image_ids'][] = $image->{$image->id_field};
                     } catch (E_NggErrorException $ex) {
                         $retval['error'] = $ex->getMessage();
                         if ($created_gallery) {
@@ -406,7 +404,7 @@ class A_Upload_Images_Form extends Mixin
         $fs = C_Fs::get_instance();
         $router = C_Router::get_instance();
         $locale = get_locale();
-        $dir = $fs->find_static_abspath('photocrati-nextgen_addgallery_page#plupload-2.1.1/i18n') . DIRECTORY_SEPARATOR;
+        $dir = M_Static_Assets::get_static_abspath('photocrati-nextgen_addgallery_page#plupload-2.1.1/i18n');
         $tmp = explode('_', $locale, 2);
         $retval = FALSE;
         if (file_exists($dir . $tmp[0] . '.js')) {
@@ -417,7 +415,7 @@ class A_Upload_Images_Form extends Mixin
             }
         }
         if ($retval) {
-            $retval = $router->get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/i18n/' . $retval . '.js');
+            $retval = M_Static_Assets::get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/i18n/' . $retval . '.js');
         }
         return $retval;
     }
@@ -434,7 +432,7 @@ class A_Upload_Images_Form extends Mixin
     }
     function render()
     {
-        return $this->object->render_partial('photocrati-nextgen_addgallery_page#upload_images', array('plupload_options' => json_encode($this->object->get_plupload_options()), 'galleries' => $this->object->get_galleries(), 'sec_token' => C_WordPress_Security_Manager::get_instance()->get_request_token('nextgen_upload_image')), TRUE);
+        return $this->object->render_partial('photocrati-nextgen_addgallery_page#upload_images', array('plupload_options' => json_encode($this->object->get_plupload_options()), 'galleries' => $this->object->get_galleries(), 'nonce' => M_Security::create_nonce('nextgen_upload_image')), TRUE);
     }
     function get_plupload_options()
     {
@@ -468,17 +466,15 @@ class A_Upload_Images_Form extends Mixin
     }
     function get_galleries()
     {
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
         $galleries = array();
-        if ($sec_actor->is_allowed('nextgen_edit_gallery')) {
+        if (M_Security::is_allowed('nextgen_edit_gallery')) {
             $gallery_mapper = C_Gallery_Mapper::get_instance();
             $galleries = $gallery_mapper->find_all();
-            if (!$sec_actor->is_allowed('nextgen_edit_gallery_unowned')) {
+            if (!M_Security::is_allowed('nextgen_edit_gallery_unowned')) {
                 $galleries_all = $galleries;
                 $galleries = array();
                 foreach ($galleries_all as $gallery) {
-                    if ($sec_actor->is_user() && $sec_actor->get_entity_id() == (int) $gallery->author) {
+                    if (wp_get_current_user()->ID == (int) $gallery->author) {
                         $galleries[] = $gallery;
                     }
                 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.js
index 841b751cc..ef9a334e9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.js
@@ -53,10 +53,6 @@
                     ngg_importml.methods.import.params.gallery_id   = ngg_importml.methods.urlencode(ngg_importml.selectors.gallery_select.val());
                     ngg_importml.methods.import.params.gallery_name = ngg_importml.methods.urlencode(ngg_importml.selectors.gallery_name.val());
 
-                    Object.keys(ngg_importml_i18n.sectoken).forEach(function(key) {
-                        ngg_importml.methods.import.params[key] = ngg_importml_i18n.sectoken[key];
-                    });
-
                     ngg_importml.progress_bar = $.nggProgressBar({
                         title: ngg_importml_i18n.progress_title,
                         infinite: true,
@@ -97,6 +93,7 @@
 
                 send_ajax: function() {
                     var params = ngg_importml.methods.import.params;
+                    params.nonce = ngg_importml_i18n.nonce;
                     params.attachment_ids = [ngg_importml.import_ids.pop()];
 
                     $.post(photocrati_ajax.url, params, function(data) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.js
index 1b12f52ed..6b31dae26 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.js
@@ -1 +1 @@
-!function(e){var t={ml_data:null,import_ids:[],selectors:{ml_btn_import:e("#ngg-importML-selected-image-import"),ml_btn_select:e("#ngg-importML-select-opener"),gallery_select:e("#ngg-importML-gallery-id"),gallery_name:e("#ngg-importML-gallery-name")},initialize:function(){this.methods.initialize(),this.methods.set_events()},methods:{initialize:function(){t.ml_dialog=top.wp.media.frames.ngg_importml=top.wp.media({multiple:!0,title:ngg_importml_i18n.title,button:{text:ngg_importml_i18n.button_text}})},urlencode:function(e){return e=(e+"").toString(),encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")},import:{import_count:0,params:{action:"import_media_library"},start:function(){t.selectors.ml_btn_import.attr("disabled",!0),t.selectors.ml_btn_select.attr("disabled",!0),t.methods.import.params.gallery_id=t.methods.urlencode(t.selectors.gallery_select.val()),t.methods.import.params.gallery_name=t.methods.urlencode(t.selectors.gallery_name.val()),Object.keys(ngg_importml_i18n.sectoken).forEach(function(e){t.methods.import.params[e]=ngg_importml_i18n.sectoken[e]}),t.progress_bar=e.nggProgressBar({title:ngg_importml_i18n.progress_title,infinite:!0,starting_value:ngg_importml_i18n.in_progress}),e(t).trigger("send_ajax")},done:function(){t.progress_bar.close(100),t.selectors.ml_btn_import.attr("disabled",!1),t.selectors.ml_btn_select.attr("disabled",!1);var l=ngg_importml_i18n.imported_multiple;1==t.methods.import.import_count&&(l=ngg_importml_i18n.imported_singular),l=l.replace("{gid}",t.methods.import.params.gallery_id),l=l.replace("{count}",t.methods.import.import_count),delete t.methods.import.params.gallery_id,delete t.methods.import.params.gallery_name,e.gritter.add({title:ngg_importml_i18n.gritter_title,text:l,sticky:!0}),t.methods.import.import_count=0,t.ml_dialog.trigger("reset"),t.import_ids=[],t.selectors.ml_btn_import.fadeOut()},send_ajax:function(){var l=t.methods.import.params;l.attachment_ids=[t.import_ids.pop()],e.post(photocrati_ajax.url,l,function(l){if(void 0===l.error){if(t.methods.import.import_count++,0==t.selectors.gallery_select.find('option[value="'+l.gallery_id+'"]').length){t.methods.import.params.gallery_id=l.gallery_id;var r=e("<option/>").attr("value",l.gallery_id).html(l.gallery_name);t.selectors.gallery_select.append(r),t.selectors.gallery_select.val(l.gallery_id),r.prop("selected",!0),t.selectors.gallery_name.val("").fadeOut()}}else e.gritter.add({title:ngg_importml_i18n.gritter_error,text:l.error,sticky:!0});0==t.import_ids.length?t.methods.import.done():e(t).trigger("send_ajax")},"json")}},set_events:function(){e(t).on("send_ajax",function(){t.methods.import.send_ajax()}),t.ml_dialog.on("select",function(){t.import_ids=[],t.ml_data=t.ml_dialog.state().get("selection"),t.ml_data.map(function(e){e=e.toJSON(),t.import_ids.push(e.id)});var e=ngg_importml_i18n.import_multiple.replace("%s",t.import_ids.length);1==t.import_ids.length&&(e=ngg_importml_i18n.import_singular),t.selectors.ml_btn_import.html(e),t.selectors.ml_btn_import.fadeIn()}),t.selectors.ml_btn_select.on("click",function(e){e.preventDefault(),t.ml_dialog.open()}),t.selectors.ml_btn_import.on("click",function(e){e.preventDefault(),t.methods.import.start()}),t.selectors.gallery_select.on("change",function(){0==parseInt(this.value)?(t.selectors.gallery_name.fadeIn().focus(),0==t.selectors.gallery_name.val().length&&(t.selectors.ml_btn_import.fadeOut(),t.selectors.ml_btn_select.fadeOut())):t.selectors.gallery_name.fadeOut(400,function(){t.selectors.gallery_select.focus(),t.selectors.ml_btn_select.fadeIn(),t.import_ids.length>0&&t.selectors.ml_btn_import.fadeIn()})}),t.selectors.gallery_name.on("keyup",function(){t.selectors.gallery_name.val().length>0?(t.selectors.gallery_name.removeClass("error"),t.selectors.ml_btn_select.fadeIn(),t.import_ids.length>0&&t.selectors.ml_btn_import.fadeIn()):(t.selectors.ml_btn_import.fadeOut(),t.selectors.ml_btn_select.fadeOut())})}}};e(document).ready(function(){window.ngg_importml=t,t.initialize(),window.Frame_Event_Publisher.broadcast()})}(jQuery);
\ No newline at end of file
+!function(e){var t={ml_data:null,import_ids:[],selectors:{ml_btn_import:e("#ngg-importML-selected-image-import"),ml_btn_select:e("#ngg-importML-select-opener"),gallery_select:e("#ngg-importML-gallery-id"),gallery_name:e("#ngg-importML-gallery-name")},initialize:function(){this.methods.initialize(),this.methods.set_events()},methods:{initialize:function(){t.ml_dialog=top.wp.media.frames.ngg_importml=top.wp.media({multiple:!0,title:ngg_importml_i18n.title,button:{text:ngg_importml_i18n.button_text}})},urlencode:function(e){return e=(e+"").toString(),encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")},import:{import_count:0,params:{action:"import_media_library"},start:function(){t.selectors.ml_btn_import.attr("disabled",!0),t.selectors.ml_btn_select.attr("disabled",!0),t.methods.import.params.gallery_id=t.methods.urlencode(t.selectors.gallery_select.val()),t.methods.import.params.gallery_name=t.methods.urlencode(t.selectors.gallery_name.val()),t.progress_bar=e.nggProgressBar({title:ngg_importml_i18n.progress_title,infinite:!0,starting_value:ngg_importml_i18n.in_progress}),e(t).trigger("send_ajax")},done:function(){t.progress_bar.close(100),t.selectors.ml_btn_import.attr("disabled",!1),t.selectors.ml_btn_select.attr("disabled",!1);var l=ngg_importml_i18n.imported_multiple;1==t.methods.import.import_count&&(l=ngg_importml_i18n.imported_singular),l=l.replace("{gid}",t.methods.import.params.gallery_id),l=l.replace("{count}",t.methods.import.import_count),delete t.methods.import.params.gallery_id,delete t.methods.import.params.gallery_name,e.gritter.add({title:ngg_importml_i18n.gritter_title,text:l,sticky:!0}),t.methods.import.import_count=0,t.ml_dialog.trigger("reset"),t.import_ids=[],t.selectors.ml_btn_import.fadeOut()},send_ajax:function(){var l=t.methods.import.params;l.nonce=ngg_importml_i18n.nonce,l.attachment_ids=[t.import_ids.pop()],e.post(photocrati_ajax.url,l,function(l){if(void 0===l.error){if(t.methods.import.import_count++,0==t.selectors.gallery_select.find('option[value="'+l.gallery_id+'"]').length){t.methods.import.params.gallery_id=l.gallery_id;var r=e("<option/>").attr("value",l.gallery_id).html(l.gallery_name);t.selectors.gallery_select.append(r),t.selectors.gallery_select.val(l.gallery_id),r.prop("selected",!0),t.selectors.gallery_name.val("").fadeOut()}}else e.gritter.add({title:ngg_importml_i18n.gritter_error,text:l.error,sticky:!0});0==t.import_ids.length?t.methods.import.done():e(t).trigger("send_ajax")},"json")}},set_events:function(){e(t).on("send_ajax",function(){t.methods.import.send_ajax()}),t.ml_dialog.on("select",function(){t.import_ids=[],t.ml_data=t.ml_dialog.state().get("selection"),t.ml_data.map(function(e){e=e.toJSON(),t.import_ids.push(e.id)});var e=ngg_importml_i18n.import_multiple.replace("%s",t.import_ids.length);1==t.import_ids.length&&(e=ngg_importml_i18n.import_singular),t.selectors.ml_btn_import.html(e),t.selectors.ml_btn_import.fadeIn()}),t.selectors.ml_btn_select.on("click",function(e){e.preventDefault(),t.ml_dialog.open()}),t.selectors.ml_btn_import.on("click",function(e){e.preventDefault(),t.methods.import.start()}),t.selectors.gallery_select.on("change",function(){0==parseInt(this.value)?(t.selectors.gallery_name.fadeIn().focus(),0==t.selectors.gallery_name.val().length&&(t.selectors.ml_btn_import.fadeOut(),t.selectors.ml_btn_select.fadeOut())):t.selectors.gallery_name.fadeOut(400,function(){t.selectors.gallery_select.focus(),t.selectors.ml_btn_select.fadeIn(),t.import_ids.length>0&&t.selectors.ml_btn_import.fadeIn()})}),t.selectors.gallery_name.on("keyup",function(){t.selectors.gallery_name.val().length>0?(t.selectors.gallery_name.removeClass("error"),t.selectors.ml_btn_select.fadeIn(),t.import_ids.length>0&&t.selectors.ml_btn_import.fadeIn()):(t.selectors.ml_btn_import.fadeOut(),t.selectors.ml_btn_select.fadeOut())})}}};e(document).ready(function(){window.ngg_importml=t,t.initialize(),window.Frame_Event_Publisher.broadcast()})}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css
index 90dcf5685..26b678992 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css
@@ -108,10 +108,17 @@
     border: 1px solid rgba(159, 187, 26, 0.13) !important;
 }
 
+#ngg_page_content .plupload_wrapper {
+    font-family: Lato, sans-serif;
+    font-size: 13px;
+    font-weight: 300;
+    letter-spacing: .5px;
+}
+
 #ngg_page_content .plupload_filelist_header, 
 #ngg_page_content .plupload_filelist_footer,
 #ngg_page_content .plupload_file_status span {
-    background: rgba(247, 248, 243, 0.46) !important;
+    background: #f7f7f7 !important;
     color: #999 !important;
 }
 
@@ -130,17 +137,34 @@
     overflow-y: hidden;
 }
 
+#ngg_page_content .plupload_filelist li {
+    border: none;
+    background: #fff;
+    margin: 0;
+    padding: 20px;
+}
+
+#ngg_page_content .plupload_filelist li:nth-of-type(2n) {
+    background: white;
+}
+
 #ngg_page_content #gallery_selection {
     padding: 20px 20px 25px !important;
-    background: #f7f8f3;
+    background: #f7f7f7;
 }
 
 #ngg_page_content #gallery_id,
 #ngg_page_content #gallery_name {
-    height: 30px !important;
     min-width: 200px !important;
-    font-size: 12px !important;
-    color: #888 !important;
+    font-size: 13px !important;
+    font-family: Lato, sans-serif;
+    font-weight: 400;
+    color: black !important;
+    vertical-align: middle;
+}
+
+#ngg_page_content #gallery_name::placeholder {
+    color: black !important;
 }
 
 #ngg_page_content input#import_gallery_title {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.min.css
index f3ca41d00..13d7667f4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.min.css
@@ -1 +1 @@
-#gallery_selection{background-color:#fff;padding:7px}#gallery_selection label{font-weight:600;position:relative;top:-1px}#gallery_selection .plupload_buttons a{margin-right:6px;text-align:center;font-size:11px}#gallery_name{width:auto;min-width:200px}#gallery_name.error{border:1px solid red}#upload_images_content,#upload_images_content .plupload_container{padding:0}.plupload_header{display:none}.plupload_buttons{display:inline;margin-left:20px}.plupload_droptext{font-size:16px;color:silver}#gritter-notice-wrapper{background:rgba(56,70,82,.9);border:1px solid #2a343d;margin:10px 5px 0 0;border-radius:3px;bottom:20px;top:auto}.gritter-bottom,.gritter-close,.gritter-item,.gritter-top{background:0 0}.gritter-item{padding:2px 11px 0}.gritter-title{text-shadow:none}#gritter-notice-wrapper a{color:#b8d433;text-decoration:none;padding-top:5px;display:block}.gritter-close{width:auto;height:auto;display:block!important;top:10px;right:10px}.gritter-close:after{content:'X';font-weight:700;font-size:13px}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:25%}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main{width:75%}#ngg_page_content .plupload_container{padding:0!important;border:1px solid rgba(159,187,26,.13)!important}#ngg_page_content .plupload_file_status span,#ngg_page_content .plupload_filelist_footer,#ngg_page_content .plupload_filelist_header{background:rgba(247,248,243,.46)!important;color:#999!important}#ngg_page_content .plupload_filelist_header{border-bottom:1px solid #f7f7f7!important;display:none}#ngg_page_content .plupload_filelist_footer{border-top:1px solid #f7f7f7!important}#ngg_page_content .plupload_scroll .plupload_filelist{background:#fff!important;height:auto;overflow-y:hidden}#ngg_page_content #gallery_selection{padding:20px 20px 25px!important;background:#f7f8f3}#ngg_page_content #gallery_id,#ngg_page_content #gallery_name{height:30px!important;min-width:200px!important;font-size:12px!important;color:#888!important}#ngg_page_content input#import_gallery_title{width:250px;font-size:13px;color:#aaa}@media (max-width:1380px){.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:100%}}@media (max-width:1140px){.plupload_buttons{display:block;margin:10px 0 0 75px}.gallery_page_ngg_addgallery #ngg_page_content .button-primary,.gallery_page_ngg_addgallery #ngg_page_content .button-secondary,.gallery_page_ngg_addgallery #ngg_page_content button{width:201px!important}}@media (max-width:800px){.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:100%}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main input,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}.gallery_page_ngg_addgallery #ngg_page_content input[type=checkbox]{width:16px!important}.plupload_buttons{margin-left:0}.gallery_page_ngg_addgallery #ngg_page_content .button-primary,.gallery_page_ngg_addgallery #ngg_page_content .button-secondary,.gallery_page_ngg_addgallery #ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}#ngg-importML-gallery-selection{display:block!important}}
\ No newline at end of file
+#gallery_selection{background-color:#fff;padding:7px}#gallery_selection label{font-weight:600;position:relative;top:-1px}#gallery_selection .plupload_buttons a{margin-right:6px;text-align:center;font-size:11px}#gallery_name{width:auto;min-width:200px}#gallery_name.error{border:1px solid red}#upload_images_content,#upload_images_content .plupload_container{padding:0}.plupload_header{display:none}.plupload_buttons{display:inline;margin-left:20px}.plupload_droptext{font-size:16px;color:silver}#gritter-notice-wrapper{background:rgba(56,70,82,.9);border:1px solid #2a343d;margin:10px 5px 0 0;border-radius:3px;bottom:20px;top:auto}.gritter-bottom,.gritter-close,.gritter-item,.gritter-top{background:0 0}.gritter-item{padding:2px 11px 0}.gritter-title{text-shadow:none}#gritter-notice-wrapper a{color:#b8d433;text-decoration:none;padding-top:5px;display:block}.gritter-close{width:auto;height:auto;display:block!important;top:10px;right:10px}.gritter-close:after{content:'X';font-weight:700;font-size:13px}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:25%}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main{width:75%}#ngg_page_content .plupload_container{padding:0!important;border:1px solid rgba(159,187,26,.13)!important}#ngg_page_content .plupload_wrapper{font-family:Lato,sans-serif;font-size:13px;font-weight:300;letter-spacing:.5px}#ngg_page_content .plupload_file_status span,#ngg_page_content .plupload_filelist_footer,#ngg_page_content .plupload_filelist_header{background:#f7f7f7!important;color:#999!important}#ngg_page_content .plupload_filelist_header{border-bottom:1px solid #f7f7f7!important;display:none}#ngg_page_content .plupload_filelist_footer{border-top:1px solid #f7f7f7!important}#ngg_page_content .plupload_scroll .plupload_filelist{background:#fff!important;height:auto;overflow-y:hidden}#ngg_page_content .plupload_filelist li{border:none;background:#fff;margin:0;padding:20px}#ngg_page_content .plupload_filelist li:nth-of-type(2n){background:#fff}#ngg_page_content #gallery_selection{padding:20px 20px 25px!important;background:#f7f7f7}#ngg_page_content #gallery_id,#ngg_page_content #gallery_name{min-width:200px!important;font-size:13px!important;font-family:Lato,sans-serif;font-weight:400;color:#000!important;vertical-align:middle}#ngg_page_content #gallery_name::placeholder{color:#000!important}#ngg_page_content input#import_gallery_title{width:250px;font-size:13px;color:#aaa}@media (max-width:1380px){.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:100%}}@media (max-width:1140px){.plupload_buttons{display:block;margin:10px 0 0 75px}.gallery_page_ngg_addgallery #ngg_page_content .button-primary,.gallery_page_ngg_addgallery #ngg_page_content .button-secondary,.gallery_page_ngg_addgallery #ngg_page_content button{width:201px!important}}@media (max-width:800px){.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu{width:100%}.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main input,.gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}.gallery_page_ngg_addgallery #ngg_page_content input[type=checkbox]{width:16px!important}.plupload_buttons{margin-left:0}.gallery_page_ngg_addgallery #ngg_page_content .button-primary,.gallery_page_ngg_addgallery #ngg_page_content .button-secondary,.gallery_page_ngg_addgallery #ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}#ngg-importML-gallery-selection{display:block!important}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php
index 7a646baf4..3951a8f8c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php
@@ -20,7 +20,10 @@
         else return;
 
 	    // Post params
-	    var browse_params = <?php echo $browse_sec_token->get_json() ?>;
+	    var browse_params = {
+            action: 'browser_folder',
+            nonce: '<?php echo $browse_nonce ?>'        
+        };
 	    browse_params.action = 'browse_folder';
 
         // Render file browser
@@ -52,11 +55,13 @@
             });
 
             // Start importing process
-	        var post_params = <?php echo $import_sec_token->get_json()?>;
-	        post_params.action = 'import_folder';
-	        post_params.folder = selected_folder;
-	        post_params.keep_location =  $('#import_keep_location').is(":checked") ? 'on' : 'off';
-            post_params.gallery_title = $('#import_gallery_title').val();
+            var post_params = {
+                nonce: '<?php echo $import_nonce ?>',
+                action: "import_folder",
+                folder: selected_folder,
+                keep_location: $('#import_keep_location').is(":checked") ? 'on' : 'off',
+                gallery_title: $('#import_gallery_title').val()
+            }
 
             $.post(photocrati_ajax.url, post_params, function(response){
                 if (typeof(response) != 'object') response = JSON.parse(response);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_media_library.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_media_library.php
index 473396352..ae673e1fa 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_media_library.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_media_library.php
@@ -1,4 +1,3 @@
-<?php $i18n['isavalidvar'] = true; // make my editor shutup about invalid variables ?>
 <div id="ngg-importML-gallery-selection">
     <label for="ngg-importML-gallery-id"><?php _e('Gallery', 'nggallery'); ?></label>
     <select id="ngg-importML-gallery-id">
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php
index 67283dfb5..5adc99c83 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php
@@ -47,9 +47,7 @@
                 window.set_plupload_url = function(gallery_id, gallery_name) {
                     var qs = "&action=upload_image&gallery_id="+urlencode(gallery_id);
                     qs += "&gallery_name="+urlencode(gallery_name);
-	                <?php foreach ($sec_token->get_request_list() as $name=>$value): ?>
-	                qs += "&<?php echo $name?>=<?php echo $value?>";
-	                <?php endforeach ?>
+                    qs += "&nonce="+urlencode("<?php echo $nonce; ?>");
                     return photocrati_ajax.url + qs;
                 };
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php
index 68926da9b..8a7382480 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php
@@ -2,7 +2,7 @@
 
 /***
 {
-	Module:	photocrati-nextgen_admin
+    Module: photocrati-nextgen_admin
 }
 ***/
 
@@ -10,10 +10,10 @@ define('NGG_FS_ACCESS_SLUG', 'ngg_fs_access');
 
 class M_NextGen_Admin extends C_Base_Module
 {
-	/**
-	 * Defines the module
-	 */
-	function define($id = 'pope-module',
+    /**
+     * Defines the module
+     */
+    function define($id = 'pope-module',
                     $name = 'Pope Module',
                     $description = '',
                     $version = '',
@@ -21,36 +21,36 @@ class M_NextGen_Admin extends C_Base_Module
                     $author = '',
                     $author_uri = '',
                     $context = FALSE)
-	{
-		parent::define(
-			'photocrati-nextgen_admin',
-			'NextGEN Administration',
-			'Provides a framework for adding Administration pages',
-			'3.1.4.2',
+    {
+        parent::define(
+            'photocrati-nextgen_admin',
+            'NextGEN Administration',
+            'Provides a framework for adding Administration pages',
+            '3.2.1',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
-		);
+        );
 
-		C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Admin_Installer');
+        C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Admin_Installer');
 
-		C_NextGen_Settings::get_instance()->add_option_handler('C_NextGen_Admin_Option_Handler', array(
-			'jquery_ui_theme',
-			'jquery_ui_theme_version',
-			'jquery_ui_theme_url'
-		));
+        C_NextGen_Settings::get_instance()->add_option_handler('C_NextGen_Admin_Option_Handler', array(
+            'jquery_ui_theme',
+            'jquery_ui_theme_version',
+            'jquery_ui_theme_url'
+        ));
         if (is_multisite()) C_NextGen_Global_Settings::get_instance()->add_option_handler('C_NextGen_Admin_Option_Handler', array(
             'jquery_ui_theme',
             'jquery_ui_theme_version',
             'jquery_ui_theme_url'
         ));
-	}
+    }
 
-	/**
-	 * Register utilities necessary for this module (and the plugin)
-	 */
-	function _register_utilities()
-	{
+    /**
+     * Register utilities necessary for this module (and the plugin)
+     */
+    function _register_utilities()
+    {
         // Provides a NextGEN Administation page
         $this->get_registry()->add_utility(
             'I_NextGen_Admin_Page',
@@ -73,116 +73,117 @@ class M_NextGen_Admin extends C_Base_Module
             'I_Form',
             'C_Form'
         );
-	}
+    }
 
-	/**
-	 * Registers adapters required by this module
-	 */
-	function _register_adapters()
-	{
-		$this->get_registry()->add_adapter(
-			'I_MVC_Controller',
-			'A_MVC_Validation'
-		);
-	}
+    /**
+     * Registers adapters required by this module
+     */
+    function _register_adapters()
+    {
+        $this->get_registry()->add_adapter(
+            'I_MVC_Controller',
+            'A_MVC_Validation'
+        );
+    }
 
 
-	function get_common_admin_css_handlers($array)
-	{
-		$array['nextgen_admin_css'] = $this->module_version;
-		return $array;
-	}
+    function get_common_admin_css_handlers($array)
+    {
+        $array['nextgen_admin_css'] = $this->module_version;
+        return $array;
+    }
 
-	function get_common_admin_js_handlers($array)
-	{
-		$array['nextgen_admin_js'] = $this->module_version;
-		return $array;
-	}
+    function get_common_admin_js_handlers($array)
+    {
+        $array['nextgen_admin_js'] = $this->module_version;
+        return $array;
+    }
 
-	// Enqueues static resources that should be enqueued in the HEADER on a NextGEN Admin Page
-	static function enqueue_common_admin_static_resources($footer=FALSE)
-	{
-		$footer = ($footer === TRUE);
-		$script_handles_filter = $footer ? 'ngg_admin_footer_script_handles' : 'ngg_admin_script_handles';
-		$style_handles_filter  = 'ngg_admin_style_handles';
-		$enqueue_action        = $footer ? 'ngg_admin_footer_enqueue_scripts' : 'ngg_admin_enqueue_scripts';
-
-		if ($slug = C_NextGen_Admin_Page_Manager::is_requested()) {
-			$script_handles = apply_filters($script_handles_filter, array(), $slug);
-			$style_handles = apply_filters($style_handles_filter, array(), $slug);
-
-			foreach ($script_handles as $handle => $version) {
-				$hook = "ngg_enqueue_{$handle}_script";
-				if (has_action($hook))
-					do_action($hook, $handle, $version);
-				else
-					wp_enqueue_script($handle, '', array(), $version);
-
-			}
-
-			if (!$footer) {
-				foreach ($style_handles as $handle => $version) {
-					$hook = "ngg_enqueue_{$handle}_style";
-					if (has_action($hook))
-						do_action($hook, $handle, $version);
-					else
-						wp_enqueue_style($handle, '', array(), $version);
-				}
-			}
-
-			// Expose a means for other modules or third-party plugins to provide their own
-			// enqueue calls
-			do_action($enqueue_action, $slug);
-		}
-	}
-
-	// Enqueues static resources that should be enqueued in the FOOTER on a NextGEN Admin Page
-	function enqueue_common_admin_footer_static_resources()
-	{
-		self::enqueue_common_admin_static_resources(TRUE);
-	}
+    // Enqueues static resources that should be enqueued in the HEADER on a NextGEN Admin Page
+    static function enqueue_common_admin_static_resources($footer=FALSE)
+    {
+        $footer = ($footer === TRUE);
+        $script_handles_filter = $footer ? 'ngg_admin_footer_script_handles' : 'ngg_admin_script_handles';
+        $style_handles_filter  = 'ngg_admin_style_handles';
+        $enqueue_action        = $footer ? 'ngg_admin_footer_enqueue_scripts' : 'ngg_admin_enqueue_scripts';
+
+        if ($slug = C_NextGen_Admin_Page_Manager::is_requested()) {
+            $script_handles = apply_filters($script_handles_filter, array(), $slug);
+            $style_handles = apply_filters($style_handles_filter, array(), $slug);
+
+            foreach ($script_handles as $handle => $version) {
+                $hook = "ngg_enqueue_{$handle}_script";
+                if (has_action($hook))
+                    do_action($hook, $handle, $version);
+                else
+                    wp_enqueue_script($handle, '', array(), $version);
+
+            }
+
+            if (!$footer) {
+                foreach ($style_handles as $handle => $version) {
+                    $hook = "ngg_enqueue_{$handle}_style";
+                    if (has_action($hook))
+                        do_action($hook, $handle, $version);
+                    else
+                        wp_enqueue_style($handle, '', array(), $version);
+                }
+            }
+
+            // Expose a means for other modules or third-party plugins to provide their own
+            // enqueue calls
+            do_action($enqueue_action, $slug);
+        }
+    }
 
-	/**
-	 * Hooks into the WordPress Framework
-	 */
-	function _register_hooks()
-	{
+    // Enqueues static resources that should be enqueued in the FOOTER on a NextGEN Admin Page
+    function enqueue_common_admin_footer_static_resources()
+    {
+        self::enqueue_common_admin_static_resources(TRUE);
+    }
+
+    /**
+     * Hooks into the WordPress Framework
+     */
+    function _register_hooks()
+    {
         // Register scripts
         add_action('init', array($this, 'register_scripts'), 9);
-		add_action('admin_enqueue_scripts', array($this, 'enqueue_wizard_components'));
+
+        // Wizard-related hooks
+        add_action('admin_enqueue_scripts', array($this, 'enqueue_wizard_components'));
         add_action('current_screen', array($this, 'init_wizards'), 20);
         add_action('current_screen', array($this, 'handle_wizards'), 100);
 
         // Enqueue common static resources for NGG admin pages
-		add_filter('ngg_admin_style_handles', array($this, 'get_common_admin_css_handlers'));
-		add_filter('ngg_admin_script_handles', array($this, 'get_common_admin_js_handlers'));
-		add_action('admin_enqueue_scripts', array(get_class(), 'enqueue_common_admin_static_resources'));
-		add_action('admin_footer_print_scripts', array(&$this, 'enqueue_common_admin_footer_static_resources'));
+        add_filter('ngg_admin_style_handles', array($this, 'get_common_admin_css_handlers'));
+        add_filter('ngg_admin_script_handles', array($this, 'get_common_admin_js_handlers'));
+        add_action('admin_enqueue_scripts', array(get_class(), 'enqueue_common_admin_static_resources'));
+        add_action('admin_footer_print_scripts', array(&$this, 'enqueue_common_admin_footer_static_resources'));
 
-		// Provides menu options for managing NextGEN Settings
-		add_action('admin_menu', array($this, 'add_menu_pages'), 999);
-
-        // Define routes
-        add_action('ngg_routes', array($this, 'define_routes'));
+        // Provides menu options for managing NextGEN Settings
+        add_action('admin_menu', array($this, 'add_menu_pages'), 999);
 
         // Add ngg-admin body class to all admin pages for styling
         add_filter( 'admin_body_class', array($this, 'add_ngg_body_class'));
 
-        // Add ngg-post-type body class to NGG custom post types for styling
+        // Custom post types
         add_filter( 'admin_body_class', array($this, 'add_ngg_post_type_class'));
-
-        // Add filters for custom post type admin page markup
-        add_action( 'all_admin_notices', array($this, 'custom_post_type_markup_top'));
+        add_filter( 'screen_options_show_screen', array($this, 'remove_post_type_screen_options'));
+        add_action( 'all_admin_notices', array($this, 'custom_post_type_markup_top'), 11);
         add_action( 'admin_footer', array($this, 'custom_post_type_markup_bottom'));
 
         // Requirements need to be registered with the notification manager *before* it's serve_ajax_request()
         add_action('init', array(C_Admin_Requirements_Manager::get_instance(), 'create_notification'), -10);
 
+        // Define routes
+        add_action('ngg_routes', array($this, 'define_routes'));
+
         // Provides admin notices
         $notices = C_Admin_Notification_Manager::get_instance();
-		add_action('init', array($notices, 'serve_ajax_request'));
-		add_action('admin_footer', array($notices, 'enqueue_scripts'));
-		add_action('do_ngg_notices', array($notices, 'render'));
+        add_action('init', array($notices, 'serve_ajax_request'));
+        add_action('admin_footer', array($notices, 'enqueue_scripts'));
+        add_action('do_ngg_notices', array($notices, 'render'));
         add_action('ngg_created_new_gallery', array($this, 'set_review_notice_flag'));
         add_action('ngg_created_new_gallery', get_class().'::update_gallery_count_setting');
         add_action('ngg_delete_gallery', get_class().'::update_gallery_count_setting');
@@ -224,13 +225,15 @@ class M_NextGen_Admin extends C_Base_Module
         $notices->add($review_notice_1->get_name(), $review_notice_1);
         $notices->add($review_notice_2->get_name(), $review_notice_2);
         $notices->add($review_notice_3->get_name(), $review_notice_3);
-	}
+
+        $notices->add('nextgen.beginner.gallery_creation_igw', 'C_NextGen_First_Run_Notification_Wizard');
+    }
 
     /**
      * Used to determine if the current request is for a NGG legacy page
      * @return bool
      */
-	static function is_ngg_legacy_page()
+    static function is_ngg_legacy_page()
     {
         return (
             is_admin() &&
@@ -259,7 +262,7 @@ class M_NextGen_Admin extends C_Base_Module
      * We do not want to suddenly ask users for a review when they have upgraded. Instead we will wait for a new
      * gallery to be created and then will we also consider displaying reviews if the gallery count is within range.
      */
-	function set_review_notice_flag()
+    function set_review_notice_flag()
     {
         $settings = C_NextGen_Settings::get_instance();
         if (!$settings->get('gallery_created_after_reviews_introduced'))
@@ -295,52 +298,52 @@ class M_NextGen_Admin extends C_Base_Module
     {
         $router = C_Router::get_instance();
         wp_register_script(
-	        'gritter',
-	        $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'),
-	        array('jquery'),
-	        NGG_SCRIPT_VERSION
+            'gritter',
+            $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'),
+            array('jquery'),
+            NGG_SCRIPT_VERSION
         );
         wp_register_style(
-	        'gritter',
-	        $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css'),
-	        array(),
-	        NGG_SCRIPT_VERSION
+            'gritter',
+            $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css'),
+            array(),
+            NGG_SCRIPT_VERSION
         );
         wp_register_script(
-	        'ngg_progressbar',
-	        $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'),
-	        array('gritter'),
-	        NGG_SCRIPT_VERSION
+            'ngg_progressbar',
+            $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'),
+            array('gritter'),
+            NGG_SCRIPT_VERSION
         );
         wp_register_style(
-	        'ngg_progressbar',
-	        $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'),
-	        array('gritter'),
-	        NGG_SCRIPT_VERSION
+            'ngg_progressbar',
+            $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'),
+            array('gritter'),
+            NGG_SCRIPT_VERSION
         );
         wp_register_style(
-	        'ngg_select2',
-	        $router->get_static_url('photocrati-nextgen_admin#select2/select2.css'),
-	        array(),
-	        NGG_SCRIPT_VERSION
+            'ngg_select2',
+            $router->get_static_url('photocrati-nextgen_admin#select2/select2.css'),
+            array(),
+            NGG_SCRIPT_VERSION
         );
         wp_register_script(
-	        'ngg_select2',
-	        $router->get_static_url('photocrati-nextgen_admin#select2/select2.js'),
-	        array(),
-	        NGG_SCRIPT_VERSION
+            'ngg_select2',
+            $router->get_static_url('photocrati-nextgen_admin#select2/select2.js'),
+            array(),
+            NGG_SCRIPT_VERSION
         );
         wp_register_script(
             'jquery.nextgen_radio_toggle',
             $router->get_static_url('photocrati-nextgen_admin#jquery.nextgen_radio_toggle.js'),
             array('jquery'),
-	        NGG_SCRIPT_VERSION
+            NGG_SCRIPT_VERSION
         );
         wp_register_style(
-	        'ngg-jquery-ui',
-	        $router->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css'),
-	        array(),
-	        '1.10.4'
+            'ngg-jquery-ui',
+            $router->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css'),
+            array(),
+            '1.10.4'
         );
         wp_register_script(
             'iris',
@@ -363,32 +366,20 @@ class M_NextGen_Admin extends C_Base_Module
             'nextgen_admin_js',
             $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'),
             array('wp-color-picker'),
-	        NGG_SCRIPT_VERSION
+            NGG_SCRIPT_VERSION
         );
 
         // Style the parent menu icons for NextGEN-related pages
         wp_add_inline_style('wp-admin', '
-	        #adminmenu li.toplevel_page_nextgen-gallery img,
-	        #adminmenu li[class*=toplevel_page_nextgen-gallery] img,
-			#adminmenu li[class*=toplevel_page_ngg] img {
-			    opacity: 1;
-			    max-width: 18px;
-			    padding-top: 7px;
-			}
+            #adminmenu li.toplevel_page_nextgen-gallery img,
+            #adminmenu li[class*=toplevel_page_nextgen-gallery] img,
+            #adminmenu li[class*=toplevel_page_ngg] img {
+                opacity: 1;
+                max-width: 18px;
+                padding-top: 7px;
+            }
         ');
-	}
-
-	/**
-	 * Adds a common body class to all admin pages
-	 *
-	 * @param $classes
-	 *
-	 * @return string
-	 */
-	function add_ngg_body_class( $classes )
-	{
-		return C_NextGen_Admin_Page_Manager::is_requested() ? "$classes ngg-admin" : $classes;
-	}
+    }
 
     /**
      * Adds a common body class to all admin pages
@@ -397,130 +388,152 @@ class M_NextGen_Admin extends C_Base_Module
      *
      * @return string
      */
+    function add_ngg_body_class( $classes )
+    {
+        return C_NextGen_Admin_Page_Manager::is_requested() ? "$classes ngg-admin" : $classes;
+    }
+
+    /**
+     * Adds a common body class to all NGG post types pages
+     *
+     * @param $classes
+     *
+     * @return string
+     */
     function add_ngg_post_type_class( $classes )
+    {
+        return C_NextGen_Admin_Page_Manager::is_requested_post_type() ? "$classes ngg-post-type" : $classes;
+    }
+
+    function remove_post_type_screen_options()
+    {
+        return C_NextGen_Admin_Page_Manager::is_requested_post_type() ? FALSE : TRUE;
+    }
+
+    /* Add common admin markup to top of custom post type pages */
+	function custom_post_type_markup_top()
+	{
+        global $title;
+        if ( C_NextGen_Admin_Page_Manager::is_requested_post_type() && !$this->is_ngg_post_type_with_template() ) {
+            echo '<div id="ngg_page_content"><div class="ngg_page_content_header "><img src="' . C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png') . '"><h3>'. $title . '</h3></div><div class="ngg_page_content_main">';
+        }
+    }
+
+    /* Add common admin markup to bottom of custom post type pages */
+	function custom_post_type_markup_bottom()
+	{
+        if ( C_NextGen_Admin_Page_Manager::is_requested_post_type() && !$this->is_ngg_post_type_with_template() ) {
+            echo '</div></div>';
+        }
+    }
+
+    /* Conditional returns true if is post type and uses custom template */
+    function is_ngg_post_type_with_template() 
     {
         $url = $_SERVER['REQUEST_URI'];
-        $is_ngg_post_type = strpos($url, 'post_type=ngg_') || strpos($url, 'post_type=nextgen_');
-        if ( $is_ngg_post_type ) {
-            return "$classes ngg-post-type";
-        } else {
-            return $classes;
+        if ( C_NextGen_Admin_Page_Manager::is_requested_post_type() && strpos($url, '&ngg_edit') ) {
+            return TRUE;
+        }
+        return FALSE;
+    }
+
+    /* Add function to determine if block editor is in use */
+    static function is_block_editor()
+    {
+        $is_block_editor = false;
+        if (function_exists('get_current_screen')) {
+            $current_screen = get_current_screen();
+            if (is_object($current_screen)) {
+                if (method_exists($current_screen, 'is_block_editor'))
+                    $is_block_editor = $current_screen->is_block_editor();
+                
+                if (!$is_block_editor) {
+                    if ($current_screen->action == 'add')
+                        $is_block_editor = function_exists('use_block_editor_for_post_type') && use_block_editor_for_post_type($current_screen->post_type);
+                    else
+                        $is_block_editor = function_exists('use_block_editor_for_post') && use_block_editor_for_post(null);
+                }
+                
+                if (!$is_block_editor) {
+                    if ($current_screen->action == 'add')
+                        $is_block_editor = !isset($_GET['classic-editor']) && function_exists('gutenberg_can_edit_post_type') && gutenberg_can_edit_post_type($current_screen->post_type);
+                    else
+                        $is_block_editor = !isset($_GET['classic-editor']) && function_exists('gutenberg_can_edit_post') && gutenberg_can_edit_post(null);
+                }
+            }
         }
         
+        if (!$is_block_editor)
+            $is_block_editor = function_exists('is_gutenberg_page') && is_gutenberg_page();
+
+        return $is_block_editor;
     }
 
-	/* Add common admin markup to top of custom post type pages */
-	function custom_post_type_markup_top() {
-        global $title;
-        $url = $_SERVER['REQUEST_URI'];
-        $is_ngg_post_type = strpos($url, 'post_type=ngg_') || strpos($url, 'post_type=nextgen_');
-        $is_single_edit_page = strpos($url, '&ngg_edit');
-		if ( $is_ngg_post_type && !$is_single_edit_page) {
-		    echo '<div id="ngg_page_content"><div class="ngg_page_content_header "><img src="' . C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png') . '"><h3>'. $title . '</h3></div><div class="ngg_page_content_main">';
-		}
-	}
-
-	/* Add common admin markup to bottom of custom post type pages */
-	function custom_post_type_markup_bottom() {
-        $url = $_SERVER['REQUEST_URI'];
-        $is_ngg_post_type = strpos($url, 'post_type=ngg_') || strpos($url, 'post_type=nextgen_');
-        $is_single_edit_page = strpos($url, '&ngg_edit');
-        if ( $is_ngg_post_type && !$is_single_edit_page) {
-			echo '</div></div>';
-		}
-	}
-	
-	function init_wizards()
-	{
-	    $is_block_editor = false;
-	    if (function_exists('get_current_screen')) {
-			$current_screen = get_current_screen();
-    		if (is_object($current_screen)) {
-    			if (method_exists($current_screen, 'is_block_editor'))
-	    			$is_block_editor = $current_screen->is_block_editor();
-		    	
-			    if (!$is_block_editor) {
-			    	if ($current_screen->action == 'add')
-			    		$is_block_editor = function_exists('use_block_editor_for_post_type') && use_block_editor_for_post_type($current_screen->post_type);
-			    	else
-			    		$is_block_editor = function_exists('use_block_editor_for_post') && use_block_editor_for_post(null);
-			    }
-			    
-			    if (!$is_block_editor) {
-			    	if ($current_screen->action == 'add')
-			    		$is_block_editor = !isset($_GET['classic-editor']) && function_exists('gutenberg_can_edit_post_type') && gutenberg_can_edit_post_type($current_screen->post_type);
-			    	else
-			    		$is_block_editor = !isset($_GET['classic-editor']) && function_exists('gutenberg_can_edit_post') && gutenberg_can_edit_post(null);
-			    }
-    		}
-	    }
-	    
-	    if (!$is_block_editor)
-	    	$is_block_editor = function_exists('is_gutenberg_page') && is_gutenberg_page();
-	    
-		$wizards = C_NextGEN_Wizard_Manager::get_instance();
-		$wizards->set_starter(__('Do you need help with NextGEN?', 'nggallery'));
-		$wizards->set_active(false);
-		
+    function init_wizards()
+    {
+        $wizards = C_NextGEN_Wizard_Manager::get_instance();
+        $wizards->set_starter(__('Do you need help with NextGEN?', 'nggallery'));
+        $wizards->set_active(false);
+        
         /* 
          * This is the new wizard sequence that helps users both crerate a gallery
          * and add it to a page.
          */
-		$wizard = $wizards->add_wizard('nextgen.beginner.gallery_creation_igw');
-		$wizard->add_step('start');
-		$wizard->set_step_text('start', __('Hello, this wizard will guide you through creating a NextGEN gallery and inserting it into a page. Click "Next step" to proceed.', 'nggallery'));
-		$wizard->add_step('pages_menu');
-		$wizard->set_step_text('pages_menu', __('Click on "Pages" to access your WordPress pages.', 'nggallery'));
-		$wizard->set_step_target('pages_menu', '#menu-pages a.menu-top', 'right center', 'left center');
-		$wizard->set_step_view('pages_menu', '#menu-pages a.menu-top');
-		$wizard->add_step('add_page_menu');
-		$wizard->set_step_text('add_page_menu', __('Click "Add New" to create a new page.', 'nggallery'));
-		$wizard->set_step_target('add_page_menu', '#menu-pages a[href*="post-new.php?post_type=page"]', 'right center', 'left center');
-		$wizard->set_step_view('add_page_menu', '#menu-pages a[href*="post-new.php?post_type=page"]');
-		
-		if ($is_block_editor) {
-	        $wizard->add_step('input_page_title');
-	        $wizard->set_step_text('input_page_title', __('Type in a title for your page.', 'nggallery'));
-	        $wizard->set_step_target('input_page_title', '.editor-post-title__input', 'bottom center', 'top center');
-	        $wizard->set_step_view('input_page_title', '.editor-post-title__input');
-	        
-	        $wizard->add_step('add_block');
-	        $wizard->set_step_text('add_block', __('Now click the button to insert a block.', 'nggallery'));
-	        $wizard->set_step_target('add_block', 'button.editor-inserter__toggle', 'right center', 'left center');
-	        $wizard->set_step_view('add_block', 'button.editor-inserter__toggle');
-	        $wizard->set_step_lazy('add_block', true);
-
-	        $wizard->add_step('search_nextgen');
-	        $wizard->set_step_text('search_nextgen', __('Type "nextgen" to search for the NextGEN block.', 'nggallery'));
-	        $wizard->set_step_target('search_nextgen', 'input.editor-inserter__search', 'right center', 'left center');
-	        $wizard->set_step_view('search_nextgen', 'input.editor-inserter__search');
-	        $wizard->set_step_lazy('search_nextgen', true);
-
-	        $wizard->add_step('add_ngg_block');
-	        $wizard->set_step_text('add_ngg_block', __('Click on the NextGEN block to add it.', 'nggallery'));
-	        $wizard->set_step_target('add_ngg_block', 'button.editor-block-list-item-imagely-nextgen-gallery', 'right center', 'left center');
-	        $wizard->set_step_view('add_ngg_block', 'button.editor-block-list-item-imagely-nextgen-gallery');
-	        $wizard->set_step_lazy('add_ngg_block', true);
-	        $wizard->set_step_condition('add_ngg_block', 'wait', '1500');
-
-	        $wizard->add_step('add-ngg-gallery');
-	        $wizard->set_step_text('add-ngg-gallery', __('Now click the "Add Gallery" button to open NextGEN\'s Insert Gallery Window.', 'nggallery'));
-	        $wizard->set_step_target('add-ngg-gallery', '.add-ngg-gallery', 'bottom center', 'top center');
-	        $wizard->set_step_view('add-ngg-gallery', '.add-ngg-gallery');
-	        $wizard->set_step_lazy('add-ngg-gallery', true);			
-		}
-		else {
-	    	$wizard->add_step('input_page_title');
-	    	$wizard->set_step_text('input_page_title', __('Type in a title for your page.', 'nggallery'));
-			$wizard->set_step_target('input_page_title', 'input#title', 'bottom center', 'top center');
-			$wizard->set_step_view('input_page_title', 'input#title');
-			
-			$wizard->add_step('add_gallery_button');
-			$wizard->set_step_text('add_gallery_button', __('Now click the "Add Gallery" button to open NextGEN\'s Insert Gallery Window (IGW).', 'nggallery'));
-			$wizard->set_step_target('add_gallery_button', 'a#ngg-media-button', 'right center', 'left center');
-			$wizard->set_step_view('add_gallery_button', 'a#ngg-media-button');
-		}
-		
+        $wizard = $wizards->add_wizard('nextgen.beginner.gallery_creation_igw');
+        $wizard->add_step('start');
+        $wizard->set_step_text('start', __('Hello, this wizard will guide you through creating a NextGEN gallery and inserting it into a page. Click "Next step" to proceed.', 'nggallery'));
+        $wizard->add_step('pages_menu');
+        $wizard->set_step_text('pages_menu', __('Click on "Pages" to access your WordPress pages.', 'nggallery'));
+        $wizard->set_step_target('pages_menu', '#menu-pages a.menu-top', 'right center', 'left center');
+        $wizard->set_step_view('pages_menu', '#menu-pages a.menu-top');
+        $wizard->add_step('add_page_menu');
+        $wizard->set_step_text('add_page_menu', __('Click "Add New" to create a new page.', 'nggallery'));
+        $wizard->set_step_target('add_page_menu', '#menu-pages a[href*="post-new.php?post_type=page"]', 'right center', 'left center');
+        $wizard->set_step_view('add_page_menu', '#menu-pages a[href*="post-new.php?post_type=page"]');
+        
+        if ($this->is_block_editor()) {
+            $wizard->add_step('input_page_title');
+            $wizard->set_step_text('input_page_title', __('Type in a title for your page.', 'nggallery'));
+            $wizard->set_step_target('input_page_title', '.editor-post-title__input', 'bottom center', 'top center');
+            $wizard->set_step_view('input_page_title', '.editor-post-title__input');
+            
+            $wizard->add_step('add_block');
+            $wizard->set_step_text('add_block', __('Now click the button to insert a block.', 'nggallery'));
+            $wizard->set_step_target('add_block', 'button.editor-inserter__toggle', 'right center', 'left center');
+            $wizard->set_step_view('add_block', 'button.editor-inserter__toggle');
+            $wizard->set_step_lazy('add_block', true);
+
+            $wizard->add_step('search_nextgen');
+            $wizard->set_step_text('search_nextgen', __('Type "nextgen" to search for the NextGEN block.', 'nggallery'));
+            $wizard->set_step_target('search_nextgen', 'input.editor-inserter__search', 'right center', 'left center');
+            $wizard->set_step_view('search_nextgen', 'input.editor-inserter__search');
+            $wizard->set_step_lazy('search_nextgen', true);
+
+            $wizard->add_step('add_ngg_block');
+            $wizard->set_step_text('add_ngg_block', __('Click on the NextGEN block to add it.', 'nggallery'));
+            $wizard->set_step_target('add_ngg_block', 'button.editor-block-list-item-imagely-nextgen-gallery', 'right center', 'left center');
+            $wizard->set_step_view('add_ngg_block', 'button.editor-block-list-item-imagely-nextgen-gallery');
+            $wizard->set_step_lazy('add_ngg_block', true);
+            $wizard->set_step_condition('add_ngg_block', 'wait', '1500');
+
+            $wizard->add_step('add-ngg-gallery');
+            $wizard->set_step_text('add-ngg-gallery', __('Now click the "Add Gallery" button to open NextGEN\'s Insert Gallery Window.', 'nggallery'));
+            $wizard->set_step_target('add-ngg-gallery', '.add-ngg-gallery', 'bottom center', 'top center');
+            $wizard->set_step_view('add-ngg-gallery', '.add-ngg-gallery');
+            $wizard->set_step_lazy('add-ngg-gallery', true);            
+        }
+        else {
+            $wizard->add_step('input_page_title');
+            $wizard->set_step_text('input_page_title', __('Type in a title for your page.', 'nggallery'));
+            $wizard->set_step_target('input_page_title', 'input#title', 'bottom center', 'top center');
+            $wizard->set_step_view('input_page_title', 'input#title');
+            
+            $wizard->add_step('add_gallery_button');
+            $wizard->set_step_text('add_gallery_button', __('Now click the "Add Gallery" button to open NextGEN\'s Insert Gallery Window (IGW).', 'nggallery'));
+            $wizard->set_step_target('add_gallery_button', 'a#ngg-media-button', 'right center', 'left center');
+            $wizard->set_step_view('add_gallery_button', 'a#ngg-media-button');
+        }
+        
         $wizard->add_step('add_gallery_tab');
         $wizard->set_step_text('add_gallery_tab', __('Now click the "Upload Images" tab to add a new gallery.', 'nggallery'));
         $wizard->set_step_target('add_gallery_tab', '#attach_to_post_tabs a#ui-id-2', 'right center', 'left center');
@@ -528,94 +541,101 @@ class M_NextGen_Admin extends C_Base_Module
         $wizard->set_step_context('add_gallery_tab', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
         $wizard->set_step_lazy('add_gallery_tab', true);
         $wizard->set_step_condition('add_gallery_tab', 'nextgen_event', 'plupload_init', null, 10000);
-		$wizard->add_step('input_gallery_name');
-		$wizard->set_step_text('input_gallery_name', __('Select a name for your gallery.', 'nggallery'));
+        $wizard->add_step('input_gallery_name');
+        $wizard->set_step_text('input_gallery_name', __('Select a name for your gallery.', 'nggallery'));
         $wizard->set_step_target('input_gallery_name', 'input#gallery_name:visible', 'bottom center', 'top center');
         $wizard->set_step_view('input_gallery_name', 'input#gallery_name');
         $wizard->set_step_context('input_gallery_name', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab'));
-		$wizard->set_step_lazy('input_gallery_name', true);
+        $wizard->set_step_lazy('input_gallery_name', true);
         // $wizard->set_step_condition('input_gallery_name', 'nextgen_event', 'plupload_init', null, 10000);
-		$wizard->add_step('select_images');
-		$wizard->set_step_text('select_images', __('Now click the "Add Files" button and select some images to add to the gallery.', 'nggallery'));
-		$wizard->set_step_target('select_images', 'a#uploader_browse', 'bottom center', 'top center');
-		$wizard->set_step_view('select_images', 'a#uploader_browse');
-		$wizard->set_step_context('select_images', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab'));
-		$wizard->set_step_lazy('select_images', true);
-		$wizard->add_step('upload_images');
-		$wizard->set_step_text('upload_images', __('Now click the "Start Upload" button to begin the upload process.', 'nggallery'));
-		$wizard->set_step_target('upload_images', 'a#uploader_upload', 'bottom center', 'top center');
-		$wizard->set_step_view('upload_images', 'a#uploader_upload');
-		$wizard->set_step_context('upload_images', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab'));
-		$wizard->set_step_lazy('upload_images', true);
-		$wizard->set_step_condition('upload_images', 'plupload_bind', 'UploadComplete', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab', '#uploader'));
-		$wizard->add_step('display_gallery_tab');
-		$wizard->set_step_text('display_gallery_tab', __('Congratulations! You just created your first gallery. Now let\'s insert it into the page. Click the "Insert into Page" tab.', 'nggallery'));
-		$wizard->set_step_target('display_gallery_tab', '#attach_to_post_tabs a#ui-id-1', 'right center', 'left center');
-		$wizard->set_step_view('display_gallery_tab', '#attach_to_post_tabs a#ui-id-1');
-		$wizard->set_step_context('display_gallery_tab', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('display_gallery_tab', true);
-		$wizard->set_step_condition('display_gallery_tab', 'wait', '500');
-		$wizard->add_step('display_type_select');
-		$wizard->set_step_text('display_type_select', __('Click on the "NextGEN Basic Slideshow" radio button to select the display type for the gallery.', 'nggallery'));
-		$wizard->set_step_target('display_type_select', '.display_type_preview input[value="photocrati-nextgen_basic_slideshow"]', 'bottom center', 'top center');
-		$wizard->set_step_view('display_type_select', '.display_type_preview input[type="radio"]');
-		$wizard->set_step_context('display_type_select', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('display_type_select', true);
-		$wizard->add_step('source_select');
-		$wizard->set_step_text('source_select', __('Now click inside the "Galleries" field and select your gallery.', 'nggallery'));
-		$wizard->set_step_target('source_select', '#source_configuration .galleries_column .select2-container input', 'right center', 'left center');
-		$wizard->set_step_view('source_select', '#source_configuration .galleries_column select');
-		$wizard->set_step_context('source_select', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('source_select', true);
-		$wizard->add_step('insert_gallery');
-		$wizard->set_step_text('insert_gallery', __('Now click on the "Insert Gallery" button to insert the gallery in your page.', 'nggallery'));
-		$wizard->set_step_target('insert_gallery', '#displayed_tab #save_displayed_gallery', 'top center', 'bottom left');
-		$wizard->set_step_view('insert_gallery', '#displayed_tab #save_displayed_gallery');
-		$wizard->set_step_context('insert_gallery', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('insert_gallery', true);
-		$wizard->set_step_condition('insert_gallery', 'wait', '1000');
-		$wizard->add_step('finish');
-		$wizard->set_step_text('finish', __('Congratulations! You just created your first gallery. You can now click the "Publish" button on the right to publish your page.', 'nggallery'));
-	}
-	
-	function handle_wizards()
-	{
-		$wizards = C_NextGEN_Wizard_Manager::get_instance();
-		
-		// adjust wizards state based on query/parameters
-		$wizards->handle_wizard_query();
-		
-		global $ngg_fs;
-		// make sure we don't trigger the wizards if NGG Fremius is running or this is an AJAX request
-		if (isset($_REQUEST['ngg_dismiss_notice']) || (is_admin() && !M_Attach_To_Post::is_atp_url() && !isset($_REQUEST['attach_to_post']) && (!isset($ngg_fs) || !$ngg_fs->is_activation_mode()) && (!defined('DOING_AJAX') || !DOING_AJAX)))
-		{
-			$wizards->set_active(true);
-		}
-		
-		// before adding notices or activating individual wizards, ensure wizards are globally enabled and no wizard is currently running already
-		if ($wizards->is_active() && $wizards->get_running_wizard() == null)
-		{
-			// add notice for gallery creation wizard
-			$wizard = $wizards->get_wizard('nextgen.beginner.gallery_creation_igw');
-			
-			if (!$wizard->is_completed() && !$wizard->is_cancelled())
-			{
-				$mapper = C_Gallery_Mapper::get_instance();
-				if ($mapper->count() == 0)
-				{
-					$wizard->set_active(true);
-					$notices = C_Admin_Notification_Manager::get_instance();
-					$notices->add('ngg_wizard_' . $wizard->get_id(), array("message" => __('Thanks for installing NextGEN Gallery! Want help creating your first gallery?', 'nggallery') . ' <a data-ngg-wizard="' . $wizard->get_id() . '" class="ngg-wizard-invoker" href="' . esc_url(add_query_arg('ngg_wizard', $wizard->get_id())) . '">' . __('Launch the Gallery Wizard', 'nggallery') . '</a>. ' . __('If you close this message, you can also launch the Gallery Wizard at any time from the', 'nggallery') . ' <a href="' . esc_url(admin_url('admin.php?page=nextgen-gallery')) . '">' . __('NextGEN Overview page', 'nggallery') . '</a>.'));
-				}
-				else if (isset($_GET['page']) && $_GET['page'] == 'nextgen-gallery') {
-					$wizard->set_active(true);
-				}
-			}
-		}
-	}
-	
-	function enqueue_wizard_components()
-	{
+        $wizard->add_step('select_images');
+        $wizard->set_step_text('select_images', __('Now click the "Add Files" button and select some images to add to the gallery.', 'nggallery'));
+        $wizard->set_step_target('select_images', 'a#uploader_browse', 'bottom center', 'top center');
+        $wizard->set_step_view('select_images', 'a#uploader_browse');
+        $wizard->set_step_context('select_images', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab'));
+        $wizard->set_step_lazy('select_images', true);
+        $wizard->add_step('upload_images');
+        $wizard->set_step_text('upload_images', __('Now click the "Start Upload" button to begin the upload process.', 'nggallery'));
+        $wizard->set_step_target('upload_images', 'a#uploader_upload', 'bottom center', 'top center');
+        $wizard->set_step_view('upload_images', 'a#uploader_upload');
+        $wizard->set_step_context('upload_images', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab'));
+        $wizard->set_step_lazy('upload_images', true);
+        $wizard->set_step_condition('upload_images', 'plupload_bind', 'UploadComplete', array('iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]', 'iframe#ngg-iframe-create_tab', '#uploader'));
+        $wizard->add_step('display_gallery_tab');
+        $wizard->set_step_text('display_gallery_tab', __('Congratulations! You just created your first gallery. Now let\'s insert it into the page. Click the "Insert into Page" tab.', 'nggallery'));
+        $wizard->set_step_target('display_gallery_tab', '#attach_to_post_tabs a#ui-id-1', 'right center', 'left center');
+        $wizard->set_step_view('display_gallery_tab', '#attach_to_post_tabs a#ui-id-1');
+        $wizard->set_step_context('display_gallery_tab', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
+        $wizard->set_step_lazy('display_gallery_tab', true);
+        $wizard->set_step_condition('display_gallery_tab', 'wait', '500');
+        $wizard->add_step('display_type_select');
+        $wizard->set_step_text('display_type_select', __('Click on the "NextGEN Basic Slideshow" radio button to select the display type for the gallery.', 'nggallery'));
+        $wizard->set_step_target('display_type_select', '.display_type_preview input[value="photocrati-nextgen_basic_slideshow"]', 'bottom center', 'top center');
+        $wizard->set_step_view('display_type_select', '.display_type_preview input[type="radio"]');
+        $wizard->set_step_context('display_type_select', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
+        $wizard->set_step_lazy('display_type_select', true);
+        $wizard->add_step('source_select');
+        $wizard->set_step_text('source_select', __('Now click inside the "Galleries" field and select your gallery.', 'nggallery'));
+        $wizard->set_step_target('source_select', '#source_configuration .galleries_column .select2-container input', 'right center', 'left center');
+        $wizard->set_step_view('source_select', '#source_configuration .galleries_column select');
+        $wizard->set_step_context('source_select', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
+        $wizard->set_step_lazy('source_select', true);
+        $wizard->add_step('insert_gallery');
+        $wizard->set_step_text('insert_gallery', __('Now click on the "Insert Gallery" button to insert the gallery in your page.', 'nggallery'));
+        $wizard->set_step_target('insert_gallery', '#displayed_tab #save_displayed_gallery', 'top center', 'bottom left');
+        $wizard->set_step_view('insert_gallery', '#displayed_tab #save_displayed_gallery');
+        $wizard->set_step_context('insert_gallery', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
+        $wizard->set_step_lazy('insert_gallery', true);
+        $wizard->set_step_condition('insert_gallery', 'wait', '1000');
+        $wizard->add_step('finish');
+        $wizard->set_step_text('finish', __('Congratulations! You just created your first gallery. You can now click the "Publish" button on the right to publish your page.', 'nggallery'));
+    }
+    
+    function handle_wizards()
+    {
+        $wizards = C_NextGEN_Wizard_Manager::get_instance();
+
+        // adjust wizards state based on query/parameters
+        $wizards->handle_wizard_query();
+        
+        global $ngg_fs;
+        // make sure we don't trigger the wizards if NGG Fremius is running or this is an AJAX request
+        if (isset($_REQUEST['ngg_dismiss_notice'])
+        ||  (is_admin()
+            //  && C_NextGen_Admin_Page_Manager::is_requested()
+             && !M_Attach_To_Post::is_atp_url()
+             && !isset($_REQUEST['attach_to_post'])
+             && (!isset($ngg_fs) || !$ngg_fs->is_activation_mode())
+             && (!defined('DOING_AJAX') || !DOING_AJAX)))
+        {
+            $wizards->set_active(true);
+        }
+        
+        // before adding notices or activating individual wizards, ensure wizards are globally enabled and no wizard is currently running already
+        if ($wizards->is_active() && $wizards->get_running_wizard() == null)
+        {
+            // add notice for gallery creation wizard
+            $wizard = $wizards->get_wizard('nextgen.beginner.gallery_creation_igw');
+
+            // enable gallery wizard / notification under specific conditions
+            $is_ngg_overview_page = isset($_GET['page']) && $_GET['page'] == 'nextgen-gallery';
+            $is_ecom_instructions_page = isset($_GET['page']) && $_GET['page'] == 'ngg-ecommerce-instructions-page';
+            if (!$wizard->is_completed() && !$wizard->is_cancelled() && !$is_ecom_instructions_page) {
+                $mapper = C_Gallery_Mapper::get_instance();
+                if ($mapper->count() == 0)
+                {
+                    $wizard->set_active(true);
+                    // This notification was registered earlier; set_wizard() here makes the is_renderable() return TRUE
+                    C_NextGen_First_Run_Notification_Wizard::set_wizard($wizard);
+                }
+            }
+            if ($is_ngg_overview_page)
+                $wizard->set_active(true);
+        }
+    }
+    
+    function enqueue_wizard_components()
+    {
         $router = C_Router::get_instance();
         
         // Wizards related scripts/styles
@@ -625,143 +645,144 @@ class M_NextGen_Admin extends C_Base_Module
             array(),
             NGG_SCRIPT_VERSION
         );
-		
-		wp_register_script(
-			'tourist',
-			$router->get_static_url('photocrati-nextgen_admin#tourist/tourist.js'),
-			array('jquery', 'backbone'),
-			NGG_SCRIPT_VERSION
-		);
-		wp_register_style(
-			'tourist',
-			$router->get_static_url('photocrati-nextgen_admin#tourist/tourist.css'),
-			array('bootstrap-tooltip'),
-			NGG_SCRIPT_VERSION
-		);
-		wp_register_script(
-			'ngg-wizards',
-			$router->get_static_url('photocrati-nextgen_admin#nextgen_wizards.js'),
-			array('tourist'),
-			NGG_SCRIPT_VERSION,
-			true
-		);
-		wp_register_style(
-			'ngg-wizards',
-			$router->get_static_url('photocrati-nextgen_admin#nextgen_wizards.css'),
-			array('tourist'),
-			NGG_SCRIPT_VERSION
-		);
         
-		$wizards = C_NextGEN_Wizard_Manager::get_instance();
-		$wizard = $wizards->get_next_wizard();
-
-		if ($wizards->is_active() && $wizard != null) {
-			$data = array();
-			$data['starter'] = array('text' => $wizards->get_starter(), 'image' => $router->get_static_url('photocrati-nextgen_admin#imagely_icon.png'));
-			$running_wizard = $wizards->get_running_wizard();
-			$data['running_wizard'] = $running_wizard != null ? $running_wizard->get_id() : null;
-			$data['wizard_list'] = array($wizard->toData());
-			wp_localize_script('ngg-wizards', 'NextGEN_Wizard_Manager_State', $data);
-			if (method_exists('M_Gallery_Display', 'enqueue_fontawesome'))
-				M_Gallery_Display::enqueue_fontawesome();
-
-			wp_enqueue_style('ngg-wizards');
-			wp_enqueue_script('ngg-wizards');
-		};
-	}
-
-	/**
-	 * Adds menu pages to manage NextGen Settings
-	 * @uses action: admin_menu
-	 */
-	function add_menu_pages()
-	{
-		C_NextGen_Admin_Page_Manager::get_instance()->setup();
-	}
+        wp_register_script(
+            'tourist',
+            $router->get_static_url('photocrati-nextgen_admin#tourist/tourist.js'),
+            array('jquery', 'backbone'),
+            NGG_SCRIPT_VERSION
+        );
+        wp_register_style(
+            'tourist',
+            $router->get_static_url('photocrati-nextgen_admin#tourist/tourist.css'),
+            array('bootstrap-tooltip'),
+            NGG_SCRIPT_VERSION
+        );
+        wp_register_script(
+            'ngg-wizards',
+            $router->get_static_url('photocrati-nextgen_admin#nextgen_wizards.js'),
+            array('tourist'),
+            NGG_SCRIPT_VERSION,
+            true
+        );
+        wp_register_style(
+            'ngg-wizards',
+            $router->get_static_url('photocrati-nextgen_admin#nextgen_wizards.css'),
+            array('tourist'),
+            NGG_SCRIPT_VERSION
+        );
+        
+        $wizards = C_NextGEN_Wizard_Manager::get_instance();
+        $wizard = $wizards->get_next_wizard();
+
+        if ($wizards->is_active() && $wizard != null) {
+            $data = array();
+            $data['starter'] = array('text' => $wizards->get_starter(), 'image' => $router->get_static_url('photocrati-nextgen_admin#imagely_icon.png'));
+            $running_wizard = $wizards->get_running_wizard();
+            $data['running_wizard'] = $running_wizard != null ? $running_wizard->get_id() : null;
+            $data['wizard_list'] = array($wizard->toData());
+            wp_localize_script('ngg-wizards', 'NextGEN_Wizard_Manager_State', $data);
+            if (method_exists('M_Gallery_Display', 'enqueue_fontawesome'))
+                M_Gallery_Display::enqueue_fontawesome();
+
+            wp_enqueue_style('ngg-wizards');
+            wp_enqueue_script('ngg-wizards');
+        };
+    }
+
+    /**
+     * Adds menu pages to manage NextGen Settings
+     * @uses action: admin_menu
+     */
+    function add_menu_pages()
+    {
+        C_NextGen_Admin_Page_Manager::get_instance()->setup();
+    }
 
     function get_type_list()
     {
         return array(
-	        'A_Fs_Access_Page'                => 'adapter.fs_access_page.php',
-	        'A_MVC_Validation'                => 'adapter.mvc_validation.php',
-	        'A_Nextgen_Admin_Default_Pages'   => 'adapter.nextgen_admin_default_pages.php',
-	        'A_Nextgen_Settings_Routes'       => 'adapter.nextgen_settings_routes.php',
-	        'C_Admin_Notification_Manager'    => 'class.admin_notification_manager.php',
-	        'C_Admin_Requirements_Manager'    => 'class.admin_requirements_manager.php',
-	        'C_Form'                          => 'class.form.php',
-	        'C_Form_Manager'                  => 'class.form_manager.php',
-	        'C_NextGEN_Wizard_Manager'        => 'class.nextgen_wizard_manager.php',
-	        'C_NextGen_Admin_Page_Manager'    => 'class.nextgen_admin_page_manager.php',
-	        'C_Nextgen_Admin_Installer'       => 'class.nextgen_admin_installer.php',
-	        'C_Nextgen_Admin_Page_Controller' => 'class.nextgen_admin_page_controller.php'
+            'A_Fs_Access_Page'                        => 'adapter.fs_access_page.php',
+            'A_MVC_Validation'                        => 'adapter.mvc_validation.php',
+            'A_Nextgen_Admin_Default_Pages'           => 'adapter.nextgen_admin_default_pages.php',
+            'A_Nextgen_Settings_Routes'               => 'adapter.nextgen_settings_routes.php',
+            'C_Admin_Notification_Manager'            => 'class.admin_notification_manager.php',
+            'C_Admin_Requirements_Manager'            => 'class.admin_requirements_manager.php',
+            'C_Form'                                  => 'class.form.php',
+            'C_Form_Manager'                          => 'class.form_manager.php',
+            'C_NextGEN_Wizard_Manager'                => 'class.nextgen_wizard_manager.php',
+            'C_NextGen_Admin_Page_Manager'            => 'class.nextgen_admin_page_manager.php',
+            'C_Nextgen_Admin_Installer'               => 'class.nextgen_admin_installer.php',
+            'C_Nextgen_Admin_Page_Controller'         => 'class.nextgen_admin_page_controller.php',
+            'C_NextGen_First_Run_Notification_Wizard' => 'class.nextgen_first_run_notification_wizard.php'
         );
     }
 }
 
 class C_NextGen_Admin_Installer
 {
-	function install()
-	{
-		$settings = C_NextGen_Settings::get_instance();
-
-		// In version 0.2 of this module and earlier, the following values
-		// were statically set rather than dynamically using a handler. Therefore, we need
-		// to delete those static values
-		$module_name = 'photocrati-nextgen_admin';
-		$modules = get_option('pope_module_list', array());
-		if (!$modules) {
-			$modules = $settings->get('pope_module_list', array());
-		}
-
-		$cleanup = FALSE;
-		foreach ($modules as $module) {
-			if (strpos($module, $module_name) !== FALSE) {
-				// Leave $module as-is: inside version_compare() will warn about passing items by reference
-				$module = explode('|', $module);
-				$val    = array_pop($module);
-				if (version_compare($val, '0.3') == -1) {
-					$cleanup = TRUE;
-				}
-				break;
-			}
-		}
-
-		if ($cleanup) {
-			$keys = array(
-				'jquery_ui_theme',
-				'jquery_ui_theme_version',
-				'jquery_ui_theme_url'
-			);
-			foreach ($keys as $key) $settings->delete($key);
-		}
-	}
+    function install()
+    {
+        $settings = C_NextGen_Settings::get_instance();
+
+        // In version 0.2 of this module and earlier, the following values
+        // were statically set rather than dynamically using a handler. Therefore, we need
+        // to delete those static values
+        $module_name = 'photocrati-nextgen_admin';
+        $modules = get_option('pope_module_list', array());
+        if (!$modules) {
+            $modules = $settings->get('pope_module_list', array());
+        }
+
+        $cleanup = FALSE;
+        foreach ($modules as $module) {
+            if (strpos($module, $module_name) !== FALSE) {
+                // Leave $module as-is: inside version_compare() will warn about passing items by reference
+                $module = explode('|', $module);
+                $val    = array_pop($module);
+                if (version_compare($val, '0.3') == -1) {
+                    $cleanup = TRUE;
+                }
+                break;
+            }
+        }
+
+        if ($cleanup) {
+            $keys = array(
+                'jquery_ui_theme',
+                'jquery_ui_theme_version',
+                'jquery_ui_theme_url'
+            );
+            foreach ($keys as $key) $settings->delete($key);
+        }
+    }
 }
 
 class C_NextGen_Admin_Option_Handler
 {
-	function get_router()
-	{
-		return C_Router::get_instance();
-	}
+    function get_router()
+    {
+        return C_Router::get_instance();
+    }
 
-	function get($key, $default=NULL)
-	{
-		$retval = $default;
-
-		switch ($key) {
-			case 'jquery_ui_theme':
-				$retval = 'jquery-ui-nextgen';
-				break;
-			case 'jquery_ui_theme_version':
-				$retval = '1.8';
-				break;
-			case 'jquery_ui_theme_url':
-				$retval = $this->get_router()->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css');
-				break;
-		}
-
-		return $retval;
-	}
+    function get($key, $default=NULL)
+    {
+        $retval = $default;
+
+        switch ($key) {
+            case 'jquery_ui_theme':
+                $retval = 'jquery-ui-nextgen';
+                break;
+            case 'jquery_ui_theme_version':
+                $retval = '1.8';
+                break;
+            case 'jquery_ui_theme_url':
+                $retval = $this->get_router()->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css');
+                break;
+        }
+
+        return $retval;
+    }
 }
 
 new M_NextGen_Admin();
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php
index 31aaedfce..6f4151b9b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php
@@ -350,7 +350,12 @@ class C_Admin_Notification_Manager
             }
             ob_end_clean();
             echo json_encode($retval);
-            throw new E_Clean_Exit();
+            // E_Clean_Exit causes warnings to be appended to XHR responses, potentially breaking the client JS
+            if (!defined('NGG_DISABLE_SHUTDOWN_EXCEPTION_HANDLER') || !NGG_DISABLE_SHUTDOWN_EXCEPTION_HANDLER) {
+                throw new E_Clean_Exit();
+            } else {
+                exit;
+            }
         }
     }
     function render_notice($name)
@@ -362,7 +367,11 @@ class C_Admin_Notification_Manager
             if ($has_method && $handler->is_renderable() || !$has_method) {
                 $show_dismiss_button = method_exists($handler, 'show_dismiss_button') ? $handler->show_dismiss_button() : method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE;
                 $template = method_exists($handler, 'get_mvc_template') ? $handler->get_mvc_template() : 'photocrati-nextgen_admin#admin_notice';
-                $view = new C_MVC_View($template, array('css_class' => method_exists($handler, 'get_css_class') ? $handler->get_css_class() : 'updated', 'is_dismissable' => method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE, 'html' => method_exists($handler, 'render') ? $handler->render() : '', 'show_dismiss_button' => $show_dismiss_button, 'notice_name' => $name));
+                // The 'inline' class is necessary to prevent our notices from being moved in the DOM
+                // see https://core.trac.wordpress.org/ticket/34570 for reference
+                $css_class = 'inline ';
+                $css_class .= method_exists($handler, 'get_css_class') ? $handler->get_css_class() : 'updated';
+                $view = new C_MVC_View($template, array('css_class' => $css_class, 'is_dismissable' => method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE, 'html' => method_exists($handler, 'render') ? $handler->render() : '', 'show_dismiss_button' => $show_dismiss_button, 'notice_name' => $name));
                 $retval = $view->render(TRUE);
                 $this->_displayed_notice = TRUE;
             }
@@ -904,18 +913,16 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
      */
     function is_authorized_request($privilege = NULL)
     {
+        $retval = TRUE;
         if (!$privilege) {
             $privilege = $this->object->get_required_permission();
         }
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $retval = $sec_token = $security->get_request_token(str_replace(array(' ', "\n", "\t"), '_', $privilege));
-        $sec_actor = $security->get_current_actor();
         // Ensure that the user has permission to access this page
-        if (!$sec_actor->is_allowed($privilege)) {
+        if (!M_Security::is_allowed($privilege)) {
             $retval = FALSE;
         }
         // Ensure that nonce is valid
-        if ($this->object->is_post_request() && !$sec_token->check_current_request()) {
+        if ($this->object->is_post_request() && (isset($_REQUEST['nonce']) && !M_Security::verify_nonce($_REQUEST['nonce'], $privilege))) {
             $retval = FALSE;
         }
         return $retval;
@@ -926,7 +933,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
      */
     function get_required_permission()
     {
-        return $this->object->name;
+        return str_replace(array(' ', "\n", "\t"), '_', $this->object->name);
     }
     // Sets an appropriate screen for NextGEN Admin Pages
     function set_screen()
@@ -993,7 +1000,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
         if (defined('NGG_PRO_PLUGIN_VERSION')) {
             $message = __("Good work. Keep making the web beautiful.", 'nggallery');
         } else {
-            $message = __('Create more beautiful galleries. Upgrade to ') . '<a href="https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ngpro" target="_blank">' . __('NextGEN Pro') . '</a>';
+            $message = __('Create more beautiful galleries. Upgrade to ') . '<a href="https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ngpro" class="button-primary" style="margin-left: 10px;" target="_blank">' . __('NextGEN Pro') . '</a>';
         }
         return $message;
     }
@@ -1103,7 +1110,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
                 }
             }
             // Render the view
-            $index_params = array('page_heading' => $this->object->get_page_heading(), 'tabs' => $tabs, 'forms' => $forms, 'errors' => $errors, 'success' => $success, 'header_message' => $this->object->get_header_message(), 'form_header' => $token->get_form_html(), 'show_save_button' => $this->object->show_save_button(), 'model' => $this->object->has_method('get_model') ? $this->get_model() : NULL, 'logo' => $this->get_router()->get_static_url('photocrati-nextgen_admin#imagely_icon.png'));
+            $index_params = array('page_heading' => $this->object->get_page_heading(), 'tabs' => $tabs, 'forms' => $forms, 'errors' => $errors, 'success' => $success, 'form_header' => FALSE, 'header_message' => $this->object->get_header_message(), 'nonce' => M_Security::create_nonce($this->object->get_required_permission()), 'show_save_button' => $this->object->show_save_button(), 'model' => $this->object->has_method('get_model') ? $this->get_model() : NULL, 'logo' => $this->get_router()->get_static_url('photocrati-nextgen_admin#imagely_icon.png'));
             $index_params = array_merge($index_params, $this->object->get_index_params());
             $this->render_partial($this->object->index_template(), $index_params);
         } else {
@@ -1144,16 +1151,30 @@ class C_NextGen_Admin_Page_Manager extends C_Component
         $this->implement('I_Page_Manager');
     }
     /**
-     * Determines if a NextGEN Admin page is being requested
+     * Determines if a NextGEN page or post type is being requested
      * @return bool|string
      */
     static function is_requested()
+    {
+        $retval = FALSE;
+        if (self::is_requested_page()) {
+            $retval = self::is_requested_page();
+        } elseif (self::is_requested_post_type()) {
+            $retval = self::is_requested_post_type();
+        }
+        return apply_filters('is_ngg_admin_page', $retval);
+    }
+    /**
+     * Determines if a NextGEN Admin page is being requested
+     * @return bool|string
+     */
+    static function is_requested_page()
     {
         $retval = FALSE;
         // First, check the screen for the "ngg" property. This is how ngglegacy pages register themselves
         $screen = get_current_screen();
         if (property_exists($screen, 'ngg') && $screen->ngg) {
-            $retval = TRUE;
+            $retval = $screen->id;
         } else {
             foreach (self::get_instance()->get_all() as $slug => $properties) {
                 // Are we rendering a NGG added page?
@@ -1163,13 +1184,27 @@ class C_NextGen_Admin_Page_Manager extends C_Component
                         $retval = $slug;
                         break;
                     }
-                } elseif (isset($properties['post_type']) && $screen->post_type == $properties['post_type']) {
-                    $retval = $slug;
-                    break;
                 }
             }
         }
-        return apply_filters('is_ngg_admin_page', $retval);
+        return $retval;
+    }
+    /**
+     * Determines if a NextGEN post type is being requested
+     * @return bool|string
+     */
+    static function is_requested_post_type()
+    {
+        $retval = FALSE;
+        $screen = get_current_screen();
+        foreach (self::get_instance()->get_all() as $slug => $properties) {
+            // Are we rendering a NGG post type?
+            if (isset($properties['post_type']) && $screen->post_type == $properties['post_type']) {
+                $retval = $slug;
+                break;
+            }
+        }
+        return $retval;
     }
 }
 class Mixin_Page_Manager extends Mixin
@@ -1308,6 +1343,56 @@ class C_Page_Manager
         return C_NextGen_Admin_Page_Manager::is_requested();
     }
 }
+class C_NextGen_First_Run_Notification_Wizard
+{
+    protected static $wizard = NULL;
+    protected static $_instance = NULL;
+    /**
+     * @return bool
+     */
+    public function is_renderable()
+    {
+        return is_null(self::$wizard) ? FALSE : TRUE;
+    }
+    /**
+     * @return string
+     */
+    public function render()
+    {
+        if (!self::$wizard) {
+            return '';
+        }
+        $wizard = self::$wizard;
+        return __('Thanks for installing NextGEN Gallery! Want help creating your first gallery?', 'nggallery') . ' <a data-ngg-wizard="' . $wizard->get_id() . '" class="ngg-wizard-invoker" href="' . esc_url(add_query_arg('ngg_wizard', $wizard->get_id())) . '">' . __('Launch the Gallery Wizard', 'nggallery') . '</a>. ' . __('If you close this message, you can also launch the Gallery Wizard at any time from the', 'nggallery') . ' <a href="' . esc_url(admin_url('admin.php?page=nextgen-gallery')) . '">' . __('NextGEN Overview page', 'nggallery') . '</a>.';
+    }
+    public function get_css_class()
+    {
+        return 'updated';
+    }
+    public function is_dismissable()
+    {
+        return TRUE;
+    }
+    public function dismiss($code)
+    {
+        return array('handled' => TRUE);
+    }
+    /**
+     * @return C_NextGen_First_Run_Notification_Wizard
+     */
+    public static function get_instance()
+    {
+        if (!isset(self::$_instance)) {
+            $klass = get_class();
+            self::$_instance = new $klass();
+        }
+        return self::$_instance;
+    }
+    public static function set_wizard($wizard)
+    {
+        self::$wizard = $wizard;
+    }
+}
 /**
  * Class C_NextGEN_Wizard
  */
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/dropdown_arrow.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/dropdown_arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..4158fde32511ad56dcd776110704ca626242bb9d
GIT binary patch
literal 5367
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
a@SmUQ=Alf{%I*gsAA7p`xvX<aXaWGLgBJ$?

literal 0
HcmV?d00001

diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_icon.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_icon.png
index 2cef0cae5026801384bf570e89bc9674d9e1537c..29e0c6cff5043a4754777eea326f06a1023d22c6 100644
GIT binary patch
delta 14178
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
S{E~rzfx*+&&t;ucLK6T22|x`1

delta 10744
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

diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css
index b7b037dbe..112523dbd 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css
@@ -117,15 +117,22 @@ table.nextgen_settings_position {
 }
 
 #ngg_page_content {
-    padding-bottom: 0;
-    width: 98%;
+    background: #ffffff;
+    box-shadow: 0 0 12px 6px rgba(0,0,0,.03);
+    box-sizing: border-box;
     font-family: lato,sans-serif;
+    float:left;
     height: auto;
     margin-top: 25px;
-    float:left;
-    box-shadow: 0 0 100px 10px rgba(0,0,0,.05);
+    padding: 20px 40px;
+    width: 98%;
+    color: black;
+    font-size: 15px;
+    letter-spacing: .3px;
+    font-weight: 500;
 }
 
+
 #adminmenu .wp-submenu a[href*=ngg_pro_upgrade] {
     color: #9fbb1a;
     font-weight: 600;
@@ -144,7 +151,7 @@ table.nextgen_settings_position {
 .ngg_manage_images,
 .ngg_manage_images,
 .ngg_gallery_sort {
-    background: #fcfcfc;
+    background: #ffffff;
 }
 
 #ngg_page_content .wrap {
@@ -153,9 +160,31 @@ table.nextgen_settings_position {
 
 #ngg_page_content .about-wrap {
     max-width: 100%;
-    background: #fff;
     float: left;
-    background: #fcfcfc;
+}
+
+.about-wrap [class$="-col"] {
+    display: flex;
+    justify-content: space-between;
+    flex-wrap: wrap;
+}
+
+.about-wrap [class$="-col"] .col {
+    flex: 1;
+    align-self: flex-start;
+}
+
+.about-wrap [class$="-col"] .col+.col {
+    margin-left: 20px;
+}
+
+.about-wrap .two-col img {
+    margin-bottom: 1.5em;
+}
+
+.about-wrap .headline-feature {
+    max-width: none;
+    margin: 0 0 40px 0;
 }
 
 #ngg_page_content a {
@@ -166,34 +195,43 @@ table.nextgen_settings_position {
 #ngg_page_content .button-primary,
 #ngg_page_content .button-secondary {
     background-color: #9FBB1A;
+    background-color: black;
     color: #fff !important;
     border: none !important;
     box-shadow: none !important;
     text-shadow: none !important;
+    outline: none !important;
     height: 35px !important;
     padding: 0 24px !important;
     line-height: 35px;
     width: auto !important;
-    border-radius: 3px;
+    border-radius: 0px;
     text-transform: uppercase;
     letter-spacing: 1px;
     font-size: 11px;
     font-weight: bold;
     font-family: Lato, sans-serif;
+    vertical-align: middle;
 }
 
 #ngg_page_content button:hover,
 #ngg_page_content .button-primary:hover,
 #ngg_page_content .button-secondary:hover {
-    background-color: #A9C524;
+    background-color: #383838;
 }
 
-#ngg_page_content button:active,
-#ngg_page_content .button-primary:active,
-#ngg_page_content .button-secondary:active {
+#ngg_page_content button:hover,
+#ngg_page_content .button-primary:hover,
+#ngg_page_content .button-secondary:hover {
     vertical-align: middle;
 }
 
+#ngg_page_content button:disabled, 
+#ngg_page_content .button-primary:disabled, 
+#ngg_page_content .button-secondary:disabled {
+    background: #bbb !important;
+}
+
 #ngg_page_content .button-secondary {
     background-color: #888 !important;
 }
@@ -235,10 +273,13 @@ table.nextgen_settings_position {
 }
 
 #ngg_page_content .ngg_save_settings_button {
-    margin: 30px;
-    font-weight: 700;
-    height: 40px !important;
-    padding: 0 40px !important;
+    position: absolute;
+    right: 61px;
+    top: 128px;
+}
+
+.ecommerce_page_ngg-ecommerce-instructions-page #ngg_page_content .ngg_save_settings_button {
+    display: none;
 }
 
 #ngg_page_content ::-webkit-input-placeholder { /* Chrome */
@@ -263,16 +304,14 @@ table.nextgen_settings_position {
 /***** 3) NGG Admin CSS: Header and Menu *****/
 
 #ngg_page_content .ngg_page_content_header {
-    border-bottom: 10px solid #9FBB1A;
     height: 80px;
-    padding: 0 0 0 20px;
-    background: #143650;
     margin-top: -23px;
+    margin-bottom: 24px;
 } 
 
 #ngg_page_content .ngg_page_content_header img {
-    height: 40px;
-    padding-top: 20px;
+    height: 60px;
+    padding-top: 10px;
     padding-right: 20px;
     float: left;
     width: auto;
@@ -281,7 +320,7 @@ table.nextgen_settings_position {
 #ngg_page_content .ngg_page_content_header h2,
 #ngg_page_content .ngg_page_content_header h3 {
     line-height: 80px;
-    color: #fff;
+    color: black;
     font-size: 18px;
     font-family: 'Lato', sans-serif;
     text-transform: uppercase;
@@ -294,26 +333,10 @@ table.nextgen_settings_position {
     float: right;
     margin: -98px 0 0 0;
     font-size: 15px;
-    font-style: italic;
-    font-weight: 400;
-    color: #cdd3d8;
-    background: rgba(93, 134, 167, 0.18);
-    padding: 0 40px;
-    border-left: 1px solid #566b7c;
-    color: #a7b8c6;
-    line-height: 80px;
-}
-
-#ngg_page_content .ngg_page_content_header p a {
-    text-decoration: none;
     font-weight: 500;
-    background: #aac43b;
-    color: #fff;
-    padding: 5px 10px;
-    font-style: normal;
-    margin: -1px 0 0 20px;
-    border-radius: 1px;
-    text-transform: uppercase;
+    color: black;
+    line-height: 80px;
+    letter-spacing: .3px;
 }
 
 #ngg_page_content .ngg_page_content_header .ngg_save_settings_button {
@@ -331,17 +354,17 @@ table.nextgen_settings_position {
 
 #ngg_page_content .ngg_page_content_menu a {   
     box-shadow: none !important;
+    border-left: 5px solid #ffffff;
     cursor: pointer;
     display: block;
-    padding: 20px 10px 20px 15px;
+    padding: 10px 0 10px 20px;
     line-height: 22px;
-    margin: 0;
+    margin: 10px 0;
     text-decoration: none;
-    color: #2b5d89;;
+    color: black;
     text-transform: uppercase;
-    font-size: 11px;
-    border-bottom: 1px solid #eee;
-    font-weight: 600;
+    font-size: 13px;
+    font-weight: 400;
     letter-spacing: 1.2px;
 }
 
@@ -353,7 +376,7 @@ table.nextgen_settings_position {
 }
 
 .responsive-menu-icon::before {
-   color: #fff;
+   color: black;
    content: '\f0c9';
    display: block;
    font: normal 20px/1 'Font Awesome 5 Free';
@@ -367,26 +390,11 @@ table.nextgen_settings_position {
     outline: 0;
     outline-width: 0;
     outline-color: transparent;
-    border-right: 1px solid #fff;
-    background: #9ebc1b;
+    border-left: 5px solid #9dbd1b;
     position: relative;
-    color: #fff;
+    color: black;
     margin-right: -1px;
     font-weight: 800;
-    border-bottom: 1px solid #9dbd1b;
-}
-
-#ngg_page_content .ngg_page_content_menu a:before {
-    float: left;
-    font: normal 16px/1 'Font Awesome 5 Free';
-    height: 16px;
-    right: 0;
-    margin-top: 3px;
-    text-align: right;
-    z-index: 9999;
-    padding-right: 10px;
-    content: "\f1de";
-    font-weight: 900;
 }
 
 #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after, 
@@ -405,13 +413,16 @@ table.nextgen_settings_position {
 /***** 4) NGG Admin CSS: Main Content *****/
 
 #ngg_page_content .ngg_page_content_main {
-    padding: 10px 20px 20px 30px;
+    padding: 0 20px 20px 30px;
     min-height: 600px;
     float: left;
-    background: #fff;
     box-sizing: border-box;
     width: 100%;
-    box-shadow: 0 -5px 4px 2px rgba(0,0,0,.05);
+}
+
+.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main,
+.gallery_page_nggallery-manage-album #ngg_page_content .ngg_page_content_main {
+    padding: 0 10px 30px;
 }
 
 #ngg_page_content .ngg_overview .ngg_page_content_main, 
@@ -458,11 +469,16 @@ table.nextgen_settings_position {
     padding-left: 10px;
     box-shadow: none;
     width: 200px;
-    box-shadow: inset 0 0 2px 1px rgba(100,100,100,.05);
+    -webkit-appearance: none;
+    -webkit-border-radius: 0px;
+    border-radius: 0;
 }
 
 #ngg_page_content .ngg_page_content_main select {
-    font-size: 13px;
+    background-image: url(dropdown_arrow.png);
+    background-size: 10px 10px;
+    background-repeat: no-repeat;
+    background-position: 95% 55%;
 }
 
 #ngg_page_content .ngg_page_content_main .select2-container {
@@ -473,6 +489,24 @@ table.nextgen_settings_position {
 #ngg_page_content .ngg_page_content_main .select2-selection--multiple,
 #ngg_page_content .ngg_page_content_main .select2-selection--single {
     border: 1px solid #ddd;
+    border-radius: 0;
+    height: 35px;
+    line-height: 35px;
+    padding-top: 1px;
+}
+
+#ngg_page_content .ngg_page_content_main .thumbnail_options .select2-selection--multiple {
+    height: auto;
+    padding-right: 3px;
+}
+
+#ngg_page_content .ngg_page_content_main .thumbnail_options .select2-selection--multiple .select2-search__field {
+    width: 100% !important;
+}
+
+#ngg_page_content .select2-container--default .select2-selection--single .select2-selection__arrow {
+    top: 4px;
+    display: none;
 }
 
 #ngg_page_content .ngg_page_content_main .select2-search {
@@ -521,10 +555,10 @@ table.nextgen_settings_position {
     color: transparent;
     content: "\2022";
     display:block;
-    height: 16px;
-    margin: 0 0 0 -1px;
+    height: 17px;
+    margin: -1px 0 0 -1px;
     vertical-align: middle;
-    width: 16px;
+    width: 17px;
 }
 
 /***** 5) NGG Admin CSS: Tables *****/
@@ -577,8 +611,6 @@ table.nextgen_settings_position {
     line-height: 1.5 !important;
 }
 
-/*#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td:first-of-type,
-#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th:first-of-type,*/
 #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td:first-of-type {
     width: 300px;
     text-align: left;
@@ -595,7 +627,7 @@ table.nextgen_settings_position {
 
 #ngg_page_content.ngg_settings_page .ngg_page_content_main table tr:nth-of-type(2n),
 #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr:nth-of-type(2n) {
-    background-color: rgb(247, 248, 243);
+    background-color: #f7f7f7;
 }
 
 #ngg_page_content.ngg_settings_page .ngg_page_content_main tr.watermark_field {
@@ -644,7 +676,7 @@ table.nextgen_settings_position {
 }
 
 #ngg_page_content.ngg_settings_page .nextgen_pro_lightbox_admin_header {
-    background: #38576f !important;
+    background: black !important;
     margin-top: 20px;
 }
 
@@ -652,14 +684,19 @@ table.nextgen_settings_position {
     padding-left: 0 !important;
 }
 
+.nextgen_pro_lightbox_admin_header td {
+    padding: 10px 0 !important;
+}
+
 .nextgen_pro_lightbox_admin_header td h3 {
-    text-transform: none !important;
     color: #fff !important;
     margin: 0 0 0 20px !important;
+    font-size: 13px !important;
+    letter-spacing: 1.5px;
 }
 
 .ngg_options_promo {
-    background: #224460;
+    background: black;
     color: #fff;
     font-family: Lato, sans-serif;
     font-size: 14px;
@@ -685,9 +722,13 @@ table.nextgen_settings_position {
 
 /* First, CSS for post type lists */
 
+.ngg-post-type #screen-meta .metabox-prefs.view-mode {
+    display: none;
+}
+
 .ngg-post-type .ngg_page_content_main .button,
 .ngg-post-type .ngg_page_content_main .page-title-action {
-    background-color: #9FBB1A !important;
+    background-color: black !important;
     color: #fff !important;
     border: none !important;
     box-shadow: none !important;
@@ -696,18 +737,24 @@ table.nextgen_settings_position {
     padding: 0 15px !important;
     line-height: 35px;
     width: auto !important;
+    text-transform: uppercase;
+    letter-spacing: 1px;
+    font-size: 11px;
 }
 
 .ngg-post-type .ngg_page_content_main .button:hover,
 .ngg-post-type .ngg_page_content_main .page-title-action:hover {
-    background-color: #A9C524 !important;
+    background-color: #383838 !important;
 }
 
 .ngg-post-type .ngg_page_content_main .page-title-action {
-    padding: 8px 16px !important;
+    padding: 10px 18px !important;
+    margin-left: 10px;
+    top: -4px;
 }
 
-.ngg-post-type .ngg_admin_notice {
+.ngg-post-type .notice,
+.ngg-post-type div#setting-error-tgmpa {
     display: none;
 }
 
@@ -740,12 +787,12 @@ table.nextgen_settings_position {
 
 .ngg-post-type .ngg_page_content_main table thead,
 .ngg-post-type .ngg_page_content_main table tfoot {
-    background-color: #38576f;
+    background-color: black;
     text-transform: uppercase;
 }
 
 .ngg-post-type .ngg_page_content_main table tfoot {
-    background-color: #38576f;
+    background-color: black;
 }
 
 .ngg-post-type .ngg_page_content_main table thead a,
@@ -787,7 +834,7 @@ table.nextgen_settings_position {
 }
 
 .ngg-post-type .ngg_page_content_main .striped>tbody>:nth-child(odd) {
-    background-color: rgb(247, 248, 243);
+    background-color: #f7f7f7;
 } 
 
 .ngg-post-type .ngg_page_content_main a.row-title {
@@ -833,10 +880,18 @@ table.nextgen_settings_position {
 
 /* Second, CSS for individual post type edit pages */
 
+#ngg_page_content #titlediv input#title {
+    font-size: 22px;
+    padding: 24px 12px;
+    color: #383838;
+    letter-spacing: .5px;
+    font-weight: 400;
+}
+
 .ngg-post-type #ngg_page_content h3.accordion_tab,
 .ngg-admin #postbox-container-2 h2.ui-sortable-handle {
     padding: 10px;
-    background: #38576f;
+    background: black;
     margin-bottom: 0;
 }
 
@@ -844,15 +899,20 @@ table.nextgen_settings_position {
 .ngg-admin #postbox-container-2 h2.ui-sortable-handle {
     color: #fff;
     text-decoration: none;
+    text-transform: uppercase;
+    font-weight: 400;
+    font-size: 15px;
+    letter-spacing: 2px;
+    margin-left: 6px;
 }
 
 .ngg-post-type .accordion > div,
 .ngg-admin #postbox-container-2 .postbox {
-    border-left: 1px solid rgba(159, 187, 26, 0.05);
-    border-bottom: 1px solid rgba(159, 187, 26, 0.05);
-    border-right: 1px solid rgba(159, 187, 26, 0.05);
+    border-left: 1px solid #eeeeee;
+    border-bottom: 1px solid #eeeeee;
+    border-right: 1px solid #eeeeee;
     margin-bottom: 30px;
-    background-color: rgb(247, 248, 243);
+    background-color: #fcfcfc;
 }
 
 .ngg-post-type .accordion > div {
@@ -886,6 +946,115 @@ table.nextgen_settings_position {
     margin: 0;
 }
 
+/* Third, overrides for some specific post type pages */
+
+.post-type-ngg_order #ngg_page_content .ngg_page_content_main,
+.post-type-nextgen_proof #ngg_page_content .ngg_page_content_main {
+    padding-left: 10px;
+}
+
+.post-type-ngg_order.post-php .wp-heading-inline,
+.post-type-ngg_order.post-php #submitdiv,
+.post-type-ngg_order.post-php .toggle-indicator,
+.post-type-nextgen_proof.post-php .wp-heading-inline,
+.post-type-nextgen_proof.post-php #submitdiv,
+.post-type-nextgen_proof #post-body-content .inside,
+.post-type-nextgen_proof.post-php .toggle-indicator {
+    display:none;
+}
+
+.post-type-ngg_order.post-php #poststuff #post-body.columns-2,
+.post-type-nextgen_proof.post-php #poststuff #post-body.columns-2 {
+    margin-right: 300px;
+    margin-right: 100px;
+}
+
+.post-type-ngg_order.post-php #post-body.columns-2 #postbox-container-1,
+.post-type-nextgen_proof.post-php #post-body.columns-2 #postbox-container-1 {
+    width: 80px;
+    margin-right: -100px;
+}
+
+.post-type-ngg_order.post-php #side-sortables,
+.post-type-nextgen_proof.post-php #side-sortables {
+    border:none;
+}
+
+.post-type-ngg_order.post-php #post-body-content {
+    margin-bottom: 0;
+}
+
+.post-type-ngg_order.post-php #post-body.columns-2 #postbox-container-2 {
+    float: none;
+}
+
+.post-type-ngg_order.post-php #postbox-container-2 .postbox,
+.post-type-nextgen_proof.post-php #postbox-container-2 .postbox {
+    background-color: #ffffff;
+}
+
+.post-type-ngg_order.post-php #normal-sortables {
+    min-height: 10px !important;
+}
+
+.post-type-ngg_order.post-php #postbox-container-2 h2.ui-sortable-handle,
+.post-type-nextgen_proof.post-php #postbox-container-2 h2.ui-sortable-handle {
+    margin-left: 0;
+    padding-left: 16px;
+}
+
+.post-type-ngg_order.post-php .inside h4,
+.post-type-nextgen_proof.post-php .inside h4 {
+    padding: 5px 10px;
+    text-decoration: none !important;
+    text-transform: uppercase;
+    font-weight: 400;
+}
+
+.post-type-ngg_order.post-php .inside,
+.post-type-nextgen_proof.post-php .inside {
+    padding: 30px;
+    font-size: 14px;
+}
+
+.post-type-nextgen_proof #normal-sortables .closed .inside {
+    display: block !important;
+}
+
+.post-type-ngg_order.post-php th,
+.post-type-nextgen_proof.post-php th {
+    text-transform: uppercase;
+    font-size: 15px;
+    letter-spacing: 1px;
+    font-weight: 400;
+    padding-bottom: 10px !important;
+    color: black !important;
+}
+
+.post-type-ngg_order.post-php table thead, 
+.post-type-ngg_order.post-php table tfoot,
+.post-type-nextgen_proof.post-php.post-php table thead, 
+.post-type-nextgen_proof.post-php.post-php table tfoot {
+    background-color: transparent !important;
+}
+
+.post-type-ngg_order .ngg_pro_order_info > table {
+    max-width: 1200px;
+    background: #fcfcfc;
+    box-shadow: none;
+    font-size: 14px;
+}
+
+.post-type-nextgen_proof .row-actions .inline {
+    display: none;
+}
+
+/* Extras: Fix for Pro ecom styling when not running updated Pro */
+
+#ngg_page_content .ngg_payment_gateway_enable_row {
+    background: black !important;
+}
+
 /* 7) NGG Admin CSS: Media Queries */
 
 @media (max-width: 1030px) {
@@ -901,6 +1070,11 @@ table.nextgen_settings_position {
 }
 
 @media (max-width: 782px) {
+    .about-wrap .three-col .col, .about-wrap .two-col .col {
+        min-width: 100%! important;
+        margin-left: 0;
+        margin-top: 1em;
+    }
     .ngg-post-type #ngg_page_content button.toggle-row {
         width: 40px !important;
         height: 40px !important;
@@ -956,6 +1130,13 @@ table.nextgen_settings_position {
     #ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position tr td {
         display: table-cell;
     }
+    #ngg_page_content.ngg_settings_page td.ngg_options_promo {
+        line-height: 20px !important;
+        padding: 20px !important;
+    }
+    .ngg_options_promo a {
+        margin-left: 0;
+    }
     #ngg_page_content.ngg_settings_page .ngg_page_content_main h2,
     #ngg_page_content.ngg_settings_page .ngg_page_content_main h3 {
         text-align: center;
@@ -1007,6 +1188,9 @@ table.nextgen_settings_position {
         display: block;
         text-align: center;
     }
+    #ngg_page_content .ngg_save_settings_button {
+        position: static;
+    }
     .ngg-post-type .ngg_page_content_main .button, 
     .ngg-post-type .ngg_page_content_main .page-title-action {
         width: 80%!important;
@@ -1044,12 +1228,10 @@ table.nextgen_settings_position {
     /* Responsive Navigation on Mobile */
     #ngg_page_content .responsive-menu-icon {
         display: block;
-        background: #9fbb1a;
         padding: 10px 0 15px;
     }
     #ngg_page_content .responsive-menu {
         display: none;
-        float: none;
         margin: 0;
     }
     #ngg_page_content .responsive-menu a {
@@ -1059,4 +1241,4 @@ table.nextgen_settings_position {
     #ngg_page_content .ngg_page_content_menu a:active:after {
         display:none;
     }
-}
\ No newline at end of file
+}
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js
index 79f905b91..3e2011fd1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js
@@ -51,7 +51,7 @@ jQuery(function($){
         }
 
         // Check if this is a proxy button for another field
-        if ($button.attr('name').indexOf('_proxy') != -1) {
+        if ($button.attr('name') && $button.attr('name').indexOf('_proxy') != -1) {
 
             // Get the value to set
             var value = $button.attr('data-proxy-value');
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css
index cedc164cc..d50248437 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css
@@ -1 +1 @@
-#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field img,.url_field{max-width:100%}.ngg-admin .notice,.ngg-admin div.error,.ngg-admin div.updated{margin:20px 15px 0 0}.ngg-admin #ngg_page_content .notice,.ngg-admin #ngg_page_content div.error,.ngg-admin #ngg_page_content div.updated{margin:20px 0}.hidden{display:none}.nextgen_advanced_toggle_link{font-size:11px;position:relative;bottom:5px;color:#444}.url_field{width:400px}.nextgen_settings_field_colorpicker{width:85px!important;text-align:center;margin-left:50px}#ngg_page_content .wp-picker-container,#ngg_page_content .wp-picker-holder,#ngg_page_content .wp-picker-input-wrap{position:initial!important}#nextgen_settings_wmXpos,#nextgen_settings_wmYpos{width:65px!important}table.nextgen_settings_position{width:auto!important}#ngg_page_content label.tooltip,#ngg_page_content span.tooltip{outline:0;background-image:url(information.png);background-repeat:no-repeat;padding-left:22px;padding-bottom:4px;background-size:18px}#poststuff .ui-accordion h3{padding-left:25px}#lightbox_effects_content table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;padding-top:5px}#lightbox_effects_content tr{height:28px}.ngg-admin #screen-meta-links{padding-bottom:20px}.ngg-admin #wpbody{position:static}#ngg_page_content{padding-bottom:0;width:98%;font-family:lato,sans-serif;height:auto;margin-top:25px;float:left;box-shadow:0 0 100px 10px rgba(0,0,0,.05)}#adminmenu .wp-submenu a[href*=ngg_pro_upgrade]{color:#9fbb1a;font-weight:600}.toplevel_page_nextgen-gallery #ngg_page_content{margin-top:20px}#ngg_page_content.ngg_settings_page{background:#fff}.ngg_gallery_sort,.ngg_manage_albums,.ngg_manage_galleries,.ngg_manage_images{background:#fcfcfc}#ngg_page_content .wrap{margin:0}#ngg_page_content .about-wrap{max-width:100%;float:left;background:#fcfcfc}#ngg_page_content a{color:#9fbb1a}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{background-color:#9FBB1A;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;border-radius:3px;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700;font-family:Lato,sans-serif}#ngg_page_content .button-primary:hover,#ngg_page_content .button-secondary:hover,#ngg_page_content button:hover{background-color:#A9C524}#ngg_page_content .button-primary:active,#ngg_page_content .button-secondary:active,#ngg_page_content button:active{vertical-align:middle}#ngg_page_content .button-secondary{background-color:#888!important}.ngg-admin #ngg_page_content .notice button,.ngg-admin #ngg_page_content div.error button,.ngg-admin #ngg_page_content div.updated button{background-color:transparent!important;padding:0}#ngg_page_content button,.ngg-admin .notice button,.ngg-admin div.error button,.ngg-admin div.updated button{background:0 0}#ngg_page_content button.wp-color-result{height:24px!important;padding:0 0 0 30px!important;border:1px solid #ddd!important}#ngg_page_content button.wp-color-result:hover{background-color:transparent}#ngg_page_content input[type=checkbox]{height:16px!important;width:16px!important}#ngg_page_content.ngg_settings_page form>p{width:81%;background:#fff;margin:0;float:right}#ngg_page_content .ngg_save_settings_button{margin:30px;font-weight:700;height:40px!important;padding:0 40px!important}#ngg_page_content ::-webkit-input-placeholder{color:#aaa}#ngg_page_content :-ms-input-placeholder{color:#aaa}#ngg_page_content ::-moz-placeholder{color:#aaa;opacity:1}#ngg_page_content :-moz-placeholder{color:#aaa;opacity:1}.ngg-admin .select2-drop.select2-drop-above .select2-search input{width:100%}#ngg_page_content .ngg_page_content_header{border-bottom:10px solid #9FBB1A;height:80px;padding:0 0 0 20px;background:#143650;margin-top:-23px}#ngg_page_content .ngg_page_content_header img{height:40px;padding-top:20px;padding-right:20px;float:left;width:auto}#ngg_page_content .ngg_page_content_header h2,#ngg_page_content .ngg_page_content_header h3{line-height:80px;color:#fff;font-size:18px;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:2px;text-align:left;font-weight:900}#ngg_page_content .ngg_page_content_header p{float:right;margin:-98px 0 0;font-size:15px;font-style:italic;font-weight:400;background:rgba(93,134,167,.18);padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6;line-height:80px}#ngg_page_content .ngg_page_content_header p a{text-decoration:none;font-weight:500;background:#aac43b;color:#fff;padding:5px 10px;font-style:normal;margin:-1px 0 0 20px;border-radius:1px;text-transform:uppercase}#ngg_page_content .ngg_page_content_header .ngg_save_settings_button{margin:0!important}#ngg_page_content .ngg_page_content_menu{width:20%;float:left;padding:0;height:100%;background:0 0}#ngg_page_content .ngg_page_content_menu a{box-shadow:none!important;cursor:pointer;display:block;padding:20px 10px 20px 15px;line-height:22px;margin:0;text-decoration:none;color:#2b5d89;text-transform:uppercase;font-size:11px;border-bottom:1px solid #eee;font-weight:600;letter-spacing:1.2px}.responsive-menu-icon{cursor:pointer;display:none;margin-bottom:5px;text-align:left}.responsive-menu-icon::before{color:#fff;content:'\f0c9';display:block;font:400 20px/1 'Font Awesome 5 Free';margin:0 auto;text-align:center;font-weight:900}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#ngg_page_content .ngg_page_content_menu a:active{outline:transparent 0;border-right:1px solid #fff;background:#9ebc1b;position:relative;color:#fff;margin-right:-1px;font-weight:800;border-bottom:1px solid #9dbd1b}#ngg_page_content .ngg_page_content_menu a:before{float:left;font:400 16px/1 'Font Awesome 5 Free';height:16px;right:0;margin-top:3px;text-align:right;z-index:9999;padding-right:10px;content:"\f1de";font-weight:900}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{right:0;border:8px solid transparent;content:"";width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}#ngg_page_content .ngg_page_content_main{padding:10px 20px 20px 30px;min-height:600px;float:left;background:#fff;box-sizing:border-box;width:100%;box-shadow:0 -5px 4px 2px rgba(0,0,0,.05)}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:80%}.gallery_page_ngg_display_settings #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:1000px}.gallery_page_ngg_other_options #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:400px}#ngg_page_content .ngg_manage_tags .ngg_page_content_main{padding:0}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div,#ngg_page_content .ngg_overview .ngg_page_content_main>div,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div:first-of-type,#ngg_page_content .ngg_overview .ngg_page_content_main>div:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div:first-of-type{display:block}#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{color:rgba(29,36,42,.85);font-size:18px;margin:20px 0 30px;text-transform:uppercase}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{color:#888;height:35px;border:1px solid #ddd;padding-left:10px;width:200px;box-shadow:inset 0 0 2px 1px rgba(100,100,100,.05)}#ngg_page_content .ngg_page_content_main select{font-size:13px}#ngg_page_content .ngg_page_content_main .select2-container{width:200px!important;line-height:0}#ngg_page_content .ngg_page_content_main .select2-selection--multiple,#ngg_page_content .ngg_page_content_main .select2-selection--single{border:1px solid #ddd}#ngg_page_content .ngg_page_content_main .select2-search{width:100%}#ngg_page_content .ngg_page_content_main .select2-search__field{border-radius:3px}#ngg_page_content .ngg_page_content_main .select2-selection__choice{background:#9fbb1a;border:none;box-shadow:none;color:#fff;line-height:20px;padding:7px 10px 7px 8px;width:92%}#ngg_page_content .ngg_page_content_main .select2-selection__choice__remove{color:#fff;margin-right:6px}#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] .select2-container,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] input,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] select{width:250px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio],#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]{border-radius:50%!important;height:16px!important;width:16px!important;padding:0!important;vertical-align:middle}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio]:checked:before,#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]:checked:before{background-color:#9FBB1A;border-radius:50%;color:transparent;content:"\2022";display:block;height:16px;margin:0 0 0 -1px;vertical-align:middle;width:16px}#tr_photocrati-nextgen_basic_imagebrowser_ngg_triggers_display,#tr_photocrati-nextgen_basic_slideshow_ngg_triggers_display,.ngg-post-type .ngg_admin_notice{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main table{color:rgba(29,36,42,.85);border-collapse:collapse;width:100%}#ngg_page_content table .sorting-indicator:before{color:#fff!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{border:1px solid #f7f8f3;padding:5px 0!important;height:auto}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{line-height:30px;vertical-align:middle;padding:10px 20px;box-sizing:border-box}.ngg-admin #ngg_page_content .widefat td,.ngg-admin #ngg_page_content .widefat th{padding:10px;color:#aaa;vertical-align:middle}.ngg-admin #ngg_page_content .widefat tfoot th,.ngg-admin #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{font-weight:400!important;font-size:13px!important;line-height:1.5!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td:first-of-type{width:300px;text-align:left;font-weight:400;padding-top:8px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table table tr td:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main table table tr td:first-of-type{width:auto;font-weight:400;padding:10px 20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr:nth-of-type(2n),#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr:nth-of-type(2n){background-color:#f7f8f3}#ngg_page_content.ngg_settings_page .ngg_page_content_main tr.watermark_field{padding:10px 0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table{border:1px solid #d3e1c8}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td{padding:5px 15px!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td:first-of-type{width:auto!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table tr{border:none;padding:0!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main p.description{font-size:14px;color:#666}#ngg_page_content.ngg_settings_page .ngg_page_content_main label{margin-right:5px}#ngg_page_content.ngg_settings_page .ngg_page_content_main label:last-of-type{margin-right:15px}#ngg_page_content.ngg_settings_page .nextgen_settings_position td,#ngg_page_content.ngg_settings_page .nextgen_settings_position tr:nth-of-type(2n){border:none!important}#ngg_page_content.ngg_settings_page .nextgen_pro_lightbox_admin_header{background:#38576f!important;margin-top:20px}.nextgen_pro_lightbox_admin_header td{padding-left:0!important}.nextgen_pro_lightbox_admin_header td h3{text-transform:none!important;color:#fff!important;margin:0 0 0 20px!important}.ngg_options_promo{background:#224460;color:#fff;font-family:Lato,sans-serif;font-size:14px;font-weight:600}.ngg_options_promo a{text-decoration:none;font-weight:600;margin-left:6px}.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main tbody tr td.ngg_options_promo{width:100%!important}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{background-color:#9FBB1A!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important}.ngg-post-type .ngg_page_content_main .button:hover,.ngg-post-type .ngg_page_content_main .page-title-action:hover{background-color:#A9C524!important}.ngg-post-type .ngg_page_content_main .page-title-action{padding:8px 16px!important}.ngg-post-type .ngg_page_content_main .tablenav{margin:0 0 20px}.ngg-post-type .ngg_page_content_main .tablenav .actions,.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages{margin:10px 0}.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages a,.ngg-post-type .ngg_page_content_main .tablenav-pages-navspan{background:#556472;border:none;color:#fff!important;margin:0 2px}.ngg-post-type #ngg_page_content .ngg_page_content_main .tablenav input.current-page{width:50px!important}.ngg-post-type .ngg_page_content_main table{box-shadow:none;table-layout:auto;border:1px solid rgba(159,187,26,.08)}.ngg-post-type .ngg_page_content_main table tfoot,.ngg-post-type .ngg_page_content_main table thead{background-color:#38576f;text-transform:uppercase}.ngg-post-type .ngg_page_content_main table tfoot{background-color:#38576f}.ngg-post-type .ngg_page_content_main table tfoot a,.ngg-post-type .ngg_page_content_main table thead a{padding:0}.ngg-post-type .ngg_page_content_main table tfoot span,.ngg-post-type .ngg_page_content_main table thead span{color:#fff;font-size:15px}.ngg-post-type .ngg_page_content_main table thead td,.ngg-post-type .ngg_page_content_main table thead th{background-color:transparent;border:none;color:#fff}.ngg-post-type .ngg_page_content_main table thead td{padding:12px 5px!important}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]{height:13px!important;width:13px!important;min-width:auto;margin-top:2px}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{color:#9FBB1A;margin:-5px 0 0 -5px}.ngg-post-type #ngg_page_content .sorting-indicator:before{color:#fff!important}.ngg-post-type .ngg_page_content_main .striped>tbody>:nth-child(odd){background-color:#f7f8f3}.ngg-post-type .ngg_page_content_main a.row-title{font-weight:400}.ngg-post-type .ngg_page_content_main .row-actions{left:0;padding-top:0}.ngg-post-type .ngg_page_content_main .row-actions a{color:#aaa!important}.ngg-post-type .ngg_page_content_main td.column-title strong{margin-bottom:0}.ngg-post-type #wpbody-content .quick-edit-row-page .inline-edit-col-left{width:100%}.ngg-post-type #ngg_page_content .widefat td,.ngg-post-type #ngg_page_content .widefat th{padding:10px;color:#aaa;vertical-align:middle}.ngg-post-type #ngg_page_content .widefat tfoot th,.ngg-post-type #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}.ngg-post-type .ngg_page_content_main .tablenav.bottom{margin:10px 0 0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab{padding:10px;background:#38576f;margin-bottom:0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab a{color:#fff;text-decoration:none}.ngg-admin #postbox-container-2 .postbox,.ngg-post-type .accordion>div{border-left:1px solid rgba(159,187,26,.05);border-bottom:1px solid rgba(159,187,26,.05);border-right:1px solid rgba(159,187,26,.05);margin-bottom:30px;background-color:#f7f8f3}.ngg-post-type .accordion>div{padding:20px;margin-bottom:30px}.ngg-post-type .accordion>div table{border:none}.ngg-admin #postbox-container-2 .postbox .inside{margin:0}.ngg-admin #postbox-container-2 .postbox .inside a{color:#9fbb1a}.ngg-admin #postbox-container-2 .postbox .inside td,.ngg-admin #postbox-container-2 .postbox .inside th{padding:5px 10px}.ngg-admin #postbox-container-2 .postbox .inside .button-primary,.ngg-post-type .accordion>div .button-primary{margin:15px 0 0}.ngg-post-type table input[type=text]{margin:0}@media (max-width:1030px){#ngg_page_content .ngg_page_content_header p{padding:0 20px}}@media (max-width:900px){#ngg_page_content .ngg_page_content_header p{display:none}}@media (max-width:782px){.ngg-post-type #ngg_page_content button.toggle-row{width:40px!important;height:40px!important;background:0 0!important}.ngg-post-type tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 8px 3px 35%}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{font:400 20px/1 dashicons!important}#ngg_page_content .ngg_page_content_header img{padding-right:10px}#ngg_page_content .ngg_overview .ngg_page_content_header h3,#ngg_page_content .ngg_page_content_header h3{font-size:14px}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content .ngg_page_content_menu,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:100%}#ngg_page_content .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{padding:20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main tbody,#ngg_page_content.ngg_settings_page .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody{display:block!important;max-width:100%}#attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden{display:none!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{display:block!important;padding:10px 0 20px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{display:block;padding:2px 10px}#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position tr td{display:table-cell}#ngg_page_content.ngg_settings_page .ngg_page_content_main h2,#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{text-align:center}#ngg_page_content.ngg_settings_page form>p{width:100%;padding:15px;box-sizing:border-box}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content .ngg_page_content_main .select2-container,#ngg_page_content .ngg_page_content_main input[type=number],#ngg_page_content .ngg_page_content_main input[type=text],#ngg_page_content .ngg_page_content_main select{width:100%!important}#ngg_page_content button.wp-color-result{width:auto!important}#ngg_page_content button.wp-color-result .wp-color-result-text{line-height:22px}.ngg-post-type .ngg_page_content_main .subsubsub,.ngg-post-type .ngg_page_content_main .tablenav .actions{width:100%}.ngg-post-type #ngg_page_content .ngg_page_content_main input,.ngg-post-type #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content input[type=checkbox]{width:16px!important}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{width:80%!important;display:block;text-align:center;margin:10px auto 20px;padding:0!important}.ngg-post-type .ngg_page_content_main .displaying-num{display:none}#gallery_selection label{display:block;padding-bottom:8px}.post-type-ngg_pricelist .accordion table{width:100%!important}.post-type-ngg_pricelist .accordion #manual_shipping_options td{display:block;width:100%!important}.post-type-ngg_pricelist #ngg_page_content .accordion table input.shipping_rate{width:100%;max-width:100%}.post-type-ngg_pricelist .accordion input[type=checkbox]:checked:before{font:400 21px/1 dashicons}.ngg-post-type #ngg_page_content h1{text-align:center;display:block}#ngg_page_content .responsive-menu-icon{display:block;background:#9fbb1a;padding:10px 0 15px}#ngg_page_content .responsive-menu{display:none;float:none;margin:0}#ngg_page_content .responsive-menu a{display:block}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{display:none}}
\ No newline at end of file
+.ngg-admin .notice,.ngg-admin div.error,.ngg-admin div.updated{margin:20px 15px 0 0}.ngg-admin #ngg_page_content .notice,.ngg-admin #ngg_page_content div.error,.ngg-admin #ngg_page_content div.updated{margin:20px 0}.hidden{display:none}.nextgen_advanced_toggle_link{font-size:11px;position:relative;bottom:5px;color:#444}.url_field{width:400px;max-width:100%}.nextgen_settings_field_colorpicker{width:85px!important;text-align:center;margin-left:50px}#ngg_page_content .wp-picker-container,#ngg_page_content .wp-picker-holder,#ngg_page_content .wp-picker-input-wrap{position:initial!important}#nextgen_settings_wmXpos,#nextgen_settings_wmYpos{width:65px!important}table.nextgen_settings_position{width:auto!important}#ngg_page_content label.tooltip,#ngg_page_content span.tooltip{outline:0;background-image:url(information.png);background-repeat:no-repeat;padding-left:22px;padding-bottom:4px;background-size:18px}#poststuff .ui-accordion h3{padding-left:25px}#lightbox_effects_content table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;padding-top:5px}#lightbox_effects_content tr{height:28px}.ngg-admin #screen-meta-links{padding-bottom:20px}.ngg-admin #wpbody{position:static}#ngg_page_content{background:#fff;box-shadow:0 0 12px 6px rgba(0,0,0,.03);box-sizing:border-box;font-family:lato,sans-serif;float:left;height:auto;margin-top:25px;padding:20px 40px;width:98%;color:#000;font-size:15px;letter-spacing:.3px;font-weight:500}#adminmenu .wp-submenu a[href*=ngg_pro_upgrade]{color:#9fbb1a;font-weight:600}.toplevel_page_nextgen-gallery #ngg_page_content{margin-top:20px}#ngg_page_content.ngg_settings_page,.ngg_gallery_sort,.ngg_manage_albums,.ngg_manage_galleries,.ngg_manage_images{background:#fff}#ngg_page_content .wrap{margin:0}#ngg_page_content .about-wrap{max-width:100%;float:left}.about-wrap [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.about-wrap [class$="-col"] .col{flex:1;align-self:flex-start}.about-wrap [class$="-col"] .col+.col{margin-left:20px}.about-wrap .two-col img{margin-bottom:1.5em}.about-wrap .headline-feature{max-width:none;margin:0 0 40px}#ngg_page_content a{color:#9fbb1a}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{background-color:#000;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;outline:0!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;border-radius:0;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700;font-family:Lato,sans-serif;vertical-align:middle}#ngg_page_content .button-primary:hover,#ngg_page_content .button-secondary:hover,#ngg_page_content button:hover{background-color:#383838;vertical-align:middle}#ngg_page_content .button-primary:disabled,#ngg_page_content .button-secondary:disabled,#ngg_page_content button:disabled{background:#bbb!important}#ngg_page_content .button-secondary{background-color:#888!important}.ngg-admin #ngg_page_content .notice button,.ngg-admin #ngg_page_content div.error button,.ngg-admin #ngg_page_content div.updated button{background-color:transparent!important;padding:0}#ngg_page_content button,.ngg-admin .notice button,.ngg-admin div.error button,.ngg-admin div.updated button{background:0 0}#ngg_page_content button.wp-color-result{height:24px!important;padding:0 0 0 30px!important;border:1px solid #ddd!important}#ngg_page_content button.wp-color-result:hover{background-color:transparent}#ngg_page_content input[type=checkbox]{height:16px!important;width:16px!important}#ngg_page_content.ngg_settings_page form>p{width:81%;background:#fff;margin:0;float:right}#ngg_page_content .ngg_save_settings_button{position:absolute;right:61px;top:128px}.ecommerce_page_ngg-ecommerce-instructions-page #ngg_page_content .ngg_save_settings_button{display:none}#ngg_page_content ::-webkit-input-placeholder{color:#aaa}#ngg_page_content :-ms-input-placeholder{color:#aaa}#ngg_page_content ::-moz-placeholder{color:#aaa;opacity:1}#ngg_page_content :-moz-placeholder{color:#aaa;opacity:1}.ngg-admin .select2-drop.select2-drop-above .select2-search input{width:100%}#ngg_page_content .ngg_page_content_header{height:80px;margin-top:-23px;margin-bottom:24px}#ngg_page_content .ngg_page_content_header img{height:60px;padding-top:10px;padding-right:20px;float:left;width:auto}#ngg_page_content .ngg_page_content_header h2,#ngg_page_content .ngg_page_content_header h3{line-height:80px;color:#000;font-size:18px;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:2px;text-align:left;font-weight:900}#ngg_page_content .ngg_page_content_header p{float:right;margin:-98px 0 0;font-size:15px;font-weight:500;color:#000;line-height:80px;letter-spacing:.3px}#ngg_page_content .ngg_page_content_header .ngg_save_settings_button{margin:0!important}#ngg_page_content .ngg_page_content_menu{width:20%;float:left;padding:0;height:100%;background:0 0}#ngg_page_content .ngg_page_content_menu a{box-shadow:none!important;border-left:5px solid #fff;cursor:pointer;display:block;padding:10px 0 10px 20px;line-height:22px;margin:10px 0;text-decoration:none;color:#000;text-transform:uppercase;font-size:13px;font-weight:400;letter-spacing:1.2px}.responsive-menu-icon{cursor:pointer;display:none;margin-bottom:5px;text-align:left}.responsive-menu-icon::before{color:#000;content:'\f0c9';display:block;font:400 20px/1 'Font Awesome 5 Free';margin:0 auto;text-align:center;font-weight:900}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#ngg_page_content .ngg_page_content_menu a:active{outline:transparent 0;border-left:5px solid #9dbd1b;position:relative;color:#000;margin-right:-1px;font-weight:800}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{right:0;border:8px solid transparent;content:"";width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}#ngg_page_content .ngg_page_content_main{padding:0 20px 20px 30px;min-height:600px;float:left;box-sizing:border-box;width:100%}.gallery_page_nggallery-manage-album #ngg_page_content .ngg_page_content_main,.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main{padding:0 10px 30px}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:80%}.gallery_page_ngg_display_settings #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:1000px}.gallery_page_ngg_other_options #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:400px}#ngg_page_content .ngg_manage_tags .ngg_page_content_main{padding:0}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div,#ngg_page_content .ngg_overview .ngg_page_content_main>div,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div:first-of-type,#ngg_page_content .ngg_overview .ngg_page_content_main>div:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div:first-of-type{display:block}#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{color:rgba(29,36,42,.85);font-size:18px;margin:20px 0 30px;text-transform:uppercase}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{color:#888;height:35px;border:1px solid #ddd;padding-left:10px;box-shadow:none;width:200px;-webkit-appearance:none;-webkit-border-radius:0;border-radius:0}#ngg_page_content .ngg_page_content_main select{background-image:url(dropdown_arrow.png);background-size:10px 10px;background-repeat:no-repeat;background-position:95% 55%}#ngg_page_content .ngg_page_content_main .select2-container{width:200px!important;line-height:0}#ngg_page_content .ngg_page_content_main .select2-selection--multiple,#ngg_page_content .ngg_page_content_main .select2-selection--single{border:1px solid #ddd;border-radius:0;height:35px;line-height:35px;padding-top:1px}#ngg_page_content .ngg_page_content_main .thumbnail_options .select2-selection--multiple{height:auto;padding-right:3px}#ngg_page_content .ngg_page_content_main .thumbnail_options .select2-selection--multiple .select2-search__field{width:100%!important}#ngg_page_content .select2-container--default .select2-selection--single .select2-selection__arrow{top:4px;display:none}#ngg_page_content .ngg_page_content_main .select2-search{width:100%}#ngg_page_content .ngg_page_content_main .select2-search__field{border-radius:3px}#ngg_page_content .ngg_page_content_main .select2-selection__choice{background:#9fbb1a;border:none;box-shadow:none;color:#fff;line-height:20px;padding:7px 10px 7px 8px;width:92%}#ngg_page_content .ngg_page_content_main .select2-selection__choice__remove{color:#fff;margin-right:6px}#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] .select2-container,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] input,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] select{width:250px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio],#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]{border-radius:50%!important;height:16px!important;width:16px!important;padding:0!important;vertical-align:middle}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio]:checked:before,#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]:checked:before{background-color:#9FBB1A;border-radius:50%;color:transparent;content:"\2022";display:block;height:17px;margin:-1px 0 0 -1px;vertical-align:middle;width:17px}#tr_photocrati-nextgen_basic_imagebrowser_ngg_triggers_display,#tr_photocrati-nextgen_basic_slideshow_ngg_triggers_display,.ngg-post-type #screen-meta .metabox-prefs.view-mode,.ngg-post-type .notice,.ngg-post-type div#setting-error-tgmpa,.post-type-nextgen_proof #post-body-content .inside,.post-type-nextgen_proof.post-php #submitdiv,.post-type-nextgen_proof.post-php .toggle-indicator,.post-type-nextgen_proof.post-php .wp-heading-inline,.post-type-ngg_order.post-php #submitdiv,.post-type-ngg_order.post-php .toggle-indicator,.post-type-ngg_order.post-php .wp-heading-inline{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main table{color:rgba(29,36,42,.85);border-collapse:collapse;width:100%}#ngg_page_content table .sorting-indicator:before{color:#fff!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{border:1px solid #f7f8f3;padding:5px 0!important;height:auto}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{line-height:30px;vertical-align:middle;padding:10px 20px;box-sizing:border-box}.ngg-admin #ngg_page_content .widefat td,.ngg-admin #ngg_page_content .widefat th{padding:10px;color:#aaa;vertical-align:middle}.ngg-admin #ngg_page_content .widefat tfoot th,.ngg-admin #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{font-weight:400!important;font-size:13px!important;line-height:1.5!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td:first-of-type{width:300px;text-align:left;font-weight:400;padding-top:8px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table table tr td:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main table table tr td:first-of-type{width:auto;font-weight:400;padding:10px 20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr:nth-of-type(2n),#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr:nth-of-type(2n){background-color:#f7f7f7}#ngg_page_content.ngg_settings_page .ngg_page_content_main tr.watermark_field{padding:10px 0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table{border:1px solid #d3e1c8}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td{padding:5px 15px!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td:first-of-type{width:auto!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table tr{border:none;padding:0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field img{max-width:100%}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main p.description{font-size:14px;color:#666}#ngg_page_content.ngg_settings_page .ngg_page_content_main label{margin-right:5px}#ngg_page_content.ngg_settings_page .ngg_page_content_main label:last-of-type{margin-right:15px}#ngg_page_content.ngg_settings_page .nextgen_settings_position td,#ngg_page_content.ngg_settings_page .nextgen_settings_position tr:nth-of-type(2n){border:none!important}#ngg_page_content.ngg_settings_page .nextgen_pro_lightbox_admin_header{background:#000!important;margin-top:20px}.nextgen_pro_lightbox_admin_header td{padding:10px 0!important}.nextgen_pro_lightbox_admin_header td h3{color:#fff!important;margin:0 0 0 20px!important;font-size:13px!important;letter-spacing:1.5px}.ngg_options_promo{background:#000;color:#fff;font-family:Lato,sans-serif;font-size:14px;font-weight:600}.ngg_options_promo a{text-decoration:none;font-weight:600;margin-left:6px}.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main tbody tr td.ngg_options_promo{width:100%!important}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{background-color:#000!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important;text-transform:uppercase;letter-spacing:1px;font-size:11px}.ngg-post-type .ngg_page_content_main .button:hover,.ngg-post-type .ngg_page_content_main .page-title-action:hover{background-color:#383838!important}.ngg-post-type .ngg_page_content_main .page-title-action{padding:10px 18px!important;margin-left:10px;top:-4px}.ngg-post-type .ngg_page_content_main .tablenav{margin:0 0 20px}.ngg-post-type .ngg_page_content_main .tablenav .actions,.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages{margin:10px 0}.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages a,.ngg-post-type .ngg_page_content_main .tablenav-pages-navspan{background:#556472;border:none;color:#fff!important;margin:0 2px}.ngg-post-type #ngg_page_content .ngg_page_content_main .tablenav input.current-page{width:50px!important}.ngg-post-type .ngg_page_content_main table{box-shadow:none;table-layout:auto;border:1px solid rgba(159,187,26,.08)}.ngg-post-type .ngg_page_content_main table tfoot,.ngg-post-type .ngg_page_content_main table thead{background-color:#000;text-transform:uppercase}.ngg-post-type .ngg_page_content_main table tfoot{background-color:#000}.ngg-post-type .ngg_page_content_main table tfoot a,.ngg-post-type .ngg_page_content_main table thead a{padding:0}.ngg-post-type .ngg_page_content_main table tfoot span,.ngg-post-type .ngg_page_content_main table thead span{color:#fff;font-size:15px}.ngg-post-type .ngg_page_content_main table thead td,.ngg-post-type .ngg_page_content_main table thead th{background-color:transparent;border:none;color:#fff}.ngg-post-type .ngg_page_content_main table thead td{padding:12px 5px!important}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]{height:13px!important;width:13px!important;min-width:auto;margin-top:2px}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{color:#9FBB1A;margin:-5px 0 0 -5px}.ngg-post-type #ngg_page_content .sorting-indicator:before{color:#fff!important}.ngg-post-type .ngg_page_content_main .striped>tbody>:nth-child(odd){background-color:#f7f7f7}.ngg-post-type .ngg_page_content_main a.row-title{font-weight:400}.ngg-post-type .ngg_page_content_main .row-actions{left:0;padding-top:0}.ngg-post-type .ngg_page_content_main .row-actions a{color:#aaa!important}.ngg-post-type .ngg_page_content_main td.column-title strong{margin-bottom:0}.ngg-post-type #wpbody-content .quick-edit-row-page .inline-edit-col-left{width:100%}.ngg-post-type #ngg_page_content .widefat td,.ngg-post-type #ngg_page_content .widefat th{padding:10px;color:#aaa;vertical-align:middle}.ngg-post-type #ngg_page_content .widefat tfoot th,.ngg-post-type #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}.ngg-post-type .ngg_page_content_main .tablenav.bottom{margin:10px 0 0}#ngg_page_content #titlediv input#title{font-size:22px;padding:24px 12px;color:#383838;letter-spacing:.5px;font-weight:400}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab{padding:10px;background:#000;margin-bottom:0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab a{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:400;font-size:15px;letter-spacing:2px;margin-left:6px}.ngg-admin #postbox-container-2 .postbox,.ngg-post-type .accordion>div{border-left:1px solid #eee;border-bottom:1px solid #eee;border-right:1px solid #eee;margin-bottom:30px;background-color:#fcfcfc}.ngg-post-type .accordion>div table,.post-type-nextgen_proof.post-php #side-sortables,.post-type-ngg_order.post-php #side-sortables{border:none}.ngg-post-type .accordion>div{padding:20px;margin-bottom:30px}.ngg-admin #postbox-container-2 .postbox .inside{margin:0}.ngg-admin #postbox-container-2 .postbox .inside a{color:#9fbb1a}.ngg-admin #postbox-container-2 .postbox .inside td,.ngg-admin #postbox-container-2 .postbox .inside th{padding:5px 10px}.ngg-admin #postbox-container-2 .postbox .inside .button-primary,.ngg-post-type .accordion>div .button-primary{margin:15px 0 0}.ngg-post-type table input[type=text]{margin:0}.post-type-nextgen_proof #ngg_page_content .ngg_page_content_main,.post-type-ngg_order #ngg_page_content .ngg_page_content_main{padding-left:10px}.post-type-nextgen_proof.post-php #poststuff #post-body.columns-2,.post-type-ngg_order.post-php #poststuff #post-body.columns-2{margin-right:100px}.post-type-nextgen_proof.post-php #post-body.columns-2 #postbox-container-1,.post-type-ngg_order.post-php #post-body.columns-2 #postbox-container-1{width:80px;margin-right:-100px}.post-type-ngg_order.post-php #post-body-content{margin-bottom:0}.post-type-ngg_order.post-php #post-body.columns-2 #postbox-container-2{float:none}.post-type-nextgen_proof.post-php #postbox-container-2 .postbox,.post-type-ngg_order.post-php #postbox-container-2 .postbox{background-color:#fff}.post-type-ngg_order.post-php #normal-sortables{min-height:10px!important}.post-type-nextgen_proof.post-php #postbox-container-2 h2.ui-sortable-handle,.post-type-ngg_order.post-php #postbox-container-2 h2.ui-sortable-handle{margin-left:0;padding-left:16px}.post-type-nextgen_proof.post-php .inside h4,.post-type-ngg_order.post-php .inside h4{padding:5px 10px;text-decoration:none!important;text-transform:uppercase;font-weight:400}.post-type-nextgen_proof.post-php .inside,.post-type-ngg_order.post-php .inside{padding:30px;font-size:14px}.post-type-nextgen_proof #normal-sortables .closed .inside{display:block!important}.post-type-nextgen_proof.post-php th,.post-type-ngg_order.post-php th{text-transform:uppercase;font-size:15px;letter-spacing:1px;font-weight:400;padding-bottom:10px!important;color:#000!important}.post-type-nextgen_proof.post-php.post-php table tfoot,.post-type-nextgen_proof.post-php.post-php table thead,.post-type-ngg_order.post-php table tfoot,.post-type-ngg_order.post-php table thead{background-color:transparent!important}.post-type-ngg_order .ngg_pro_order_info>table{max-width:1200px;background:#fcfcfc;box-shadow:none;font-size:14px}.post-type-nextgen_proof .row-actions .inline{display:none}#ngg_page_content .ngg_payment_gateway_enable_row{background:#000!important}@media (max-width:1030px){#ngg_page_content .ngg_page_content_header p{padding:0 20px}}@media (max-width:900px){#ngg_page_content .ngg_page_content_header p{display:none}}@media (max-width:782px){.about-wrap .three-col .col,.about-wrap .two-col .col{min-width:100%!important;margin-left:0;margin-top:1em}.ngg-post-type #ngg_page_content button.toggle-row{width:40px!important;height:40px!important;background:0 0!important}.ngg-post-type tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 8px 3px 35%}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{font:400 20px/1 dashicons!important}#ngg_page_content .ngg_page_content_header img{padding-right:10px}#ngg_page_content .ngg_overview .ngg_page_content_header h3,#ngg_page_content .ngg_page_content_header h3{font-size:14px}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content .ngg_page_content_menu,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:100%}#ngg_page_content .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{padding:20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main tbody,#ngg_page_content.ngg_settings_page .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody{display:block!important;max-width:100%}#attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden{display:none!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{display:block!important;padding:10px 0 20px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{display:block;padding:2px 10px}#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position tr td{display:table-cell}#ngg_page_content.ngg_settings_page td.ngg_options_promo{line-height:20px!important;padding:20px!important}.ngg_options_promo a{margin-left:0}#ngg_page_content.ngg_settings_page .ngg_page_content_main h2,#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{text-align:center}#ngg_page_content.ngg_settings_page form>p{width:100%;padding:15px;box-sizing:border-box}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content .ngg_page_content_main .select2-container,#ngg_page_content .ngg_page_content_main input[type=number],#ngg_page_content .ngg_page_content_main input[type=text],#ngg_page_content .ngg_page_content_main select{width:100%!important}#ngg_page_content button.wp-color-result{width:auto!important}#ngg_page_content button.wp-color-result .wp-color-result-text{line-height:22px}.ngg-post-type .ngg_page_content_main .subsubsub,.ngg-post-type .ngg_page_content_main .tablenav .actions{width:100%}.ngg-post-type #ngg_page_content .ngg_page_content_main input,.ngg-post-type #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content input[type=checkbox]{width:16px!important}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}#ngg_page_content .ngg_save_settings_button{position:static}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{width:80%!important;display:block;text-align:center;margin:10px auto 20px;padding:0!important}.ngg-post-type .ngg_page_content_main .displaying-num{display:none}#gallery_selection label{display:block;padding-bottom:8px}.post-type-ngg_pricelist .accordion table{width:100%!important}.post-type-ngg_pricelist .accordion #manual_shipping_options td{display:block;width:100%!important}.post-type-ngg_pricelist #ngg_page_content .accordion table input.shipping_rate{width:100%;max-width:100%}.post-type-ngg_pricelist .accordion input[type=checkbox]:checked:before{font:400 21px/1 dashicons}.ngg-post-type #ngg_page_content h1{text-align:center;display:block}#ngg_page_content .responsive-menu-icon{display:block;padding:10px 0 15px}#ngg_page_content .responsive-menu{display:none;margin:0}#ngg_page_content .responsive-menu a{display:block}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{display:none}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js
index 5283d21b7..4b970ba98 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js
@@ -1 +1 @@
-jQuery(function(e){e(".ngg_page_content_menu a:first-of-type").addClass("ngg_page_content_menu_active"),e(".ngg_page_content_menu a").click(function(t){e(".ngg_page_content_menu a").removeClass("ngg_page_content_menu_active"),e(this).addClass("ngg_page_content_menu_active");e(this).attr("data-id");e(".ngg_page_content_main > div").css("display","none"),e('div[data-id="'+e(this).attr("data-id")+'"]').css("display","block")}),e(".responsive-menu-icon").remove(),e(".ngg_page_content_menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>'),e(".responsive-menu-icon").click(function(){e(this).next(".ngg_page_content_menu").slideToggle("fast")}),e(window).resize(function(){window.innerWidth>640&&(e(".ngg_page_content_menu").removeAttr("style"),e(".responsive-menu > a").removeClass("menu-open"))}),e(".responsive-menu > a").click(function(t){window.innerWidth<782&&e(this).parent(".ngg_page_content_menu").slideToggle("fast")}),e('input[type="submit"], button[type="submit"]').click(function(t){var n=e(this),i=!1;if((i=n.attr("data-confirm"))&&!confirm(i))return void t.preventDefault();if(-1!=n.attr("name").indexOf("_proxy")){var a=n.attr("data-proxy-value");a||(a=n.attr("value"));var s=n.attr("name").replace("_proxy",""),o=e('input[name="'+s+'"]');o.length>0?o.val(a):(o=e("<input/>").attr({type:"hidden",name:s,value:a}),n.parents("form").append(o))}}),e(".nextgen_advanced_toggle_link").on("click",function(t){t.preventDefault();var n="#"+e(this).attr("rel"),i=e(this);e(n).toggle(500,"swing",function(){e(this).hasClass("hidden")?(e(this).removeClass("hidden"),i.text(i.attr("active_label"))):(e(this).addClass("hidden"),i.text(i.attr("hidden_label")))})}),e("input.nextgen_settings_field_colorpicker").wpColorPicker(),e("#ngg_page_content").css("visibility","visible"),e("#ngg-listimages .row-actions .confirmrecover, #ngg-listimages .row-actions.submitdelete.delete").on("click",function(e){var t=e.target;confirm(t.getAttribute("data-question")+' "'+t.getAttribute("data-text")+'"')||e.preventDefault()})});
\ No newline at end of file
+jQuery(function(e){e(".ngg_page_content_menu a:first-of-type").addClass("ngg_page_content_menu_active"),e(".ngg_page_content_menu a").click(function(t){e(".ngg_page_content_menu a").removeClass("ngg_page_content_menu_active"),e(this).addClass("ngg_page_content_menu_active");e(this).attr("data-id");e(".ngg_page_content_main > div").css("display","none"),e('div[data-id="'+e(this).attr("data-id")+'"]').css("display","block")}),e(".responsive-menu-icon").remove(),e(".ngg_page_content_menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>'),e(".responsive-menu-icon").click(function(){e(this).next(".ngg_page_content_menu").slideToggle("fast")}),e(window).resize(function(){window.innerWidth>640&&(e(".ngg_page_content_menu").removeAttr("style"),e(".responsive-menu > a").removeClass("menu-open"))}),e(".responsive-menu > a").click(function(t){window.innerWidth<782&&e(this).parent(".ngg_page_content_menu").slideToggle("fast")}),e('input[type="submit"], button[type="submit"]').click(function(t){var n=e(this),i=!1;if((i=n.attr("data-confirm"))&&!confirm(i))return void t.preventDefault();if(n.attr("name")&&-1!=n.attr("name").indexOf("_proxy")){var a=n.attr("data-proxy-value");a||(a=n.attr("value"));var s=n.attr("name").replace("_proxy",""),o=e('input[name="'+s+'"]');o.length>0?o.val(a):(o=e("<input/>").attr({type:"hidden",name:s,value:a}),n.parents("form").append(o))}}),e(".nextgen_advanced_toggle_link").on("click",function(t){t.preventDefault();var n="#"+e(this).attr("rel"),i=e(this);e(n).toggle(500,"swing",function(){e(this).hasClass("hidden")?(e(this).removeClass("hidden"),i.text(i.attr("active_label"))):(e(this).addClass("hidden"),i.text(i.attr("hidden_label")))})}),e("input.nextgen_settings_field_colorpicker").wpColorPicker(),e("#ngg_page_content").css("visibility","visible"),e("#ngg-listimages .row-actions .confirmrecover, #ngg-listimages .row-actions.submitdelete.delete").on("click",function(e){var t=e.target;confirm(t.getAttribute("data-question")+' "'+t.getAttribute("data-text")+'"')||e.preventDefault()})});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.css
index c7971e254..d60e0eba3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.css
@@ -39,12 +39,12 @@ left: 10%;
 
 .ngg-wizard-anchor {
 background: transparent;
-width: 50px;
-height: 50px;
+width: 10px;
+height: 10px;
 }
 #ngg-wizard-anchor {
 position: fixed;
-top: 50%;
+top: 45%;
 left: 50%;
 margin-left: -25px;
 margin-top: -25px;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js
index d753935d8..9830172c3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js
@@ -105,18 +105,30 @@ if (typeof(NextGEN_Wizard_Manager) === 'undefined') {
 				
 				el.click(function (e) {
 					// here we only trigger done() if anchor is page-local (i.e. JS button) because for normal anchors this step is only "done" when reaching the new page
-					if (!el.is('a') || (el.attr("href").startsWith("#") || el.attr("href").startsWith("javascript:") || el.hasClass("thickbox"))) {
+					if (!el.is('a,button.ngg_save_settings_button,input.ngg_save_gallery_changes') || (el.attr("href").startsWith("#") || el.attr("href").startsWith("javascript:") || el.hasClass("thickbox"))) {
 						self.done(el);
 					}
 				});
 				
 				this.setup = function() {
-					if (!el.is('a'))
-						return;
 					
-					var href = el.attr("href");
-					this.originalHref = href;
+					if (!el.is('a,button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes')) {
+						return;
+					}
 					
+					if (el.is('a')) {
+						var href = el.attr("href");
+						this.originalHref = href;
+					}
+
+					if (el.is('button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes')) {
+						var href = el.parents('form').attr('action');
+						if (href.indexOf("&ngg_wizard") > -1) {
+							hrefSplit = href.split("&ngg_wizard");
+							href = hrefSplit[0];
+						} 
+					}
+		
 					if (!href.startsWith("#")) {
 						if (href.indexOf("?") == -1)
 							href = href + "?";
@@ -125,7 +137,11 @@ if (typeof(NextGEN_Wizard_Manager) === 'undefined') {
 					
 						href = href + "ngg_wizard=" + this.currentWizard + "&ngg_wizard_step=" + this.currentStep;
 				
-						el.attr("href", href);
+						if ( el.is('a') ) 
+							el.attr("href", href);
+
+						if ( el.is('button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes') ) 
+							el.parents('form').attr('action', href);
 					}
 				};
 				
@@ -208,7 +224,7 @@ if (typeof(NextGEN_Wizard_Manager) === 'undefined') {
 			view = {
 				handler : ButtonView,
 				name : "ButtonView",
-				selector : "a, input[type='button'], input[type='submit']"
+				selector : "a, input[type='button'], input[type='submit'], button"
 			};
 			this.views.push(view);
 			
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.css
index b9af908d2..6dbd92121 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.css
@@ -1 +1 @@
-.ngg-wizard-starter{width:250px}.ngg-wizard-starter .starter-wrap-top{width:180px;margin:0 auto}.ngg-wizard-starter .starter-wrap-icon{background:#fff;border-radius:50%;border:2px solid #ccc;border-top-width:4px;padding:1.2em;cursor:pointer}.ngg-wizard-starter img.starter-icon{max-width:100%;z-index:10000}.ngg-wizard-starter .starter-wrap-bottom{background:#fff;border-radius:1em;border:2px solid #ccc;border-top-width:1px;padding:.8em;text-align:center;line-height:1.5em;position:relative;margin-top:-2.2em;cursor:pointer}#ngg-wizard-starter{position:fixed;bottom:0;left:10%}.ngg-wizard-anchor{background:0 0;width:50px;height:50px}#ngg-wizard-anchor{position:fixed;top:50%;left:50%;margin-left:-25px;margin-top:-25px}.tourist-popover .arrow,.tourist-popover .arrow:after{margin-left:0;bottom:auto;overflow:visible}.tourist-popover{z-index:1000100!important;min-width:230px}.tourist-popover .arrow:after{background-color:transparent;box-shadow:none;left:auto;top:auto;transform:none}.tourist-popover .ngg-wizard-text{margin:30px 20px}.tourist-popover .ngg-wizard-loading{text-align:center;margin:5px 0 0;clear:both;font-style:italic}
\ No newline at end of file
+.ngg-wizard-starter{width:250px}.ngg-wizard-starter .starter-wrap-top{width:180px;margin:0 auto}.ngg-wizard-starter .starter-wrap-icon{background:#fff;border-radius:50%;border:2px solid #ccc;border-top-width:4px;padding:1.2em;cursor:pointer}.ngg-wizard-starter img.starter-icon{max-width:100%;z-index:10000}.ngg-wizard-starter .starter-wrap-bottom{background:#fff;border-radius:1em;border:2px solid #ccc;border-top-width:1px;padding:.8em;text-align:center;line-height:1.5em;position:relative;margin-top:-2.2em;cursor:pointer}#ngg-wizard-starter{position:fixed;bottom:0;left:10%}.ngg-wizard-anchor{background:0 0;width:10px;height:10px}#ngg-wizard-anchor{position:fixed;top:45%;left:50%;margin-left:-25px;margin-top:-25px}.tourist-popover .arrow,.tourist-popover .arrow:after{margin-left:0;bottom:auto;overflow:visible}.tourist-popover{z-index:1000100!important;min-width:230px}.tourist-popover .arrow:after{background-color:transparent;box-shadow:none;left:auto;top:auto;transform:none}.tourist-popover .ngg-wizard-text{margin:30px 20px}.tourist-popover .ngg-wizard-loading{text-align:center;margin:5px 0 0;clear:both;font-style:italic}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js
index b36392c6b..1a936558d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js
@@ -1 +1 @@
-function NextGEN_Wizard(t,e){this.id=t,this.manager=e,this.data={},this.steps=[],this.status=null,this.tour=null,this.created=Math.floor(Date.now()/1e3)}if("undefined"==typeof NextGEN_Wizard_Manager){NextGEN_Wizard.prototype.start=function(){null!=this.tour&&this.tour.start()},NextGEN_Wizard.prototype.getNextStep=function(t){for(var e=0;e<this.steps.length;e++){if(this.steps[e].id==t)break}return e++,e<this.steps.length?this.steps[e]:null},NextGEN_Wizard.prototype.setState=function(t){};var manager={state:[],wizards:[],runningWizard:null,views:[],starter:null,anchor:null,events:{},targetWatchers:{},refreshTimer:null,nggEvents:[],init:function(){function t(t){this.itemSelector=".view-item",this.currentWizard=null,this.currentStep=null,this.doneFlag=!1,this.init=function(){},this.disable=function(){t.addClass("ngg-wizard-disabled")},this.enable=function(){t.removeClass("ngg-wizard-disabled")},this.setup=function(){},this.reset=function(){t.removeClass("ngg-wizard-has-selection"),t.find(this.itemSelector).removeClass("ngg-wizard-selected")},this.done=function(t){this.doneFlag||(this.doneFlag=!0,this.trigger("done",this,t))}}function e(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("click",e.selector,function(t){i.done(e)})}function i(e){t.call(this,e);var i=this;e.click(function(t){(!e.is("a")||e.attr("href").startsWith("#")||e.attr("href").startsWith("javascript:")||e.hasClass("thickbox"))&&i.done(e)}),this.setup=function(){if(e.is("a")){var t=e.attr("href");this.originalHref=t,t.startsWith("#")||(-1==t.indexOf("?")?t+="?":t+="&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.attr("href",t))}},this.reset=function(){this.originalHref&&e.is("a")&&e.attr("href",this.originalHref)}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.setup=function(){}}function r(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("change",e.selector,function(t){jQuery(this).is(":checked")&&i.done(e)}),this.setup=function(){}}function a(e){t.call(this,e);var i=this;e.on("change",function(t){i.done(e)})}"undefined"!=typeof NextGEN_Wizard_Manager_State&&(this.state=NextGEN_Wizard_Manager_State);var o=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){o.nggEvents.push({type:e})}),_.extend(t.prototype,Backbone.Events),_.extend(e.prototype,t.prototype),_.extend(i.prototype,t.prototype),_.extend(n.prototype,t.prototype),_.extend(r.prototype,t.prototype),_.extend(a.prototype,t.prototype);var s=null;s={handler:a,name:"SelectView",selector:"select"},this.views.push(s),s={handler:r,name:"RadioView",selector:"input[type='radio']"},this.views.push(s),s={handler:n,name:"TextView",selector:"input[type='text'], input[type='search'], input[type='email'], input[type='tel'], input[type='number'], input[type='username'], input[type='password'], textarea"},this.views.push(s),s={handler:i,name:"ButtonView",selector:"a, input[type='button'], input[type='submit']"},this.views.push(s),s={handler:e,name:"GenericView",selector:"*"},this.views.push(s),Tourist.Tip.Base.prototype.nextButtonTemplate='<a class="button-primary pull-right tour-next">Next step →</a>',Tourist.Tip.Base.prototype.finalButtonTemplate='<button class="button-primary pull-right tour-next">Finish up</button>',Tourist.Tip.Base.prototype.closeButtonTemplate='<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove far fa-window-close"></i></a>',Tourist.Tip.BootstrapTip.prototype._getTargetBounds=function(t){var e,i;e=t[0],i="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():{width:e.offsetWidth,height:e.offsetHeight};var n=t.offset();if(t.ownerDocument!=document)for(var r=function(t,e){for(var i=t.find("iframe"),n=[],a=0;a<i.size();a++){var o=jQuery(i.get(a));try{if(o.prop("contentWindow").document==e)return[o]}catch(t){continue}var s=r(o.contents(),e);if(s.length>0){n.push(o);for(var u=0;u<s.length;u++)n.push(s[u]);break}}return n},a=r(jQuery(document),t.get(0).ownerDocument),o=0;o<a.length;o++){var s=a[o],u=s.offset();n.left+=u.left,n.top+=u.top}return jQuery.extend({},i,n)},jQuery(".ngg-wizard-invoker").on("click",function(t){t.preventDefault();for(var e=NextGEN_Wizard_Manager,i=jQuery(this).data("ngg-wizard"),n=null,r=0;r<e.wizards.length;r++){var a=e.wizards[r];if(a.id==i){n=a;break}}return null!=n&&null==this.runningWizard&&n.start(),!1})},bind:function(t,e){t in this.events||(this.events[t]=[]);var i={handler:e};this.events[t].push(i)},trigger:function(t,e){if(void 0===e&&(e={}),t in this.events)for(var i=this.events[t],n=0;n<i.length;n++){var r=i[n];r.handler&&r.handler(this,e)}},didNextgenEventFire:function(t){for(var e=0;e<this.nggEvents.length;e++){if(this.nggEvents[e].type==t)return!0}return!1},getViewForSelector:function(t,e){var i=null;void 0===e&&(e=!0);for(var n=0;n<this.views.length;n++){var r=this.views[n];if(t.is(r.selector)){i=r.handler;break}}if(null!=i){var r=new i(t);return e&&r.init(),r}return null},getViewFor:function(t,e,i){var n=this.getViewForSelector(t,!1);return null!=n&&(n.currentWizard=e,n.currentStep=i,n.init()),n},generateQueue:function(t){var e=this,i=this.state,n=i.wizard_list.length,r=i.starter,a=i.running_wizard;if(n>0){var o=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');o.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),o.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),o.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),o.hide(),o.appendTo("body"),this.starter=o;var s=t('<div id="ngg-wizard-anchor" class="ngg-wizard-anchor"></div>');s.appendTo("body"),this.anchor=s;for(var u=0,l=0;l<n;l++){var d=i.wizard_list[l],h=new NextGEN_Wizard(d.id,this);h.data=d,h.steps=d.steps;var c=this.generateTour(h);"ok"==c.result?(h.status="ready",h.tour=c.tour):"wait_element"==c.result&&(h.status="wait",u++),h.id==a?(this.wizards.unshift(h),this.runningWizard=h):this.wizards.push(h)}u>0?this.enqueueRefreshOperation():this.trigger("ready")}},getContextObject:function(t){var e=null;if(null!=t){"object"!=typeof t&&(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];if(e=null==e?jQuery(n):e.find(n),e.is("iframe")){var r=e.prop("contentWindow");if("interactive"!=r.document.readyState&&"complete"!=r.document.readyState){e=jQuery([]);break}e=r.jQuery?r.jQuery("body"):e.contents().find("body")}}0==e.size()&&(e=jQuery([]))}else e=jQuery(document);return e},computeStepTarget:function(t,e,i){var n=e.target_wait,r=e.target,a=e.view,o=null,s=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(o=l.find(r),o.size()>0?d=!0:o=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else o=this.anchor;return null!=a&&(s=l.find(a),s.size()>0&&(u=this.getViewFor(s,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d||e.optional,i.target=o,i.ngg_view=u,!0},scrollIntoView:function(t){},generateTour:function(t){if(null==t.tour){var e=t.data,i=e.steps,n=e.current_step,r=0,a=[],o=null;if(null!=e.view&&null==(o=this.getViewFor(jQuery(e.view),t.id)))return{result:"wait_element",element:e.view};for(var s=0;s<i.length;s++){var u=i[s];null!=n&&n==u.id&&(r=s);var l={ngg_step_id:u.id,ngg_step_data:u,viewport:jQuery(window),closeButton:!0,content:'<div class="ngg-wizard-text">'+u.text+"</div>",my:u.popup_anchor,at:u.target_anchor,bind:["onDone"],onDone:function(t,e,i,n){var r=t.ngg_wizard,a=this.ngg_step_data,o=!0;if(null!=a.condition&&(this.condition_met||(o=!1,this.condition_setup||this.setupCondition(t,e))),o&&null!=r){var s=r.getNextStep(this.ngg_step_id);if(null!=s&&s.lazy){o=!1;for(var u=null,l=0;l<t.options.steps.length;l++){var d=t.options.steps[l];if(d.ngg_step_id==s.id){u=d;break}}null!=u&&(null==u.target||0==u.target.size()||"ngg-wizard-anchor"==u.target.attr("id")?!(o=r.manager.computeStepTarget(r,s,u))||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(o=!1):o=!0)}}if(o)t.next();else{null!=this.lazyTimeout&&(clearTimeout(this.lazyTimeout),this.lazyTimeout=null);var h=this;this.lazyTimeout=setTimeout(function(){h.lazyTimeout=null,h.onDone(t,e,i,n)},500)}}};if(!this.computeStepTarget(t,u,l))return{result:"wait_element",element:u.target};l.setupCondition=function(t,e){var i=t.ngg_wizard,n=this.ngg_step_data;if(!this.condition_setup&&null!=n.condition){var r=n.condition,a=r.type,o=r.value,s=r.context,u=r.timeout;this.condition_met=!1,this.condition_setup=!1,s&&"object"!=typeof s&&(s=[s]);var l=jQuery([]);if(s){s=s.slice(0);var d=s.pop();l=i.manager.getContextObject(s).find(d)}if(l.size()>0){var h=l.get(0).ownerDocument;h.defaultView||h.parentWindow}switch(a){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var c=this;Frame_Event_Publisher.listen_for(o,function(){c.condition_met=!0})}break;case"event_bind":case"plupload_bind":var p=l.size()>0;if("plupload_bind"==a&&(void 0!==l.pluploadQueue?l=l.pluploadQueue():p=!1),p){this.condition_setup=!0;var c=this;l.bind(o,function(){c.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(o))this.condition_met=!0;else{var c=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==o&&(c.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var c=this;setTimeout(function(){c.condition_met=!0},o)}}var g=jQuery(".tourist-popover .ngg-wizard-text"),f=g.find(".ngg-wizard-loading");if(f.hide(),this.condition_setup&&!this.condition_met&&u>0){this.condition_timeout=0,0==f.length&&(f=jQuery('<div class="ngg-wizard-loading"></div>'),g.append(f)),f.html("Loading... ("+Math.ceil(u/1e3).toString()+")"),f.show();var c=this;c.condition_timer=setInterval(function(){c.condition_timeout+=1e3,c.condition_timeout>=u&&(c.condition_met=!0);var t=(Math.floor(c.condition_timeout/1e3),Math.ceil(u/1e3),Math.floor((u-c.condition_timeout)/1e3));f.html("Loading... ("+t.toString()+")"),c.condition_met&&(f.hide(),clearInterval(c.condition_timer),c.condition_timer=null)},1e3)}return this.condition_setup},l.setup=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.currentWizard=t.ngg_wizard_id,i.currentStep=this.ngg_step_id,i.setup(),i.bind("done",this.onDone),i.enable())},l.teardown=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.disable(),i.unbind("done",this.onDone),i.reset())},a.push(l)}var d={steps:a,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=o&&(d.stepOptions.view=o);var h=new Tourist.Tour(d);for(h.ngg_wizard_id=t.id,h.ngg_wizard=t;r>0;)h.next(),r--;return{result:"ok",tour:h}}},enqueueRefreshOperation:function(){null!=this.refreshTimer&&(clearTimeout(this.refreshTimer),this.refreshTimer=null),this.refreshTimer=setTimeout(function(t){NextGEN_Wizard_Manager.refreshQueue()},500)},refreshQueue:function(){this.refreshTimer=null;for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("wait"==i.status){var n=this.generateTour(i);"ok"==n.result?(i.status="ready",i.tour=n.tour):"wait_element"==n.result&&(i.status="wait",t++)}}t>0?this.enqueueRefreshOperation():this.trigger("ready")},start:function(){null!=this.runningWizard?this.runningWizard.start():this.showStarter()},showStarter:function(){},startQueue:function(){if(null!=this.starter){var t=this;this.starter.fadeOut(function(){t.nextTour()})}else this.nextTour()},nextTour:function(){for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("ready"==i.status&&null!=i.tour){t=e;break}}if(t<this.wizards.length){var i=this.wizards[t];i.tour.start()}},updateWizardState:function(t){}};manager.init(),window.NextGEN_Wizard_Manager=manager}jQuery(function(t){"undefined"!=typeof NextGEN_Wizard_Manager&&(NextGEN_Wizard_Manager.bind("ready",function(){NextGEN_Wizard_Manager.start()}),NextGEN_Wizard_Manager.generateQueue(t))});
\ No newline at end of file
+function NextGEN_Wizard(t,e){this.id=t,this.manager=e,this.data={},this.steps=[],this.status=null,this.tour=null,this.created=Math.floor(Date.now()/1e3)}if("undefined"==typeof NextGEN_Wizard_Manager){NextGEN_Wizard.prototype.start=function(){null!=this.tour&&this.tour.start()},NextGEN_Wizard.prototype.getNextStep=function(t){for(var e=0;e<this.steps.length;e++){if(this.steps[e].id==t)break}return e++,e<this.steps.length?this.steps[e]:null},NextGEN_Wizard.prototype.setState=function(t){};var manager={state:[],wizards:[],runningWizard:null,views:[],starter:null,anchor:null,events:{},targetWatchers:{},refreshTimer:null,nggEvents:[],init:function(){function t(t){this.itemSelector=".view-item",this.currentWizard=null,this.currentStep=null,this.doneFlag=!1,this.init=function(){},this.disable=function(){t.addClass("ngg-wizard-disabled")},this.enable=function(){t.removeClass("ngg-wizard-disabled")},this.setup=function(){},this.reset=function(){t.removeClass("ngg-wizard-has-selection"),t.find(this.itemSelector).removeClass("ngg-wizard-selected")},this.done=function(t){this.doneFlag||(this.doneFlag=!0,this.trigger("done",this,t))}}function e(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("click",e.selector,function(t){i.done(e)})}function i(e){t.call(this,e);var i=this;e.click(function(t){(!e.is("a,button.ngg_save_settings_button,input.ngg_save_gallery_changes")||e.attr("href").startsWith("#")||e.attr("href").startsWith("javascript:")||e.hasClass("thickbox"))&&i.done(e)}),this.setup=function(){if(e.is("a,button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes")){if(e.is("a")){var t=e.attr("href");this.originalHref=t}if(e.is("button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes")){var t=e.parents("form").attr("action");t.indexOf("&ngg_wizard")>-1&&(hrefSplit=t.split("&ngg_wizard"),t=hrefSplit[0])}t.startsWith("#")||(-1==t.indexOf("?")?t+="?":t+="&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.is("a")&&e.attr("href",t),e.is("button.ngg_save_settings_button,button.ngg_save_pricelist_button,input.ngg_save_gallery_changes")&&e.parents("form").attr("action",t))}},this.reset=function(){this.originalHref&&e.is("a")&&e.attr("href",this.originalHref)}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.setup=function(){}}function r(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("change",e.selector,function(t){jQuery(this).is(":checked")&&i.done(e)}),this.setup=function(){}}function a(e){t.call(this,e);var i=this;e.on("change",function(t){i.done(e)})}"undefined"!=typeof NextGEN_Wizard_Manager_State&&(this.state=NextGEN_Wizard_Manager_State);var s=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){s.nggEvents.push({type:e})}),_.extend(t.prototype,Backbone.Events),_.extend(e.prototype,t.prototype),_.extend(i.prototype,t.prototype),_.extend(n.prototype,t.prototype),_.extend(r.prototype,t.prototype),_.extend(a.prototype,t.prototype);var o=null;o={handler:a,name:"SelectView",selector:"select"},this.views.push(o),o={handler:r,name:"RadioView",selector:"input[type='radio']"},this.views.push(o),o={handler:n,name:"TextView",selector:"input[type='text'], input[type='search'], input[type='email'], input[type='tel'], input[type='number'], input[type='username'], input[type='password'], textarea"},this.views.push(o),o={handler:i,name:"ButtonView",selector:"a, input[type='button'], input[type='submit'], button"},this.views.push(o),o={handler:e,name:"GenericView",selector:"*"},this.views.push(o),Tourist.Tip.Base.prototype.nextButtonTemplate='<a class="button-primary pull-right tour-next">Next step →</a>',Tourist.Tip.Base.prototype.finalButtonTemplate='<button class="button-primary pull-right tour-next">Finish up</button>',Tourist.Tip.Base.prototype.closeButtonTemplate='<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove far fa-window-close"></i></a>',Tourist.Tip.BootstrapTip.prototype._getTargetBounds=function(t){var e,i;e=t[0],i="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():{width:e.offsetWidth,height:e.offsetHeight};var n=t.offset();if(t.ownerDocument!=document)for(var r=function(t,e){for(var i=t.find("iframe"),n=[],a=0;a<i.size();a++){var s=jQuery(i.get(a));try{if(s.prop("contentWindow").document==e)return[s]}catch(t){continue}var o=r(s.contents(),e);if(o.length>0){n.push(s);for(var u=0;u<o.length;u++)n.push(o[u]);break}}return n},a=r(jQuery(document),t.get(0).ownerDocument),s=0;s<a.length;s++){var o=a[s],u=o.offset();n.left+=u.left,n.top+=u.top}return jQuery.extend({},i,n)},jQuery(".ngg-wizard-invoker").on("click",function(t){t.preventDefault();for(var e=NextGEN_Wizard_Manager,i=jQuery(this).data("ngg-wizard"),n=null,r=0;r<e.wizards.length;r++){var a=e.wizards[r];if(a.id==i){n=a;break}}return null!=n&&null==this.runningWizard&&n.start(),!1})},bind:function(t,e){t in this.events||(this.events[t]=[]);var i={handler:e};this.events[t].push(i)},trigger:function(t,e){if(void 0===e&&(e={}),t in this.events)for(var i=this.events[t],n=0;n<i.length;n++){var r=i[n];r.handler&&r.handler(this,e)}},didNextgenEventFire:function(t){for(var e=0;e<this.nggEvents.length;e++){if(this.nggEvents[e].type==t)return!0}return!1},getViewForSelector:function(t,e){var i=null;void 0===e&&(e=!0);for(var n=0;n<this.views.length;n++){var r=this.views[n];if(t.is(r.selector)){i=r.handler;break}}if(null!=i){var r=new i(t);return e&&r.init(),r}return null},getViewFor:function(t,e,i){var n=this.getViewForSelector(t,!1);return null!=n&&(n.currentWizard=e,n.currentStep=i,n.init()),n},generateQueue:function(t){var e=this,i=this.state,n=i.wizard_list.length,r=i.starter,a=i.running_wizard;if(n>0){var s=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');s.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),s.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),s.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),s.hide(),s.appendTo("body"),this.starter=s;var o=t('<div id="ngg-wizard-anchor" class="ngg-wizard-anchor"></div>');o.appendTo("body"),this.anchor=o;for(var u=0,l=0;l<n;l++){var d=i.wizard_list[l],h=new NextGEN_Wizard(d.id,this);h.data=d,h.steps=d.steps;var c=this.generateTour(h);"ok"==c.result?(h.status="ready",h.tour=c.tour):"wait_element"==c.result&&(h.status="wait",u++),h.id==a?(this.wizards.unshift(h),this.runningWizard=h):this.wizards.push(h)}u>0?this.enqueueRefreshOperation():this.trigger("ready")}},getContextObject:function(t){var e=null;if(null!=t){"object"!=typeof t&&(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];if(e=null==e?jQuery(n):e.find(n),e.is("iframe")){var r=e.prop("contentWindow");if("interactive"!=r.document.readyState&&"complete"!=r.document.readyState){e=jQuery([]);break}e=r.jQuery?r.jQuery("body"):e.contents().find("body")}}0==e.size()&&(e=jQuery([]))}else e=jQuery(document);return e},computeStepTarget:function(t,e,i){var n=e.target_wait,r=e.target,a=e.view,s=null,o=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(s=l.find(r),s.size()>0?d=!0:s=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else s=this.anchor;return null!=a&&(o=l.find(a),o.size()>0&&(u=this.getViewFor(o,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d||e.optional,i.target=s,i.ngg_view=u,!0},scrollIntoView:function(t){},generateTour:function(t){if(null==t.tour){var e=t.data,i=e.steps,n=e.current_step,r=0,a=[],s=null;if(null!=e.view&&null==(s=this.getViewFor(jQuery(e.view),t.id)))return{result:"wait_element",element:e.view};for(var o=0;o<i.length;o++){var u=i[o];null!=n&&n==u.id&&(r=o);var l={ngg_step_id:u.id,ngg_step_data:u,viewport:jQuery(window),closeButton:!0,content:'<div class="ngg-wizard-text">'+u.text+"</div>",my:u.popup_anchor,at:u.target_anchor,bind:["onDone"],onDone:function(t,e,i,n){var r=t.ngg_wizard,a=this.ngg_step_data,s=!0;if(null!=a.condition&&(this.condition_met||(s=!1,this.condition_setup||this.setupCondition(t,e))),s&&null!=r){var o=r.getNextStep(this.ngg_step_id);if(null!=o&&o.lazy){s=!1;for(var u=null,l=0;l<t.options.steps.length;l++){var d=t.options.steps[l];if(d.ngg_step_id==o.id){u=d;break}}null!=u&&(null==u.target||0==u.target.size()||"ngg-wizard-anchor"==u.target.attr("id")?!(s=r.manager.computeStepTarget(r,o,u))||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(s=!1):s=!0)}}if(s)t.next();else{null!=this.lazyTimeout&&(clearTimeout(this.lazyTimeout),this.lazyTimeout=null);var h=this;this.lazyTimeout=setTimeout(function(){h.lazyTimeout=null,h.onDone(t,e,i,n)},500)}}};if(!this.computeStepTarget(t,u,l))return{result:"wait_element",element:u.target};l.setupCondition=function(t,e){var i=t.ngg_wizard,n=this.ngg_step_data;if(!this.condition_setup&&null!=n.condition){var r=n.condition,a=r.type,s=r.value,o=r.context,u=r.timeout;this.condition_met=!1,this.condition_setup=!1,o&&"object"!=typeof o&&(o=[o]);var l=jQuery([]);if(o){o=o.slice(0);var d=o.pop();l=i.manager.getContextObject(o).find(d)}if(l.size()>0){var h=l.get(0).ownerDocument;h.defaultView||h.parentWindow}switch(a){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var c=this;Frame_Event_Publisher.listen_for(s,function(){c.condition_met=!0})}break;case"event_bind":case"plupload_bind":var g=l.size()>0;if("plupload_bind"==a&&(void 0!==l.pluploadQueue?l=l.pluploadQueue():g=!1),g){this.condition_setup=!0;var c=this;l.bind(s,function(){c.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(s))this.condition_met=!0;else{var c=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==s&&(c.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var c=this;setTimeout(function(){c.condition_met=!0},s)}}var p=jQuery(".tourist-popover .ngg-wizard-text"),f=p.find(".ngg-wizard-loading");if(f.hide(),this.condition_setup&&!this.condition_met&&u>0){this.condition_timeout=0,0==f.length&&(f=jQuery('<div class="ngg-wizard-loading"></div>'),p.append(f)),f.html("Loading... ("+Math.ceil(u/1e3).toString()+")"),f.show();var c=this;c.condition_timer=setInterval(function(){c.condition_timeout+=1e3,c.condition_timeout>=u&&(c.condition_met=!0);var t=(Math.floor(c.condition_timeout/1e3),Math.ceil(u/1e3),Math.floor((u-c.condition_timeout)/1e3));f.html("Loading... ("+t.toString()+")"),c.condition_met&&(f.hide(),clearInterval(c.condition_timer),c.condition_timer=null)},1e3)}return this.condition_setup},l.setup=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.currentWizard=t.ngg_wizard_id,i.currentStep=this.ngg_step_id,i.setup(),i.bind("done",this.onDone),i.enable())},l.teardown=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.disable(),i.unbind("done",this.onDone),i.reset())},a.push(l)}var d={steps:a,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=s&&(d.stepOptions.view=s);var h=new Tourist.Tour(d);for(h.ngg_wizard_id=t.id,h.ngg_wizard=t;r>0;)h.next(),r--;return{result:"ok",tour:h}}},enqueueRefreshOperation:function(){null!=this.refreshTimer&&(clearTimeout(this.refreshTimer),this.refreshTimer=null),this.refreshTimer=setTimeout(function(t){NextGEN_Wizard_Manager.refreshQueue()},500)},refreshQueue:function(){this.refreshTimer=null;for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("wait"==i.status){var n=this.generateTour(i);"ok"==n.result?(i.status="ready",i.tour=n.tour):"wait_element"==n.result&&(i.status="wait",t++)}}t>0?this.enqueueRefreshOperation():this.trigger("ready")},start:function(){null!=this.runningWizard?this.runningWizard.start():this.showStarter()},showStarter:function(){},startQueue:function(){if(null!=this.starter){var t=this;this.starter.fadeOut(function(){t.nextTour()})}else this.nextTour()},nextTour:function(){for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("ready"==i.status&&null!=i.tour){t=e;break}}if(t<this.wizards.length){var i=this.wizards[t];i.tour.start()}},updateWizardState:function(t){}};manager.init(),window.NextGEN_Wizard_Manager=manager}jQuery(function(t){"undefined"!=typeof NextGEN_Wizard_Manager&&(NextGEN_Wizard_Manager.bind("ready",function(){NextGEN_Wizard_Manager.start()}),NextGEN_Wizard_Manager.generateQueue(t))});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css
index b1dcd2f93..2df4fd535 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css
@@ -1,9 +1,5 @@
 .tour-highlight{
   background: transparent;
-  -moz-box-shadow: 0px 0px 7px 0px rgba(0, 241, 255, 0.701961);
-  -webkit-box-shadow: 0px 0px 7px 0px rgba(0, 241, 255, 0.701961);
-  -o-box-shadow: 0px 0px 7px 0px rgba(0, 241, 255, 0.701961);
-  box-shadow: 0px 0px 7px 0px rgba(0, 241, 255, 0.701961);
   border-radius: 2px;
 }
 
@@ -38,7 +34,7 @@
   background: #f5f5f5;
   border-radius: 0px 0px 6px 6px;
   box-sizing: content-box;
-  background: #103149;
+  background: black;
   padding: 15px 20px 17px;
   border-top: 3px solid #9fbb1a;
 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css
index fa136a7a6..0ebb18c4c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css
@@ -1 +1 @@
-.tour-highlight{background:0 0;-moz-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-webkit-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-o-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);box-shadow:0 0 7px 0 rgba(0,241,255,.701961);border-radius:2px}.tourist-popover{padding:0;z-index:999999!important}.tourist-popover .popover-content{padding:10px 0 0;min-width:200px}.tourist-popover .popover-content p{margin:0 8px 10px}.tourist-popover .popover-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.tourist-popover .popover-content .tour-counter{margin:0;padding:0;position:absolute;left:20px;bottom:23px;font-size:11px;color:#fff}.tourist-popover .tour-buttons{min-height:28px;border-radius:0 0 6px 6px;box-sizing:content-box;background:#103149;padding:15px 20px 17px;border-top:3px solid #9fbb1a}.tourist-popover .button-primary{background-color:#9fbb1a;box-shadow:none;text-shadow:none;border:none;padding:1px 20px;float:right}.tourist-popover .button-primary:hover{background-color:#A9C524}.tourist-popover .btn-close{background:0 0;border:none;position:absolute;top:4px;right:7px;padding:0;opacity:.3}.tourist-popover .btn-close:hover{opacity:.5}.tourist-popover.top>.arrow{border-top-color:#2a343d;overflow:hidden}.qtip-tour,.qtip-tour .qtip-content{padding:0}.qtip-tour .qtip-content{padding-top:10px}.qtip-tour .qtip-content p{margin:0 8px 10px}.qtip-tour .qtip-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.qtip-tour .qtip-content .tour-counter{font-size:11px;color:#acacac}.qtip-tour .tour-buttons{padding:8px 10px;min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box}
\ No newline at end of file
+.tour-highlight{background:0 0;border-radius:2px}.tourist-popover{padding:0;z-index:999999!important}.tourist-popover .popover-content{padding:10px 0 0;min-width:200px}.tourist-popover .popover-content p{margin:0 8px 10px}.tourist-popover .popover-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.tourist-popover .popover-content .tour-counter{margin:0;padding:0;position:absolute;left:20px;bottom:23px;font-size:11px;color:#fff}.tourist-popover .tour-buttons{min-height:28px;border-radius:0 0 6px 6px;box-sizing:content-box;background:#000;padding:15px 20px 17px;border-top:3px solid #9fbb1a}.tourist-popover .button-primary{background-color:#9fbb1a;box-shadow:none;text-shadow:none;border:none;padding:1px 20px;float:right}.tourist-popover .button-primary:hover{background-color:#A9C524}.tourist-popover .btn-close{background:0 0;border:none;position:absolute;top:4px;right:7px;padding:0;opacity:.3}.tourist-popover .btn-close:hover{opacity:.5}.tourist-popover.top>.arrow{border-top-color:#2a343d;overflow:hidden}.qtip-tour,.qtip-tour .qtip-content{padding:0}.qtip-tour .qtip-content{padding-top:10px}.qtip-tour .qtip-content p{margin:0 8px 10px}.qtip-tour .qtip-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.qtip-tour .qtip-content .tour-counter{font-size:11px;color:#acacac}.qtip-tour .tour-buttons{padding:8px 10px;min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php
index 20b4e92f8..1e75dae0b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php
@@ -21,6 +21,9 @@
         <?php if (isset($form_header)): ?>
             <?php echo $form_header."\n"; ?>
         <?php endif ?>
+        <?php if (isset($nonce)): ?>
+        <input type="hidden" name="nonce" value="<?php echo esc_attr($nonce)?>"/>
+        <?php endif ?>
         <input type="hidden" name="action"/>
          <!-- <div class="accordion" id="nextgen_admin_accordion"> -->
             <div class="ngg_page_content_menu"">
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php
index ffac67592..f7f830729 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php
@@ -26,7 +26,7 @@ class M_NextGen_Basic_Album extends C_Base_Module
             NGG_BASIC_ALBUM,
             'NextGEN Basic Album',
             "Provides support for NextGEN's Basic Album",
-            '3.0.0.5',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php
index 3a07f55e0..bab0740d4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php
@@ -37,7 +37,7 @@ class M_NextGen_Basic_Gallery extends C_Base_Module
             NGG_BASIC_GALLERY,
             'NextGEN Basic Gallery',
             "Provides NextGEN Gallery's basic thumbnail/slideshow integrated gallery",
-            '3.0.13',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/default-view.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/default-view.php
index c17120494..c7dc85252 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/default-view.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/default-view.php
@@ -1,8 +1,7 @@
 <?php
-
 $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery);
-
 ?>
+<!-- default-view.php -->
 <div
 	class="ngg-galleryoverview default-view <?php if (!intval($ajax_pagination)) echo ' ngg-ajax-pagination-none'; ?>"
 	id="ngg-gallery-<?php echo esc_attr($displayed_gallery_id)?>-<?php echo esc_attr($current_page)?>">
@@ -48,7 +47,7 @@ $this->start_element('nextgen_gallery.gallery_container', 'container', $displaye
                 <img
                     title="<?php echo esc_attr($image->alttext)?>"
                     alt="<?php echo esc_attr($image->alttext)?>"
-                    src="<?php echo esc_attr($storage->get_image_url($image, $thumbnail_size_name, TRUE))?>"
+                    src="<?php echo esc_attr($storage->get_image_url($image, $thumbnail_size_name))?>"
                     width="<?php echo esc_attr($thumb_size['width'])?>"
                     height="<?php echo esc_attr($thumb_size['height'])?>"
                     style="max-width:100%;"
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php
index a3253777e..6f2c2b649 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php
@@ -1,8 +1,7 @@
 <?php
-
 $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery);
-
 ?>
+<!-- index.php -->
 <div
 	class="ngg-galleryoverview<?php if (!intval($ajax_pagination)) echo ' ngg-ajax-pagination-none'; ?>"
 	id="ngg-gallery-<?php echo esc_attr($displayed_gallery_id)?>-<?php echo esc_attr($current_page)?>">
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php
index d8f3080d3..e8aa6f585 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php
@@ -26,7 +26,7 @@ class M_NextGen_Basic_ImageBrowser extends C_Base_Module
 			'photocrati-nextgen_basic_imagebrowser',
 			'NextGEN Basic ImageBrowser',
 			'Provides the NextGEN Basic ImageBrowser Display Type',
-            '3.0.0.4',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php
index b4c06c7db..34de29003 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php
@@ -24,7 +24,7 @@ class M_NextGen_Basic_Singlepic extends C_Base_Module
             NGG_BASIC_SINGLEPIC,
             'NextGen Basic Singlepic',
             'Provides a singlepic gallery for NextGEN Gallery',
-            '3.1.0',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php
index 02d522e49..0ffb1ac62 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php
@@ -24,7 +24,7 @@ class M_NextGen_Basic_Tagcloud extends C_Base_Module
 			NGG_BASIC_TAGCLOUD,
             'NextGen Basic Tagcloud',
             'Provides a tagcloud for NextGEN Gallery',
-            '3.1.6',
+            '3.1.8',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/module.nextgen_block.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/module.nextgen_block.php
index 7ac02d902..00ded6c1f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/module.nextgen_block.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/module.nextgen_block.php
@@ -23,7 +23,7 @@ class M_NextGEN_Block extends C_Base_Module
 			'photocrati-nextgen_block',
 			'NextGEN Block',
 			'Provides a NextGEN Block for the Gutenberg interface.',
-			'3.1.5.3',
+			'3.1.19',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js
index 9ed81de09..9dd01f223 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js
@@ -1,2 +1,2 @@
-!function(C){var e={};function t(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return C[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=C,t.c=e,t.d=function(C,e,n){t.o(C,e)||Object.defineProperty(C,e,{enumerable:!0,get:n})},t.r=function(C){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})},t.t=function(C,e){if(1&e&&(C=t(C)),8&e)return C;if(4&e&&"object"==typeof C&&C&&C.__esModule)return C;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:C}),2&e&&"string"!=typeof C)for(var r in C)t.d(n,r,function(e){return C[e]}.bind(null,r));return n},t.n=function(C){var e=C&&C.__esModule?function(){return C.default}:function(){return C};return t.d(e,"a",e),e},t.o=function(C,e){return Object.prototype.hasOwnProperty.call(C,e)},t.p="",t(t.s=0)}([function(C,e,t){"use strict";function n(C){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(C){return typeof C}:function(C){return C&&"function"==typeof Symbol&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(C)}function r(C,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(C,n.key,n)}}function o(C,e,t){return(o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(C,e,t){var n=function(C,e){for(;!Object.prototype.hasOwnProperty.call(C,e)&&null!==(C=l(C)););return C}(C,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(t):r.value}})(C,e,t||C)}function l(C){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(C){return C.__proto__||Object.getPrototypeOf(C)})(C)}function i(C,e){return(i=Object.setPrototypeOf||function(C,e){return C.__proto__=e,C})(C,e)}function a(C){if(void 0===C)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C}t.r(e);wp.i18n.__;var c=(0,lodash.memoize)(function(C,e){return function(t){function c(C){var e;return function(C,e){if(!(C instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c),(e=function(C,e){return!e||"object"!==n(e)&&"function"!=typeof e?a(C):e}(this,l(c).call(this,C))).openIGW=e.openIGW.bind(a(a(e))),e.updateContent=e.updateContent.bind(a(a(e))),e.hasGallery=e.hasGallery.bind(a(a(e))),e.toggleAddGalleryBtn=e.toggleAddGalleryBtn.bind(a(a(e))),e}return function(C,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(e&&e.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),e&&i(C,e)}(c,e),function(C,e,t){e&&r(C.prototype,e),t&&r(C,t)}(c,[{key:"hasGallery",value:function(){return this.props.attributes.content&&this.props.attributes.content.length>0}},{key:"componentDidMount",value:function(){o(l(c.prototype),"componentDidMount",this).call(this),C(this.ref).addClass("freeform-toolbar").addClass("ngg-freeform-toolbar"),this.toggleAddGalleryBtn()}},{key:"componentDidUpdate",value:function(){this.toggleAddGalleryBtn()}},{key:"toggleAddGalleryBtn",value:function(){this.props.attributes.content?(C(this.ref).addClass("hidden"),C(this.ref).siblings(".add-ngg-gallery-wrap").hide()):(C(this.ref).removeClass("hidden"),C(this.ref).siblings(".add-ngg-gallery-wrap").show())}},{key:"updateContent",value:function(C){this.props.setAttributes({content:C})}},{key:"onSetup",value:function(C){o(l(c.prototype),"onSetup",this).call(this,C);var e=this.updateContent.bind(this);C.on("ngg-removed",function(){return e("")}),C.on("ngg-inserted",function(C){var t=C.shortcode;return e(t)})}},{key:"openIGW",value:function(){this.editor.execCommand("ngg_attach_to_post")}},{key:"render",value:function(){return[o(l(c.prototype),"render",this).call(this),React.createElement("div",{className:"add-ngg-gallery-wrap"},React.createElement("div",{className:"add-ngg-gallery",onClick:this.openIGW},ngg_tinymce_plugin.i18n.button_label))]}}]),c}()}),u={};u.nextgen=React.createElement("svg",{id:"svg",version:"1.1",width:"400",height:"385.8088930936613",viewBox:"0 0 400 385.8088930936613"},React.createElement("g",{id:"svgg"},React.createElement("path",{id:"path0",d:"",stroke:"none",fill:"#000055","fill-rule":"evenodd"}),React.createElement("path",{id:"path1",d:"",stroke:"none",fill:"#002424","fill-rule":"evenodd"}),React.createElement("path",{id:"path2",d:"M194.418 152.698 C 154.152 157.677,135.139 203.873,160.388 235.383 C 179.730 259.522,217.168 260.458,237.772 237.316 C 261.954 210.156,250.860 167.167,216.592 155.239 C 210.224 153.023,200.657 151.926,194.418 152.698 ",stroke:"none",fill:"#143650","fill-rule":"evenodd"}),React.createElement("path",{id:"path3",d:"",stroke:"none",fill:"#555500","fill-rule":"evenodd"}),React.createElement("path",{id:"path4",d:"M109.430 274.467 C 109.368 274.629,109.202 274.717,109.061 274.663 C 108.920 274.609,108.715 274.732,108.606 274.936 C 108.496 275.140,108.286 275.307,108.139 275.307 C 107.992 275.307,107.796 275.441,107.705 275.605 C 107.536 275.907,106.895 276.338,106.291 276.556 C 106.109 276.622,105.960 276.753,105.960 276.848 C 105.960 276.942,105.747 277.101,105.487 277.200 C 105.227 277.299,105.014 277.467,105.014 277.573 C 105.014 277.680,104.920 277.767,104.805 277.767 C 104.690 277.767,104.285 278.009,103.906 278.303 C 103.527 278.598,103.068 278.894,102.886 278.960 C 102.703 279.026,102.554 279.168,102.554 279.275 C 102.554 279.382,102.427 279.470,102.272 279.470 C 102.117 279.470,101.884 279.640,101.754 279.849 C 101.624 280.057,101.367 280.227,101.184 280.227 C 101.001 280.227,100.851 280.314,100.851 280.421 C 100.851 280.528,100.639 280.696,100.378 280.795 C 100.118 280.894,99.905 281.071,99.905 281.189 C 99.905 281.306,99.793 281.360,99.655 281.307 C 99.518 281.254,99.304 281.373,99.181 281.570 C 99.057 281.768,98.838 281.930,98.694 281.930 C 98.550 281.930,98.383 282.059,98.322 282.217 C 98.262 282.374,97.997 282.585,97.734 282.685 C 97.471 282.785,97.256 282.954,97.256 283.061 C 97.256 283.167,97.095 283.254,96.898 283.254 C 96.701 283.254,96.491 283.382,96.431 283.538 C 96.371 283.694,96.201 283.822,96.053 283.822 C 95.904 283.822,95.731 283.959,95.667 284.126 C 95.603 284.292,95.438 284.386,95.302 284.334 C 95.165 284.281,94.952 284.400,94.829 284.598 C 94.705 284.796,94.529 284.957,94.437 284.957 C 94.344 284.957,93.996 285.213,93.661 285.525 C 93.327 285.837,92.965 286.093,92.857 286.093 C 92.748 286.093,92.296 286.391,91.851 286.755 C 91.407 287.119,90.958 287.417,90.854 287.417 C 90.750 287.417,90.637 287.481,90.602 287.559 C 90.471 287.855,89.293 288.565,89.116 288.455 C 89.014 288.392,88.931 288.476,88.931 288.641 C 88.931 288.805,88.718 289.021,88.458 289.120 C 88.198 289.219,87.985 289.392,87.985 289.505 C 87.985 289.617,87.602 289.879,87.133 290.086 C 86.665 290.293,86.282 290.546,86.282 290.647 C 86.282 290.749,86.090 290.915,85.856 291.017 C 85.220 291.292,84.692 291.646,84.522 291.911 C 84.439 292.041,84.245 292.148,84.091 292.148 C 83.936 292.148,83.761 292.275,83.701 292.431 C 83.641 292.588,83.504 292.715,83.396 292.715 C 83.287 292.715,82.835 293.013,82.391 293.377 C 81.946 293.742,81.493 294.040,81.384 294.040 C 81.276 294.040,81.097 294.207,80.988 294.411 C 80.871 294.629,80.673 294.738,80.508 294.675 C 80.337 294.609,80.227 294.677,80.227 294.850 C 80.227 295.006,80.014 295.187,79.754 295.253 C 79.494 295.318,79.281 295.455,79.281 295.557 C 79.281 295.659,79.162 295.743,79.017 295.743 C 78.872 295.743,78.707 295.864,78.650 296.012 C 78.594 296.160,78.223 296.433,77.826 296.619 C 77.429 296.804,76.994 297.108,76.858 297.295 C 76.722 297.482,76.488 297.635,76.337 297.635 C 76.187 297.635,76.064 297.715,76.064 297.814 C 76.064 297.990,75.336 298.457,74.693 298.693 C 74.510 298.760,74.361 298.892,74.361 298.986 C 74.361 299.081,74.170 299.241,73.936 299.342 C 73.345 299.597,72.922 299.894,72.049 300.662 C 71.636 301.026,71.221 301.325,71.127 301.325 C 71.032 301.325,70.662 301.559,70.303 301.845 C 69.945 302.131,69.562 302.365,69.452 302.365 C 69.342 302.365,69.253 302.449,69.253 302.551 C 69.253 302.653,69.040 302.790,68.780 302.855 C 68.519 302.920,68.307 303.102,68.307 303.259 C 68.307 303.451,68.183 303.512,67.928 303.446 C 67.680 303.381,67.550 303.440,67.550 303.617 C 67.550 303.766,67.337 303.969,67.077 304.068 C 66.816 304.167,66.604 304.337,66.604 304.447 C 66.604 304.556,66.391 304.726,66.131 304.825 C 65.870 304.924,65.658 305.092,65.658 305.199 C 65.658 305.305,65.487 305.393,65.279 305.393 C 65.071 305.393,64.901 305.480,64.901 305.587 C 64.901 305.693,64.688 305.861,64.428 305.960 C 64.167 306.059,63.955 306.227,63.955 306.334 C 63.955 306.441,63.784 306.528,63.576 306.528 C 63.368 306.528,63.198 306.615,63.198 306.722 C 63.198 306.828,62.985 306.997,62.725 307.096 C 62.465 307.194,62.252 307.361,62.252 307.465 C 62.252 307.570,61.907 307.831,61.486 308.046 C 61.064 308.261,60.672 308.561,60.614 308.712 C 60.556 308.864,60.389 308.988,60.243 308.988 C 60.097 308.988,59.835 309.154,59.662 309.356 C 59.488 309.559,59.285 309.687,59.210 309.641 C 59.135 309.595,58.800 309.812,58.467 310.124 C 58.133 310.436,57.748 310.691,57.612 310.691 C 57.475 310.691,57.335 310.754,57.301 310.833 C 57.184 311.095,55.380 312.394,55.132 312.394 C 54.996 312.394,54.803 312.547,54.703 312.735 C 54.602 312.923,54.174 313.242,53.752 313.445 C 53.330 313.647,52.983 313.879,52.982 313.959 C 52.981 314.040,52.789 314.189,52.554 314.290 C 51.958 314.548,51.520 314.853,50.731 315.562 C 50.355 315.900,49.942 316.176,49.812 316.177 C 49.683 316.177,49.476 316.340,49.353 316.537 C 49.229 316.735,49.027 316.858,48.903 316.810 C 48.779 316.763,48.626 316.856,48.564 317.018 C 48.502 317.181,48.339 317.313,48.203 317.313 C 48.067 317.313,47.695 317.547,47.375 317.833 C 46.625 318.507,45.782 319.104,45.364 319.259 C 45.182 319.327,45.033 319.470,45.033 319.578 C 45.033 319.685,44.903 319.773,44.743 319.773 C 44.584 319.773,44.405 319.901,44.345 320.057 C 44.285 320.213,44.075 320.341,43.878 320.341 C 43.622 320.341,43.519 320.476,43.519 320.814 C 43.519 321.074,43.587 321.287,43.670 321.287 C 43.753 321.287,44.147 321.798,44.545 322.422 C 44.942 323.046,45.343 323.557,45.434 323.557 C 45.526 323.557,45.601 323.655,45.601 323.774 C 45.601 323.894,45.899 324.355,46.263 324.799 C 46.627 325.244,46.925 325.700,46.925 325.812 C 46.925 325.925,47.010 326.017,47.114 326.017 C 47.219 326.017,47.304 326.132,47.304 326.272 C 47.304 326.411,47.474 326.680,47.682 326.868 C 47.890 327.057,48.061 327.331,48.061 327.477 C 48.061 327.634,48.209 327.719,48.420 327.685 C 48.728 327.634,49.763 328.480,49.763 328.783 C 49.763 328.837,49.976 329.160,50.237 329.501 C 50.497 329.842,50.710 330.217,50.710 330.335 C 50.710 330.610,51.587 331.190,51.802 331.058 C 51.891 331.002,52.123 331.229,52.316 331.562 C 52.509 331.894,52.780 332.235,52.918 332.318 C 53.056 332.401,53.169 332.587,53.169 332.731 C 53.169 332.875,53.347 333.049,53.565 333.118 C 53.783 333.187,54.082 333.533,54.230 333.888 C 54.378 334.242,54.578 334.532,54.675 334.532 C 54.772 334.532,54.964 334.766,55.102 335.052 C 55.239 335.338,55.492 335.574,55.663 335.575 C 56.001 335.578,56.764 336.191,56.764 336.461 C 56.764 336.713,57.567 337.748,57.763 337.748 C 57.981 337.748,58.642 338.535,58.650 338.804 C 58.654 338.917,58.888 339.130,59.171 339.277 C 59.786 339.598,61.757 341.524,61.929 341.973 C 61.996 342.147,62.168 342.289,62.311 342.289 C 62.454 342.289,62.725 342.577,62.915 342.929 C 63.125 343.319,63.542 343.693,63.985 343.889 C 64.385 344.065,64.711 344.333,64.711 344.485 C 64.711 344.637,64.882 344.825,65.091 344.902 C 65.299 344.979,65.628 345.336,65.821 345.696 C 66.014 346.056,66.335 346.394,66.535 346.449 C 66.972 346.567,68.307 347.617,68.307 347.843 C 68.307 348.075,69.693 349.274,69.850 349.177 C 69.923 349.132,70.037 349.267,70.103 349.477 C 70.170 349.687,70.389 349.858,70.590 349.858 C 70.791 349.858,70.956 349.924,70.956 350.004 C 70.956 350.370,72.658 351.980,72.934 351.874 C 73.117 351.804,73.226 351.868,73.226 352.046 C 73.226 352.202,73.370 352.385,73.545 352.452 C 73.721 352.520,74.109 352.853,74.408 353.193 C 74.727 353.556,75.063 353.768,75.222 353.707 C 75.385 353.645,75.552 353.757,75.637 353.986 C 75.778 354.360,77.338 355.718,77.633 355.722 C 77.925 355.725,78.903 356.556,78.903 356.800 C 78.903 356.937,78.988 357.048,79.093 357.048 C 79.198 357.048,79.469 357.261,79.695 357.521 C 79.921 357.781,80.240 357.997,80.403 357.999 C 80.566 358.002,81.069 358.343,81.520 358.756 C 81.972 359.170,82.451 359.508,82.586 359.508 C 82.721 359.508,82.876 359.678,82.931 359.886 C 82.988 360.104,83.189 360.265,83.404 360.265 C 83.627 360.265,83.821 360.428,83.883 360.668 C 83.961 360.965,84.092 361.045,84.379 360.970 C 84.624 360.906,84.768 360.959,84.768 361.114 C 84.768 361.353,85.288 361.680,85.572 361.619 C 85.650 361.603,85.714 361.717,85.714 361.873 C 85.714 362.029,85.864 362.157,86.048 362.157 C 86.231 362.157,86.466 362.349,86.570 362.583 C 86.674 362.817,86.908 362.997,87.090 362.982 C 87.272 362.967,87.686 363.202,88.008 363.503 C 88.331 363.805,88.863 364.179,89.191 364.334 C 89.518 364.490,89.998 364.809,90.257 365.043 C 90.517 365.277,90.814 365.478,90.918 365.489 C 91.452 365.547,91.958 365.827,91.958 366.064 C 91.958 366.211,92.107 366.386,92.289 366.453 C 92.472 366.520,92.693 366.695,92.781 366.842 C 92.883 367.012,93.105 367.067,93.396 366.994 C 93.646 366.932,93.851 366.963,93.851 367.063 C 93.851 367.400,94.783 368.258,95.042 368.158 C 95.182 368.105,95.398 368.222,95.521 368.420 C 95.645 368.618,95.905 368.780,96.100 368.780 C 96.294 368.780,96.559 368.907,96.689 369.063 C 96.818 369.219,97.049 369.347,97.202 369.347 C 97.355 369.347,97.828 369.645,98.254 370.009 C 98.679 370.374,99.129 370.672,99.254 370.672 C 99.379 370.672,99.586 370.798,99.714 370.953 C 99.843 371.108,100.024 371.189,100.116 371.131 C 100.208 371.074,100.284 371.112,100.284 371.214 C 100.284 371.425,101.342 371.996,101.732 371.996 C 101.872 371.996,101.965 372.103,101.939 372.233 C 101.912 372.372,102.130 372.493,102.470 372.526 C 102.801 372.558,103.360 372.861,103.781 373.235 C 104.185 373.594,104.655 373.888,104.826 373.888 C 104.997 373.888,105.342 374.106,105.592 374.372 C 105.873 374.671,106.180 374.821,106.396 374.765 C 106.594 374.713,106.953 374.853,107.220 375.085 C 107.480 375.311,107.751 375.501,107.820 375.506 C 108.117 375.528,108.913 375.843,109.149 376.032 C 109.289 376.145,109.518 376.254,109.657 376.274 C 109.796 376.294,110.249 376.584,110.664 376.917 C 111.079 377.251,111.501 377.472,111.602 377.410 C 111.704 377.348,111.837 377.429,111.899 377.591 C 111.962 377.753,112.093 377.836,112.191 377.776 C 112.289 377.715,112.694 377.851,113.091 378.077 C 114.435 378.844,114.758 378.995,115.057 378.996 C 115.221 378.997,115.558 379.214,115.807 379.478 C 116.071 379.759,116.425 379.938,116.658 379.907 C 116.877 379.879,117.263 379.987,117.516 380.147 C 117.769 380.308,118.444 380.635,119.016 380.874 C 119.588 381.114,120.203 381.438,120.381 381.595 C 120.559 381.753,120.847 381.827,121.021 381.760 C 121.216 381.685,121.596 381.838,122.021 382.162 C 122.398 382.449,122.810 382.660,122.938 382.631 C 123.065 382.602,123.363 382.702,123.600 382.854 C 123.837 383.006,124.201 383.158,124.409 383.192 C 124.617 383.226,124.903 383.410,125.045 383.601 C 125.219 383.834,125.444 383.912,125.735 383.839 C 125.999 383.772,126.203 383.825,126.261 383.974 C 126.364 384.244,127.909 384.408,127.909 384.150 C 127.909 384.061,128.172 383.720,128.493 383.391 C 128.979 382.894,129.056 382.698,128.951 382.220 C 128.843 381.728,128.872 381.664,129.154 381.773 C 129.421 381.875,129.463 381.821,129.376 381.489 C 129.294 381.175,129.353 381.079,129.625 381.079 C 129.919 381.079,129.961 380.981,129.868 380.513 C 129.795 380.146,129.862 379.784,130.062 379.479 C 130.231 379.221,130.369 378.916,130.369 378.801 C 130.369 378.686,130.500 378.461,130.659 378.301 C 130.886 378.075,130.901 377.952,130.726 377.742 C 130.546 377.525,130.624 377.364,131.121 376.920 C 131.619 376.476,131.716 376.274,131.618 375.885 C 131.552 375.619,131.565 375.402,131.649 375.402 C 131.907 375.402,132.450 374.330,132.450 373.821 C 132.450 373.241,132.798 372.415,133.253 371.913 C 133.436 371.711,133.568 371.456,133.546 371.346 C 133.477 370.988,133.777 370.104,133.968 370.104 C 134.070 370.104,134.153 369.891,134.153 369.631 C 134.153 369.354,134.251 369.178,134.390 369.205 C 134.539 369.235,134.621 369.043,134.613 368.685 C 134.606 368.373,134.720 368.028,134.867 367.918 C 135.013 367.809,135.108 367.596,135.077 367.445 C 135.005 367.096,135.651 365.752,135.891 365.752 C 135.991 365.752,136.055 365.561,136.034 365.326 C 135.986 364.807,136.396 363.671,136.632 363.671 C 136.725 363.671,136.802 363.467,136.802 363.218 C 136.802 362.969,136.939 362.713,137.106 362.649 C 137.318 362.567,137.376 362.395,137.297 362.082 C 137.226 361.799,137.288 361.546,137.466 361.399 C 137.621 361.270,137.748 361.086,137.748 360.989 C 137.748 360.893,137.919 360.462,138.127 360.031 C 138.335 359.600,138.505 359.088,138.505 358.894 C 138.505 358.699,138.590 358.592,138.694 358.657 C 138.804 358.724,138.884 358.547,138.884 358.239 C 138.884 357.944,139.096 357.390,139.357 357.008 C 139.617 356.625,139.830 356.124,139.830 355.895 C 139.830 355.368,140.756 353.453,141.011 353.453 C 141.121 353.453,141.154 353.217,141.089 352.892 C 141.008 352.486,141.062 352.282,141.283 352.159 C 141.484 352.046,141.552 351.844,141.480 351.570 C 141.399 351.260,141.440 351.179,141.641 351.256 C 141.842 351.334,141.911 351.196,141.911 350.715 C 141.911 350.360,141.990 350.021,142.086 349.962 C 142.182 349.902,142.316 349.599,142.385 349.288 C 142.453 348.977,142.613 348.723,142.741 348.723 C 142.871 348.723,143.126 348.120,143.321 347.351 C 143.512 346.596,143.784 345.845,143.925 345.680 C 144.066 345.516,144.182 345.249,144.182 345.086 C 144.182 344.923,144.315 344.739,144.479 344.676 C 144.671 344.602,144.735 344.434,144.660 344.198 C 144.596 343.997,144.713 343.465,144.918 343.014 C 145.572 341.583,145.955 340.687,145.995 340.492 C 146.130 339.835,146.342 339.451,146.569 339.451 C 146.727 339.451,146.833 339.245,146.837 338.931 C 146.840 338.645,146.966 338.247,147.117 338.048 C 147.304 337.801,147.332 337.612,147.204 337.458 C 147.074 337.302,147.105 337.156,147.301 336.993 C 147.459 336.863,147.588 336.596,147.588 336.401 C 147.588 336.205,147.673 336.045,147.777 336.045 C 147.881 336.045,147.966 335.837,147.966 335.583 C 147.966 335.329,148.129 335.006,148.329 334.866 C 148.539 334.719,148.741 334.286,148.808 333.839 C 148.871 333.414,149.091 332.719,149.296 332.294 C 149.792 331.268,149.789 330.258,149.290 329.991 C 149.082 329.879,148.912 329.700,148.912 329.593 C 148.912 329.485,148.699 329.119,148.439 328.777 C 148.179 328.436,147.966 328.086,147.966 327.998 C 147.966 327.911,147.625 327.435,147.209 326.941 C 146.793 326.448,146.452 325.953,146.452 325.841 C 146.452 325.730,146.386 325.639,146.306 325.639 C 146.226 325.639,145.991 325.321,145.786 324.934 C 145.580 324.546,145.284 324.090,145.128 323.921 C 144.619 323.370,144.182 322.798,144.182 322.684 C 144.182 322.622,143.926 322.248,143.614 321.854 C 143.302 321.460,143.046 321.041,143.046 320.922 C 143.046 320.804,142.919 320.658,142.763 320.598 C 142.606 320.538,142.479 320.406,142.479 320.305 C 142.479 320.203,142.181 319.757,141.816 319.312 C 141.452 318.868,141.154 318.404,141.154 318.281 C 141.154 318.158,141.026 318.009,140.870 317.949 C 140.714 317.889,140.587 317.719,140.587 317.571 C 140.587 317.423,140.459 317.252,140.303 317.192 C 140.147 317.132,140.019 317.004,140.019 316.907 C 140.019 316.698,139.230 315.544,139.026 315.453 C 138.947 315.418,138.884 315.282,138.884 315.151 C 138.884 315.019,138.713 314.758,138.505 314.570 C 138.297 314.381,138.127 314.113,138.127 313.973 C 138.127 313.833,138.040 313.718,137.933 313.718 C 137.826 313.718,137.658 313.505,137.559 313.245 C 137.460 312.985,137.306 312.772,137.216 312.772 C 137.067 312.772,136.696 312.128,136.642 311.775 C 136.630 311.695,136.443 311.440,136.228 311.208 C 135.601 310.532,134.359 308.771,134.237 308.384 C 134.175 308.189,133.939 307.836,133.713 307.599 C 133.487 307.362,133.174 306.971,133.018 306.730 C 132.862 306.489,132.644 306.196,132.534 306.079 C 132.424 305.962,132.169 305.573,131.967 305.216 C 131.764 304.858,131.450 304.390,131.268 304.175 C 130.563 303.344,130.452 303.186,130.089 302.503 C 129.884 302.115,129.647 301.798,129.564 301.798 C 129.481 301.798,129.333 301.585,129.234 301.325 C 129.135 301.064,128.967 300.851,128.860 300.851 C 128.753 300.851,128.666 300.737,128.666 300.597 C 128.666 300.457,128.496 300.188,128.288 300.000 C 128.079 299.812,127.909 299.579,127.909 299.484 C 127.909 299.389,127.803 299.200,127.673 299.064 C 127.543 298.928,127.308 298.626,127.152 298.393 C 126.996 298.160,126.734 297.788,126.570 297.566 C 126.405 297.344,126.216 297.013,126.150 296.831 C 126.083 296.649,125.950 296.500,125.853 296.500 C 125.756 296.500,125.489 296.138,125.260 295.695 C 125.030 295.253,124.723 294.823,124.578 294.740 C 124.433 294.657,124.314 294.465,124.314 294.314 C 124.314 294.163,124.226 294.040,124.119 294.040 C 124.012 294.040,123.869 293.891,123.802 293.709 C 123.735 293.526,123.503 293.122,123.287 292.810 C 123.071 292.498,122.809 292.106,122.705 291.939 C 122.487 291.589,121.384 290.080,121.101 289.743 C 120.995 289.617,120.908 289.459,120.908 289.392 C 120.908 289.289,119.878 287.898,119.207 287.094 C 119.102 286.968,119.016 286.810,119.016 286.743 C 119.016 286.675,118.761 286.298,118.448 285.904 C 118.136 285.509,117.881 285.097,117.881 284.987 C 117.881 284.877,117.774 284.719,117.644 284.636 C 117.344 284.444,116.556 283.327,116.556 283.093 C 116.556 282.996,116.429 282.868,116.272 282.808 C 116.116 282.748,115.989 282.577,115.989 282.429 C 115.989 282.281,115.861 282.111,115.705 282.051 C 115.549 281.991,115.421 281.851,115.421 281.739 C 115.421 281.511,114.646 280.356,114.428 280.259 C 114.350 280.224,114.286 280.079,114.286 279.937 C 114.286 279.795,114.179 279.610,114.049 279.527 C 113.749 279.335,112.961 278.218,112.961 277.984 C 112.961 277.887,112.833 277.759,112.677 277.699 C 112.521 277.639,112.394 277.503,112.394 277.396 C 112.394 276.953,110.065 274.176,109.691 274.173 C 109.610 274.173,109.493 274.305,109.430 274.467 ",stroke:"none",fill:"#8ca516","fill-rule":"evenodd"}),React.createElement("path",{id:"path5",d:"",stroke:"none",fill:"#6db600","fill-rule":"evenodd"}),React.createElement("path",{id:"path6",d:"M79.186 45.256 C 78.978 45.372,78.369 45.838,77.832 46.291 C 77.295 46.744,76.809 47.114,76.752 47.114 C 76.696 47.114,76.441 47.306,76.186 47.540 C 75.500 48.170,75.046 48.533,74.934 48.540 C 74.693 48.557,73.983 49.116,73.983 49.289 C 73.982 49.611,72.116 51.366,71.950 51.200 C 71.890 51.140,71.722 51.260,71.577 51.468 C 71.431 51.675,71.190 51.845,71.039 51.845 C 70.889 51.845,70.766 52.019,70.766 52.232 C 70.766 52.464,70.539 52.748,70.200 52.942 C 69.888 53.119,69.633 53.328,69.632 53.406 C 69.632 53.484,69.461 53.548,69.253 53.548 C 69.044 53.548,68.874 53.634,68.874 53.739 C 68.874 53.992,67.915 55.061,67.688 55.061 C 67.590 55.061,67.342 55.274,67.137 55.535 C 66.933 55.795,66.647 56.008,66.502 56.008 C 66.357 56.008,66.137 56.197,66.013 56.429 C 65.743 56.933,65.537 57.138,64.871 57.564 C 64.594 57.741,64.126 58.227,63.830 58.644 C 63.452 59.177,63.194 59.371,62.961 59.300 C 62.776 59.244,62.630 59.297,62.630 59.421 C 62.630 59.747,61.733 60.786,61.150 61.136 C 60.865 61.307,60.668 61.576,60.699 61.751 C 60.730 61.922,60.634 62.062,60.487 62.062 C 60.249 62.062,59.039 63.359,58.877 63.788 C 58.843 63.879,58.688 63.955,58.533 63.955 C 58.258 63.955,57.711 64.387,57.711 64.603 C 57.711 64.663,57.561 64.867,57.379 65.056 C 57.197 65.246,56.793 65.714,56.482 66.097 C 56.170 66.480,55.804 66.793,55.668 66.793 C 55.532 66.793,55.296 67.091,55.144 67.455 C 54.992 67.819,54.762 68.121,54.633 68.125 C 54.505 68.130,53.463 69.275,52.318 70.671 C 51.173 72.067,50.086 73.262,49.903 73.326 C 49.719 73.390,49.605 73.501,49.649 73.573 C 49.805 73.824,49.216 74.409,48.921 74.296 C 48.711 74.216,48.627 74.303,48.625 74.604 C 48.622 75.122,48.429 75.402,48.074 75.402 C 47.926 75.402,47.741 75.638,47.663 75.927 C 47.586 76.216,47.349 76.642,47.137 76.874 C 46.126 77.977,44.276 80.266,44.276 80.414 C 44.276 80.505,44.106 80.634,43.898 80.700 C 43.690 80.766,43.519 80.985,43.519 81.186 C 43.519 81.387,43.390 81.701,43.233 81.883 C 41.478 83.908,40.527 85.119,40.618 85.210 C 40.679 85.271,40.378 85.740,39.948 86.253 C 39.519 86.766,39.167 87.281,39.167 87.396 C 39.167 87.512,39.040 87.606,38.884 87.606 C 38.728 87.606,38.600 87.763,38.600 87.954 C 38.600 88.146,38.324 88.625,37.988 89.019 C 37.651 89.413,37.374 89.838,37.373 89.964 C 37.371 90.090,36.944 90.679,36.424 91.275 C 35.904 91.870,35.500 92.441,35.527 92.542 C 35.554 92.644,35.398 92.916,35.181 93.147 C 34.964 93.378,34.676 93.822,34.542 94.134 C 34.408 94.447,34.074 94.941,33.800 95.232 C 33.526 95.524,33.302 95.856,33.302 95.971 C 33.302 96.086,33.089 96.459,32.829 96.800 C 32.569 97.141,32.356 97.527,32.356 97.657 C 32.356 97.788,32.194 98.070,31.996 98.285 C 31.656 98.654,31.110 99.547,30.515 100.706 C 30.370 100.990,30.171 101.272,30.073 101.332 C 29.976 101.392,29.896 101.592,29.896 101.776 C 29.896 101.960,29.683 102.310,29.423 102.554 C 29.163 102.799,28.950 103.139,28.950 103.311 C 28.950 103.483,28.745 103.816,28.495 104.051 C 28.245 104.286,27.983 104.780,27.914 105.149 C 27.845 105.518,27.539 106.085,27.233 106.410 C 26.928 106.735,26.716 107.099,26.761 107.220 C 26.806 107.340,26.678 107.587,26.477 107.769 C 26.276 107.951,26.112 108.252,26.112 108.438 C 26.112 108.624,26.032 108.825,25.934 108.886 C 25.725 109.015,25.166 110.097,25.166 110.374 C 25.166 110.480,25.049 110.701,24.908 110.865 C 24.766 111.029,24.497 111.573,24.310 112.072 C 24.124 112.572,23.805 113.098,23.602 113.240 C 23.388 113.390,23.291 113.594,23.372 113.724 C 23.448 113.848,23.409 114.012,23.285 114.089 C 23.161 114.166,23.040 114.357,23.017 114.513 C 22.994 114.669,22.842 115.001,22.679 115.251 C 22.516 115.500,22.320 115.918,22.245 116.178 C 22.005 117.008,21.524 117.971,21.276 118.117 C 21.144 118.196,20.979 118.600,20.908 119.016 C 20.838 119.432,20.703 119.773,20.608 119.773 C 20.513 119.773,20.435 119.909,20.435 120.075 C 20.435 120.390,19.954 121.350,19.531 121.878 C 19.395 122.047,19.304 122.260,19.328 122.351 C 19.423 122.710,19.048 123.830,18.710 124.192 C 18.514 124.402,18.354 124.722,18.354 124.902 C 18.354 125.081,18.265 125.258,18.156 125.294 C 18.048 125.331,17.934 125.593,17.904 125.878 C 17.874 126.163,17.792 126.453,17.723 126.522 C 17.654 126.591,17.597 126.800,17.597 126.985 C 17.597 127.171,17.456 127.402,17.284 127.498 C 17.104 127.598,17.019 127.797,17.083 127.965 C 17.148 128.134,17.072 128.303,16.903 128.368 C 16.743 128.430,16.659 128.604,16.718 128.756 C 16.776 128.908,16.742 129.083,16.643 129.144 C 16.543 129.206,16.462 129.496,16.462 129.789 C 16.462 130.083,16.337 130.426,16.184 130.553 C 16.031 130.680,15.913 130.839,15.922 130.907 C 15.975 131.306,15.854 131.666,15.559 131.989 C 15.375 132.191,15.231 132.483,15.240 132.640 C 15.254 132.898,14.806 134.251,14.394 135.194 C 14.034 136.017,13.441 137.881,13.325 138.555 C 13.257 138.946,13.127 139.313,13.034 139.370 C 12.942 139.427,12.867 139.724,12.867 140.030 C 12.867 140.336,12.781 140.587,12.677 140.587 C 12.573 140.587,12.488 140.752,12.488 140.954 C 12.488 141.156,12.403 141.374,12.299 141.438 C 12.195 141.502,12.108 141.784,12.106 142.064 C 12.103 142.344,11.940 142.928,11.743 143.362 C 11.546 143.796,11.432 144.198,11.489 144.255 C 11.547 144.312,11.412 144.782,11.189 145.299 C 10.967 145.816,10.785 146.405,10.785 146.608 C 10.785 146.811,10.658 147.220,10.503 147.519 C 10.347 147.817,10.219 148.290,10.219 148.570 C 10.218 148.850,10.144 149.124,10.054 149.180 C 9.964 149.236,9.832 149.645,9.760 150.090 C 9.514 151.625,8.933 154.114,8.690 154.683 C 8.531 155.055,8.445 155.436,7.841 158.467 C 7.675 159.300,7.457 160.135,7.357 160.323 C 7.256 160.510,7.122 161.216,7.060 161.890 C 6.997 162.564,6.873 163.160,6.784 163.215 C 6.695 163.270,6.621 163.586,6.620 163.918 C 6.618 164.251,6.490 165.061,6.335 165.719 C 6.180 166.377,6.010 167.271,5.957 167.706 C 5.904 168.140,5.815 168.794,5.757 169.158 C 5.700 169.522,5.628 170.076,5.597 170.388 C 5.566 170.700,5.489 171.083,5.425 171.239 C 5.361 171.395,5.221 172.247,5.113 173.132 C 5.006 174.016,4.874 174.995,4.821 175.307 C 4.767 175.620,4.675 176.471,4.616 177.200 C 4.557 177.928,4.436 178.612,4.347 178.719 C 4.258 178.827,4.184 179.337,4.182 179.854 C 4.180 180.372,4.133 181.306,4.077 181.930 C 4.021 182.554,3.937 183.576,3.890 184.201 C 3.843 184.825,3.790 185.336,3.772 185.336 C 3.711 185.336,3.445 190.033,3.343 192.917 C 3.310 193.860,3.223 194.729,3.149 194.847 C 3.017 195.060,3.058 195.456,3.313 196.452 C 3.388 196.743,3.369 196.973,3.271 196.973 C 2.976 196.973,3.139 207.939,3.515 213.434 C 3.575 214.319,3.650 215.511,3.680 216.083 C 3.711 216.656,3.841 218.188,3.969 219.489 C 4.098 220.790,4.193 222.138,4.181 222.485 C 4.170 222.833,4.219 223.211,4.291 223.327 C 4.449 223.584,4.491 223.880,4.653 225.875 C 4.722 226.734,4.832 227.436,4.897 227.436 C 4.961 227.436,5.029 227.670,5.047 227.956 C 5.081 228.509,5.332 230.268,5.686 232.450 C 5.804 233.179,5.892 234.009,5.880 234.295 C 5.869 234.581,5.927 234.816,6.010 234.816 C 6.092 234.816,6.155 235.163,6.149 235.587 C 6.144 236.012,6.205 236.400,6.286 236.450 C 6.367 236.500,6.433 236.797,6.433 237.110 C 6.433 237.423,6.516 237.833,6.617 238.023 C 6.719 238.212,6.898 238.994,7.016 239.760 C 7.134 240.527,7.282 241.239,7.344 241.342 C 7.407 241.445,7.471 241.785,7.488 242.099 C 7.504 242.412,7.616 243.024,7.736 243.460 C 7.857 243.896,7.937 244.321,7.916 244.406 C 7.894 244.491,8.052 245.128,8.267 245.821 C 8.482 246.515,8.615 247.303,8.564 247.572 C 8.511 247.851,8.557 248.061,8.673 248.061 C 8.785 248.061,8.929 248.380,8.994 248.770 C 9.059 249.160,9.162 249.607,9.224 249.763 C 9.286 249.920,9.352 250.218,9.370 250.426 C 9.389 250.634,9.502 251.044,9.622 251.337 C 9.741 251.630,9.839 252.027,9.839 252.220 C 9.839 252.413,9.929 252.600,10.040 252.637 C 10.150 252.674,10.245 253.071,10.251 253.519 C 10.258 254.029,10.360 254.371,10.524 254.434 C 10.668 254.489,10.785 254.736,10.785 254.982 C 10.785 255.505,11.579 258.598,11.996 259.697 C 12.153 260.114,12.286 260.593,12.291 260.764 C 12.295 260.934,12.426 261.317,12.582 261.615 C 12.737 261.913,12.865 262.292,12.865 262.457 C 12.866 262.621,12.926 262.815,12.998 262.888 C 13.071 262.960,13.152 263.123,13.179 263.251 C 13.404 264.299,13.720 265.234,13.934 265.483 C 14.076 265.648,14.191 265.999,14.191 266.264 C 14.191 266.529,14.319 266.852,14.475 266.982 C 14.631 267.112,14.759 267.458,14.759 267.751 C 14.759 268.044,14.838 268.333,14.936 268.393 C 15.033 268.454,15.252 268.991,15.423 269.587 C 15.594 270.184,15.898 270.953,16.098 271.297 C 16.298 271.642,16.462 272.082,16.462 272.275 C 16.462 272.469,16.558 272.659,16.675 272.698 C 16.792 272.737,16.907 272.936,16.929 273.139 C 17.027 274.010,17.279 274.723,17.524 274.816 C 17.668 274.872,17.786 275.128,17.786 275.385 C 17.786 275.642,17.871 275.905,17.975 275.970 C 18.079 276.034,18.165 276.232,18.165 276.409 C 18.165 276.587,18.335 277.050,18.543 277.438 C 18.751 277.827,18.925 278.294,18.928 278.476 C 18.932 278.659,19.137 279.055,19.384 279.357 C 19.631 279.659,19.788 280.024,19.733 280.169 C 19.678 280.313,19.771 280.583,19.940 280.770 C 20.109 280.957,20.375 281.538,20.530 282.062 C 20.686 282.585,20.983 283.230,21.192 283.495 C 21.400 283.760,21.570 284.084,21.570 284.216 C 21.570 284.347,21.687 284.589,21.830 284.753 C 21.973 284.918,22.233 285.494,22.409 286.035 C 22.585 286.575,22.882 287.214,23.070 287.454 C 23.257 287.694,23.476 288.103,23.555 288.363 C 23.635 288.623,23.944 289.172,24.243 289.583 C 24.542 289.994,24.787 290.569,24.787 290.860 C 24.787 291.152,24.852 291.391,24.931 291.391 C 25.093 291.391,25.194 291.562,26.053 293.295 C 26.385 293.965,26.875 294.806,27.141 295.164 C 27.407 295.523,27.625 295.999,27.625 296.223 C 27.625 296.447,27.796 296.784,28.004 296.973 C 28.212 297.161,28.382 297.402,28.382 297.507 C 28.382 297.613,28.501 297.834,28.647 297.998 C 29.249 298.678,29.679 299.668,29.465 299.882 C 29.311 300.036,29.391 300.234,29.765 300.624 C 30.045 300.917,30.274 301.258,30.274 301.382 C 30.274 301.507,30.346 301.608,30.433 301.608 C 30.521 301.608,30.692 301.800,30.815 302.034 C 30.937 302.268,31.289 302.800,31.596 303.217 C 31.903 303.633,32.157 304.086,32.160 304.224 C 32.164 304.361,32.273 304.592,32.403 304.737 C 32.948 305.345,33.113 305.575,33.113 305.728 C 33.113 305.817,33.367 306.133,33.678 306.431 C 34.339 307.065,34.665 306.968,36.013 305.736 C 36.434 305.351,36.848 305.079,36.934 305.132 C 37.019 305.184,37.140 305.094,37.202 304.932 C 37.265 304.769,37.430 304.636,37.569 304.636 C 37.708 304.636,37.940 304.466,38.086 304.259 C 38.231 304.051,38.408 303.939,38.479 304.011 C 38.550 304.082,38.739 303.953,38.899 303.726 C 39.058 303.498,39.308 303.311,39.453 303.311 C 39.598 303.311,39.784 303.205,39.868 303.075 C 39.951 302.945,40.307 302.677,40.660 302.481 C 41.013 302.284,41.460 301.986,41.653 301.819 C 41.847 301.651,42.169 301.372,42.368 301.198 C 42.568 301.025,42.783 300.935,42.846 300.998 C 42.909 301.061,43.091 300.926,43.251 300.698 C 43.410 300.470,43.655 300.284,43.794 300.284 C 43.933 300.284,44.098 300.151,44.160 299.988 C 44.222 299.825,44.350 299.739,44.443 299.797 C 44.536 299.854,44.941 299.597,45.343 299.225 C 45.745 298.853,46.383 298.390,46.760 298.195 C 47.137 298.000,47.497 297.709,47.558 297.548 C 47.620 297.388,47.790 297.256,47.937 297.256 C 48.083 297.256,48.309 297.130,48.437 296.975 C 48.566 296.820,48.747 296.740,48.840 296.797 C 48.933 296.855,49.061 296.768,49.123 296.605 C 49.186 296.442,49.544 296.163,49.920 295.985 C 50.295 295.806,50.746 295.530,50.921 295.371 C 51.096 295.211,51.463 294.877,51.737 294.629 C 52.011 294.381,52.289 294.231,52.354 294.297 C 52.420 294.362,52.593 294.245,52.740 294.035 C 52.886 293.826,53.080 293.701,53.171 293.757 C 53.261 293.813,53.404 293.750,53.489 293.618 C 53.635 293.389,54.125 293.034,54.633 292.790 C 54.761 292.728,55.229 292.345,55.673 291.939 C 56.117 291.534,56.558 291.202,56.652 291.202 C 56.746 291.202,57.129 290.968,57.503 290.682 C 57.877 290.396,58.245 290.182,58.320 290.207 C 58.395 290.232,58.547 290.082,58.658 289.875 C 58.768 289.668,58.987 289.499,59.142 289.499 C 59.298 289.499,59.476 289.366,59.538 289.204 C 59.601 289.042,59.753 288.948,59.877 288.996 C 60.001 289.043,60.204 288.921,60.327 288.723 C 60.451 288.525,60.636 288.363,60.740 288.363 C 60.843 288.363,61.097 288.214,61.306 288.032 C 61.514 287.850,61.861 287.545,62.078 287.354 C 62.295 287.163,62.515 287.050,62.567 287.102 C 62.619 287.154,62.825 287.055,63.024 286.881 C 63.224 286.708,63.550 286.424,63.750 286.250 C 63.949 286.077,64.164 285.987,64.227 286.050 C 64.290 286.113,64.472 285.978,64.632 285.750 C 64.792 285.522,65.025 285.336,65.150 285.336 C 65.275 285.336,65.484 285.166,65.614 284.957 C 65.744 284.749,65.950 284.579,66.073 284.579 C 66.196 284.579,66.784 284.196,67.380 283.728 C 67.976 283.259,68.556 282.876,68.669 282.876 C 68.782 282.876,68.874 282.801,68.874 282.709 C 68.874 282.617,69.023 282.488,69.205 282.422 C 69.809 282.204,70.450 281.773,70.619 281.471 C 70.710 281.307,70.904 281.173,71.050 281.173 C 71.196 281.173,71.383 281.056,71.466 280.912 C 71.550 280.769,71.919 280.491,72.286 280.296 C 72.944 279.946,73.261 279.714,74.012 279.029 C 74.222 278.838,74.434 278.722,74.483 278.772 C 74.533 278.822,74.773 278.680,75.017 278.457 C 75.752 277.784,76.020 277.596,76.111 277.688 C 76.159 277.735,76.572 277.432,77.030 277.014 C 77.487 276.596,77.959 276.254,78.078 276.254 C 78.197 276.254,78.347 276.117,78.411 275.950 C 78.475 275.783,78.639 275.690,78.776 275.742 C 78.912 275.794,79.127 275.672,79.253 275.470 C 79.379 275.269,79.561 275.152,79.656 275.211 C 79.752 275.270,79.922 275.145,80.035 274.934 C 80.148 274.723,80.356 274.551,80.497 274.551 C 80.639 274.551,80.803 274.423,80.863 274.267 C 80.923 274.111,81.092 273.983,81.239 273.983 C 81.385 273.983,81.609 273.858,81.736 273.705 C 81.863 273.552,82.022 273.446,82.090 273.469 C 82.158 273.491,82.405 273.340,82.640 273.132 C 82.874 272.923,83.243 272.597,83.459 272.406 C 83.676 272.215,83.903 272.108,83.963 272.168 C 84.023 272.229,84.191 272.108,84.336 271.900 C 84.482 271.693,84.723 271.523,84.874 271.523 C 85.024 271.523,85.147 271.438,85.147 271.334 C 85.147 271.230,85.296 271.145,85.480 271.145 C 85.663 271.145,85.921 270.971,86.053 270.759 C 86.186 270.547,86.367 270.418,86.457 270.474 C 86.546 270.529,86.758 270.362,86.928 270.102 C 87.098 269.843,87.362 269.631,87.516 269.631 C 87.670 269.631,87.796 269.554,87.796 269.461 C 87.796 269.367,88.158 269.103,88.600 268.874 C 89.042 268.644,89.472 268.337,89.555 268.192 C 89.639 268.047,89.830 267.928,89.981 267.928 C 90.132 267.928,90.255 267.841,90.255 267.734 C 90.255 267.628,90.468 267.459,90.728 267.360 C 90.989 267.262,91.202 267.113,91.202 267.030 C 91.202 266.947,91.521 266.713,91.911 266.511 C 92.632 266.138,92.857 265.977,93.614 265.288 C 93.848 265.075,94.105 264.922,94.185 264.948 C 94.328 264.994,94.626 264.780,95.394 264.081 C 95.603 263.890,95.823 263.783,95.883 263.843 C 95.943 263.903,96.111 263.782,96.257 263.575 C 96.402 263.367,96.641 263.198,96.787 263.198 C 96.934 263.198,97.145 263.027,97.256 262.819 C 97.368 262.611,97.566 262.441,97.696 262.441 C 97.826 262.441,98.228 262.189,98.588 261.881 C 98.948 261.573,99.345 261.318,99.470 261.313 C 99.595 261.309,99.765 261.199,99.849 261.069 C 99.932 260.939,100.170 260.738,100.378 260.623 C 100.865 260.354,100.977 259.783,100.587 259.564 C 100.420 259.471,100.284 259.324,100.284 259.238 C 100.284 259.151,99.986 258.586,99.622 257.981 C 99.257 257.376,98.959 256.766,98.959 256.626 C 98.959 256.485,98.803 256.202,98.612 255.997 C 98.421 255.792,97.979 255.051,97.629 254.350 C 97.279 253.648,96.927 253.047,96.847 253.014 C 96.766 252.980,96.644 252.639,96.575 252.257 C 96.507 251.874,96.369 251.458,96.270 251.333 C 95.977 250.964,95.364 249.702,95.364 249.469 C 95.364 249.350,95.194 249.057,94.986 248.817 C 94.778 248.577,94.607 248.192,94.607 247.960 C 94.607 247.729,94.480 247.433,94.324 247.304 C 94.167 247.174,94.039 246.972,94.039 246.855 C 94.038 246.737,93.928 246.429,93.794 246.168 C 93.659 245.908,93.364 245.142,93.137 244.465 C 92.909 243.789,92.551 242.898,92.341 242.486 C 92.131 242.074,91.958 241.551,91.958 241.324 C 91.958 241.097,91.831 240.862,91.675 240.802 C 91.518 240.742,91.391 240.480,91.391 240.219 C 91.391 239.959,91.175 239.258,90.912 238.663 C 90.648 238.067,90.474 237.471,90.525 237.339 C 90.576 237.207,90.536 237.048,90.436 236.986 C 90.337 236.925,90.255 236.743,90.255 236.583 C 90.255 236.423,90.138 236.024,89.994 235.696 C 89.633 234.873,89.405 234.170,89.035 232.734 C 88.860 232.058,88.638 231.243,88.540 230.923 C 88.443 230.604,88.363 230.199,88.363 230.024 C 88.363 229.850,88.269 229.707,88.154 229.707 C 88.038 229.707,87.997 229.569,88.062 229.399 C 88.127 229.230,88.106 228.995,88.014 228.879 C 87.923 228.762,87.793 228.249,87.727 227.739 C 87.660 227.229,87.529 226.718,87.435 226.604 C 87.341 226.489,87.205 225.885,87.133 225.260 C 87.061 224.636,86.875 223.674,86.720 223.122 C 86.565 222.570,86.365 221.506,86.276 220.757 C 86.039 218.777,85.722 216.991,85.531 216.556 C 85.440 216.348,85.312 215.241,85.247 214.096 C 85.073 211.034,84.952 209.437,84.844 208.798 C 84.589 207.284,84.477 198.358,84.678 195.553 C 84.730 194.825,84.809 193.718,84.853 193.094 C 84.897 192.469,85.030 190.851,85.149 189.499 C 85.269 188.146,85.391 186.729,85.421 186.350 C 85.452 185.972,85.521 185.588,85.574 185.499 C 85.628 185.409,85.733 184.697,85.808 183.917 C 85.884 183.136,86.031 182.392,86.135 182.264 C 86.239 182.135,86.272 181.893,86.208 181.726 C 86.144 181.559,86.155 181.324,86.233 181.203 C 86.311 181.083,86.476 180.345,86.598 179.565 C 86.721 178.784,86.878 177.933,86.947 177.673 C 87.017 177.412,87.119 176.753,87.174 176.206 C 87.230 175.660,87.347 175.213,87.434 175.213 C 87.522 175.213,87.650 174.785,87.719 174.263 C 87.789 173.740,87.916 173.269,88.001 173.216 C 88.087 173.163,88.214 172.612,88.284 171.990 C 88.355 171.369,88.477 170.861,88.556 170.861 C 88.679 170.861,88.867 170.215,89.051 169.158 C 89.178 168.428,89.542 167.132,89.766 166.612 C 90.345 165.264,90.429 164.986,90.334 164.738 C 90.279 164.594,90.375 164.422,90.548 164.356 C 90.726 164.287,90.816 164.116,90.756 163.959 C 90.698 163.807,90.732 163.633,90.831 163.571 C 90.931 163.510,91.012 163.214,91.012 162.914 C 91.012 162.614,91.097 162.316,91.202 162.252 C 91.306 162.187,91.391 161.991,91.392 161.815 C 91.393 161.639,91.520 161.251,91.676 160.953 C 91.831 160.655,91.958 160.303,91.958 160.172 C 91.958 160.040,92.086 159.827,92.242 159.697 C 92.398 159.568,92.526 159.217,92.526 158.917 C 92.526 158.618,92.611 158.373,92.715 158.373 C 92.819 158.373,92.904 158.207,92.904 158.005 C 92.904 157.803,92.990 157.586,93.094 157.521 C 93.198 157.457,93.283 157.239,93.283 157.037 C 93.283 156.835,93.368 156.670,93.472 156.670 C 93.576 156.670,93.661 156.457,93.661 156.197 C 93.661 155.937,93.746 155.724,93.851 155.724 C 93.955 155.724,94.040 155.558,94.040 155.356 C 94.040 155.154,94.114 154.943,94.205 154.887 C 94.295 154.831,94.424 154.513,94.491 154.179 C 94.557 153.846,94.732 153.439,94.879 153.276 C 95.025 153.113,95.173 152.854,95.207 152.701 C 95.242 152.547,95.372 152.311,95.498 152.175 C 95.624 152.039,95.683 151.814,95.629 151.675 C 95.576 151.535,95.668 151.368,95.835 151.304 C 96.002 151.240,96.122 151.080,96.101 150.949 C 96.052 150.643,96.622 149.354,96.875 149.198 C 96.981 149.132,97.067 148.918,97.067 148.722 C 97.067 148.526,97.247 148.240,97.466 148.086 C 97.686 147.933,97.814 147.725,97.753 147.625 C 97.691 147.525,97.809 147.228,98.016 146.965 C 98.223 146.702,98.392 146.357,98.392 146.197 C 98.392 146.037,98.472 145.857,98.570 145.797 C 98.668 145.736,98.936 145.310,99.166 144.849 C 99.396 144.389,99.678 144.029,99.792 144.049 C 99.907 144.070,99.973 143.930,99.940 143.737 C 99.907 143.545,99.992 143.247,100.129 143.075 C 100.434 142.693,100.816 142.036,101.254 141.139 C 101.437 140.767,101.719 140.352,101.881 140.218 C 102.043 140.083,102.176 139.856,102.176 139.712 C 102.176 139.569,102.472 139.124,102.835 138.723 C 103.197 138.322,103.444 137.944,103.382 137.883 C 103.256 137.756,104.837 135.667,105.059 135.667 C 105.138 135.667,105.203 135.517,105.203 135.334 C 105.203 135.151,105.500 134.661,105.862 134.246 C 106.224 133.831,106.522 133.385,106.524 133.254 C 106.526 133.124,106.627 133.039,106.748 133.065 C 106.869 133.091,107.018 132.927,107.079 132.700 C 107.192 132.281,107.820 131.433,108.930 130.202 C 109.269 129.825,109.549 129.414,109.551 129.288 C 109.553 129.161,109.726 128.967,109.934 128.855 C 110.142 128.744,110.312 128.528,110.312 128.376 C 110.312 128.223,110.405 128.098,110.518 128.098 C 110.815 128.098,111.434 127.306,111.441 126.916 C 111.445 126.717,111.593 126.585,111.813 126.585 C 112.072 126.585,112.197 126.432,112.239 126.064 C 112.280 125.705,112.401 125.552,112.630 125.570 C 112.812 125.585,112.961 125.521,112.961 125.429 C 112.961 125.337,113.259 124.931,113.623 124.528 C 113.988 124.125,114.286 123.699,114.286 123.582 C 114.286 123.464,114.413 123.368,114.570 123.368 C 114.726 123.368,114.854 123.304,114.854 123.226 C 114.855 122.992,116.210 121.476,116.417 121.476 C 116.688 121.476,117.111 120.877,117.118 120.482 C 117.121 120.297,117.270 120.149,117.455 120.147 C 117.637 120.144,118.031 119.811,118.331 119.405 C 118.654 118.970,118.982 118.709,119.135 118.768 C 119.278 118.823,119.395 118.791,119.395 118.698 C 119.395 118.605,119.733 118.149,120.146 117.685 C 120.559 117.220,120.900 116.776,120.903 116.698 C 120.906 116.620,121.026 116.556,121.170 116.556 C 121.313 116.556,121.656 116.262,121.930 115.901 C 122.243 115.491,122.534 115.287,122.710 115.354 C 122.884 115.421,122.990 115.348,122.990 115.161 C 122.990 114.996,123.181 114.810,123.415 114.748 C 123.649 114.687,124.120 114.259,124.462 113.799 C 124.804 113.338,125.169 112.961,125.275 112.961 C 125.625 112.961,126.383 111.929,126.388 111.447 C 126.391 111.052,125.869 110.217,124.884 109.043 C 124.779 108.917,124.689 108.747,124.685 108.665 C 124.681 108.582,124.425 108.220,124.117 107.860 C 123.809 107.499,123.557 107.123,123.557 107.024 C 123.557 106.925,123.427 106.709,123.269 106.544 C 122.761 106.017,121.665 104.476,121.665 104.289 C 121.665 104.190,121.537 104.060,121.381 104.000 C 121.225 103.940,121.097 103.790,121.097 103.668 C 121.097 103.545,120.799 103.081,120.435 102.637 C 120.071 102.192,119.773 101.736,119.773 101.624 C 119.773 101.511,119.688 101.419,119.584 101.419 C 119.480 101.419,119.395 101.305,119.395 101.165 C 119.395 101.025,119.224 100.756,119.016 100.568 C 118.808 100.379,118.638 100.120,118.638 99.991 C 118.638 99.862,118.510 99.708,118.354 99.648 C 118.198 99.588,118.070 99.413,118.070 99.258 C 118.070 99.104,117.959 98.910,117.823 98.827 C 117.687 98.744,117.373 98.335,117.124 97.919 C 116.875 97.502,116.561 97.094,116.425 97.010 C 116.289 96.927,116.178 96.766,116.178 96.652 C 116.178 96.537,115.880 96.080,115.516 95.636 C 115.151 95.191,114.853 94.753,114.853 94.663 C 114.853 94.573,114.601 94.204,114.293 93.843 C 113.985 93.483,113.730 93.121,113.726 93.038 C 113.722 92.956,113.632 92.786,113.527 92.660 C 112.772 91.760,112.204 90.922,112.204 90.709 C 112.204 90.571,112.034 90.367,111.826 90.255 C 111.618 90.144,111.447 89.926,111.447 89.770 C 111.447 89.614,111.320 89.438,111.164 89.378 C 111.008 89.318,110.880 89.189,110.880 89.092 C 110.880 88.883,110.091 87.729,109.886 87.638 C 109.808 87.603,109.745 87.459,109.745 87.316 C 109.745 87.174,109.638 86.990,109.508 86.906 C 109.195 86.706,108.420 85.593,108.420 85.344 C 108.420 85.235,108.333 85.147,108.226 85.147 C 108.120 85.147,107.951 84.934,107.852 84.674 C 107.753 84.413,107.585 84.201,107.479 84.201 C 107.372 84.201,107.285 84.112,107.285 84.004 C 107.285 83.795,106.542 82.672,106.274 82.476 C 106.086 82.338,105.636 81.589,105.472 81.139 C 105.408 80.964,105.236 80.775,105.090 80.719 C 104.944 80.663,104.825 80.496,104.825 80.348 C 104.825 80.200,104.697 80.029,104.541 79.969 C 104.385 79.910,104.257 79.743,104.257 79.600 C 104.257 79.457,104.087 79.186,103.879 78.997 C 103.671 78.809,103.500 78.582,103.500 78.493 C 103.500 78.404,103.032 77.698,102.460 76.924 C 101.887 76.150,101.419 75.467,101.419 75.407 C 101.419 75.346,101.100 74.885,100.710 74.382 C 100.319 73.879,99.872 73.278,99.716 73.046 C 99.560 72.815,99.262 72.431,99.054 72.193 C 98.846 71.956,98.505 71.477,98.297 71.129 C 98.089 70.781,97.769 70.280,97.585 70.016 C 97.402 69.752,97.200 69.387,97.138 69.205 C 97.075 69.023,96.946 68.874,96.851 68.874 C 96.757 68.874,96.598 68.661,96.500 68.401 C 96.401 68.141,96.232 67.928,96.126 67.928 C 96.019 67.928,95.932 67.836,95.932 67.723 C 95.932 67.611,95.634 67.155,95.270 66.711 C 94.905 66.266,94.607 65.805,94.607 65.685 C 94.607 65.566,94.520 65.468,94.413 65.468 C 94.307 65.468,94.137 65.277,94.036 65.043 C 93.750 64.382,93.408 63.889,93.046 63.616 C 92.864 63.478,92.715 63.261,92.715 63.133 C 92.715 63.004,92.463 62.605,92.155 62.245 C 91.847 61.884,91.592 61.522,91.588 61.440 C 91.583 61.357,91.494 61.187,91.389 61.061 C 90.740 60.285,89.688 58.868,89.688 58.772 C 89.688 58.668,88.254 56.616,87.796 56.063 C 87.692 55.937,87.606 55.776,87.606 55.704 C 87.606 55.632,87.308 55.210,86.944 54.765 C 86.580 54.321,86.282 53.872,86.282 53.768 C 86.282 53.664,86.218 53.551,86.140 53.516 C 85.977 53.444,85.147 52.290,85.147 52.136 C 85.147 52.080,84.998 51.870,84.816 51.669 C 84.309 51.111,84.132 50.868,83.637 50.047 C 83.386 49.631,83.070 49.222,82.934 49.139 C 82.798 49.056,82.687 48.894,82.687 48.780 C 82.687 48.666,82.389 48.209,82.025 47.764 C 81.660 47.320,81.362 46.864,81.362 46.752 C 81.362 46.639,81.277 46.547,81.173 46.547 C 81.069 46.547,80.984 46.433,80.984 46.294 C 80.984 46.033,79.963 45.029,79.708 45.039 C 79.629 45.042,79.395 45.140,79.186 45.256 ",stroke:"none",fill:"#9fbb1a","fill-rule":"evenodd"}),React.createElement("path",{id:"path7",d:"M190.728 4.092 C 190.364 4.223,189.799 4.285,189.473 4.229 C 189.135 4.172,188.824 4.219,188.750 4.338 C 188.679 4.453,188.530 4.491,188.419 4.423 C 188.117 4.236,186.136 4.191,185.800 4.363 C 185.639 4.446,184.674 4.555,183.655 4.606 C 182.637 4.658,181.757 4.746,181.700 4.803 C 181.643 4.860,181.445 4.825,181.260 4.726 C 181.028 4.602,180.702 4.639,180.211 4.844 C 179.819 5.008,179.236 5.103,178.916 5.056 C 178.597 5.009,178.153 5.054,177.930 5.155 C 177.665 5.276,177.408 5.275,177.188 5.151 C 176.939 5.012,176.677 5.060,176.193 5.332 C 175.705 5.606,175.498 5.643,175.395 5.476 C 175.317 5.350,175.150 5.315,175.018 5.396 C 174.731 5.574,173.781 5.731,173.132 5.709 C 172.871 5.700,172.531 5.745,172.375 5.809 C 172.219 5.872,171.835 5.942,171.523 5.964 C 171.211 5.986,170.805 6.068,170.621 6.145 C 170.437 6.223,170.057 6.243,169.775 6.189 C 169.494 6.135,168.963 6.205,168.596 6.343 C 168.229 6.481,167.673 6.577,167.360 6.556 C 167.048 6.534,166.553 6.631,166.259 6.771 C 165.966 6.910,165.540 7.007,165.313 6.985 C 165.086 6.963,164.773 6.996,164.617 7.059 C 164.461 7.122,163.936 7.213,163.450 7.261 C 162.965 7.310,162.403 7.437,162.203 7.544 C 162.003 7.651,161.464 7.761,161.005 7.788 C 160.547 7.815,159.865 7.985,159.491 8.166 C 159.117 8.347,158.627 8.447,158.401 8.388 C 158.176 8.329,157.886 8.367,157.757 8.472 C 157.627 8.576,157.223 8.661,156.859 8.658 C 156.495 8.656,155.899 8.785,155.535 8.945 C 155.170 9.104,154.532 9.288,154.115 9.354 C 153.699 9.419,153.018 9.570,152.602 9.689 C 152.185 9.809,151.771 9.888,151.680 9.865 C 151.589 9.842,151.079 9.974,150.545 10.156 C 150.011 10.339,149.404 10.494,149.196 10.501 C 148.988 10.508,148.711 10.580,148.582 10.660 C 148.452 10.741,148.160 10.842,147.933 10.886 C 147.706 10.930,147.466 11.054,147.399 11.162 C 147.333 11.270,146.854 11.388,146.337 11.424 C 145.819 11.460,145.229 11.581,145.025 11.691 C 144.416 12.023,143.918 12.170,143.561 12.126 C 143.375 12.103,142.854 12.291,142.402 12.543 C 141.806 12.877,141.492 12.953,141.259 12.823 C 141.031 12.696,140.841 12.731,140.605 12.944 C 140.423 13.110,140.221 13.245,140.158 13.245 C 140.095 13.245,139.804 13.342,139.511 13.461 C 139.218 13.580,138.851 13.703,138.694 13.735 C 137.405 14.000,136.837 14.157,136.471 14.348 C 135.438 14.886,135.267 14.948,134.805 14.948 C 134.536 14.948,134.188 15.076,134.032 15.232 C 133.876 15.388,133.551 15.516,133.311 15.516 C 133.071 15.516,132.768 15.644,132.638 15.802 C 132.460 16.015,132.336 16.035,132.148 15.879 C 131.958 15.721,131.744 15.777,131.277 16.110 C 130.937 16.353,130.518 16.527,130.348 16.498 C 130.177 16.469,129.991 16.567,129.934 16.715 C 129.877 16.863,129.210 17.172,128.451 17.403 C 127.692 17.633,126.900 17.942,126.691 18.088 C 126.482 18.234,126.171 18.354,126.000 18.354 C 125.829 18.354,125.479 18.520,125.221 18.722 C 124.961 18.927,124.590 19.048,124.387 18.995 C 124.177 18.940,123.727 19.099,123.331 19.367 C 122.952 19.625,122.597 19.791,122.543 19.736 C 122.488 19.682,122.192 19.817,121.883 20.036 C 121.575 20.256,121.143 20.435,120.923 20.435 C 120.702 20.435,120.185 20.648,119.773 20.908 C 119.361 21.168,118.958 21.383,118.878 21.385 C 118.798 21.387,117.966 21.769,117.029 22.235 C 116.093 22.701,115.172 23.082,114.983 23.083 C 114.794 23.084,114.368 23.289,114.037 23.539 C 113.705 23.789,113.117 24.124,112.729 24.284 C 112.341 24.444,111.836 24.750,111.605 24.965 C 111.172 25.369,111.017 25.422,110.449 25.364 C 110.263 25.345,109.604 25.675,108.984 26.099 C 108.364 26.522,107.767 26.868,107.657 26.868 C 107.548 26.868,106.986 27.217,106.409 27.643 C 105.732 28.143,105.231 28.384,104.995 28.322 C 104.763 28.262,104.208 28.515,103.479 29.014 C 102.847 29.447,102.189 29.886,102.016 29.991 C 101.844 30.095,101.650 30.253,101.585 30.342 C 101.520 30.431,101.290 30.448,101.075 30.380 C 100.804 30.294,100.435 30.433,99.869 30.835 C 99.421 31.154,98.845 31.562,98.591 31.743 C 98.336 31.924,97.760 32.349,97.312 32.687 C 96.863 33.025,96.412 33.302,96.309 33.302 C 96.206 33.302,96.121 33.387,96.121 33.491 C 96.121 33.595,96.032 33.680,95.924 33.680 C 95.815 33.680,95.624 33.763,95.498 33.865 C 95.372 33.966,95.019 34.252,94.713 34.501 L 94.157 34.952 94.848 35.972 C 95.229 36.533,96.117 37.818,96.824 38.829 C 97.530 39.840,98.482 41.202,98.939 41.857 C 99.396 42.511,100.152 43.600,100.618 44.276 C 101.085 44.953,101.626 45.682,101.821 45.897 C 102.016 46.112,102.176 46.351,102.176 46.428 C 102.176 46.506,102.474 46.969,102.838 47.457 C 103.690 48.598,103.846 48.816,104.594 49.902 C 105.327 50.967,108.212 55.098,108.792 55.913 C 109.014 56.225,109.932 57.545,110.832 58.846 C 111.732 60.147,112.515 61.254,112.573 61.306 C 112.631 61.358,112.934 61.783,113.246 62.252 C 113.557 62.720,113.878 63.188,113.957 63.292 C 114.786 64.376,115.421 65.277,115.421 65.371 C 115.421 65.434,115.825 66.032,116.320 66.700 C 117.956 68.911,118.920 70.264,119.016 70.484 C 119.068 70.604,119.648 71.461,120.305 72.390 C 124.511 78.336,125.354 79.540,126.329 80.984 C 126.926 81.868,127.674 82.929,127.993 83.340 C 128.311 83.751,128.657 84.236,128.761 84.418 C 128.933 84.718,130.457 86.906,132.027 89.106 C 132.367 89.582,133.022 90.525,133.484 91.202 C 133.945 91.878,134.716 92.985,135.198 93.661 C 135.680 94.338,136.301 95.232,136.580 95.648 C 136.858 96.064,137.171 96.501,137.275 96.618 C 137.379 96.736,137.574 96.991,137.707 97.186 C 137.840 97.381,138.421 98.221,138.998 99.054 C 139.575 99.886,140.190 100.801,140.364 101.087 C 140.778 101.764,141.053 101.743,142.264 100.946 C 142.817 100.581,143.341 100.326,143.427 100.380 C 143.513 100.433,143.697 100.366,143.835 100.231 C 144.299 99.780,145.901 98.770,146.152 98.770 C 146.289 98.770,146.618 98.600,146.882 98.392 C 147.147 98.184,147.483 98.013,147.628 98.013 C 147.774 98.013,148.059 97.888,148.261 97.735 C 148.463 97.583,148.726 97.455,148.846 97.452 C 148.965 97.448,149.509 97.145,150.055 96.778 C 150.600 96.411,151.089 96.153,151.140 96.205 C 151.192 96.257,151.483 96.122,151.786 95.906 C 152.118 95.670,152.519 95.548,152.792 95.600 C 153.102 95.659,153.457 95.512,153.915 95.135 C 154.284 94.831,154.661 94.630,154.754 94.687 C 154.846 94.744,155.137 94.622,155.400 94.416 C 155.663 94.209,156.064 94.040,156.292 94.040 C 156.699 94.040,156.919 93.949,158.510 93.124 C 158.950 92.896,159.546 92.677,159.835 92.638 C 160.332 92.572,161.122 92.273,162.479 91.639 C 162.812 91.484,163.157 91.402,163.247 91.457 C 163.337 91.513,163.916 91.315,164.534 91.018 C 165.152 90.721,165.730 90.547,165.818 90.631 C 165.907 90.716,166.439 90.574,167.002 90.317 C 167.565 90.059,168.344 89.809,168.733 89.762 C 169.521 89.665,170.644 89.319,170.995 89.064 C 171.120 88.973,171.298 88.945,171.391 89.002 C 171.483 89.059,171.986 88.944,172.508 88.746 C 173.207 88.480,173.512 88.441,173.668 88.597 C 173.824 88.753,173.972 88.725,174.230 88.491 C 174.423 88.317,174.760 88.174,174.980 88.174 C 175.200 88.174,175.429 88.095,175.489 87.997 C 175.549 87.900,175.894 87.869,176.255 87.927 C 176.638 87.989,177.025 87.941,177.181 87.811 C 177.329 87.688,177.822 87.566,178.277 87.539 C 178.732 87.512,179.217 87.420,179.356 87.335 C 179.494 87.249,180.025 87.157,180.536 87.129 C 181.047 87.102,181.577 86.986,181.715 86.871 C 181.852 86.757,182.016 86.715,182.079 86.778 C 182.142 86.841,182.631 86.787,183.166 86.659 C 183.701 86.530,184.664 86.406,185.305 86.382 C 185.946 86.358,186.641 86.288,186.850 86.226 C 187.397 86.063,191.399 85.731,194.229 85.613 C 198.932 85.416,201.514 85.397,201.514 85.558 C 201.514 85.654,201.635 85.665,201.783 85.582 C 201.992 85.464,204.170 85.524,206.339 85.706 C 206.505 85.720,207.806 85.733,209.555 85.737 C 209.868 85.738,210.251 85.786,210.407 85.844 C 210.703 85.954,211.110 86.005,212.895 86.157 C 213.483 86.207,214.121 86.329,214.314 86.429 C 214.507 86.528,214.771 86.571,214.901 86.524 C 215.032 86.477,216.032 86.579,217.124 86.751 C 218.216 86.922,219.182 87.017,219.271 86.962 C 219.360 86.907,219.595 86.980,219.792 87.124 C 220.057 87.317,220.216 87.331,220.402 87.177 C 220.589 87.022,220.696 87.038,220.821 87.240 C 220.913 87.390,221.141 87.528,221.327 87.547 C 221.513 87.566,222.067 87.623,222.558 87.674 C 223.049 87.725,223.519 87.808,223.603 87.860 C 223.686 87.911,224.136 88.011,224.602 88.080 C 225.068 88.150,225.542 88.284,225.656 88.378 C 225.770 88.472,225.910 88.502,225.967 88.445 C 226.024 88.388,226.570 88.486,227.179 88.664 C 227.789 88.841,228.415 89.001,228.571 89.019 C 228.728 89.037,229.111 89.160,229.423 89.293 C 229.735 89.426,230.309 89.547,230.699 89.564 C 231.089 89.580,231.408 89.657,231.409 89.735 C 231.409 89.813,231.527 89.877,231.669 89.877 C 231.812 89.877,232.329 90.054,232.818 90.270 C 233.308 90.487,233.820 90.621,233.956 90.568 C 234.093 90.516,234.380 90.596,234.594 90.746 C 234.809 90.896,235.053 90.997,235.136 90.971 C 235.220 90.944,235.544 91.016,235.856 91.130 C 236.168 91.244,236.764 91.446,237.181 91.578 C 237.597 91.710,238.273 91.977,238.683 92.172 C 239.092 92.367,239.620 92.526,239.854 92.526 C 240.089 92.526,240.333 92.611,240.397 92.715 C 240.462 92.819,240.672 92.904,240.866 92.904 C 241.059 92.904,241.246 92.970,241.280 93.049 C 241.315 93.129,242.092 93.441,243.007 93.742 C 243.922 94.043,244.740 94.414,244.825 94.566 C 244.910 94.718,245.209 94.868,245.491 94.899 C 245.772 94.930,246.657 95.268,247.457 95.650 C 248.834 96.308,249.689 96.696,250.331 96.956 C 250.487 97.020,250.870 97.234,251.183 97.434 C 251.495 97.633,251.870 97.803,252.016 97.810 C 252.162 97.818,252.561 98.037,252.902 98.297 C 253.243 98.557,253.630 98.770,253.762 98.770 C 253.893 98.770,254.317 98.989,254.704 99.257 C 255.091 99.526,255.524 99.762,255.666 99.783 C 255.808 99.804,256.191 100.010,256.516 100.242 C 256.841 100.473,257.206 100.662,257.327 100.662 C 257.449 100.662,257.667 100.769,257.812 100.899 C 258.456 101.477,258.653 101.600,259.113 101.716 C 259.382 101.783,259.603 101.966,259.603 102.122 C 259.603 102.289,259.713 102.363,259.871 102.303 C 260.018 102.246,260.183 102.314,260.236 102.453 C 260.289 102.592,260.632 102.804,260.996 102.924 C 261.361 103.045,261.982 103.439,262.376 103.799 C 262.770 104.160,263.182 104.421,263.291 104.379 C 263.401 104.336,263.783 104.590,264.139 104.942 C 264.496 105.294,264.924 105.582,265.091 105.582 C 265.258 105.582,265.962 106.050,266.656 106.623 C 267.350 107.195,268.005 107.663,268.112 107.663 C 268.219 107.663,268.307 107.748,268.307 107.852 C 268.307 107.956,268.436 108.042,268.594 108.042 C 268.753 108.042,268.979 108.254,269.098 108.515 C 269.221 108.785,269.472 108.988,269.684 108.988 C 269.887 108.988,270.385 109.329,270.790 109.746 C 271.194 110.163,271.706 110.532,271.926 110.565 C 272.147 110.599,272.441 110.832,272.581 111.084 C 272.720 111.336,272.837 111.460,272.841 111.360 C 272.845 111.261,273.167 111.516,273.557 111.928 C 274.300 112.712,274.800 113.086,275.355 113.273 C 275.537 113.334,275.686 113.449,275.686 113.528 C 275.686 113.825,277.572 115.636,277.760 115.520 C 277.868 115.453,278.135 115.702,278.353 116.072 C 278.572 116.442,278.827 116.698,278.921 116.640 C 279.015 116.582,279.258 116.817,279.462 117.162 C 279.665 117.507,280.105 117.951,280.439 118.148 C 281.049 118.508,282.687 120.109,282.687 120.345 C 282.687 120.579,283.386 121.281,283.503 121.164 C 283.567 121.101,283.720 121.271,283.844 121.542 C 283.968 121.814,284.213 122.082,284.388 122.138 C 284.564 122.193,284.820 122.449,284.957 122.706 C 285.095 122.962,285.369 123.224,285.567 123.287 C 285.765 123.349,286.020 123.606,286.135 123.857 C 286.249 124.109,286.414 124.314,286.502 124.314 C 286.589 124.314,286.660 124.442,286.660 124.598 C 286.660 124.754,286.740 124.882,286.837 124.882 C 286.934 124.882,287.066 125.048,287.130 125.250 C 287.195 125.453,287.395 125.666,287.575 125.723 C 287.755 125.781,288.042 126.062,288.213 126.348 C 288.945 127.577,289.576 128.101,289.881 127.732 C 290.035 127.546,290.416 127.253,290.728 127.080 C 291.041 126.907,291.807 126.381,292.431 125.911 C 293.056 125.441,293.716 125.007,293.898 124.947 C 294.080 124.887,294.229 124.767,294.229 124.681 C 294.229 124.595,294.437 124.413,294.691 124.277 C 295.220 123.994,297.304 122.597,297.446 122.430 C 297.498 122.369,297.753 122.176,298.013 122.002 C 298.273 121.828,298.912 121.380,299.432 121.007 C 299.953 120.634,300.712 120.108,301.120 119.839 C 301.529 119.569,302.034 119.189,302.244 118.993 C 302.454 118.798,302.730 118.638,302.858 118.638 C 302.986 118.638,303.119 118.570,303.154 118.487 C 303.188 118.404,303.898 117.873,304.730 117.306 C 305.563 116.740,306.287 116.225,306.339 116.161 C 306.391 116.097,306.807 115.798,307.263 115.497 C 308.823 114.465,309.129 114.251,310.763 113.052 C 311.192 112.738,312.053 112.146,312.677 111.736 C 313.302 111.326,313.898 110.924,314.002 110.843 C 314.520 110.440,315.959 109.416,316.457 109.096 C 316.766 108.897,317.187 108.578,317.391 108.388 C 317.596 108.197,317.848 108.042,317.952 108.042 C 318.055 108.042,318.334 107.859,318.571 107.637 C 318.808 107.414,319.161 107.138,319.356 107.022 C 319.885 106.708,321.547 105.551,323.463 104.163 C 324.399 103.484,325.302 102.866,325.469 102.789 C 325.636 102.712,326.019 102.458,326.321 102.224 C 326.622 101.991,327.252 101.502,327.720 101.138 C 328.188 100.774,328.644 100.476,328.733 100.475 C 328.822 100.474,329.163 100.259,329.490 99.997 C 329.817 99.735,330.177 99.448,330.289 99.358 C 330.401 99.268,330.860 98.950,331.308 98.651 C 331.756 98.352,332.440 97.895,332.829 97.635 C 333.217 97.375,333.902 96.917,334.350 96.619 C 334.798 96.320,335.256 95.996,335.368 95.900 C 335.608 95.694,337.379 94.421,338.282 93.806 C 338.627 93.570,339.150 93.186,339.444 92.952 C 339.738 92.718,340.066 92.526,340.172 92.526 C 340.279 92.526,340.394 92.456,340.429 92.371 C 340.488 92.225,340.999 91.856,343.992 89.798 C 344.669 89.333,345.310 88.877,345.416 88.785 C 345.523 88.692,345.864 88.454,346.173 88.255 C 346.483 88.057,347.086 87.638,347.515 87.324 C 349.323 86.002,351.509 84.476,352.195 84.057 C 352.492 83.876,353.295 83.314,353.981 82.808 C 354.667 82.303,355.425 81.799,355.665 81.690 C 356.209 81.442,356.225 80.909,355.707 80.361 C 355.489 80.131,354.905 79.342,354.408 78.606 C 351.941 74.954,351.625 74.551,351.234 74.551 C 350.972 74.551,350.426 74.114,350.426 73.903 C 350.426 73.567,348.578 71.305,348.232 71.218 C 348.005 71.161,347.506 70.660,347.123 70.104 C 346.740 69.549,346.319 69.053,346.186 69.002 C 346.053 68.951,345.633 68.440,345.253 67.866 C 344.872 67.293,344.262 66.640,343.898 66.415 C 343.534 66.189,343.236 65.944,343.236 65.869 C 343.236 65.795,342.767 65.243,342.195 64.642 C 341.623 64.042,341.154 63.478,341.154 63.389 C 341.154 63.301,340.835 63.035,340.445 62.798 C 340.054 62.561,339.661 62.246,339.571 62.098 C 339.481 61.950,339.077 61.488,338.672 61.071 C 338.268 60.655,337.938 60.245,337.938 60.160 C 337.938 60.076,337.773 59.954,337.573 59.891 C 337.372 59.827,337.035 59.481,336.822 59.121 C 336.610 58.762,336.306 58.467,336.146 58.467 C 335.987 58.467,335.856 58.382,335.856 58.278 C 335.856 58.174,335.772 58.089,335.669 58.089 C 335.566 58.089,335.162 57.736,334.771 57.304 C 333.770 56.200,332.960 55.440,332.783 55.440 C 332.588 55.440,330.937 53.717,330.937 53.514 C 330.937 53.428,330.824 53.359,330.687 53.359 C 330.550 53.359,330.151 53.103,329.801 52.791 C 329.452 52.479,329.114 52.223,329.051 52.223 C 328.988 52.223,328.786 51.968,328.602 51.656 C 328.417 51.343,328.149 51.088,328.006 51.088 C 327.863 51.088,327.691 50.918,327.625 50.710 C 327.510 50.348,327.323 50.254,326.836 50.314 C 326.713 50.329,326.559 50.169,326.492 49.958 C 326.425 49.747,326.254 49.574,326.112 49.574 C 325.970 49.574,325.676 49.325,325.458 49.019 C 325.241 48.714,324.873 48.437,324.641 48.404 C 324.409 48.371,324.135 48.153,324.033 47.919 C 323.930 47.684,323.743 47.493,323.616 47.493 C 323.490 47.493,323.319 47.380,323.236 47.242 C 323.152 47.103,322.807 46.830,322.469 46.633 C 322.131 46.437,321.854 46.209,321.854 46.128 C 321.854 46.046,321.764 45.979,321.654 45.979 C 321.544 45.979,321.037 45.543,320.526 45.010 C 319.887 44.344,319.501 44.078,319.289 44.160 C 319.083 44.239,318.950 44.158,318.886 43.916 C 318.834 43.717,318.629 43.512,318.431 43.460 C 318.232 43.408,318.070 43.239,318.070 43.084 C 318.070 42.779,317.569 42.510,317.304 42.673 C 317.214 42.729,316.817 42.432,316.422 42.012 C 316.028 41.593,315.573 41.249,315.411 41.249 C 315.250 41.249,314.654 40.842,314.087 40.345 C 313.520 39.847,312.822 39.338,312.535 39.213 C 312.249 39.089,312.015 38.899,312.015 38.793 C 312.015 38.687,311.890 38.600,311.738 38.600 C 311.586 38.600,311.366 38.423,311.250 38.207 C 311.135 37.990,310.932 37.855,310.799 37.906 C 310.667 37.957,310.232 37.708,309.834 37.353 C 309.435 36.998,308.961 36.708,308.781 36.708 C 308.601 36.708,308.243 36.457,307.985 36.151 C 307.727 35.844,307.476 35.633,307.427 35.682 C 307.379 35.731,307.231 35.641,307.099 35.482 C 306.968 35.324,306.714 35.194,306.536 35.194 C 306.358 35.194,305.964 34.941,305.661 34.632 C 305.357 34.322,304.965 34.067,304.789 34.064 C 304.614 34.061,304.200 33.812,303.870 33.510 C 303.540 33.209,303.030 32.914,302.737 32.856 C 302.443 32.797,301.882 32.427,301.488 32.034 C 301.079 31.625,300.628 31.343,300.434 31.376 C 300.247 31.408,300.095 31.343,300.095 31.232 C 300.095 31.122,299.971 31.031,299.820 31.031 C 299.669 31.031,299.463 30.883,299.361 30.702 C 299.260 30.520,299.116 30.433,299.042 30.507 C 298.890 30.659,297.824 30.087,297.824 29.855 C 297.824 29.774,297.695 29.707,297.538 29.707 C 297.142 29.707,296.529 29.332,295.890 28.700 C 295.593 28.406,295.247 28.204,295.121 28.250 C 294.995 28.296,294.636 28.145,294.324 27.915 C 294.011 27.685,293.511 27.436,293.213 27.362 C 292.914 27.289,292.546 27.105,292.395 26.954 C 292.244 26.803,291.961 26.679,291.767 26.679 C 291.572 26.679,291.360 26.593,291.295 26.488 C 291.230 26.383,290.629 26.040,289.959 25.727 C 289.290 25.414,288.742 25.075,288.742 24.973 C 288.742 24.871,288.593 24.785,288.411 24.783 C 288.228 24.781,287.867 24.612,287.606 24.409 C 287.346 24.205,286.989 24.037,286.813 24.034 C 286.637 24.032,286.440 23.944,286.375 23.838 C 286.309 23.732,286.189 23.687,286.108 23.737 C 286.027 23.787,285.775 23.655,285.547 23.443 C 285.320 23.231,285.030 23.092,284.903 23.136 C 284.777 23.179,284.546 23.071,284.390 22.896 C 284.148 22.624,283.364 22.302,282.814 22.248 C 282.727 22.240,282.540 22.073,282.397 21.878 C 282.246 21.672,282.014 21.570,281.844 21.635 C 281.683 21.697,281.552 21.665,281.552 21.565 C 281.552 21.464,281.432 21.381,281.287 21.381 C 281.141 21.381,280.537 21.126,279.943 20.814 C 279.350 20.501,278.738 20.246,278.583 20.246 C 278.429 20.246,277.698 19.948,276.958 19.584 C 276.219 19.219,275.457 18.921,275.266 18.921 C 275.074 18.921,274.868 18.794,274.808 18.638 C 274.748 18.482,274.494 18.354,274.244 18.354 C 273.994 18.354,273.641 18.279,273.460 18.187 C 273.279 18.095,272.876 17.913,272.564 17.783 C 272.252 17.653,271.826 17.473,271.618 17.383 C 271.410 17.293,271.068 17.196,270.859 17.167 C 270.650 17.138,270.269 16.968,270.013 16.788 C 269.757 16.609,269.370 16.462,269.154 16.462 C 268.938 16.462,268.680 16.394,268.581 16.312 C 268.482 16.230,267.763 15.953,266.982 15.697 C 266.202 15.441,265.535 15.168,265.500 15.090 C 265.465 15.012,265.230 14.948,264.977 14.948 C 264.724 14.948,264.369 14.873,264.189 14.781 C 263.474 14.417,262.885 14.167,262.622 14.114 C 262.470 14.084,262.219 14.011,262.062 13.952 C 261.906 13.893,261.523 13.780,261.211 13.702 C 260.899 13.624,260.601 13.546,260.549 13.529 C 260.497 13.512,260.199 13.434,259.886 13.357 C 259.310 13.213,258.639 12.958,258.044 12.655 C 257.863 12.563,257.549 12.488,257.346 12.488 C 257.142 12.488,256.929 12.413,256.873 12.321 C 256.816 12.229,256.214 12.049,255.535 11.921 C 254.856 11.792,254.253 11.611,254.195 11.517 C 254.137 11.423,254.013 11.394,253.919 11.452 C 253.825 11.510,253.494 11.426,253.184 11.266 C 252.874 11.106,252.408 10.974,252.149 10.974 C 251.890 10.974,251.632 10.901,251.577 10.811 C 251.490 10.670,251.059 10.569,249.571 10.339 C 249.413 10.314,249.194 10.239,249.085 10.171 C 248.975 10.104,248.679 10.009,248.426 9.962 C 247.537 9.795,246.829 9.596,246.641 9.460 C 246.537 9.385,246.325 9.320,246.168 9.316 C 246.012 9.312,245.246 9.168,244.465 8.996 C 243.685 8.824,242.833 8.654,242.573 8.617 C 242.313 8.581,241.845 8.451,241.533 8.330 C 241.220 8.209,240.922 8.121,240.870 8.134 C 240.596 8.206,238.851 7.878,238.653 7.718 C 238.526 7.615,237.917 7.515,237.300 7.494 C 236.683 7.474,236.043 7.345,235.878 7.208 C 235.712 7.071,235.441 7.011,235.274 7.075 C 235.107 7.139,234.872 7.128,234.751 7.051 C 234.630 6.974,234.149 6.900,233.680 6.887 C 233.212 6.874,232.573 6.753,232.261 6.618 C 231.949 6.483,231.626 6.387,231.543 6.406 C 231.460 6.424,230.524 6.303,229.462 6.136 C 228.400 5.969,227.190 5.798,226.774 5.755 C 226.358 5.713,225.634 5.632,225.166 5.576 C 224.697 5.520,223.974 5.439,223.557 5.396 C 223.141 5.354,222.800 5.309,222.800 5.296 C 222.800 5.284,222.460 5.239,222.044 5.196 C 220.557 5.042,219.570 4.935,218.638 4.825 C 217.114 4.646,215.912 4.545,214.096 4.444 C 211.620 4.306,210.155 4.179,209.893 4.078 C 209.766 4.030,209.610 4.075,209.545 4.179 C 209.481 4.282,209.244 4.308,209.019 4.235 C 208.606 4.101,206.004 4.009,202.176 3.994 C 201.031 3.989,199.924 3.983,199.716 3.979 C 198.221 3.955,194.042 3.995,193.188 4.042 C 192.616 4.074,191.977 4.044,191.769 3.977 C 191.561 3.910,191.093 3.962,190.728 4.092 ",stroke:"none",fill:"#b5cb2b","fill-rule":"evenodd"}),React.createElement("path",{id:"path8",d:"",stroke:"none",fill:"#55ff00","fill-rule":"evenodd"}),React.createElement("path",{id:"path9",d:"M364.522 96.081 C 363.619 96.742,362.897 97.244,359.648 99.478 C 358.854 100.024,357.583 100.938,356.822 101.509 C 356.062 102.080,355.333 102.549,355.203 102.551 C 355.073 102.553,354.967 102.627,354.967 102.715 C 354.967 102.851,354.376 103.279,352.707 104.352 C 352.545 104.456,351.944 104.889,351.372 105.314 C 350.799 105.740,350.024 106.293,349.648 106.544 C 347.578 107.929,346.136 108.917,345.885 109.122 C 345.631 109.330,344.163 110.365,341.471 112.233 C 340.970 112.582,340.270 113.079,339.916 113.340 C 339.562 113.600,338.581 114.281,337.736 114.853 C 336.890 115.426,335.705 116.256,335.103 116.698 C 334.500 117.140,333.921 117.502,333.816 117.502 C 333.712 117.502,333.577 117.631,333.516 117.789 C 333.456 117.947,333.212 118.162,332.976 118.267 C 332.595 118.436,331.562 119.112,331.031 119.541 C 330.927 119.624,330.118 120.192,329.234 120.801 C 328.349 121.410,327.597 121.981,327.562 122.071 C 327.528 122.160,327.408 122.233,327.296 122.233 C 327.185 122.233,326.787 122.467,326.413 122.752 C 326.039 123.038,325.180 123.649,324.503 124.109 C 323.827 124.570,323.231 124.997,323.179 125.058 C 323.127 125.119,322.709 125.424,322.250 125.735 C 321.792 126.046,321.229 126.429,320.999 126.585 C 320.769 126.741,320.047 127.252,319.395 127.720 C 318.742 128.188,318.015 128.699,317.780 128.855 C 316.016 130.025,314.359 131.179,313.150 132.081 C 312.370 132.663,311.582 133.194,311.400 133.262 C 311.218 133.329,311.069 133.472,311.069 133.580 C 311.069 133.687,310.971 133.775,310.851 133.775 C 310.731 133.775,310.284 134.034,309.858 134.351 C 308.177 135.600,305.993 137.141,304.778 137.938 C 304.075 138.398,303.500 138.831,303.500 138.901 C 303.500 138.970,303.253 139.129,302.952 139.254 C 302.650 139.379,302.209 139.688,301.972 139.940 C 301.736 140.191,301.463 140.397,301.366 140.397 C 301.269 140.397,300.879 140.639,300.500 140.934 C 300.121 141.228,299.662 141.524,299.480 141.590 C 299.001 141.764,299.066 142.077,299.811 143.183 C 300.175 143.724,300.473 144.297,300.473 144.456 C 300.473 144.615,300.856 145.249,301.325 145.865 C 301.793 146.480,302.176 147.071,302.176 147.178 C 302.176 147.284,302.473 147.940,302.836 148.637 C 303.199 149.333,303.455 149.967,303.406 150.046 C 303.358 150.125,303.615 150.580,303.979 151.057 C 304.343 151.534,304.627 151.991,304.609 152.073 C 304.592 152.156,304.718 152.540,304.890 152.927 C 305.063 153.314,305.203 153.766,305.203 153.933 C 305.203 154.099,305.416 154.514,305.676 154.855 C 305.937 155.197,306.149 155.646,306.149 155.854 C 306.149 156.062,306.308 156.376,306.501 156.551 C 306.726 156.754,306.820 157.034,306.764 157.328 C 306.709 157.616,306.825 157.978,307.075 158.295 C 307.294 158.574,307.474 158.951,307.474 159.132 C 307.474 159.313,307.592 159.560,307.737 159.680 C 307.882 159.800,308.057 160.277,308.127 160.740 C 308.196 161.202,308.339 161.634,308.444 161.699 C 308.549 161.764,308.592 161.928,308.540 162.064 C 308.488 162.200,308.604 162.454,308.798 162.630 C 308.993 162.806,309.105 163.070,309.048 163.218 C 308.992 163.366,309.060 163.625,309.201 163.794 C 309.341 163.963,309.431 164.295,309.400 164.530 C 309.369 164.766,309.434 165.015,309.544 165.083 C 309.654 165.151,309.745 165.404,309.745 165.646 C 309.745 165.887,309.860 166.180,310.002 166.298 C 310.147 166.418,310.220 166.715,310.170 166.976 C 310.117 167.253,310.205 167.564,310.386 167.745 C 310.554 167.913,310.691 168.251,310.691 168.498 C 310.691 168.745,310.776 168.999,310.880 169.063 C 310.984 169.128,311.069 169.388,311.069 169.641 C 311.069 169.895,311.232 170.592,311.432 171.191 C 311.631 171.790,311.849 172.682,311.916 173.174 C 311.982 173.666,312.109 174.113,312.198 174.168 C 312.286 174.223,312.313 174.438,312.259 174.646 C 312.204 174.855,312.254 175.139,312.370 175.279 C 312.485 175.418,312.526 175.585,312.460 175.651 C 312.394 175.717,312.456 175.912,312.599 176.084 C 312.742 176.256,312.881 176.748,312.909 177.177 C 312.958 177.938,313.431 180.323,313.646 180.889 C 313.705 181.045,313.785 181.514,313.822 181.930 C 313.981 183.680,314.099 184.354,314.286 184.579 C 314.413 184.733,314.421 184.979,314.309 185.275 C 314.203 185.553,314.203 185.856,314.307 186.044 C 314.403 186.214,314.514 186.720,314.554 187.169 C 314.594 187.618,314.680 188.453,314.744 189.026 C 315.128 192.434,315.238 194.787,315.312 201.135 C 315.348 204.241,315.301 206.811,315.207 206.929 C 315.114 207.045,315.068 207.746,315.106 208.487 C 315.143 209.228,315.123 209.885,315.061 209.947 C 314.999 210.009,314.935 210.627,314.919 211.321 C 314.894 212.420,314.508 215.779,314.177 217.786 C 314.117 218.150,314.070 218.615,314.073 218.818 C 314.076 219.021,313.991 219.294,313.883 219.424 C 313.775 219.554,313.743 219.839,313.813 220.057 C 313.882 220.275,313.846 220.565,313.734 220.700 C 313.621 220.836,313.534 221.151,313.540 221.401 C 313.558 222.105,312.777 225.972,312.566 226.227 C 312.462 226.352,312.433 226.675,312.501 226.945 C 312.574 227.240,312.544 227.436,312.426 227.436 C 312.317 227.436,312.170 227.841,312.100 228.335 C 311.917 229.615,311.490 231.225,311.260 231.503 C 311.151 231.633,311.112 231.869,311.172 232.026 C 311.233 232.183,311.029 232.869,310.720 233.550 C 310.412 234.231,310.201 234.831,310.253 234.882 C 310.359 234.989,309.875 236.529,308.877 239.262 C 308.801 239.470,308.752 239.704,308.768 239.782 C 308.785 239.860,308.719 239.924,308.621 239.924 C 308.523 239.924,308.442 240.073,308.439 240.255 C 308.431 240.809,307.965 242.384,307.809 242.384 C 307.729 242.384,307.663 242.549,307.663 242.751 C 307.663 242.953,307.578 243.171,307.474 243.236 C 307.370 243.300,307.285 243.551,307.285 243.794 C 307.285 244.037,307.147 244.288,306.979 244.353 C 306.794 244.424,306.710 244.609,306.767 244.825 C 306.820 245.029,306.672 245.410,306.417 245.721 C 306.173 246.019,305.971 246.415,305.967 246.601 C 305.963 246.787,305.828 247.140,305.667 247.385 C 305.506 247.631,305.331 248.075,305.278 248.372 C 305.224 248.669,305.101 248.993,305.003 249.092 C 304.905 249.191,304.825 249.418,304.825 249.596 C 304.825 249.775,304.758 249.950,304.677 249.984 C 304.596 250.019,304.257 250.622,303.924 251.325 C 303.592 252.027,303.232 252.602,303.126 252.602 C 303.020 252.602,302.930 252.793,302.927 253.027 C 302.924 253.262,302.796 253.618,302.643 253.820 C 302.490 254.022,302.365 254.364,302.365 254.579 C 302.365 254.795,302.069 255.311,301.707 255.726 C 301.344 256.141,301.046 256.600,301.044 256.747 C 301.042 256.893,300.828 257.292,300.568 257.633 C 300.307 257.974,300.095 258.386,300.095 258.548 C 300.095 258.710,299.906 259.059,299.676 259.324 C 299.446 259.589,299.169 260.077,299.061 260.409 C 298.953 260.740,298.668 261.110,298.427 261.229 C 298.186 261.349,297.995 261.500,298.001 261.565 C 298.060 262.145,297.957 262.497,297.635 262.819 C 297.427 263.027,297.256 263.277,297.256 263.374 C 297.256 263.471,297.078 263.607,296.861 263.676 C 296.594 263.761,296.495 263.915,296.556 264.148 C 296.612 264.366,296.408 264.755,296.005 265.195 C 295.653 265.579,295.364 266.007,295.364 266.145 C 295.364 266.474,294.426 267.471,294.183 267.400 C 294.079 267.370,294.040 267.466,294.097 267.615 C 294.241 267.992,293.752 268.691,292.337 270.133 C 292.077 270.398,291.862 270.718,291.861 270.843 C 291.859 270.968,291.518 271.416,291.104 271.839 C 290.689 272.261,290.326 272.742,290.297 272.907 C 290.267 273.073,289.926 273.542,289.540 273.950 C 288.536 275.010,287.803 275.939,287.799 276.159 C 287.796 276.263,287.540 276.518,287.228 276.727 C 286.916 276.935,286.661 277.198,286.661 277.312 C 286.661 277.425,286.362 277.679,285.998 277.875 C 285.594 278.093,285.336 278.374,285.336 278.596 C 285.336 278.965,283.437 280.984,283.090 280.984 C 282.987 280.984,282.843 281.167,282.773 281.390 C 282.593 281.958,280.226 284.201,279.808 284.201 C 279.726 284.201,279.659 284.330,279.659 284.489 C 279.659 284.648,279.447 284.859,279.186 284.957 C 278.910 285.062,278.713 285.287,278.713 285.497 C 278.713 285.719,278.495 285.948,278.146 286.093 C 277.833 286.222,277.578 286.446,277.578 286.591 C 277.578 286.736,277.131 287.143,276.585 287.497 C 276.038 287.850,275.367 288.381,275.093 288.677 C 274.558 289.254,274.365 289.412,273.557 289.930 C 272.807 290.412,272.879 290.641,274.487 292.876 C 275.285 293.984,276.285 295.402,276.710 296.026 C 277.135 296.651,277.532 297.204,277.592 297.256 C 277.651 297.308,277.757 297.479,277.825 297.635 C 277.894 297.791,278.418 298.557,278.989 299.338 C 279.561 300.118,280.409 301.310,280.875 301.987 C 281.340 302.663,282.300 304.043,283.008 305.054 C 283.716 306.065,284.551 307.256,284.863 307.702 C 285.175 308.148,286.147 309.535,287.022 310.784 C 288.475 312.858,289.115 313.775,290.954 316.414 C 291.298 316.909,291.895 317.760,292.279 318.307 C 292.664 318.853,294.253 321.131,295.810 323.368 C 297.367 325.605,298.805 327.649,299.004 327.909 C 299.363 328.377,302.341 332.638,303.542 334.403 C 303.883 334.905,304.253 335.415,304.364 335.538 C 304.474 335.661,305.113 336.564,305.783 337.545 C 306.977 339.294,307.255 339.694,309.416 342.763 C 310.003 343.595,310.973 345.000,311.573 345.885 C 312.173 346.769,312.714 347.535,312.775 347.588 C 312.836 347.640,313.265 348.236,313.728 348.912 C 314.191 349.588,314.616 350.184,314.672 350.237 C 314.729 350.289,315.155 350.893,315.618 351.580 C 318.330 355.596,319.517 357.226,319.734 357.232 C 319.869 357.235,320.961 356.535,322.162 355.676 C 323.363 354.818,324.573 353.969,324.850 353.790 C 325.894 353.117,326.206 352.823,326.206 352.517 C 326.206 352.225,327.371 351.257,328.471 350.635 C 329.111 350.273,329.423 349.937,329.423 349.610 C 329.423 349.458,329.820 349.048,330.304 348.698 C 330.789 348.347,331.449 347.799,331.771 347.479 C 332.092 347.159,332.654 346.694,333.018 346.445 C 333.921 345.827,334.153 345.582,334.153 345.249 C 334.153 345.092,334.430 344.773,334.768 344.539 C 335.106 344.306,335.649 343.853,335.973 343.533 C 336.298 343.213,336.809 342.735,337.109 342.470 C 337.408 342.205,337.872 341.737,338.138 341.430 C 338.404 341.122,339.149 340.384,339.793 339.790 C 340.438 339.196,340.965 338.621,340.965 338.513 C 340.965 338.405,341.071 338.313,341.202 338.310 C 341.585 338.300,342.523 337.379,342.421 337.113 C 342.367 336.972,342.600 336.721,342.970 336.522 C 343.324 336.331,343.614 336.062,343.614 335.924 C 343.614 335.785,343.950 335.450,344.360 335.179 C 344.772 334.906,345.132 334.502,345.164 334.277 C 345.196 334.053,345.413 333.786,345.646 333.683 C 345.879 333.581,346.050 333.373,346.025 333.221 C 346.000 333.069,346.173 332.845,346.410 332.725 C 346.647 332.604,347.158 332.085,347.545 331.571 C 348.386 330.457,349.674 329.157,350.232 328.858 C 350.489 328.720,350.614 328.496,350.578 328.236 C 350.539 327.966,350.667 327.757,350.958 327.610 C 351.199 327.489,351.390 327.336,351.384 327.271 C 351.350 326.931,351.406 326.848,351.791 326.677 C 352.022 326.574,352.256 326.300,352.312 326.069 C 352.367 325.837,352.843 325.198,353.370 324.648 C 353.896 324.099,354.449 323.372,354.599 323.034 C 354.749 322.695,355.021 322.370,355.203 322.312 C 355.385 322.255,355.535 322.127,355.535 322.030 C 355.535 321.932,355.747 321.667,356.008 321.441 C 356.268 321.214,356.481 320.872,356.481 320.679 C 356.481 320.486,356.608 320.280,356.764 320.220 C 356.921 320.160,357.048 320.011,357.048 319.888 C 357.048 319.766,357.307 319.512,357.624 319.325 C 358.051 319.073,358.170 318.892,358.084 318.621 C 358.009 318.386,358.073 318.217,358.265 318.143 C 358.428 318.081,358.562 317.917,358.562 317.779 C 358.562 317.641,358.720 317.478,358.914 317.416 C 359.107 317.355,359.423 316.956,359.615 316.529 C 359.807 316.103,360.330 315.378,360.777 314.918 C 361.224 314.458,361.589 313.922,361.589 313.727 C 361.589 313.532,361.845 313.131,362.157 312.836 C 362.469 312.541,362.725 312.190,362.725 312.055 C 362.725 311.813,362.908 311.546,363.503 310.918 C 363.672 310.741,363.959 310.274,364.143 309.880 C 364.326 309.487,364.721 308.903,365.020 308.583 C 365.319 308.263,365.563 307.924,365.563 307.830 C 365.563 307.543,366.016 306.832,366.367 306.567 C 366.549 306.430,366.698 306.159,366.698 305.966 C 366.698 305.772,366.954 305.373,367.266 305.078 C 367.578 304.783,367.833 304.398,367.833 304.222 C 367.833 304.045,367.920 303.848,368.026 303.782 C 368.132 303.717,368.169 303.584,368.108 303.486 C 368.048 303.388,368.132 303.258,368.295 303.195 C 368.457 303.133,368.590 302.972,368.590 302.838 C 368.590 302.704,368.718 302.546,368.874 302.486 C 369.030 302.426,369.158 302.213,369.158 302.013 C 369.158 301.812,369.413 301.375,369.726 301.041 C 370.038 300.706,370.293 300.272,370.293 300.075 C 370.293 299.877,370.442 299.565,370.624 299.379 C 370.807 299.194,371.104 298.747,371.285 298.386 C 371.758 297.447,372.058 296.994,372.319 296.826 C 372.445 296.745,372.498 296.547,372.436 296.386 C 372.374 296.225,372.485 295.866,372.683 295.587 C 372.881 295.308,373.169 294.825,373.323 294.513 C 373.478 294.201,373.710 293.877,373.841 293.794 C 373.971 293.711,374.078 293.537,374.078 293.408 C 374.078 293.138,374.697 291.879,375.024 291.485 C 375.146 291.338,375.191 291.129,375.123 291.021 C 375.056 290.912,375.091 290.823,375.202 290.823 C 375.312 290.823,375.402 290.716,375.402 290.585 C 375.402 290.454,375.577 290.237,375.791 290.104 C 376.054 289.939,376.142 289.744,376.064 289.498 C 375.989 289.261,376.084 289.019,376.338 288.801 C 376.552 288.618,376.727 288.251,376.727 287.985 C 376.727 287.712,376.974 287.231,377.294 286.880 C 377.606 286.538,377.862 286.092,377.862 285.889 C 377.862 285.686,377.943 285.372,378.041 285.191 C 378.477 284.394,379.453 282.202,379.422 282.090 C 379.403 282.022,379.513 281.863,379.665 281.736 C 379.818 281.609,379.943 281.345,379.943 281.149 C 379.943 280.954,380.114 280.476,380.322 280.087 C 380.530 279.699,380.700 279.274,380.700 279.142 C 380.700 279.010,380.785 278.903,380.889 278.903 C 380.993 278.903,381.079 278.724,381.079 278.506 C 381.079 278.047,381.647 277.010,381.898 277.010 C 381.992 277.010,382.028 276.853,381.977 276.660 C 381.927 276.468,382.036 276.111,382.219 275.868 C 382.403 275.624,382.512 275.318,382.462 275.187 C 382.411 275.056,382.499 274.710,382.657 274.419 C 383.245 273.334,383.996 271.427,384.282 270.293 C 384.361 269.981,384.652 269.249,384.928 268.667 C 385.204 268.084,385.430 267.429,385.430 267.211 C 385.430 266.993,385.516 266.763,385.620 266.698 C 385.724 266.634,385.809 266.415,385.809 266.211 C 385.809 266.008,385.886 265.694,385.980 265.513 C 386.074 265.332,386.258 264.823,386.388 264.380 C 386.519 263.938,386.707 263.576,386.805 263.576 C 386.904 263.576,386.940 263.459,386.885 263.316 C 386.830 263.173,386.906 262.822,387.054 262.537 C 387.202 262.252,387.323 261.826,387.323 261.591 C 387.323 261.355,387.454 261.054,387.614 260.920 C 387.801 260.766,387.841 260.613,387.725 260.497 C 387.609 260.381,387.674 260.082,387.906 259.669 C 388.105 259.314,388.269 258.813,388.269 258.556 C 388.269 258.299,388.343 258.089,388.434 258.089 C 388.591 258.089,388.868 256.944,388.922 256.065 C 388.937 255.837,389.103 255.478,389.293 255.269 C 389.530 255.007,389.600 254.737,389.517 254.407 C 389.451 254.143,389.466 253.926,389.550 253.926 C 389.723 253.926,390.211 252.364,390.249 251.690 C 390.262 251.449,390.385 251.183,390.521 251.099 C 390.677 251.003,390.720 250.793,390.638 250.535 C 390.567 250.309,390.592 250.021,390.695 249.896 C 390.798 249.771,390.944 249.243,391.020 248.723 C 391.096 248.202,391.244 247.564,391.349 247.304 C 391.548 246.809,391.566 246.732,391.769 245.506 C 391.838 245.090,391.964 244.579,392.049 244.371 C 392.134 244.163,392.388 243.013,392.613 241.816 C 392.838 240.620,393.106 239.486,393.209 239.298 C 393.311 239.109,393.345 238.797,393.284 238.604 C 393.223 238.411,393.246 238.208,393.336 238.153 C 393.425 238.097,393.513 237.532,393.530 236.896 C 393.551 236.140,393.664 235.638,393.855 235.446 C 394.088 235.213,394.101 235.098,393.917 234.876 C 393.761 234.688,393.750 234.556,393.882 234.470 C 393.990 234.400,394.127 233.798,394.186 233.133 C 394.244 232.468,394.397 231.860,394.524 231.781 C 394.653 231.701,394.709 231.457,394.650 231.232 C 394.592 231.008,394.625 230.553,394.725 230.219 C 394.824 229.885,394.939 229.101,394.979 228.477 C 395.020 227.852,395.111 227.193,395.182 227.010 C 395.252 226.828,395.259 226.545,395.196 226.382 C 395.133 226.218,395.158 225.941,395.252 225.767 C 395.402 225.486,395.487 224.840,395.766 221.854 C 395.805 221.438,395.878 220.501,395.928 219.773 C 395.978 219.044,396.094 217.938,396.186 217.313 C 396.277 216.689,396.334 215.752,396.313 215.232 C 396.291 214.711,396.347 213.859,396.435 213.337 C 396.524 212.815,396.599 211.794,396.602 211.067 C 396.610 208.737,396.636 208.326,396.777 208.325 C 396.871 208.325,396.878 201.377,396.790 196.121 C 396.769 194.872,396.807 193.710,396.875 193.539 C 396.943 193.367,396.907 193.170,396.796 193.101 C 396.674 193.026,396.640 192.687,396.709 192.255 C 396.778 191.822,396.743 191.483,396.622 191.408 C 396.490 191.326,396.479 191.127,396.589 190.836 C 396.683 190.590,396.721 190.350,396.674 190.303 C 396.576 190.205,396.385 187.540,396.367 185.998 C 396.360 185.426,396.305 184.872,396.244 184.768 C 396.184 184.664,396.160 184.342,396.190 184.051 C 396.239 183.590,396.147 182.655,395.738 179.470 C 395.685 179.054,395.606 178.353,395.564 177.914 C 395.521 177.474,395.422 177.009,395.343 176.882 C 395.264 176.754,395.177 176.305,395.149 175.884 C 395.016 173.868,394.930 173.107,394.822 173.000 C 394.758 172.935,394.796 172.774,394.906 172.641 C 395.045 172.474,395.046 172.286,394.912 172.035 C 394.805 171.835,394.674 171.230,394.621 170.691 C 394.569 170.151,394.471 169.622,394.404 169.514 C 394.337 169.406,394.242 168.921,394.191 168.436 C 394.140 167.950,394.023 167.411,393.929 167.236 C 393.836 167.061,393.810 166.666,393.871 166.358 C 393.934 166.044,393.895 165.744,393.783 165.674 C 393.673 165.606,393.628 165.434,393.682 165.292 C 393.737 165.150,393.682 164.972,393.559 164.896 C 393.392 164.793,393.397 164.722,393.579 164.609 C 393.770 164.491,393.756 164.362,393.512 163.989 C 393.342 163.730,393.123 162.868,393.024 162.074 C 392.925 161.279,392.742 160.505,392.616 160.354 C 392.490 160.202,392.434 159.897,392.492 159.676 C 392.549 159.456,392.517 159.115,392.419 158.919 C 392.322 158.722,392.163 158.403,392.067 158.208 C 391.958 157.989,391.959 157.786,392.068 157.677 C 392.178 157.566,392.072 157.073,391.788 156.374 C 391.521 155.716,391.370 155.042,391.426 154.752 C 391.478 154.478,391.428 154.197,391.314 154.126 C 391.200 154.056,391.107 153.791,391.107 153.537 C 391.107 153.283,391.020 153.075,390.914 153.075 C 390.804 153.075,390.771 152.876,390.837 152.612 C 390.901 152.358,390.884 152.039,390.799 151.903 C 390.613 151.605,390.572 151.468,390.416 150.615 C 390.349 150.251,390.179 149.776,390.038 149.559 C 389.897 149.343,389.830 149.117,389.890 149.057 C 389.949 148.997,389.833 148.608,389.632 148.191 C 389.422 147.756,389.330 147.330,389.415 147.191 C 389.500 147.054,389.448 146.782,389.295 146.564 C 389.147 146.352,389.026 146.038,389.026 145.866 C 389.026 145.693,388.902 145.450,388.750 145.324 C 388.528 145.140,388.519 145.021,388.703 144.708 C 388.882 144.404,388.881 144.303,388.694 144.236 C 388.564 144.189,388.458 143.949,388.458 143.704 C 388.458 143.459,388.372 143.205,388.268 143.141 C 388.164 143.076,388.126 142.830,388.186 142.595 C 388.252 142.328,388.181 142.074,387.997 141.921 C 387.834 141.786,387.701 141.547,387.701 141.390 C 387.701 141.233,387.538 140.839,387.338 140.514 C 387.138 140.190,386.919 139.541,386.851 139.073 C 386.784 138.605,386.603 138.027,386.450 137.790 C 386.297 137.553,386.216 137.288,386.270 137.201 C 386.324 137.113,386.201 136.892,385.998 136.708 C 385.744 136.478,385.680 136.282,385.793 136.081 C 385.904 135.881,385.779 135.459,385.399 134.757 C 385.092 134.190,384.879 133.626,384.926 133.504 C 384.973 133.382,384.880 132.988,384.718 132.630 C 384.557 132.271,384.440 131.908,384.459 131.823 C 384.477 131.738,384.320 131.450,384.110 131.183 C 383.900 130.915,383.728 130.577,383.728 130.431 C 383.728 130.286,383.590 129.957,383.423 129.702 C 383.255 129.446,383.170 129.103,383.232 128.939 C 383.296 128.774,383.138 128.335,382.875 127.948 C 382.615 127.566,382.403 127.140,382.403 127.000 C 382.403 126.861,382.270 126.614,382.108 126.452 C 381.946 126.290,381.861 126.033,381.920 125.880 C 381.979 125.728,381.824 125.207,381.577 124.722 C 380.852 123.303,380.533 122.554,380.394 121.949 C 380.322 121.637,380.107 121.178,379.914 120.930 C 379.722 120.682,379.565 120.374,379.565 120.247 C 379.565 120.119,379.352 119.701,379.092 119.318 C 378.832 118.935,378.619 118.538,378.619 118.436 C 378.619 118.335,378.419 117.934,378.175 117.546 C 377.932 117.158,377.770 116.728,377.817 116.590 C 377.864 116.453,377.638 115.915,377.314 115.395 C 376.991 114.875,376.727 114.349,376.727 114.225 C 376.727 114.102,376.429 113.582,376.064 113.069 C 375.678 112.526,375.402 111.912,375.402 111.595 C 375.402 111.297,375.318 110.950,375.216 110.825 C 374.244 109.633,374.008 109.282,373.987 108.999 C 373.974 108.818,373.611 108.155,373.181 107.525 C 372.718 106.846,372.435 106.236,372.486 106.028 C 372.540 105.806,372.151 105.091,371.429 104.088 C 370.665 103.028,370.321 102.386,370.393 102.159 C 370.463 101.939,370.213 101.415,369.688 100.680 C 369.240 100.055,368.491 98.980,368.023 98.292 C 365.775 94.991,365.903 95.072,364.522 96.081 ",stroke:"none",fill:"#d1dc31","fill-rule":"evenodd"}),React.createElement("path",{id:"path10",d:"",stroke:"none",fill:"#99ff33","fill-rule":"evenodd"}),React.createElement("path",{id:"path11",d:"M85.380 215.516 C 85.380 215.880,85.419 216.029,85.466 215.847 C 85.514 215.665,85.514 215.367,85.466 215.184 C 85.419 215.002,85.380 215.151,85.380 215.516 ",stroke:"none",fill:"#ffff00","fill-rule":"evenodd"})));var f=u,d=wp.i18n.__,s=wp.element.RawHTML,p=wp.blocks.registerBlockType,h=wp.data.withSelect,y=lodash.omit,g=React.memo,b=h(function(C,e){return{Freeform:C("core/blocks").getBlockType("core/freeform")}})(g(function(C){C.isSelected=!0;var e=y(C,["Freeform"]),t=c(jQuery,C.Freeform.edit);return React.createElement(t,e)}));p("imagely/nextgen-gallery",{title:d("NextGEN Gallery"),desription:d("A block for adding NextGEN Galleries."),icon:f.nextgen,category:"common",attributes:{content:{type:"string",source:"html"}},supports:{className:!1,customClassName:!1},edit:b,save:function(C){var e=C.attributes.content;return React.createElement(s,null,e)}})}]);
+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";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 o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return(a="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.r(t);wp.i18n.__;var f=(0,lodash.memoize)(function(e,t){return function(n){function f(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),(t=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?c(e):t}(this,l(f).call(this,e))).openIGW=t.openIGW.bind(c(c(t))),t.updateContent=t.updateContent.bind(c(c(t))),t.hasGallery=t.hasGallery.bind(c(c(t))),t.toggleAddGalleryBtn=t.toggleAddGalleryBtn.bind(c(c(t))),t}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&&i(e,t)}(f,t),function(e,t,n){t&&o(e.prototype,t),n&&o(e,n)}(f,[{key:"hasGallery",value:function(){return this.props.attributes.content&&this.props.attributes.content.length>0}},{key:"componentDidMount",value:function(){a(l(f.prototype),"componentDidMount",this).call(this),e(this.ref).addClass("freeform-toolbar").addClass("ngg-freeform-toolbar"),this.toggleAddGalleryBtn()}},{key:"componentDidUpdate",value:function(){this.toggleAddGalleryBtn()}},{key:"toggleAddGalleryBtn",value:function(){this.props.attributes.content?(e(this.ref).addClass("hidden"),e(this.ref).siblings(".add-ngg-gallery-wrap").hide()):(e(this.ref).removeClass("hidden"),e(this.ref).siblings(".add-ngg-gallery-wrap").show())}},{key:"updateContent",value:function(e){this.props.setAttributes({content:e})}},{key:"onSetup",value:function(e){a(l(f.prototype),"onSetup",this).call(this,e);var t=this.updateContent.bind(this);e.on("ngg-removed",function(){return t("")}),e.on("ngg-inserted",function(e){var n=e.shortcode;return t(n)})}},{key:"openIGW",value:function(){this.editor.execCommand("ngg_attach_to_post")}},{key:"render",value:function(){return[a(l(f.prototype),"render",this).call(this),React.createElement("div",{className:"add-ngg-gallery-wrap"},React.createElement("div",{className:"add-ngg-gallery",onClick:this.openIGW},ngg_tinymce_plugin.i18n.button_label))]}}]),f}()}),u={};u.nextgen=React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",viewBox:"0 0 240 240",width:"240.0pt",height:"240.0pt"},React.createElement("path",{d:"M 0.00 0.00 L 240.00 0.00 L 240.00 240.00 L 0.00 240.00 L 0.00 0.00 Z",fill:"#ffffff"}),React.createElement("path",{d:"M 116.97 3.45 C 155.78 2.17 194.29 21.78 215.90 54.07 C 226.92 70.43 234.08 89.34 236.07 109.00 C 239.08 140.20 228.61 172.42 208.14 196.12 C 191.73 215.41 168.66 228.79 143.97 234.16 C 125.25 238.08 105.37 237.44 87.04 231.86 C 67.00 226.07 48.82 214.65 34.69 199.32 C 14.08 177.26 2.88 147.13 3.50 117.00 C 4.36 95.58 10.72 74.49 22.55 56.55 C 35.03 37.69 52.63 22.36 73.52 13.50 C 87.07 6.87 101.94 3.80 116.97 3.45 Z",fill:"#9fbb1a"}),React.createElement("path",{d:"M 69.17 61.47 C 70.78 61.56 72.37 61.91 73.97 62.05 C 80.30 62.27 86.66 62.04 93.00 62.14 C 96.81 62.23 100.65 61.35 104.18 62.75 C 108.45 64.30 111.62 68.44 111.67 73.03 C 111.78 81.35 111.66 89.68 111.72 98.00 C 111.65 101.03 111.87 104.65 110.30 107.35 C 108.22 110.91 104.17 113.41 100.02 113.40 C 90.68 113.43 81.33 113.42 71.99 113.40 C 65.66 113.41 59.85 108.54 59.66 102.04 C 59.55 92.36 59.70 82.67 59.58 72.99 C 59.41 67.44 63.60 62.15 69.17 61.47 Z",fill:"#ffffff"}),React.createElement("path",{d:"M 138.98 61.27 C 148.33 61.42 157.69 61.22 167.04 61.37 C 173.28 61.31 178.81 66.69 178.70 72.96 C 178.72 82.65 178.75 92.34 178.68 102.02 C 178.48 108.28 173.18 112.96 167.02 113.04 C 157.69 113.25 148.33 113.02 138.99 113.15 C 132.77 113.56 126.76 108.35 126.66 102.04 C 126.55 94.37 126.67 86.68 126.62 79.00 C 126.63 76.33 126.42 73.60 126.72 70.94 C 127.60 65.24 133.25 60.88 138.98 61.27 Z",fill:"#ffffff"}),React.createElement("path",{d:"M 70.97 72.97 C 80.41 72.70 89.87 72.92 99.31 72.86 C 99.39 82.36 99.34 91.87 99.34 101.38 C 89.85 101.36 80.36 101.42 70.87 101.35 C 70.90 91.90 70.70 82.42 70.97 72.97 Z",fill:"#9fbb1a"}),React.createElement("path",{d:"M 138.39 72.91 C 147.80 72.79 157.23 72.85 166.65 72.88 C 166.65 82.41 166.85 91.97 166.55 101.49 C 157.18 101.27 147.79 101.39 138.41 101.42 C 138.30 91.92 138.36 82.41 138.39 72.91 Z",fill:"#9fbb1a"}),React.createElement("path",{d:"M 69.96 128.72 C 77.95 128.35 86.00 128.68 94.00 128.66 C 97.84 128.75 101.40 128.12 104.93 129.93 C 109.12 131.86 111.63 136.43 111.39 141.00 C 111.31 150.34 111.48 159.70 111.31 169.04 C 111.25 175.45 105.33 180.72 99.01 180.44 C 90.00 180.43 81.00 180.42 71.99 180.44 C 67.16 180.64 62.37 177.99 60.28 173.57 C 59.04 171.04 59.32 167.76 59.27 165.00 C 59.38 156.70 59.15 148.39 59.37 140.10 C 59.59 134.25 64.10 129.27 69.96 128.72 Z",fill:"#ffffff"}),React.createElement("path",{d:"M 137.96 128.68 C 146.96 128.36 156.00 128.45 165.00 128.61 C 167.68 128.64 170.26 129.00 172.61 130.36 C 176.44 132.46 178.51 136.68 178.41 140.99 C 178.39 150.33 178.47 159.67 178.37 169.01 C 178.48 174.84 173.95 180.48 167.95 180.68 C 159.31 180.89 150.65 180.67 142.00 180.78 C 139.64 180.74 137.05 180.91 134.76 180.27 C 129.71 178.66 126.48 173.17 126.62 168.01 C 126.61 161.01 126.64 154.00 126.62 147.00 C 126.71 143.40 126.11 139.00 127.75 135.73 C 129.57 131.70 133.51 128.85 137.96 128.68 Z",fill:"#ffffff"}),React.createElement("path",{d:"M 70.98 140.01 C 80.41 139.71 89.87 139.94 99.31 139.89 C 99.40 149.41 99.33 158.93 99.35 168.45 C 89.85 168.43 80.36 168.47 70.86 168.42 C 70.91 158.96 70.69 149.47 70.98 140.01 Z",fill:"#9fbb1a"}),React.createElement("path",{d:"M 138.45 140.41 C 147.84 140.29 157.27 140.44 166.67 140.35 C 166.70 149.82 166.71 159.29 166.67 168.77 C 157.24 168.71 147.81 168.71 138.38 168.77 C 138.39 159.32 138.24 149.85 138.45 140.41 Z",fill:"#9fbb1a"}));var s=u;function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=wp.i18n.__,C=wp.element.RawHTML,y=wp.blocks.registerBlockType,b=wp.data.withSelect,g=lodash.omit,h=React.memo,m=b(function(e,t){return{Freeform:e("core/blocks").getBlockType("core/freeform")}})(h(function(e){var t=g(e,["Freeform"]),n=f(jQuery,e.Freeform.edit);return React.createElement(n,p({},t,{isSelected:!0}))}));y("imagely/nextgen-gallery",{title:d("NextGEN Gallery"),desription:d("A block for adding NextGEN Galleries."),icon:s.nextgen,category:"common",attributes:{content:{type:"string",source:"html"}},supports:{className:!1,customClassName:!1},edit:m,save:function(e){var t=e.attributes.content;return React.createElement(C,null,t)}})}]);
 //# sourceMappingURL=block.min.js.map
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js.map b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js.map
index b3e5e3a96..08b6f7113 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js.map
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/block.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/edit.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","wp","i18n","__","createNggEditComponent","memoize","lodash","$","Freeform","_Freeform","NggEditor","props","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","openIGW","_assertThisInitialized","updateContent","hasGallery","toggleAddGalleryBtn","_inherits","_createClass","attributes","content","length","_get","ref","addClass","siblings","hide","removeClass","show","setAttributes","editor","on","_ref","shortcode","execCommand","React","createElement","className","onClick","ngg_tinymce_plugin","button_label","icons","nextgen","id","version","width","height","viewBox","stroke","fill","fill-rule","RawHTML","element","registerBlockType","blocks","withSelect","data","omit","memo","edit","select","getBlockType","withFreeform","isSelected","editProps","NggEdit","jQuery","title","desription","icon","category","type","source","supports","customClassName","save"],"mappings":"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","file":"block.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","const { __ }        = wp.i18n;\nconst { memoize }   = lodash\n\n// Given jQuery and the Freeform block settings,  creates the Ngg Editor Component\nexport const createNggEditComponent = memoize(($, Freeform) => {\n    class NggEditor extends Freeform {\n        constructor(props) {\n            super(props)\n            this.openIGW            = this.openIGW.bind(this)\n            this.updateContent      = this.updateContent.bind(this)\n            this.hasGallery         = this.hasGallery.bind(this)\n            this.toggleAddGalleryBtn= this.toggleAddGalleryBtn.bind(this)\n        }\n\n        hasGallery() {\n            return this.props.attributes.content && this.props.attributes.content.length > 0\n        }\n\n        componentDidMount() {\n            super.componentDidMount()\n            $(this.ref).addClass('freeform-toolbar').addClass('ngg-freeform-toolbar')\n            this.toggleAddGalleryBtn();\n\n        }\n\n        componentDidUpdate() {\n            this.toggleAddGalleryBtn();\n        }\n\n        toggleAddGalleryBtn() {\n            // Determine the UI state\n            if (this.props.attributes.content) {\n                $(this.ref).addClass('hidden');\n                $(this.ref).siblings('.add-ngg-gallery-wrap').hide()\n            }\n            else {\n                $(this.ref).removeClass('hidden');\n                $(this.ref).siblings('.add-ngg-gallery-wrap').show()\n            }\n        }\n\n        updateContent(content) {\n            this.props.setAttributes({content})        \n        }\n\n        onSetup(editor){\n            super.onSetup(editor);\n            const updateContent     = this.updateContent.bind(this)\n\n            // When NGG is added or removed, we must set the classic \"content\" attribute, \n            // which will re-render our component\n            editor.on('ngg-removed', () => updateContent(\"\"))\n            editor.on('ngg-inserted', ({shortcode}) => updateContent(shortcode))\n        }\n\n        openIGW() {\n            this.editor.execCommand('ngg_attach_to_post')\n        }\n\n        render(){\n            const classic = super.render()\n            return [\n                classic,\n                <div className=\"add-ngg-gallery-wrap\">\n                    <div className=\"add-ngg-gallery\" onClick={this.openIGW}>\n                        {ngg_tinymce_plugin.i18n.button_label}\n                    </div>\n                </div>\n            ]\n        }\n    }\n\n    return NggEditor\n})","const icons = {};\n\nicons.nextgen =\n<svg id=\"svg\" version=\"1.1\" width=\"400\" height=\"385.8088930936613\" viewBox=\"0 0 400 385.8088930936613\">\n<g id=\"svgg\"><path id=\"path0\" d=\"\" stroke=\"none\" fill=\"#000055\" fill-rule=\"evenodd\"></path><path id=\"path1\" d=\"\" stroke=\"none\" fill=\"#002424\" fill-rule=\"evenodd\"></path><path id=\"path2\" d=\"M194.418 152.698 C 154.152 157.677,135.139 203.873,160.388 235.383 C 179.730 259.522,217.168 260.458,237.772 237.316 C 261.954 210.156,250.860 167.167,216.592 155.239 C 210.224 153.023,200.657 151.926,194.418 152.698 \" stroke=\"none\" fill=\"#143650\" fill-rule=\"evenodd\"></path><path id=\"path3\" d=\"\" stroke=\"none\" fill=\"#555500\" fill-rule=\"evenodd\"></path><path id=\"path4\" d=\"M109.430 274.467 C 109.368 274.629,109.202 274.717,109.061 274.663 C 108.920 274.609,108.715 274.732,108.606 274.936 C 108.496 275.140,108.286 275.307,108.139 275.307 C 107.992 275.307,107.796 275.441,107.705 275.605 C 107.536 275.907,106.895 276.338,106.291 276.556 C 106.109 276.622,105.960 276.753,105.960 276.848 C 105.960 276.942,105.747 277.101,105.487 277.200 C 105.227 277.299,105.014 277.467,105.014 277.573 C 105.014 277.680,104.920 277.767,104.805 277.767 C 104.690 277.767,104.285 278.009,103.906 278.303 C 103.527 278.598,103.068 278.894,102.886 278.960 C 102.703 279.026,102.554 279.168,102.554 279.275 C 102.554 279.382,102.427 279.470,102.272 279.470 C 102.117 279.470,101.884 279.640,101.754 279.849 C 101.624 280.057,101.367 280.227,101.184 280.227 C 101.001 280.227,100.851 280.314,100.851 280.421 C 100.851 280.528,100.639 280.696,100.378 280.795 C 100.118 280.894,99.905 281.071,99.905 281.189 C 99.905 281.306,99.793 281.360,99.655 281.307 C 99.518 281.254,99.304 281.373,99.181 281.570 C 99.057 281.768,98.838 281.930,98.694 281.930 C 98.550 281.930,98.383 282.059,98.322 282.217 C 98.262 282.374,97.997 282.585,97.734 282.685 C 97.471 282.785,97.256 282.954,97.256 283.061 C 97.256 283.167,97.095 283.254,96.898 283.254 C 96.701 283.254,96.491 283.382,96.431 283.538 C 96.371 283.694,96.201 283.822,96.053 283.822 C 95.904 283.822,95.731 283.959,95.667 284.126 C 95.603 284.292,95.438 284.386,95.302 284.334 C 95.165 284.281,94.952 284.400,94.829 284.598 C 94.705 284.796,94.529 284.957,94.437 284.957 C 94.344 284.957,93.996 285.213,93.661 285.525 C 93.327 285.837,92.965 286.093,92.857 286.093 C 92.748 286.093,92.296 286.391,91.851 286.755 C 91.407 287.119,90.958 287.417,90.854 287.417 C 90.750 287.417,90.637 287.481,90.602 287.559 C 90.471 287.855,89.293 288.565,89.116 288.455 C 89.014 288.392,88.931 288.476,88.931 288.641 C 88.931 288.805,88.718 289.021,88.458 289.120 C 88.198 289.219,87.985 289.392,87.985 289.505 C 87.985 289.617,87.602 289.879,87.133 290.086 C 86.665 290.293,86.282 290.546,86.282 290.647 C 86.282 290.749,86.090 290.915,85.856 291.017 C 85.220 291.292,84.692 291.646,84.522 291.911 C 84.439 292.041,84.245 292.148,84.091 292.148 C 83.936 292.148,83.761 292.275,83.701 292.431 C 83.641 292.588,83.504 292.715,83.396 292.715 C 83.287 292.715,82.835 293.013,82.391 293.377 C 81.946 293.742,81.493 294.040,81.384 294.040 C 81.276 294.040,81.097 294.207,80.988 294.411 C 80.871 294.629,80.673 294.738,80.508 294.675 C 80.337 294.609,80.227 294.677,80.227 294.850 C 80.227 295.006,80.014 295.187,79.754 295.253 C 79.494 295.318,79.281 295.455,79.281 295.557 C 79.281 295.659,79.162 295.743,79.017 295.743 C 78.872 295.743,78.707 295.864,78.650 296.012 C 78.594 296.160,78.223 296.433,77.826 296.619 C 77.429 296.804,76.994 297.108,76.858 297.295 C 76.722 297.482,76.488 297.635,76.337 297.635 C 76.187 297.635,76.064 297.715,76.064 297.814 C 76.064 297.990,75.336 298.457,74.693 298.693 C 74.510 298.760,74.361 298.892,74.361 298.986 C 74.361 299.081,74.170 299.241,73.936 299.342 C 73.345 299.597,72.922 299.894,72.049 300.662 C 71.636 301.026,71.221 301.325,71.127 301.325 C 71.032 301.325,70.662 301.559,70.303 301.845 C 69.945 302.131,69.562 302.365,69.452 302.365 C 69.342 302.365,69.253 302.449,69.253 302.551 C 69.253 302.653,69.040 302.790,68.780 302.855 C 68.519 302.920,68.307 303.102,68.307 303.259 C 68.307 303.451,68.183 303.512,67.928 303.446 C 67.680 303.381,67.550 303.440,67.550 303.617 C 67.550 303.766,67.337 303.969,67.077 304.068 C 66.816 304.167,66.604 304.337,66.604 304.447 C 66.604 304.556,66.391 304.726,66.131 304.825 C 65.870 304.924,65.658 305.092,65.658 305.199 C 65.658 305.305,65.487 305.393,65.279 305.393 C 65.071 305.393,64.901 305.480,64.901 305.587 C 64.901 305.693,64.688 305.861,64.428 305.960 C 64.167 306.059,63.955 306.227,63.955 306.334 C 63.955 306.441,63.784 306.528,63.576 306.528 C 63.368 306.528,63.198 306.615,63.198 306.722 C 63.198 306.828,62.985 306.997,62.725 307.096 C 62.465 307.194,62.252 307.361,62.252 307.465 C 62.252 307.570,61.907 307.831,61.486 308.046 C 61.064 308.261,60.672 308.561,60.614 308.712 C 60.556 308.864,60.389 308.988,60.243 308.988 C 60.097 308.988,59.835 309.154,59.662 309.356 C 59.488 309.559,59.285 309.687,59.210 309.641 C 59.135 309.595,58.800 309.812,58.467 310.124 C 58.133 310.436,57.748 310.691,57.612 310.691 C 57.475 310.691,57.335 310.754,57.301 310.833 C 57.184 311.095,55.380 312.394,55.132 312.394 C 54.996 312.394,54.803 312.547,54.703 312.735 C 54.602 312.923,54.174 313.242,53.752 313.445 C 53.330 313.647,52.983 313.879,52.982 313.959 C 52.981 314.040,52.789 314.189,52.554 314.290 C 51.958 314.548,51.520 314.853,50.731 315.562 C 50.355 315.900,49.942 316.176,49.812 316.177 C 49.683 316.177,49.476 316.340,49.353 316.537 C 49.229 316.735,49.027 316.858,48.903 316.810 C 48.779 316.763,48.626 316.856,48.564 317.018 C 48.502 317.181,48.339 317.313,48.203 317.313 C 48.067 317.313,47.695 317.547,47.375 317.833 C 46.625 318.507,45.782 319.104,45.364 319.259 C 45.182 319.327,45.033 319.470,45.033 319.578 C 45.033 319.685,44.903 319.773,44.743 319.773 C 44.584 319.773,44.405 319.901,44.345 320.057 C 44.285 320.213,44.075 320.341,43.878 320.341 C 43.622 320.341,43.519 320.476,43.519 320.814 C 43.519 321.074,43.587 321.287,43.670 321.287 C 43.753 321.287,44.147 321.798,44.545 322.422 C 44.942 323.046,45.343 323.557,45.434 323.557 C 45.526 323.557,45.601 323.655,45.601 323.774 C 45.601 323.894,45.899 324.355,46.263 324.799 C 46.627 325.244,46.925 325.700,46.925 325.812 C 46.925 325.925,47.010 326.017,47.114 326.017 C 47.219 326.017,47.304 326.132,47.304 326.272 C 47.304 326.411,47.474 326.680,47.682 326.868 C 47.890 327.057,48.061 327.331,48.061 327.477 C 48.061 327.634,48.209 327.719,48.420 327.685 C 48.728 327.634,49.763 328.480,49.763 328.783 C 49.763 328.837,49.976 329.160,50.237 329.501 C 50.497 329.842,50.710 330.217,50.710 330.335 C 50.710 330.610,51.587 331.190,51.802 331.058 C 51.891 331.002,52.123 331.229,52.316 331.562 C 52.509 331.894,52.780 332.235,52.918 332.318 C 53.056 332.401,53.169 332.587,53.169 332.731 C 53.169 332.875,53.347 333.049,53.565 333.118 C 53.783 333.187,54.082 333.533,54.230 333.888 C 54.378 334.242,54.578 334.532,54.675 334.532 C 54.772 334.532,54.964 334.766,55.102 335.052 C 55.239 335.338,55.492 335.574,55.663 335.575 C 56.001 335.578,56.764 336.191,56.764 336.461 C 56.764 336.713,57.567 337.748,57.763 337.748 C 57.981 337.748,58.642 338.535,58.650 338.804 C 58.654 338.917,58.888 339.130,59.171 339.277 C 59.786 339.598,61.757 341.524,61.929 341.973 C 61.996 342.147,62.168 342.289,62.311 342.289 C 62.454 342.289,62.725 342.577,62.915 342.929 C 63.125 343.319,63.542 343.693,63.985 343.889 C 64.385 344.065,64.711 344.333,64.711 344.485 C 64.711 344.637,64.882 344.825,65.091 344.902 C 65.299 344.979,65.628 345.336,65.821 345.696 C 66.014 346.056,66.335 346.394,66.535 346.449 C 66.972 346.567,68.307 347.617,68.307 347.843 C 68.307 348.075,69.693 349.274,69.850 349.177 C 69.923 349.132,70.037 349.267,70.103 349.477 C 70.170 349.687,70.389 349.858,70.590 349.858 C 70.791 349.858,70.956 349.924,70.956 350.004 C 70.956 350.370,72.658 351.980,72.934 351.874 C 73.117 351.804,73.226 351.868,73.226 352.046 C 73.226 352.202,73.370 352.385,73.545 352.452 C 73.721 352.520,74.109 352.853,74.408 353.193 C 74.727 353.556,75.063 353.768,75.222 353.707 C 75.385 353.645,75.552 353.757,75.637 353.986 C 75.778 354.360,77.338 355.718,77.633 355.722 C 77.925 355.725,78.903 356.556,78.903 356.800 C 78.903 356.937,78.988 357.048,79.093 357.048 C 79.198 357.048,79.469 357.261,79.695 357.521 C 79.921 357.781,80.240 357.997,80.403 357.999 C 80.566 358.002,81.069 358.343,81.520 358.756 C 81.972 359.170,82.451 359.508,82.586 359.508 C 82.721 359.508,82.876 359.678,82.931 359.886 C 82.988 360.104,83.189 360.265,83.404 360.265 C 83.627 360.265,83.821 360.428,83.883 360.668 C 83.961 360.965,84.092 361.045,84.379 360.970 C 84.624 360.906,84.768 360.959,84.768 361.114 C 84.768 361.353,85.288 361.680,85.572 361.619 C 85.650 361.603,85.714 361.717,85.714 361.873 C 85.714 362.029,85.864 362.157,86.048 362.157 C 86.231 362.157,86.466 362.349,86.570 362.583 C 86.674 362.817,86.908 362.997,87.090 362.982 C 87.272 362.967,87.686 363.202,88.008 363.503 C 88.331 363.805,88.863 364.179,89.191 364.334 C 89.518 364.490,89.998 364.809,90.257 365.043 C 90.517 365.277,90.814 365.478,90.918 365.489 C 91.452 365.547,91.958 365.827,91.958 366.064 C 91.958 366.211,92.107 366.386,92.289 366.453 C 92.472 366.520,92.693 366.695,92.781 366.842 C 92.883 367.012,93.105 367.067,93.396 366.994 C 93.646 366.932,93.851 366.963,93.851 367.063 C 93.851 367.400,94.783 368.258,95.042 368.158 C 95.182 368.105,95.398 368.222,95.521 368.420 C 95.645 368.618,95.905 368.780,96.100 368.780 C 96.294 368.780,96.559 368.907,96.689 369.063 C 96.818 369.219,97.049 369.347,97.202 369.347 C 97.355 369.347,97.828 369.645,98.254 370.009 C 98.679 370.374,99.129 370.672,99.254 370.672 C 99.379 370.672,99.586 370.798,99.714 370.953 C 99.843 371.108,100.024 371.189,100.116 371.131 C 100.208 371.074,100.284 371.112,100.284 371.214 C 100.284 371.425,101.342 371.996,101.732 371.996 C 101.872 371.996,101.965 372.103,101.939 372.233 C 101.912 372.372,102.130 372.493,102.470 372.526 C 102.801 372.558,103.360 372.861,103.781 373.235 C 104.185 373.594,104.655 373.888,104.826 373.888 C 104.997 373.888,105.342 374.106,105.592 374.372 C 105.873 374.671,106.180 374.821,106.396 374.765 C 106.594 374.713,106.953 374.853,107.220 375.085 C 107.480 375.311,107.751 375.501,107.820 375.506 C 108.117 375.528,108.913 375.843,109.149 376.032 C 109.289 376.145,109.518 376.254,109.657 376.274 C 109.796 376.294,110.249 376.584,110.664 376.917 C 111.079 377.251,111.501 377.472,111.602 377.410 C 111.704 377.348,111.837 377.429,111.899 377.591 C 111.962 377.753,112.093 377.836,112.191 377.776 C 112.289 377.715,112.694 377.851,113.091 378.077 C 114.435 378.844,114.758 378.995,115.057 378.996 C 115.221 378.997,115.558 379.214,115.807 379.478 C 116.071 379.759,116.425 379.938,116.658 379.907 C 116.877 379.879,117.263 379.987,117.516 380.147 C 117.769 380.308,118.444 380.635,119.016 380.874 C 119.588 381.114,120.203 381.438,120.381 381.595 C 120.559 381.753,120.847 381.827,121.021 381.760 C 121.216 381.685,121.596 381.838,122.021 382.162 C 122.398 382.449,122.810 382.660,122.938 382.631 C 123.065 382.602,123.363 382.702,123.600 382.854 C 123.837 383.006,124.201 383.158,124.409 383.192 C 124.617 383.226,124.903 383.410,125.045 383.601 C 125.219 383.834,125.444 383.912,125.735 383.839 C 125.999 383.772,126.203 383.825,126.261 383.974 C 126.364 384.244,127.909 384.408,127.909 384.150 C 127.909 384.061,128.172 383.720,128.493 383.391 C 128.979 382.894,129.056 382.698,128.951 382.220 C 128.843 381.728,128.872 381.664,129.154 381.773 C 129.421 381.875,129.463 381.821,129.376 381.489 C 129.294 381.175,129.353 381.079,129.625 381.079 C 129.919 381.079,129.961 380.981,129.868 380.513 C 129.795 380.146,129.862 379.784,130.062 379.479 C 130.231 379.221,130.369 378.916,130.369 378.801 C 130.369 378.686,130.500 378.461,130.659 378.301 C 130.886 378.075,130.901 377.952,130.726 377.742 C 130.546 377.525,130.624 377.364,131.121 376.920 C 131.619 376.476,131.716 376.274,131.618 375.885 C 131.552 375.619,131.565 375.402,131.649 375.402 C 131.907 375.402,132.450 374.330,132.450 373.821 C 132.450 373.241,132.798 372.415,133.253 371.913 C 133.436 371.711,133.568 371.456,133.546 371.346 C 133.477 370.988,133.777 370.104,133.968 370.104 C 134.070 370.104,134.153 369.891,134.153 369.631 C 134.153 369.354,134.251 369.178,134.390 369.205 C 134.539 369.235,134.621 369.043,134.613 368.685 C 134.606 368.373,134.720 368.028,134.867 367.918 C 135.013 367.809,135.108 367.596,135.077 367.445 C 135.005 367.096,135.651 365.752,135.891 365.752 C 135.991 365.752,136.055 365.561,136.034 365.326 C 135.986 364.807,136.396 363.671,136.632 363.671 C 136.725 363.671,136.802 363.467,136.802 363.218 C 136.802 362.969,136.939 362.713,137.106 362.649 C 137.318 362.567,137.376 362.395,137.297 362.082 C 137.226 361.799,137.288 361.546,137.466 361.399 C 137.621 361.270,137.748 361.086,137.748 360.989 C 137.748 360.893,137.919 360.462,138.127 360.031 C 138.335 359.600,138.505 359.088,138.505 358.894 C 138.505 358.699,138.590 358.592,138.694 358.657 C 138.804 358.724,138.884 358.547,138.884 358.239 C 138.884 357.944,139.096 357.390,139.357 357.008 C 139.617 356.625,139.830 356.124,139.830 355.895 C 139.830 355.368,140.756 353.453,141.011 353.453 C 141.121 353.453,141.154 353.217,141.089 352.892 C 141.008 352.486,141.062 352.282,141.283 352.159 C 141.484 352.046,141.552 351.844,141.480 351.570 C 141.399 351.260,141.440 351.179,141.641 351.256 C 141.842 351.334,141.911 351.196,141.911 350.715 C 141.911 350.360,141.990 350.021,142.086 349.962 C 142.182 349.902,142.316 349.599,142.385 349.288 C 142.453 348.977,142.613 348.723,142.741 348.723 C 142.871 348.723,143.126 348.120,143.321 347.351 C 143.512 346.596,143.784 345.845,143.925 345.680 C 144.066 345.516,144.182 345.249,144.182 345.086 C 144.182 344.923,144.315 344.739,144.479 344.676 C 144.671 344.602,144.735 344.434,144.660 344.198 C 144.596 343.997,144.713 343.465,144.918 343.014 C 145.572 341.583,145.955 340.687,145.995 340.492 C 146.130 339.835,146.342 339.451,146.569 339.451 C 146.727 339.451,146.833 339.245,146.837 338.931 C 146.840 338.645,146.966 338.247,147.117 338.048 C 147.304 337.801,147.332 337.612,147.204 337.458 C 147.074 337.302,147.105 337.156,147.301 336.993 C 147.459 336.863,147.588 336.596,147.588 336.401 C 147.588 336.205,147.673 336.045,147.777 336.045 C 147.881 336.045,147.966 335.837,147.966 335.583 C 147.966 335.329,148.129 335.006,148.329 334.866 C 148.539 334.719,148.741 334.286,148.808 333.839 C 148.871 333.414,149.091 332.719,149.296 332.294 C 149.792 331.268,149.789 330.258,149.290 329.991 C 149.082 329.879,148.912 329.700,148.912 329.593 C 148.912 329.485,148.699 329.119,148.439 328.777 C 148.179 328.436,147.966 328.086,147.966 327.998 C 147.966 327.911,147.625 327.435,147.209 326.941 C 146.793 326.448,146.452 325.953,146.452 325.841 C 146.452 325.730,146.386 325.639,146.306 325.639 C 146.226 325.639,145.991 325.321,145.786 324.934 C 145.580 324.546,145.284 324.090,145.128 323.921 C 144.619 323.370,144.182 322.798,144.182 322.684 C 144.182 322.622,143.926 322.248,143.614 321.854 C 143.302 321.460,143.046 321.041,143.046 320.922 C 143.046 320.804,142.919 320.658,142.763 320.598 C 142.606 320.538,142.479 320.406,142.479 320.305 C 142.479 320.203,142.181 319.757,141.816 319.312 C 141.452 318.868,141.154 318.404,141.154 318.281 C 141.154 318.158,141.026 318.009,140.870 317.949 C 140.714 317.889,140.587 317.719,140.587 317.571 C 140.587 317.423,140.459 317.252,140.303 317.192 C 140.147 317.132,140.019 317.004,140.019 316.907 C 140.019 316.698,139.230 315.544,139.026 315.453 C 138.947 315.418,138.884 315.282,138.884 315.151 C 138.884 315.019,138.713 314.758,138.505 314.570 C 138.297 314.381,138.127 314.113,138.127 313.973 C 138.127 313.833,138.040 313.718,137.933 313.718 C 137.826 313.718,137.658 313.505,137.559 313.245 C 137.460 312.985,137.306 312.772,137.216 312.772 C 137.067 312.772,136.696 312.128,136.642 311.775 C 136.630 311.695,136.443 311.440,136.228 311.208 C 135.601 310.532,134.359 308.771,134.237 308.384 C 134.175 308.189,133.939 307.836,133.713 307.599 C 133.487 307.362,133.174 306.971,133.018 306.730 C 132.862 306.489,132.644 306.196,132.534 306.079 C 132.424 305.962,132.169 305.573,131.967 305.216 C 131.764 304.858,131.450 304.390,131.268 304.175 C 130.563 303.344,130.452 303.186,130.089 302.503 C 129.884 302.115,129.647 301.798,129.564 301.798 C 129.481 301.798,129.333 301.585,129.234 301.325 C 129.135 301.064,128.967 300.851,128.860 300.851 C 128.753 300.851,128.666 300.737,128.666 300.597 C 128.666 300.457,128.496 300.188,128.288 300.000 C 128.079 299.812,127.909 299.579,127.909 299.484 C 127.909 299.389,127.803 299.200,127.673 299.064 C 127.543 298.928,127.308 298.626,127.152 298.393 C 126.996 298.160,126.734 297.788,126.570 297.566 C 126.405 297.344,126.216 297.013,126.150 296.831 C 126.083 296.649,125.950 296.500,125.853 296.500 C 125.756 296.500,125.489 296.138,125.260 295.695 C 125.030 295.253,124.723 294.823,124.578 294.740 C 124.433 294.657,124.314 294.465,124.314 294.314 C 124.314 294.163,124.226 294.040,124.119 294.040 C 124.012 294.040,123.869 293.891,123.802 293.709 C 123.735 293.526,123.503 293.122,123.287 292.810 C 123.071 292.498,122.809 292.106,122.705 291.939 C 122.487 291.589,121.384 290.080,121.101 289.743 C 120.995 289.617,120.908 289.459,120.908 289.392 C 120.908 289.289,119.878 287.898,119.207 287.094 C 119.102 286.968,119.016 286.810,119.016 286.743 C 119.016 286.675,118.761 286.298,118.448 285.904 C 118.136 285.509,117.881 285.097,117.881 284.987 C 117.881 284.877,117.774 284.719,117.644 284.636 C 117.344 284.444,116.556 283.327,116.556 283.093 C 116.556 282.996,116.429 282.868,116.272 282.808 C 116.116 282.748,115.989 282.577,115.989 282.429 C 115.989 282.281,115.861 282.111,115.705 282.051 C 115.549 281.991,115.421 281.851,115.421 281.739 C 115.421 281.511,114.646 280.356,114.428 280.259 C 114.350 280.224,114.286 280.079,114.286 279.937 C 114.286 279.795,114.179 279.610,114.049 279.527 C 113.749 279.335,112.961 278.218,112.961 277.984 C 112.961 277.887,112.833 277.759,112.677 277.699 C 112.521 277.639,112.394 277.503,112.394 277.396 C 112.394 276.953,110.065 274.176,109.691 274.173 C 109.610 274.173,109.493 274.305,109.430 274.467 \" stroke=\"none\" fill=\"#8ca516\" fill-rule=\"evenodd\"></path><path id=\"path5\" d=\"\" stroke=\"none\" fill=\"#6db600\" fill-rule=\"evenodd\"></path><path id=\"path6\" d=\"M79.186 45.256 C 78.978 45.372,78.369 45.838,77.832 46.291 C 77.295 46.744,76.809 47.114,76.752 47.114 C 76.696 47.114,76.441 47.306,76.186 47.540 C 75.500 48.170,75.046 48.533,74.934 48.540 C 74.693 48.557,73.983 49.116,73.983 49.289 C 73.982 49.611,72.116 51.366,71.950 51.200 C 71.890 51.140,71.722 51.260,71.577 51.468 C 71.431 51.675,71.190 51.845,71.039 51.845 C 70.889 51.845,70.766 52.019,70.766 52.232 C 70.766 52.464,70.539 52.748,70.200 52.942 C 69.888 53.119,69.633 53.328,69.632 53.406 C 69.632 53.484,69.461 53.548,69.253 53.548 C 69.044 53.548,68.874 53.634,68.874 53.739 C 68.874 53.992,67.915 55.061,67.688 55.061 C 67.590 55.061,67.342 55.274,67.137 55.535 C 66.933 55.795,66.647 56.008,66.502 56.008 C 66.357 56.008,66.137 56.197,66.013 56.429 C 65.743 56.933,65.537 57.138,64.871 57.564 C 64.594 57.741,64.126 58.227,63.830 58.644 C 63.452 59.177,63.194 59.371,62.961 59.300 C 62.776 59.244,62.630 59.297,62.630 59.421 C 62.630 59.747,61.733 60.786,61.150 61.136 C 60.865 61.307,60.668 61.576,60.699 61.751 C 60.730 61.922,60.634 62.062,60.487 62.062 C 60.249 62.062,59.039 63.359,58.877 63.788 C 58.843 63.879,58.688 63.955,58.533 63.955 C 58.258 63.955,57.711 64.387,57.711 64.603 C 57.711 64.663,57.561 64.867,57.379 65.056 C 57.197 65.246,56.793 65.714,56.482 66.097 C 56.170 66.480,55.804 66.793,55.668 66.793 C 55.532 66.793,55.296 67.091,55.144 67.455 C 54.992 67.819,54.762 68.121,54.633 68.125 C 54.505 68.130,53.463 69.275,52.318 70.671 C 51.173 72.067,50.086 73.262,49.903 73.326 C 49.719 73.390,49.605 73.501,49.649 73.573 C 49.805 73.824,49.216 74.409,48.921 74.296 C 48.711 74.216,48.627 74.303,48.625 74.604 C 48.622 75.122,48.429 75.402,48.074 75.402 C 47.926 75.402,47.741 75.638,47.663 75.927 C 47.586 76.216,47.349 76.642,47.137 76.874 C 46.126 77.977,44.276 80.266,44.276 80.414 C 44.276 80.505,44.106 80.634,43.898 80.700 C 43.690 80.766,43.519 80.985,43.519 81.186 C 43.519 81.387,43.390 81.701,43.233 81.883 C 41.478 83.908,40.527 85.119,40.618 85.210 C 40.679 85.271,40.378 85.740,39.948 86.253 C 39.519 86.766,39.167 87.281,39.167 87.396 C 39.167 87.512,39.040 87.606,38.884 87.606 C 38.728 87.606,38.600 87.763,38.600 87.954 C 38.600 88.146,38.324 88.625,37.988 89.019 C 37.651 89.413,37.374 89.838,37.373 89.964 C 37.371 90.090,36.944 90.679,36.424 91.275 C 35.904 91.870,35.500 92.441,35.527 92.542 C 35.554 92.644,35.398 92.916,35.181 93.147 C 34.964 93.378,34.676 93.822,34.542 94.134 C 34.408 94.447,34.074 94.941,33.800 95.232 C 33.526 95.524,33.302 95.856,33.302 95.971 C 33.302 96.086,33.089 96.459,32.829 96.800 C 32.569 97.141,32.356 97.527,32.356 97.657 C 32.356 97.788,32.194 98.070,31.996 98.285 C 31.656 98.654,31.110 99.547,30.515 100.706 C 30.370 100.990,30.171 101.272,30.073 101.332 C 29.976 101.392,29.896 101.592,29.896 101.776 C 29.896 101.960,29.683 102.310,29.423 102.554 C 29.163 102.799,28.950 103.139,28.950 103.311 C 28.950 103.483,28.745 103.816,28.495 104.051 C 28.245 104.286,27.983 104.780,27.914 105.149 C 27.845 105.518,27.539 106.085,27.233 106.410 C 26.928 106.735,26.716 107.099,26.761 107.220 C 26.806 107.340,26.678 107.587,26.477 107.769 C 26.276 107.951,26.112 108.252,26.112 108.438 C 26.112 108.624,26.032 108.825,25.934 108.886 C 25.725 109.015,25.166 110.097,25.166 110.374 C 25.166 110.480,25.049 110.701,24.908 110.865 C 24.766 111.029,24.497 111.573,24.310 112.072 C 24.124 112.572,23.805 113.098,23.602 113.240 C 23.388 113.390,23.291 113.594,23.372 113.724 C 23.448 113.848,23.409 114.012,23.285 114.089 C 23.161 114.166,23.040 114.357,23.017 114.513 C 22.994 114.669,22.842 115.001,22.679 115.251 C 22.516 115.500,22.320 115.918,22.245 116.178 C 22.005 117.008,21.524 117.971,21.276 118.117 C 21.144 118.196,20.979 118.600,20.908 119.016 C 20.838 119.432,20.703 119.773,20.608 119.773 C 20.513 119.773,20.435 119.909,20.435 120.075 C 20.435 120.390,19.954 121.350,19.531 121.878 C 19.395 122.047,19.304 122.260,19.328 122.351 C 19.423 122.710,19.048 123.830,18.710 124.192 C 18.514 124.402,18.354 124.722,18.354 124.902 C 18.354 125.081,18.265 125.258,18.156 125.294 C 18.048 125.331,17.934 125.593,17.904 125.878 C 17.874 126.163,17.792 126.453,17.723 126.522 C 17.654 126.591,17.597 126.800,17.597 126.985 C 17.597 127.171,17.456 127.402,17.284 127.498 C 17.104 127.598,17.019 127.797,17.083 127.965 C 17.148 128.134,17.072 128.303,16.903 128.368 C 16.743 128.430,16.659 128.604,16.718 128.756 C 16.776 128.908,16.742 129.083,16.643 129.144 C 16.543 129.206,16.462 129.496,16.462 129.789 C 16.462 130.083,16.337 130.426,16.184 130.553 C 16.031 130.680,15.913 130.839,15.922 130.907 C 15.975 131.306,15.854 131.666,15.559 131.989 C 15.375 132.191,15.231 132.483,15.240 132.640 C 15.254 132.898,14.806 134.251,14.394 135.194 C 14.034 136.017,13.441 137.881,13.325 138.555 C 13.257 138.946,13.127 139.313,13.034 139.370 C 12.942 139.427,12.867 139.724,12.867 140.030 C 12.867 140.336,12.781 140.587,12.677 140.587 C 12.573 140.587,12.488 140.752,12.488 140.954 C 12.488 141.156,12.403 141.374,12.299 141.438 C 12.195 141.502,12.108 141.784,12.106 142.064 C 12.103 142.344,11.940 142.928,11.743 143.362 C 11.546 143.796,11.432 144.198,11.489 144.255 C 11.547 144.312,11.412 144.782,11.189 145.299 C 10.967 145.816,10.785 146.405,10.785 146.608 C 10.785 146.811,10.658 147.220,10.503 147.519 C 10.347 147.817,10.219 148.290,10.219 148.570 C 10.218 148.850,10.144 149.124,10.054 149.180 C 9.964 149.236,9.832 149.645,9.760 150.090 C 9.514 151.625,8.933 154.114,8.690 154.683 C 8.531 155.055,8.445 155.436,7.841 158.467 C 7.675 159.300,7.457 160.135,7.357 160.323 C 7.256 160.510,7.122 161.216,7.060 161.890 C 6.997 162.564,6.873 163.160,6.784 163.215 C 6.695 163.270,6.621 163.586,6.620 163.918 C 6.618 164.251,6.490 165.061,6.335 165.719 C 6.180 166.377,6.010 167.271,5.957 167.706 C 5.904 168.140,5.815 168.794,5.757 169.158 C 5.700 169.522,5.628 170.076,5.597 170.388 C 5.566 170.700,5.489 171.083,5.425 171.239 C 5.361 171.395,5.221 172.247,5.113 173.132 C 5.006 174.016,4.874 174.995,4.821 175.307 C 4.767 175.620,4.675 176.471,4.616 177.200 C 4.557 177.928,4.436 178.612,4.347 178.719 C 4.258 178.827,4.184 179.337,4.182 179.854 C 4.180 180.372,4.133 181.306,4.077 181.930 C 4.021 182.554,3.937 183.576,3.890 184.201 C 3.843 184.825,3.790 185.336,3.772 185.336 C 3.711 185.336,3.445 190.033,3.343 192.917 C 3.310 193.860,3.223 194.729,3.149 194.847 C 3.017 195.060,3.058 195.456,3.313 196.452 C 3.388 196.743,3.369 196.973,3.271 196.973 C 2.976 196.973,3.139 207.939,3.515 213.434 C 3.575 214.319,3.650 215.511,3.680 216.083 C 3.711 216.656,3.841 218.188,3.969 219.489 C 4.098 220.790,4.193 222.138,4.181 222.485 C 4.170 222.833,4.219 223.211,4.291 223.327 C 4.449 223.584,4.491 223.880,4.653 225.875 C 4.722 226.734,4.832 227.436,4.897 227.436 C 4.961 227.436,5.029 227.670,5.047 227.956 C 5.081 228.509,5.332 230.268,5.686 232.450 C 5.804 233.179,5.892 234.009,5.880 234.295 C 5.869 234.581,5.927 234.816,6.010 234.816 C 6.092 234.816,6.155 235.163,6.149 235.587 C 6.144 236.012,6.205 236.400,6.286 236.450 C 6.367 236.500,6.433 236.797,6.433 237.110 C 6.433 237.423,6.516 237.833,6.617 238.023 C 6.719 238.212,6.898 238.994,7.016 239.760 C 7.134 240.527,7.282 241.239,7.344 241.342 C 7.407 241.445,7.471 241.785,7.488 242.099 C 7.504 242.412,7.616 243.024,7.736 243.460 C 7.857 243.896,7.937 244.321,7.916 244.406 C 7.894 244.491,8.052 245.128,8.267 245.821 C 8.482 246.515,8.615 247.303,8.564 247.572 C 8.511 247.851,8.557 248.061,8.673 248.061 C 8.785 248.061,8.929 248.380,8.994 248.770 C 9.059 249.160,9.162 249.607,9.224 249.763 C 9.286 249.920,9.352 250.218,9.370 250.426 C 9.389 250.634,9.502 251.044,9.622 251.337 C 9.741 251.630,9.839 252.027,9.839 252.220 C 9.839 252.413,9.929 252.600,10.040 252.637 C 10.150 252.674,10.245 253.071,10.251 253.519 C 10.258 254.029,10.360 254.371,10.524 254.434 C 10.668 254.489,10.785 254.736,10.785 254.982 C 10.785 255.505,11.579 258.598,11.996 259.697 C 12.153 260.114,12.286 260.593,12.291 260.764 C 12.295 260.934,12.426 261.317,12.582 261.615 C 12.737 261.913,12.865 262.292,12.865 262.457 C 12.866 262.621,12.926 262.815,12.998 262.888 C 13.071 262.960,13.152 263.123,13.179 263.251 C 13.404 264.299,13.720 265.234,13.934 265.483 C 14.076 265.648,14.191 265.999,14.191 266.264 C 14.191 266.529,14.319 266.852,14.475 266.982 C 14.631 267.112,14.759 267.458,14.759 267.751 C 14.759 268.044,14.838 268.333,14.936 268.393 C 15.033 268.454,15.252 268.991,15.423 269.587 C 15.594 270.184,15.898 270.953,16.098 271.297 C 16.298 271.642,16.462 272.082,16.462 272.275 C 16.462 272.469,16.558 272.659,16.675 272.698 C 16.792 272.737,16.907 272.936,16.929 273.139 C 17.027 274.010,17.279 274.723,17.524 274.816 C 17.668 274.872,17.786 275.128,17.786 275.385 C 17.786 275.642,17.871 275.905,17.975 275.970 C 18.079 276.034,18.165 276.232,18.165 276.409 C 18.165 276.587,18.335 277.050,18.543 277.438 C 18.751 277.827,18.925 278.294,18.928 278.476 C 18.932 278.659,19.137 279.055,19.384 279.357 C 19.631 279.659,19.788 280.024,19.733 280.169 C 19.678 280.313,19.771 280.583,19.940 280.770 C 20.109 280.957,20.375 281.538,20.530 282.062 C 20.686 282.585,20.983 283.230,21.192 283.495 C 21.400 283.760,21.570 284.084,21.570 284.216 C 21.570 284.347,21.687 284.589,21.830 284.753 C 21.973 284.918,22.233 285.494,22.409 286.035 C 22.585 286.575,22.882 287.214,23.070 287.454 C 23.257 287.694,23.476 288.103,23.555 288.363 C 23.635 288.623,23.944 289.172,24.243 289.583 C 24.542 289.994,24.787 290.569,24.787 290.860 C 24.787 291.152,24.852 291.391,24.931 291.391 C 25.093 291.391,25.194 291.562,26.053 293.295 C 26.385 293.965,26.875 294.806,27.141 295.164 C 27.407 295.523,27.625 295.999,27.625 296.223 C 27.625 296.447,27.796 296.784,28.004 296.973 C 28.212 297.161,28.382 297.402,28.382 297.507 C 28.382 297.613,28.501 297.834,28.647 297.998 C 29.249 298.678,29.679 299.668,29.465 299.882 C 29.311 300.036,29.391 300.234,29.765 300.624 C 30.045 300.917,30.274 301.258,30.274 301.382 C 30.274 301.507,30.346 301.608,30.433 301.608 C 30.521 301.608,30.692 301.800,30.815 302.034 C 30.937 302.268,31.289 302.800,31.596 303.217 C 31.903 303.633,32.157 304.086,32.160 304.224 C 32.164 304.361,32.273 304.592,32.403 304.737 C 32.948 305.345,33.113 305.575,33.113 305.728 C 33.113 305.817,33.367 306.133,33.678 306.431 C 34.339 307.065,34.665 306.968,36.013 305.736 C 36.434 305.351,36.848 305.079,36.934 305.132 C 37.019 305.184,37.140 305.094,37.202 304.932 C 37.265 304.769,37.430 304.636,37.569 304.636 C 37.708 304.636,37.940 304.466,38.086 304.259 C 38.231 304.051,38.408 303.939,38.479 304.011 C 38.550 304.082,38.739 303.953,38.899 303.726 C 39.058 303.498,39.308 303.311,39.453 303.311 C 39.598 303.311,39.784 303.205,39.868 303.075 C 39.951 302.945,40.307 302.677,40.660 302.481 C 41.013 302.284,41.460 301.986,41.653 301.819 C 41.847 301.651,42.169 301.372,42.368 301.198 C 42.568 301.025,42.783 300.935,42.846 300.998 C 42.909 301.061,43.091 300.926,43.251 300.698 C 43.410 300.470,43.655 300.284,43.794 300.284 C 43.933 300.284,44.098 300.151,44.160 299.988 C 44.222 299.825,44.350 299.739,44.443 299.797 C 44.536 299.854,44.941 299.597,45.343 299.225 C 45.745 298.853,46.383 298.390,46.760 298.195 C 47.137 298.000,47.497 297.709,47.558 297.548 C 47.620 297.388,47.790 297.256,47.937 297.256 C 48.083 297.256,48.309 297.130,48.437 296.975 C 48.566 296.820,48.747 296.740,48.840 296.797 C 48.933 296.855,49.061 296.768,49.123 296.605 C 49.186 296.442,49.544 296.163,49.920 295.985 C 50.295 295.806,50.746 295.530,50.921 295.371 C 51.096 295.211,51.463 294.877,51.737 294.629 C 52.011 294.381,52.289 294.231,52.354 294.297 C 52.420 294.362,52.593 294.245,52.740 294.035 C 52.886 293.826,53.080 293.701,53.171 293.757 C 53.261 293.813,53.404 293.750,53.489 293.618 C 53.635 293.389,54.125 293.034,54.633 292.790 C 54.761 292.728,55.229 292.345,55.673 291.939 C 56.117 291.534,56.558 291.202,56.652 291.202 C 56.746 291.202,57.129 290.968,57.503 290.682 C 57.877 290.396,58.245 290.182,58.320 290.207 C 58.395 290.232,58.547 290.082,58.658 289.875 C 58.768 289.668,58.987 289.499,59.142 289.499 C 59.298 289.499,59.476 289.366,59.538 289.204 C 59.601 289.042,59.753 288.948,59.877 288.996 C 60.001 289.043,60.204 288.921,60.327 288.723 C 60.451 288.525,60.636 288.363,60.740 288.363 C 60.843 288.363,61.097 288.214,61.306 288.032 C 61.514 287.850,61.861 287.545,62.078 287.354 C 62.295 287.163,62.515 287.050,62.567 287.102 C 62.619 287.154,62.825 287.055,63.024 286.881 C 63.224 286.708,63.550 286.424,63.750 286.250 C 63.949 286.077,64.164 285.987,64.227 286.050 C 64.290 286.113,64.472 285.978,64.632 285.750 C 64.792 285.522,65.025 285.336,65.150 285.336 C 65.275 285.336,65.484 285.166,65.614 284.957 C 65.744 284.749,65.950 284.579,66.073 284.579 C 66.196 284.579,66.784 284.196,67.380 283.728 C 67.976 283.259,68.556 282.876,68.669 282.876 C 68.782 282.876,68.874 282.801,68.874 282.709 C 68.874 282.617,69.023 282.488,69.205 282.422 C 69.809 282.204,70.450 281.773,70.619 281.471 C 70.710 281.307,70.904 281.173,71.050 281.173 C 71.196 281.173,71.383 281.056,71.466 280.912 C 71.550 280.769,71.919 280.491,72.286 280.296 C 72.944 279.946,73.261 279.714,74.012 279.029 C 74.222 278.838,74.434 278.722,74.483 278.772 C 74.533 278.822,74.773 278.680,75.017 278.457 C 75.752 277.784,76.020 277.596,76.111 277.688 C 76.159 277.735,76.572 277.432,77.030 277.014 C 77.487 276.596,77.959 276.254,78.078 276.254 C 78.197 276.254,78.347 276.117,78.411 275.950 C 78.475 275.783,78.639 275.690,78.776 275.742 C 78.912 275.794,79.127 275.672,79.253 275.470 C 79.379 275.269,79.561 275.152,79.656 275.211 C 79.752 275.270,79.922 275.145,80.035 274.934 C 80.148 274.723,80.356 274.551,80.497 274.551 C 80.639 274.551,80.803 274.423,80.863 274.267 C 80.923 274.111,81.092 273.983,81.239 273.983 C 81.385 273.983,81.609 273.858,81.736 273.705 C 81.863 273.552,82.022 273.446,82.090 273.469 C 82.158 273.491,82.405 273.340,82.640 273.132 C 82.874 272.923,83.243 272.597,83.459 272.406 C 83.676 272.215,83.903 272.108,83.963 272.168 C 84.023 272.229,84.191 272.108,84.336 271.900 C 84.482 271.693,84.723 271.523,84.874 271.523 C 85.024 271.523,85.147 271.438,85.147 271.334 C 85.147 271.230,85.296 271.145,85.480 271.145 C 85.663 271.145,85.921 270.971,86.053 270.759 C 86.186 270.547,86.367 270.418,86.457 270.474 C 86.546 270.529,86.758 270.362,86.928 270.102 C 87.098 269.843,87.362 269.631,87.516 269.631 C 87.670 269.631,87.796 269.554,87.796 269.461 C 87.796 269.367,88.158 269.103,88.600 268.874 C 89.042 268.644,89.472 268.337,89.555 268.192 C 89.639 268.047,89.830 267.928,89.981 267.928 C 90.132 267.928,90.255 267.841,90.255 267.734 C 90.255 267.628,90.468 267.459,90.728 267.360 C 90.989 267.262,91.202 267.113,91.202 267.030 C 91.202 266.947,91.521 266.713,91.911 266.511 C 92.632 266.138,92.857 265.977,93.614 265.288 C 93.848 265.075,94.105 264.922,94.185 264.948 C 94.328 264.994,94.626 264.780,95.394 264.081 C 95.603 263.890,95.823 263.783,95.883 263.843 C 95.943 263.903,96.111 263.782,96.257 263.575 C 96.402 263.367,96.641 263.198,96.787 263.198 C 96.934 263.198,97.145 263.027,97.256 262.819 C 97.368 262.611,97.566 262.441,97.696 262.441 C 97.826 262.441,98.228 262.189,98.588 261.881 C 98.948 261.573,99.345 261.318,99.470 261.313 C 99.595 261.309,99.765 261.199,99.849 261.069 C 99.932 260.939,100.170 260.738,100.378 260.623 C 100.865 260.354,100.977 259.783,100.587 259.564 C 100.420 259.471,100.284 259.324,100.284 259.238 C 100.284 259.151,99.986 258.586,99.622 257.981 C 99.257 257.376,98.959 256.766,98.959 256.626 C 98.959 256.485,98.803 256.202,98.612 255.997 C 98.421 255.792,97.979 255.051,97.629 254.350 C 97.279 253.648,96.927 253.047,96.847 253.014 C 96.766 252.980,96.644 252.639,96.575 252.257 C 96.507 251.874,96.369 251.458,96.270 251.333 C 95.977 250.964,95.364 249.702,95.364 249.469 C 95.364 249.350,95.194 249.057,94.986 248.817 C 94.778 248.577,94.607 248.192,94.607 247.960 C 94.607 247.729,94.480 247.433,94.324 247.304 C 94.167 247.174,94.039 246.972,94.039 246.855 C 94.038 246.737,93.928 246.429,93.794 246.168 C 93.659 245.908,93.364 245.142,93.137 244.465 C 92.909 243.789,92.551 242.898,92.341 242.486 C 92.131 242.074,91.958 241.551,91.958 241.324 C 91.958 241.097,91.831 240.862,91.675 240.802 C 91.518 240.742,91.391 240.480,91.391 240.219 C 91.391 239.959,91.175 239.258,90.912 238.663 C 90.648 238.067,90.474 237.471,90.525 237.339 C 90.576 237.207,90.536 237.048,90.436 236.986 C 90.337 236.925,90.255 236.743,90.255 236.583 C 90.255 236.423,90.138 236.024,89.994 235.696 C 89.633 234.873,89.405 234.170,89.035 232.734 C 88.860 232.058,88.638 231.243,88.540 230.923 C 88.443 230.604,88.363 230.199,88.363 230.024 C 88.363 229.850,88.269 229.707,88.154 229.707 C 88.038 229.707,87.997 229.569,88.062 229.399 C 88.127 229.230,88.106 228.995,88.014 228.879 C 87.923 228.762,87.793 228.249,87.727 227.739 C 87.660 227.229,87.529 226.718,87.435 226.604 C 87.341 226.489,87.205 225.885,87.133 225.260 C 87.061 224.636,86.875 223.674,86.720 223.122 C 86.565 222.570,86.365 221.506,86.276 220.757 C 86.039 218.777,85.722 216.991,85.531 216.556 C 85.440 216.348,85.312 215.241,85.247 214.096 C 85.073 211.034,84.952 209.437,84.844 208.798 C 84.589 207.284,84.477 198.358,84.678 195.553 C 84.730 194.825,84.809 193.718,84.853 193.094 C 84.897 192.469,85.030 190.851,85.149 189.499 C 85.269 188.146,85.391 186.729,85.421 186.350 C 85.452 185.972,85.521 185.588,85.574 185.499 C 85.628 185.409,85.733 184.697,85.808 183.917 C 85.884 183.136,86.031 182.392,86.135 182.264 C 86.239 182.135,86.272 181.893,86.208 181.726 C 86.144 181.559,86.155 181.324,86.233 181.203 C 86.311 181.083,86.476 180.345,86.598 179.565 C 86.721 178.784,86.878 177.933,86.947 177.673 C 87.017 177.412,87.119 176.753,87.174 176.206 C 87.230 175.660,87.347 175.213,87.434 175.213 C 87.522 175.213,87.650 174.785,87.719 174.263 C 87.789 173.740,87.916 173.269,88.001 173.216 C 88.087 173.163,88.214 172.612,88.284 171.990 C 88.355 171.369,88.477 170.861,88.556 170.861 C 88.679 170.861,88.867 170.215,89.051 169.158 C 89.178 168.428,89.542 167.132,89.766 166.612 C 90.345 165.264,90.429 164.986,90.334 164.738 C 90.279 164.594,90.375 164.422,90.548 164.356 C 90.726 164.287,90.816 164.116,90.756 163.959 C 90.698 163.807,90.732 163.633,90.831 163.571 C 90.931 163.510,91.012 163.214,91.012 162.914 C 91.012 162.614,91.097 162.316,91.202 162.252 C 91.306 162.187,91.391 161.991,91.392 161.815 C 91.393 161.639,91.520 161.251,91.676 160.953 C 91.831 160.655,91.958 160.303,91.958 160.172 C 91.958 160.040,92.086 159.827,92.242 159.697 C 92.398 159.568,92.526 159.217,92.526 158.917 C 92.526 158.618,92.611 158.373,92.715 158.373 C 92.819 158.373,92.904 158.207,92.904 158.005 C 92.904 157.803,92.990 157.586,93.094 157.521 C 93.198 157.457,93.283 157.239,93.283 157.037 C 93.283 156.835,93.368 156.670,93.472 156.670 C 93.576 156.670,93.661 156.457,93.661 156.197 C 93.661 155.937,93.746 155.724,93.851 155.724 C 93.955 155.724,94.040 155.558,94.040 155.356 C 94.040 155.154,94.114 154.943,94.205 154.887 C 94.295 154.831,94.424 154.513,94.491 154.179 C 94.557 153.846,94.732 153.439,94.879 153.276 C 95.025 153.113,95.173 152.854,95.207 152.701 C 95.242 152.547,95.372 152.311,95.498 152.175 C 95.624 152.039,95.683 151.814,95.629 151.675 C 95.576 151.535,95.668 151.368,95.835 151.304 C 96.002 151.240,96.122 151.080,96.101 150.949 C 96.052 150.643,96.622 149.354,96.875 149.198 C 96.981 149.132,97.067 148.918,97.067 148.722 C 97.067 148.526,97.247 148.240,97.466 148.086 C 97.686 147.933,97.814 147.725,97.753 147.625 C 97.691 147.525,97.809 147.228,98.016 146.965 C 98.223 146.702,98.392 146.357,98.392 146.197 C 98.392 146.037,98.472 145.857,98.570 145.797 C 98.668 145.736,98.936 145.310,99.166 144.849 C 99.396 144.389,99.678 144.029,99.792 144.049 C 99.907 144.070,99.973 143.930,99.940 143.737 C 99.907 143.545,99.992 143.247,100.129 143.075 C 100.434 142.693,100.816 142.036,101.254 141.139 C 101.437 140.767,101.719 140.352,101.881 140.218 C 102.043 140.083,102.176 139.856,102.176 139.712 C 102.176 139.569,102.472 139.124,102.835 138.723 C 103.197 138.322,103.444 137.944,103.382 137.883 C 103.256 137.756,104.837 135.667,105.059 135.667 C 105.138 135.667,105.203 135.517,105.203 135.334 C 105.203 135.151,105.500 134.661,105.862 134.246 C 106.224 133.831,106.522 133.385,106.524 133.254 C 106.526 133.124,106.627 133.039,106.748 133.065 C 106.869 133.091,107.018 132.927,107.079 132.700 C 107.192 132.281,107.820 131.433,108.930 130.202 C 109.269 129.825,109.549 129.414,109.551 129.288 C 109.553 129.161,109.726 128.967,109.934 128.855 C 110.142 128.744,110.312 128.528,110.312 128.376 C 110.312 128.223,110.405 128.098,110.518 128.098 C 110.815 128.098,111.434 127.306,111.441 126.916 C 111.445 126.717,111.593 126.585,111.813 126.585 C 112.072 126.585,112.197 126.432,112.239 126.064 C 112.280 125.705,112.401 125.552,112.630 125.570 C 112.812 125.585,112.961 125.521,112.961 125.429 C 112.961 125.337,113.259 124.931,113.623 124.528 C 113.988 124.125,114.286 123.699,114.286 123.582 C 114.286 123.464,114.413 123.368,114.570 123.368 C 114.726 123.368,114.854 123.304,114.854 123.226 C 114.855 122.992,116.210 121.476,116.417 121.476 C 116.688 121.476,117.111 120.877,117.118 120.482 C 117.121 120.297,117.270 120.149,117.455 120.147 C 117.637 120.144,118.031 119.811,118.331 119.405 C 118.654 118.970,118.982 118.709,119.135 118.768 C 119.278 118.823,119.395 118.791,119.395 118.698 C 119.395 118.605,119.733 118.149,120.146 117.685 C 120.559 117.220,120.900 116.776,120.903 116.698 C 120.906 116.620,121.026 116.556,121.170 116.556 C 121.313 116.556,121.656 116.262,121.930 115.901 C 122.243 115.491,122.534 115.287,122.710 115.354 C 122.884 115.421,122.990 115.348,122.990 115.161 C 122.990 114.996,123.181 114.810,123.415 114.748 C 123.649 114.687,124.120 114.259,124.462 113.799 C 124.804 113.338,125.169 112.961,125.275 112.961 C 125.625 112.961,126.383 111.929,126.388 111.447 C 126.391 111.052,125.869 110.217,124.884 109.043 C 124.779 108.917,124.689 108.747,124.685 108.665 C 124.681 108.582,124.425 108.220,124.117 107.860 C 123.809 107.499,123.557 107.123,123.557 107.024 C 123.557 106.925,123.427 106.709,123.269 106.544 C 122.761 106.017,121.665 104.476,121.665 104.289 C 121.665 104.190,121.537 104.060,121.381 104.000 C 121.225 103.940,121.097 103.790,121.097 103.668 C 121.097 103.545,120.799 103.081,120.435 102.637 C 120.071 102.192,119.773 101.736,119.773 101.624 C 119.773 101.511,119.688 101.419,119.584 101.419 C 119.480 101.419,119.395 101.305,119.395 101.165 C 119.395 101.025,119.224 100.756,119.016 100.568 C 118.808 100.379,118.638 100.120,118.638 99.991 C 118.638 99.862,118.510 99.708,118.354 99.648 C 118.198 99.588,118.070 99.413,118.070 99.258 C 118.070 99.104,117.959 98.910,117.823 98.827 C 117.687 98.744,117.373 98.335,117.124 97.919 C 116.875 97.502,116.561 97.094,116.425 97.010 C 116.289 96.927,116.178 96.766,116.178 96.652 C 116.178 96.537,115.880 96.080,115.516 95.636 C 115.151 95.191,114.853 94.753,114.853 94.663 C 114.853 94.573,114.601 94.204,114.293 93.843 C 113.985 93.483,113.730 93.121,113.726 93.038 C 113.722 92.956,113.632 92.786,113.527 92.660 C 112.772 91.760,112.204 90.922,112.204 90.709 C 112.204 90.571,112.034 90.367,111.826 90.255 C 111.618 90.144,111.447 89.926,111.447 89.770 C 111.447 89.614,111.320 89.438,111.164 89.378 C 111.008 89.318,110.880 89.189,110.880 89.092 C 110.880 88.883,110.091 87.729,109.886 87.638 C 109.808 87.603,109.745 87.459,109.745 87.316 C 109.745 87.174,109.638 86.990,109.508 86.906 C 109.195 86.706,108.420 85.593,108.420 85.344 C 108.420 85.235,108.333 85.147,108.226 85.147 C 108.120 85.147,107.951 84.934,107.852 84.674 C 107.753 84.413,107.585 84.201,107.479 84.201 C 107.372 84.201,107.285 84.112,107.285 84.004 C 107.285 83.795,106.542 82.672,106.274 82.476 C 106.086 82.338,105.636 81.589,105.472 81.139 C 105.408 80.964,105.236 80.775,105.090 80.719 C 104.944 80.663,104.825 80.496,104.825 80.348 C 104.825 80.200,104.697 80.029,104.541 79.969 C 104.385 79.910,104.257 79.743,104.257 79.600 C 104.257 79.457,104.087 79.186,103.879 78.997 C 103.671 78.809,103.500 78.582,103.500 78.493 C 103.500 78.404,103.032 77.698,102.460 76.924 C 101.887 76.150,101.419 75.467,101.419 75.407 C 101.419 75.346,101.100 74.885,100.710 74.382 C 100.319 73.879,99.872 73.278,99.716 73.046 C 99.560 72.815,99.262 72.431,99.054 72.193 C 98.846 71.956,98.505 71.477,98.297 71.129 C 98.089 70.781,97.769 70.280,97.585 70.016 C 97.402 69.752,97.200 69.387,97.138 69.205 C 97.075 69.023,96.946 68.874,96.851 68.874 C 96.757 68.874,96.598 68.661,96.500 68.401 C 96.401 68.141,96.232 67.928,96.126 67.928 C 96.019 67.928,95.932 67.836,95.932 67.723 C 95.932 67.611,95.634 67.155,95.270 66.711 C 94.905 66.266,94.607 65.805,94.607 65.685 C 94.607 65.566,94.520 65.468,94.413 65.468 C 94.307 65.468,94.137 65.277,94.036 65.043 C 93.750 64.382,93.408 63.889,93.046 63.616 C 92.864 63.478,92.715 63.261,92.715 63.133 C 92.715 63.004,92.463 62.605,92.155 62.245 C 91.847 61.884,91.592 61.522,91.588 61.440 C 91.583 61.357,91.494 61.187,91.389 61.061 C 90.740 60.285,89.688 58.868,89.688 58.772 C 89.688 58.668,88.254 56.616,87.796 56.063 C 87.692 55.937,87.606 55.776,87.606 55.704 C 87.606 55.632,87.308 55.210,86.944 54.765 C 86.580 54.321,86.282 53.872,86.282 53.768 C 86.282 53.664,86.218 53.551,86.140 53.516 C 85.977 53.444,85.147 52.290,85.147 52.136 C 85.147 52.080,84.998 51.870,84.816 51.669 C 84.309 51.111,84.132 50.868,83.637 50.047 C 83.386 49.631,83.070 49.222,82.934 49.139 C 82.798 49.056,82.687 48.894,82.687 48.780 C 82.687 48.666,82.389 48.209,82.025 47.764 C 81.660 47.320,81.362 46.864,81.362 46.752 C 81.362 46.639,81.277 46.547,81.173 46.547 C 81.069 46.547,80.984 46.433,80.984 46.294 C 80.984 46.033,79.963 45.029,79.708 45.039 C 79.629 45.042,79.395 45.140,79.186 45.256 \" stroke=\"none\" fill=\"#9fbb1a\" fill-rule=\"evenodd\"></path><path id=\"path7\" d=\"M190.728 4.092 C 190.364 4.223,189.799 4.285,189.473 4.229 C 189.135 4.172,188.824 4.219,188.750 4.338 C 188.679 4.453,188.530 4.491,188.419 4.423 C 188.117 4.236,186.136 4.191,185.800 4.363 C 185.639 4.446,184.674 4.555,183.655 4.606 C 182.637 4.658,181.757 4.746,181.700 4.803 C 181.643 4.860,181.445 4.825,181.260 4.726 C 181.028 4.602,180.702 4.639,180.211 4.844 C 179.819 5.008,179.236 5.103,178.916 5.056 C 178.597 5.009,178.153 5.054,177.930 5.155 C 177.665 5.276,177.408 5.275,177.188 5.151 C 176.939 5.012,176.677 5.060,176.193 5.332 C 175.705 5.606,175.498 5.643,175.395 5.476 C 175.317 5.350,175.150 5.315,175.018 5.396 C 174.731 5.574,173.781 5.731,173.132 5.709 C 172.871 5.700,172.531 5.745,172.375 5.809 C 172.219 5.872,171.835 5.942,171.523 5.964 C 171.211 5.986,170.805 6.068,170.621 6.145 C 170.437 6.223,170.057 6.243,169.775 6.189 C 169.494 6.135,168.963 6.205,168.596 6.343 C 168.229 6.481,167.673 6.577,167.360 6.556 C 167.048 6.534,166.553 6.631,166.259 6.771 C 165.966 6.910,165.540 7.007,165.313 6.985 C 165.086 6.963,164.773 6.996,164.617 7.059 C 164.461 7.122,163.936 7.213,163.450 7.261 C 162.965 7.310,162.403 7.437,162.203 7.544 C 162.003 7.651,161.464 7.761,161.005 7.788 C 160.547 7.815,159.865 7.985,159.491 8.166 C 159.117 8.347,158.627 8.447,158.401 8.388 C 158.176 8.329,157.886 8.367,157.757 8.472 C 157.627 8.576,157.223 8.661,156.859 8.658 C 156.495 8.656,155.899 8.785,155.535 8.945 C 155.170 9.104,154.532 9.288,154.115 9.354 C 153.699 9.419,153.018 9.570,152.602 9.689 C 152.185 9.809,151.771 9.888,151.680 9.865 C 151.589 9.842,151.079 9.974,150.545 10.156 C 150.011 10.339,149.404 10.494,149.196 10.501 C 148.988 10.508,148.711 10.580,148.582 10.660 C 148.452 10.741,148.160 10.842,147.933 10.886 C 147.706 10.930,147.466 11.054,147.399 11.162 C 147.333 11.270,146.854 11.388,146.337 11.424 C 145.819 11.460,145.229 11.581,145.025 11.691 C 144.416 12.023,143.918 12.170,143.561 12.126 C 143.375 12.103,142.854 12.291,142.402 12.543 C 141.806 12.877,141.492 12.953,141.259 12.823 C 141.031 12.696,140.841 12.731,140.605 12.944 C 140.423 13.110,140.221 13.245,140.158 13.245 C 140.095 13.245,139.804 13.342,139.511 13.461 C 139.218 13.580,138.851 13.703,138.694 13.735 C 137.405 14.000,136.837 14.157,136.471 14.348 C 135.438 14.886,135.267 14.948,134.805 14.948 C 134.536 14.948,134.188 15.076,134.032 15.232 C 133.876 15.388,133.551 15.516,133.311 15.516 C 133.071 15.516,132.768 15.644,132.638 15.802 C 132.460 16.015,132.336 16.035,132.148 15.879 C 131.958 15.721,131.744 15.777,131.277 16.110 C 130.937 16.353,130.518 16.527,130.348 16.498 C 130.177 16.469,129.991 16.567,129.934 16.715 C 129.877 16.863,129.210 17.172,128.451 17.403 C 127.692 17.633,126.900 17.942,126.691 18.088 C 126.482 18.234,126.171 18.354,126.000 18.354 C 125.829 18.354,125.479 18.520,125.221 18.722 C 124.961 18.927,124.590 19.048,124.387 18.995 C 124.177 18.940,123.727 19.099,123.331 19.367 C 122.952 19.625,122.597 19.791,122.543 19.736 C 122.488 19.682,122.192 19.817,121.883 20.036 C 121.575 20.256,121.143 20.435,120.923 20.435 C 120.702 20.435,120.185 20.648,119.773 20.908 C 119.361 21.168,118.958 21.383,118.878 21.385 C 118.798 21.387,117.966 21.769,117.029 22.235 C 116.093 22.701,115.172 23.082,114.983 23.083 C 114.794 23.084,114.368 23.289,114.037 23.539 C 113.705 23.789,113.117 24.124,112.729 24.284 C 112.341 24.444,111.836 24.750,111.605 24.965 C 111.172 25.369,111.017 25.422,110.449 25.364 C 110.263 25.345,109.604 25.675,108.984 26.099 C 108.364 26.522,107.767 26.868,107.657 26.868 C 107.548 26.868,106.986 27.217,106.409 27.643 C 105.732 28.143,105.231 28.384,104.995 28.322 C 104.763 28.262,104.208 28.515,103.479 29.014 C 102.847 29.447,102.189 29.886,102.016 29.991 C 101.844 30.095,101.650 30.253,101.585 30.342 C 101.520 30.431,101.290 30.448,101.075 30.380 C 100.804 30.294,100.435 30.433,99.869 30.835 C 99.421 31.154,98.845 31.562,98.591 31.743 C 98.336 31.924,97.760 32.349,97.312 32.687 C 96.863 33.025,96.412 33.302,96.309 33.302 C 96.206 33.302,96.121 33.387,96.121 33.491 C 96.121 33.595,96.032 33.680,95.924 33.680 C 95.815 33.680,95.624 33.763,95.498 33.865 C 95.372 33.966,95.019 34.252,94.713 34.501 L 94.157 34.952 94.848 35.972 C 95.229 36.533,96.117 37.818,96.824 38.829 C 97.530 39.840,98.482 41.202,98.939 41.857 C 99.396 42.511,100.152 43.600,100.618 44.276 C 101.085 44.953,101.626 45.682,101.821 45.897 C 102.016 46.112,102.176 46.351,102.176 46.428 C 102.176 46.506,102.474 46.969,102.838 47.457 C 103.690 48.598,103.846 48.816,104.594 49.902 C 105.327 50.967,108.212 55.098,108.792 55.913 C 109.014 56.225,109.932 57.545,110.832 58.846 C 111.732 60.147,112.515 61.254,112.573 61.306 C 112.631 61.358,112.934 61.783,113.246 62.252 C 113.557 62.720,113.878 63.188,113.957 63.292 C 114.786 64.376,115.421 65.277,115.421 65.371 C 115.421 65.434,115.825 66.032,116.320 66.700 C 117.956 68.911,118.920 70.264,119.016 70.484 C 119.068 70.604,119.648 71.461,120.305 72.390 C 124.511 78.336,125.354 79.540,126.329 80.984 C 126.926 81.868,127.674 82.929,127.993 83.340 C 128.311 83.751,128.657 84.236,128.761 84.418 C 128.933 84.718,130.457 86.906,132.027 89.106 C 132.367 89.582,133.022 90.525,133.484 91.202 C 133.945 91.878,134.716 92.985,135.198 93.661 C 135.680 94.338,136.301 95.232,136.580 95.648 C 136.858 96.064,137.171 96.501,137.275 96.618 C 137.379 96.736,137.574 96.991,137.707 97.186 C 137.840 97.381,138.421 98.221,138.998 99.054 C 139.575 99.886,140.190 100.801,140.364 101.087 C 140.778 101.764,141.053 101.743,142.264 100.946 C 142.817 100.581,143.341 100.326,143.427 100.380 C 143.513 100.433,143.697 100.366,143.835 100.231 C 144.299 99.780,145.901 98.770,146.152 98.770 C 146.289 98.770,146.618 98.600,146.882 98.392 C 147.147 98.184,147.483 98.013,147.628 98.013 C 147.774 98.013,148.059 97.888,148.261 97.735 C 148.463 97.583,148.726 97.455,148.846 97.452 C 148.965 97.448,149.509 97.145,150.055 96.778 C 150.600 96.411,151.089 96.153,151.140 96.205 C 151.192 96.257,151.483 96.122,151.786 95.906 C 152.118 95.670,152.519 95.548,152.792 95.600 C 153.102 95.659,153.457 95.512,153.915 95.135 C 154.284 94.831,154.661 94.630,154.754 94.687 C 154.846 94.744,155.137 94.622,155.400 94.416 C 155.663 94.209,156.064 94.040,156.292 94.040 C 156.699 94.040,156.919 93.949,158.510 93.124 C 158.950 92.896,159.546 92.677,159.835 92.638 C 160.332 92.572,161.122 92.273,162.479 91.639 C 162.812 91.484,163.157 91.402,163.247 91.457 C 163.337 91.513,163.916 91.315,164.534 91.018 C 165.152 90.721,165.730 90.547,165.818 90.631 C 165.907 90.716,166.439 90.574,167.002 90.317 C 167.565 90.059,168.344 89.809,168.733 89.762 C 169.521 89.665,170.644 89.319,170.995 89.064 C 171.120 88.973,171.298 88.945,171.391 89.002 C 171.483 89.059,171.986 88.944,172.508 88.746 C 173.207 88.480,173.512 88.441,173.668 88.597 C 173.824 88.753,173.972 88.725,174.230 88.491 C 174.423 88.317,174.760 88.174,174.980 88.174 C 175.200 88.174,175.429 88.095,175.489 87.997 C 175.549 87.900,175.894 87.869,176.255 87.927 C 176.638 87.989,177.025 87.941,177.181 87.811 C 177.329 87.688,177.822 87.566,178.277 87.539 C 178.732 87.512,179.217 87.420,179.356 87.335 C 179.494 87.249,180.025 87.157,180.536 87.129 C 181.047 87.102,181.577 86.986,181.715 86.871 C 181.852 86.757,182.016 86.715,182.079 86.778 C 182.142 86.841,182.631 86.787,183.166 86.659 C 183.701 86.530,184.664 86.406,185.305 86.382 C 185.946 86.358,186.641 86.288,186.850 86.226 C 187.397 86.063,191.399 85.731,194.229 85.613 C 198.932 85.416,201.514 85.397,201.514 85.558 C 201.514 85.654,201.635 85.665,201.783 85.582 C 201.992 85.464,204.170 85.524,206.339 85.706 C 206.505 85.720,207.806 85.733,209.555 85.737 C 209.868 85.738,210.251 85.786,210.407 85.844 C 210.703 85.954,211.110 86.005,212.895 86.157 C 213.483 86.207,214.121 86.329,214.314 86.429 C 214.507 86.528,214.771 86.571,214.901 86.524 C 215.032 86.477,216.032 86.579,217.124 86.751 C 218.216 86.922,219.182 87.017,219.271 86.962 C 219.360 86.907,219.595 86.980,219.792 87.124 C 220.057 87.317,220.216 87.331,220.402 87.177 C 220.589 87.022,220.696 87.038,220.821 87.240 C 220.913 87.390,221.141 87.528,221.327 87.547 C 221.513 87.566,222.067 87.623,222.558 87.674 C 223.049 87.725,223.519 87.808,223.603 87.860 C 223.686 87.911,224.136 88.011,224.602 88.080 C 225.068 88.150,225.542 88.284,225.656 88.378 C 225.770 88.472,225.910 88.502,225.967 88.445 C 226.024 88.388,226.570 88.486,227.179 88.664 C 227.789 88.841,228.415 89.001,228.571 89.019 C 228.728 89.037,229.111 89.160,229.423 89.293 C 229.735 89.426,230.309 89.547,230.699 89.564 C 231.089 89.580,231.408 89.657,231.409 89.735 C 231.409 89.813,231.527 89.877,231.669 89.877 C 231.812 89.877,232.329 90.054,232.818 90.270 C 233.308 90.487,233.820 90.621,233.956 90.568 C 234.093 90.516,234.380 90.596,234.594 90.746 C 234.809 90.896,235.053 90.997,235.136 90.971 C 235.220 90.944,235.544 91.016,235.856 91.130 C 236.168 91.244,236.764 91.446,237.181 91.578 C 237.597 91.710,238.273 91.977,238.683 92.172 C 239.092 92.367,239.620 92.526,239.854 92.526 C 240.089 92.526,240.333 92.611,240.397 92.715 C 240.462 92.819,240.672 92.904,240.866 92.904 C 241.059 92.904,241.246 92.970,241.280 93.049 C 241.315 93.129,242.092 93.441,243.007 93.742 C 243.922 94.043,244.740 94.414,244.825 94.566 C 244.910 94.718,245.209 94.868,245.491 94.899 C 245.772 94.930,246.657 95.268,247.457 95.650 C 248.834 96.308,249.689 96.696,250.331 96.956 C 250.487 97.020,250.870 97.234,251.183 97.434 C 251.495 97.633,251.870 97.803,252.016 97.810 C 252.162 97.818,252.561 98.037,252.902 98.297 C 253.243 98.557,253.630 98.770,253.762 98.770 C 253.893 98.770,254.317 98.989,254.704 99.257 C 255.091 99.526,255.524 99.762,255.666 99.783 C 255.808 99.804,256.191 100.010,256.516 100.242 C 256.841 100.473,257.206 100.662,257.327 100.662 C 257.449 100.662,257.667 100.769,257.812 100.899 C 258.456 101.477,258.653 101.600,259.113 101.716 C 259.382 101.783,259.603 101.966,259.603 102.122 C 259.603 102.289,259.713 102.363,259.871 102.303 C 260.018 102.246,260.183 102.314,260.236 102.453 C 260.289 102.592,260.632 102.804,260.996 102.924 C 261.361 103.045,261.982 103.439,262.376 103.799 C 262.770 104.160,263.182 104.421,263.291 104.379 C 263.401 104.336,263.783 104.590,264.139 104.942 C 264.496 105.294,264.924 105.582,265.091 105.582 C 265.258 105.582,265.962 106.050,266.656 106.623 C 267.350 107.195,268.005 107.663,268.112 107.663 C 268.219 107.663,268.307 107.748,268.307 107.852 C 268.307 107.956,268.436 108.042,268.594 108.042 C 268.753 108.042,268.979 108.254,269.098 108.515 C 269.221 108.785,269.472 108.988,269.684 108.988 C 269.887 108.988,270.385 109.329,270.790 109.746 C 271.194 110.163,271.706 110.532,271.926 110.565 C 272.147 110.599,272.441 110.832,272.581 111.084 C 272.720 111.336,272.837 111.460,272.841 111.360 C 272.845 111.261,273.167 111.516,273.557 111.928 C 274.300 112.712,274.800 113.086,275.355 113.273 C 275.537 113.334,275.686 113.449,275.686 113.528 C 275.686 113.825,277.572 115.636,277.760 115.520 C 277.868 115.453,278.135 115.702,278.353 116.072 C 278.572 116.442,278.827 116.698,278.921 116.640 C 279.015 116.582,279.258 116.817,279.462 117.162 C 279.665 117.507,280.105 117.951,280.439 118.148 C 281.049 118.508,282.687 120.109,282.687 120.345 C 282.687 120.579,283.386 121.281,283.503 121.164 C 283.567 121.101,283.720 121.271,283.844 121.542 C 283.968 121.814,284.213 122.082,284.388 122.138 C 284.564 122.193,284.820 122.449,284.957 122.706 C 285.095 122.962,285.369 123.224,285.567 123.287 C 285.765 123.349,286.020 123.606,286.135 123.857 C 286.249 124.109,286.414 124.314,286.502 124.314 C 286.589 124.314,286.660 124.442,286.660 124.598 C 286.660 124.754,286.740 124.882,286.837 124.882 C 286.934 124.882,287.066 125.048,287.130 125.250 C 287.195 125.453,287.395 125.666,287.575 125.723 C 287.755 125.781,288.042 126.062,288.213 126.348 C 288.945 127.577,289.576 128.101,289.881 127.732 C 290.035 127.546,290.416 127.253,290.728 127.080 C 291.041 126.907,291.807 126.381,292.431 125.911 C 293.056 125.441,293.716 125.007,293.898 124.947 C 294.080 124.887,294.229 124.767,294.229 124.681 C 294.229 124.595,294.437 124.413,294.691 124.277 C 295.220 123.994,297.304 122.597,297.446 122.430 C 297.498 122.369,297.753 122.176,298.013 122.002 C 298.273 121.828,298.912 121.380,299.432 121.007 C 299.953 120.634,300.712 120.108,301.120 119.839 C 301.529 119.569,302.034 119.189,302.244 118.993 C 302.454 118.798,302.730 118.638,302.858 118.638 C 302.986 118.638,303.119 118.570,303.154 118.487 C 303.188 118.404,303.898 117.873,304.730 117.306 C 305.563 116.740,306.287 116.225,306.339 116.161 C 306.391 116.097,306.807 115.798,307.263 115.497 C 308.823 114.465,309.129 114.251,310.763 113.052 C 311.192 112.738,312.053 112.146,312.677 111.736 C 313.302 111.326,313.898 110.924,314.002 110.843 C 314.520 110.440,315.959 109.416,316.457 109.096 C 316.766 108.897,317.187 108.578,317.391 108.388 C 317.596 108.197,317.848 108.042,317.952 108.042 C 318.055 108.042,318.334 107.859,318.571 107.637 C 318.808 107.414,319.161 107.138,319.356 107.022 C 319.885 106.708,321.547 105.551,323.463 104.163 C 324.399 103.484,325.302 102.866,325.469 102.789 C 325.636 102.712,326.019 102.458,326.321 102.224 C 326.622 101.991,327.252 101.502,327.720 101.138 C 328.188 100.774,328.644 100.476,328.733 100.475 C 328.822 100.474,329.163 100.259,329.490 99.997 C 329.817 99.735,330.177 99.448,330.289 99.358 C 330.401 99.268,330.860 98.950,331.308 98.651 C 331.756 98.352,332.440 97.895,332.829 97.635 C 333.217 97.375,333.902 96.917,334.350 96.619 C 334.798 96.320,335.256 95.996,335.368 95.900 C 335.608 95.694,337.379 94.421,338.282 93.806 C 338.627 93.570,339.150 93.186,339.444 92.952 C 339.738 92.718,340.066 92.526,340.172 92.526 C 340.279 92.526,340.394 92.456,340.429 92.371 C 340.488 92.225,340.999 91.856,343.992 89.798 C 344.669 89.333,345.310 88.877,345.416 88.785 C 345.523 88.692,345.864 88.454,346.173 88.255 C 346.483 88.057,347.086 87.638,347.515 87.324 C 349.323 86.002,351.509 84.476,352.195 84.057 C 352.492 83.876,353.295 83.314,353.981 82.808 C 354.667 82.303,355.425 81.799,355.665 81.690 C 356.209 81.442,356.225 80.909,355.707 80.361 C 355.489 80.131,354.905 79.342,354.408 78.606 C 351.941 74.954,351.625 74.551,351.234 74.551 C 350.972 74.551,350.426 74.114,350.426 73.903 C 350.426 73.567,348.578 71.305,348.232 71.218 C 348.005 71.161,347.506 70.660,347.123 70.104 C 346.740 69.549,346.319 69.053,346.186 69.002 C 346.053 68.951,345.633 68.440,345.253 67.866 C 344.872 67.293,344.262 66.640,343.898 66.415 C 343.534 66.189,343.236 65.944,343.236 65.869 C 343.236 65.795,342.767 65.243,342.195 64.642 C 341.623 64.042,341.154 63.478,341.154 63.389 C 341.154 63.301,340.835 63.035,340.445 62.798 C 340.054 62.561,339.661 62.246,339.571 62.098 C 339.481 61.950,339.077 61.488,338.672 61.071 C 338.268 60.655,337.938 60.245,337.938 60.160 C 337.938 60.076,337.773 59.954,337.573 59.891 C 337.372 59.827,337.035 59.481,336.822 59.121 C 336.610 58.762,336.306 58.467,336.146 58.467 C 335.987 58.467,335.856 58.382,335.856 58.278 C 335.856 58.174,335.772 58.089,335.669 58.089 C 335.566 58.089,335.162 57.736,334.771 57.304 C 333.770 56.200,332.960 55.440,332.783 55.440 C 332.588 55.440,330.937 53.717,330.937 53.514 C 330.937 53.428,330.824 53.359,330.687 53.359 C 330.550 53.359,330.151 53.103,329.801 52.791 C 329.452 52.479,329.114 52.223,329.051 52.223 C 328.988 52.223,328.786 51.968,328.602 51.656 C 328.417 51.343,328.149 51.088,328.006 51.088 C 327.863 51.088,327.691 50.918,327.625 50.710 C 327.510 50.348,327.323 50.254,326.836 50.314 C 326.713 50.329,326.559 50.169,326.492 49.958 C 326.425 49.747,326.254 49.574,326.112 49.574 C 325.970 49.574,325.676 49.325,325.458 49.019 C 325.241 48.714,324.873 48.437,324.641 48.404 C 324.409 48.371,324.135 48.153,324.033 47.919 C 323.930 47.684,323.743 47.493,323.616 47.493 C 323.490 47.493,323.319 47.380,323.236 47.242 C 323.152 47.103,322.807 46.830,322.469 46.633 C 322.131 46.437,321.854 46.209,321.854 46.128 C 321.854 46.046,321.764 45.979,321.654 45.979 C 321.544 45.979,321.037 45.543,320.526 45.010 C 319.887 44.344,319.501 44.078,319.289 44.160 C 319.083 44.239,318.950 44.158,318.886 43.916 C 318.834 43.717,318.629 43.512,318.431 43.460 C 318.232 43.408,318.070 43.239,318.070 43.084 C 318.070 42.779,317.569 42.510,317.304 42.673 C 317.214 42.729,316.817 42.432,316.422 42.012 C 316.028 41.593,315.573 41.249,315.411 41.249 C 315.250 41.249,314.654 40.842,314.087 40.345 C 313.520 39.847,312.822 39.338,312.535 39.213 C 312.249 39.089,312.015 38.899,312.015 38.793 C 312.015 38.687,311.890 38.600,311.738 38.600 C 311.586 38.600,311.366 38.423,311.250 38.207 C 311.135 37.990,310.932 37.855,310.799 37.906 C 310.667 37.957,310.232 37.708,309.834 37.353 C 309.435 36.998,308.961 36.708,308.781 36.708 C 308.601 36.708,308.243 36.457,307.985 36.151 C 307.727 35.844,307.476 35.633,307.427 35.682 C 307.379 35.731,307.231 35.641,307.099 35.482 C 306.968 35.324,306.714 35.194,306.536 35.194 C 306.358 35.194,305.964 34.941,305.661 34.632 C 305.357 34.322,304.965 34.067,304.789 34.064 C 304.614 34.061,304.200 33.812,303.870 33.510 C 303.540 33.209,303.030 32.914,302.737 32.856 C 302.443 32.797,301.882 32.427,301.488 32.034 C 301.079 31.625,300.628 31.343,300.434 31.376 C 300.247 31.408,300.095 31.343,300.095 31.232 C 300.095 31.122,299.971 31.031,299.820 31.031 C 299.669 31.031,299.463 30.883,299.361 30.702 C 299.260 30.520,299.116 30.433,299.042 30.507 C 298.890 30.659,297.824 30.087,297.824 29.855 C 297.824 29.774,297.695 29.707,297.538 29.707 C 297.142 29.707,296.529 29.332,295.890 28.700 C 295.593 28.406,295.247 28.204,295.121 28.250 C 294.995 28.296,294.636 28.145,294.324 27.915 C 294.011 27.685,293.511 27.436,293.213 27.362 C 292.914 27.289,292.546 27.105,292.395 26.954 C 292.244 26.803,291.961 26.679,291.767 26.679 C 291.572 26.679,291.360 26.593,291.295 26.488 C 291.230 26.383,290.629 26.040,289.959 25.727 C 289.290 25.414,288.742 25.075,288.742 24.973 C 288.742 24.871,288.593 24.785,288.411 24.783 C 288.228 24.781,287.867 24.612,287.606 24.409 C 287.346 24.205,286.989 24.037,286.813 24.034 C 286.637 24.032,286.440 23.944,286.375 23.838 C 286.309 23.732,286.189 23.687,286.108 23.737 C 286.027 23.787,285.775 23.655,285.547 23.443 C 285.320 23.231,285.030 23.092,284.903 23.136 C 284.777 23.179,284.546 23.071,284.390 22.896 C 284.148 22.624,283.364 22.302,282.814 22.248 C 282.727 22.240,282.540 22.073,282.397 21.878 C 282.246 21.672,282.014 21.570,281.844 21.635 C 281.683 21.697,281.552 21.665,281.552 21.565 C 281.552 21.464,281.432 21.381,281.287 21.381 C 281.141 21.381,280.537 21.126,279.943 20.814 C 279.350 20.501,278.738 20.246,278.583 20.246 C 278.429 20.246,277.698 19.948,276.958 19.584 C 276.219 19.219,275.457 18.921,275.266 18.921 C 275.074 18.921,274.868 18.794,274.808 18.638 C 274.748 18.482,274.494 18.354,274.244 18.354 C 273.994 18.354,273.641 18.279,273.460 18.187 C 273.279 18.095,272.876 17.913,272.564 17.783 C 272.252 17.653,271.826 17.473,271.618 17.383 C 271.410 17.293,271.068 17.196,270.859 17.167 C 270.650 17.138,270.269 16.968,270.013 16.788 C 269.757 16.609,269.370 16.462,269.154 16.462 C 268.938 16.462,268.680 16.394,268.581 16.312 C 268.482 16.230,267.763 15.953,266.982 15.697 C 266.202 15.441,265.535 15.168,265.500 15.090 C 265.465 15.012,265.230 14.948,264.977 14.948 C 264.724 14.948,264.369 14.873,264.189 14.781 C 263.474 14.417,262.885 14.167,262.622 14.114 C 262.470 14.084,262.219 14.011,262.062 13.952 C 261.906 13.893,261.523 13.780,261.211 13.702 C 260.899 13.624,260.601 13.546,260.549 13.529 C 260.497 13.512,260.199 13.434,259.886 13.357 C 259.310 13.213,258.639 12.958,258.044 12.655 C 257.863 12.563,257.549 12.488,257.346 12.488 C 257.142 12.488,256.929 12.413,256.873 12.321 C 256.816 12.229,256.214 12.049,255.535 11.921 C 254.856 11.792,254.253 11.611,254.195 11.517 C 254.137 11.423,254.013 11.394,253.919 11.452 C 253.825 11.510,253.494 11.426,253.184 11.266 C 252.874 11.106,252.408 10.974,252.149 10.974 C 251.890 10.974,251.632 10.901,251.577 10.811 C 251.490 10.670,251.059 10.569,249.571 10.339 C 249.413 10.314,249.194 10.239,249.085 10.171 C 248.975 10.104,248.679 10.009,248.426 9.962 C 247.537 9.795,246.829 9.596,246.641 9.460 C 246.537 9.385,246.325 9.320,246.168 9.316 C 246.012 9.312,245.246 9.168,244.465 8.996 C 243.685 8.824,242.833 8.654,242.573 8.617 C 242.313 8.581,241.845 8.451,241.533 8.330 C 241.220 8.209,240.922 8.121,240.870 8.134 C 240.596 8.206,238.851 7.878,238.653 7.718 C 238.526 7.615,237.917 7.515,237.300 7.494 C 236.683 7.474,236.043 7.345,235.878 7.208 C 235.712 7.071,235.441 7.011,235.274 7.075 C 235.107 7.139,234.872 7.128,234.751 7.051 C 234.630 6.974,234.149 6.900,233.680 6.887 C 233.212 6.874,232.573 6.753,232.261 6.618 C 231.949 6.483,231.626 6.387,231.543 6.406 C 231.460 6.424,230.524 6.303,229.462 6.136 C 228.400 5.969,227.190 5.798,226.774 5.755 C 226.358 5.713,225.634 5.632,225.166 5.576 C 224.697 5.520,223.974 5.439,223.557 5.396 C 223.141 5.354,222.800 5.309,222.800 5.296 C 222.800 5.284,222.460 5.239,222.044 5.196 C 220.557 5.042,219.570 4.935,218.638 4.825 C 217.114 4.646,215.912 4.545,214.096 4.444 C 211.620 4.306,210.155 4.179,209.893 4.078 C 209.766 4.030,209.610 4.075,209.545 4.179 C 209.481 4.282,209.244 4.308,209.019 4.235 C 208.606 4.101,206.004 4.009,202.176 3.994 C 201.031 3.989,199.924 3.983,199.716 3.979 C 198.221 3.955,194.042 3.995,193.188 4.042 C 192.616 4.074,191.977 4.044,191.769 3.977 C 191.561 3.910,191.093 3.962,190.728 4.092 \" stroke=\"none\" fill=\"#b5cb2b\" fill-rule=\"evenodd\"></path><path id=\"path8\" d=\"\" stroke=\"none\" fill=\"#55ff00\" fill-rule=\"evenodd\"></path><path id=\"path9\" d=\"M364.522 96.081 C 363.619 96.742,362.897 97.244,359.648 99.478 C 358.854 100.024,357.583 100.938,356.822 101.509 C 356.062 102.080,355.333 102.549,355.203 102.551 C 355.073 102.553,354.967 102.627,354.967 102.715 C 354.967 102.851,354.376 103.279,352.707 104.352 C 352.545 104.456,351.944 104.889,351.372 105.314 C 350.799 105.740,350.024 106.293,349.648 106.544 C 347.578 107.929,346.136 108.917,345.885 109.122 C 345.631 109.330,344.163 110.365,341.471 112.233 C 340.970 112.582,340.270 113.079,339.916 113.340 C 339.562 113.600,338.581 114.281,337.736 114.853 C 336.890 115.426,335.705 116.256,335.103 116.698 C 334.500 117.140,333.921 117.502,333.816 117.502 C 333.712 117.502,333.577 117.631,333.516 117.789 C 333.456 117.947,333.212 118.162,332.976 118.267 C 332.595 118.436,331.562 119.112,331.031 119.541 C 330.927 119.624,330.118 120.192,329.234 120.801 C 328.349 121.410,327.597 121.981,327.562 122.071 C 327.528 122.160,327.408 122.233,327.296 122.233 C 327.185 122.233,326.787 122.467,326.413 122.752 C 326.039 123.038,325.180 123.649,324.503 124.109 C 323.827 124.570,323.231 124.997,323.179 125.058 C 323.127 125.119,322.709 125.424,322.250 125.735 C 321.792 126.046,321.229 126.429,320.999 126.585 C 320.769 126.741,320.047 127.252,319.395 127.720 C 318.742 128.188,318.015 128.699,317.780 128.855 C 316.016 130.025,314.359 131.179,313.150 132.081 C 312.370 132.663,311.582 133.194,311.400 133.262 C 311.218 133.329,311.069 133.472,311.069 133.580 C 311.069 133.687,310.971 133.775,310.851 133.775 C 310.731 133.775,310.284 134.034,309.858 134.351 C 308.177 135.600,305.993 137.141,304.778 137.938 C 304.075 138.398,303.500 138.831,303.500 138.901 C 303.500 138.970,303.253 139.129,302.952 139.254 C 302.650 139.379,302.209 139.688,301.972 139.940 C 301.736 140.191,301.463 140.397,301.366 140.397 C 301.269 140.397,300.879 140.639,300.500 140.934 C 300.121 141.228,299.662 141.524,299.480 141.590 C 299.001 141.764,299.066 142.077,299.811 143.183 C 300.175 143.724,300.473 144.297,300.473 144.456 C 300.473 144.615,300.856 145.249,301.325 145.865 C 301.793 146.480,302.176 147.071,302.176 147.178 C 302.176 147.284,302.473 147.940,302.836 148.637 C 303.199 149.333,303.455 149.967,303.406 150.046 C 303.358 150.125,303.615 150.580,303.979 151.057 C 304.343 151.534,304.627 151.991,304.609 152.073 C 304.592 152.156,304.718 152.540,304.890 152.927 C 305.063 153.314,305.203 153.766,305.203 153.933 C 305.203 154.099,305.416 154.514,305.676 154.855 C 305.937 155.197,306.149 155.646,306.149 155.854 C 306.149 156.062,306.308 156.376,306.501 156.551 C 306.726 156.754,306.820 157.034,306.764 157.328 C 306.709 157.616,306.825 157.978,307.075 158.295 C 307.294 158.574,307.474 158.951,307.474 159.132 C 307.474 159.313,307.592 159.560,307.737 159.680 C 307.882 159.800,308.057 160.277,308.127 160.740 C 308.196 161.202,308.339 161.634,308.444 161.699 C 308.549 161.764,308.592 161.928,308.540 162.064 C 308.488 162.200,308.604 162.454,308.798 162.630 C 308.993 162.806,309.105 163.070,309.048 163.218 C 308.992 163.366,309.060 163.625,309.201 163.794 C 309.341 163.963,309.431 164.295,309.400 164.530 C 309.369 164.766,309.434 165.015,309.544 165.083 C 309.654 165.151,309.745 165.404,309.745 165.646 C 309.745 165.887,309.860 166.180,310.002 166.298 C 310.147 166.418,310.220 166.715,310.170 166.976 C 310.117 167.253,310.205 167.564,310.386 167.745 C 310.554 167.913,310.691 168.251,310.691 168.498 C 310.691 168.745,310.776 168.999,310.880 169.063 C 310.984 169.128,311.069 169.388,311.069 169.641 C 311.069 169.895,311.232 170.592,311.432 171.191 C 311.631 171.790,311.849 172.682,311.916 173.174 C 311.982 173.666,312.109 174.113,312.198 174.168 C 312.286 174.223,312.313 174.438,312.259 174.646 C 312.204 174.855,312.254 175.139,312.370 175.279 C 312.485 175.418,312.526 175.585,312.460 175.651 C 312.394 175.717,312.456 175.912,312.599 176.084 C 312.742 176.256,312.881 176.748,312.909 177.177 C 312.958 177.938,313.431 180.323,313.646 180.889 C 313.705 181.045,313.785 181.514,313.822 181.930 C 313.981 183.680,314.099 184.354,314.286 184.579 C 314.413 184.733,314.421 184.979,314.309 185.275 C 314.203 185.553,314.203 185.856,314.307 186.044 C 314.403 186.214,314.514 186.720,314.554 187.169 C 314.594 187.618,314.680 188.453,314.744 189.026 C 315.128 192.434,315.238 194.787,315.312 201.135 C 315.348 204.241,315.301 206.811,315.207 206.929 C 315.114 207.045,315.068 207.746,315.106 208.487 C 315.143 209.228,315.123 209.885,315.061 209.947 C 314.999 210.009,314.935 210.627,314.919 211.321 C 314.894 212.420,314.508 215.779,314.177 217.786 C 314.117 218.150,314.070 218.615,314.073 218.818 C 314.076 219.021,313.991 219.294,313.883 219.424 C 313.775 219.554,313.743 219.839,313.813 220.057 C 313.882 220.275,313.846 220.565,313.734 220.700 C 313.621 220.836,313.534 221.151,313.540 221.401 C 313.558 222.105,312.777 225.972,312.566 226.227 C 312.462 226.352,312.433 226.675,312.501 226.945 C 312.574 227.240,312.544 227.436,312.426 227.436 C 312.317 227.436,312.170 227.841,312.100 228.335 C 311.917 229.615,311.490 231.225,311.260 231.503 C 311.151 231.633,311.112 231.869,311.172 232.026 C 311.233 232.183,311.029 232.869,310.720 233.550 C 310.412 234.231,310.201 234.831,310.253 234.882 C 310.359 234.989,309.875 236.529,308.877 239.262 C 308.801 239.470,308.752 239.704,308.768 239.782 C 308.785 239.860,308.719 239.924,308.621 239.924 C 308.523 239.924,308.442 240.073,308.439 240.255 C 308.431 240.809,307.965 242.384,307.809 242.384 C 307.729 242.384,307.663 242.549,307.663 242.751 C 307.663 242.953,307.578 243.171,307.474 243.236 C 307.370 243.300,307.285 243.551,307.285 243.794 C 307.285 244.037,307.147 244.288,306.979 244.353 C 306.794 244.424,306.710 244.609,306.767 244.825 C 306.820 245.029,306.672 245.410,306.417 245.721 C 306.173 246.019,305.971 246.415,305.967 246.601 C 305.963 246.787,305.828 247.140,305.667 247.385 C 305.506 247.631,305.331 248.075,305.278 248.372 C 305.224 248.669,305.101 248.993,305.003 249.092 C 304.905 249.191,304.825 249.418,304.825 249.596 C 304.825 249.775,304.758 249.950,304.677 249.984 C 304.596 250.019,304.257 250.622,303.924 251.325 C 303.592 252.027,303.232 252.602,303.126 252.602 C 303.020 252.602,302.930 252.793,302.927 253.027 C 302.924 253.262,302.796 253.618,302.643 253.820 C 302.490 254.022,302.365 254.364,302.365 254.579 C 302.365 254.795,302.069 255.311,301.707 255.726 C 301.344 256.141,301.046 256.600,301.044 256.747 C 301.042 256.893,300.828 257.292,300.568 257.633 C 300.307 257.974,300.095 258.386,300.095 258.548 C 300.095 258.710,299.906 259.059,299.676 259.324 C 299.446 259.589,299.169 260.077,299.061 260.409 C 298.953 260.740,298.668 261.110,298.427 261.229 C 298.186 261.349,297.995 261.500,298.001 261.565 C 298.060 262.145,297.957 262.497,297.635 262.819 C 297.427 263.027,297.256 263.277,297.256 263.374 C 297.256 263.471,297.078 263.607,296.861 263.676 C 296.594 263.761,296.495 263.915,296.556 264.148 C 296.612 264.366,296.408 264.755,296.005 265.195 C 295.653 265.579,295.364 266.007,295.364 266.145 C 295.364 266.474,294.426 267.471,294.183 267.400 C 294.079 267.370,294.040 267.466,294.097 267.615 C 294.241 267.992,293.752 268.691,292.337 270.133 C 292.077 270.398,291.862 270.718,291.861 270.843 C 291.859 270.968,291.518 271.416,291.104 271.839 C 290.689 272.261,290.326 272.742,290.297 272.907 C 290.267 273.073,289.926 273.542,289.540 273.950 C 288.536 275.010,287.803 275.939,287.799 276.159 C 287.796 276.263,287.540 276.518,287.228 276.727 C 286.916 276.935,286.661 277.198,286.661 277.312 C 286.661 277.425,286.362 277.679,285.998 277.875 C 285.594 278.093,285.336 278.374,285.336 278.596 C 285.336 278.965,283.437 280.984,283.090 280.984 C 282.987 280.984,282.843 281.167,282.773 281.390 C 282.593 281.958,280.226 284.201,279.808 284.201 C 279.726 284.201,279.659 284.330,279.659 284.489 C 279.659 284.648,279.447 284.859,279.186 284.957 C 278.910 285.062,278.713 285.287,278.713 285.497 C 278.713 285.719,278.495 285.948,278.146 286.093 C 277.833 286.222,277.578 286.446,277.578 286.591 C 277.578 286.736,277.131 287.143,276.585 287.497 C 276.038 287.850,275.367 288.381,275.093 288.677 C 274.558 289.254,274.365 289.412,273.557 289.930 C 272.807 290.412,272.879 290.641,274.487 292.876 C 275.285 293.984,276.285 295.402,276.710 296.026 C 277.135 296.651,277.532 297.204,277.592 297.256 C 277.651 297.308,277.757 297.479,277.825 297.635 C 277.894 297.791,278.418 298.557,278.989 299.338 C 279.561 300.118,280.409 301.310,280.875 301.987 C 281.340 302.663,282.300 304.043,283.008 305.054 C 283.716 306.065,284.551 307.256,284.863 307.702 C 285.175 308.148,286.147 309.535,287.022 310.784 C 288.475 312.858,289.115 313.775,290.954 316.414 C 291.298 316.909,291.895 317.760,292.279 318.307 C 292.664 318.853,294.253 321.131,295.810 323.368 C 297.367 325.605,298.805 327.649,299.004 327.909 C 299.363 328.377,302.341 332.638,303.542 334.403 C 303.883 334.905,304.253 335.415,304.364 335.538 C 304.474 335.661,305.113 336.564,305.783 337.545 C 306.977 339.294,307.255 339.694,309.416 342.763 C 310.003 343.595,310.973 345.000,311.573 345.885 C 312.173 346.769,312.714 347.535,312.775 347.588 C 312.836 347.640,313.265 348.236,313.728 348.912 C 314.191 349.588,314.616 350.184,314.672 350.237 C 314.729 350.289,315.155 350.893,315.618 351.580 C 318.330 355.596,319.517 357.226,319.734 357.232 C 319.869 357.235,320.961 356.535,322.162 355.676 C 323.363 354.818,324.573 353.969,324.850 353.790 C 325.894 353.117,326.206 352.823,326.206 352.517 C 326.206 352.225,327.371 351.257,328.471 350.635 C 329.111 350.273,329.423 349.937,329.423 349.610 C 329.423 349.458,329.820 349.048,330.304 348.698 C 330.789 348.347,331.449 347.799,331.771 347.479 C 332.092 347.159,332.654 346.694,333.018 346.445 C 333.921 345.827,334.153 345.582,334.153 345.249 C 334.153 345.092,334.430 344.773,334.768 344.539 C 335.106 344.306,335.649 343.853,335.973 343.533 C 336.298 343.213,336.809 342.735,337.109 342.470 C 337.408 342.205,337.872 341.737,338.138 341.430 C 338.404 341.122,339.149 340.384,339.793 339.790 C 340.438 339.196,340.965 338.621,340.965 338.513 C 340.965 338.405,341.071 338.313,341.202 338.310 C 341.585 338.300,342.523 337.379,342.421 337.113 C 342.367 336.972,342.600 336.721,342.970 336.522 C 343.324 336.331,343.614 336.062,343.614 335.924 C 343.614 335.785,343.950 335.450,344.360 335.179 C 344.772 334.906,345.132 334.502,345.164 334.277 C 345.196 334.053,345.413 333.786,345.646 333.683 C 345.879 333.581,346.050 333.373,346.025 333.221 C 346.000 333.069,346.173 332.845,346.410 332.725 C 346.647 332.604,347.158 332.085,347.545 331.571 C 348.386 330.457,349.674 329.157,350.232 328.858 C 350.489 328.720,350.614 328.496,350.578 328.236 C 350.539 327.966,350.667 327.757,350.958 327.610 C 351.199 327.489,351.390 327.336,351.384 327.271 C 351.350 326.931,351.406 326.848,351.791 326.677 C 352.022 326.574,352.256 326.300,352.312 326.069 C 352.367 325.837,352.843 325.198,353.370 324.648 C 353.896 324.099,354.449 323.372,354.599 323.034 C 354.749 322.695,355.021 322.370,355.203 322.312 C 355.385 322.255,355.535 322.127,355.535 322.030 C 355.535 321.932,355.747 321.667,356.008 321.441 C 356.268 321.214,356.481 320.872,356.481 320.679 C 356.481 320.486,356.608 320.280,356.764 320.220 C 356.921 320.160,357.048 320.011,357.048 319.888 C 357.048 319.766,357.307 319.512,357.624 319.325 C 358.051 319.073,358.170 318.892,358.084 318.621 C 358.009 318.386,358.073 318.217,358.265 318.143 C 358.428 318.081,358.562 317.917,358.562 317.779 C 358.562 317.641,358.720 317.478,358.914 317.416 C 359.107 317.355,359.423 316.956,359.615 316.529 C 359.807 316.103,360.330 315.378,360.777 314.918 C 361.224 314.458,361.589 313.922,361.589 313.727 C 361.589 313.532,361.845 313.131,362.157 312.836 C 362.469 312.541,362.725 312.190,362.725 312.055 C 362.725 311.813,362.908 311.546,363.503 310.918 C 363.672 310.741,363.959 310.274,364.143 309.880 C 364.326 309.487,364.721 308.903,365.020 308.583 C 365.319 308.263,365.563 307.924,365.563 307.830 C 365.563 307.543,366.016 306.832,366.367 306.567 C 366.549 306.430,366.698 306.159,366.698 305.966 C 366.698 305.772,366.954 305.373,367.266 305.078 C 367.578 304.783,367.833 304.398,367.833 304.222 C 367.833 304.045,367.920 303.848,368.026 303.782 C 368.132 303.717,368.169 303.584,368.108 303.486 C 368.048 303.388,368.132 303.258,368.295 303.195 C 368.457 303.133,368.590 302.972,368.590 302.838 C 368.590 302.704,368.718 302.546,368.874 302.486 C 369.030 302.426,369.158 302.213,369.158 302.013 C 369.158 301.812,369.413 301.375,369.726 301.041 C 370.038 300.706,370.293 300.272,370.293 300.075 C 370.293 299.877,370.442 299.565,370.624 299.379 C 370.807 299.194,371.104 298.747,371.285 298.386 C 371.758 297.447,372.058 296.994,372.319 296.826 C 372.445 296.745,372.498 296.547,372.436 296.386 C 372.374 296.225,372.485 295.866,372.683 295.587 C 372.881 295.308,373.169 294.825,373.323 294.513 C 373.478 294.201,373.710 293.877,373.841 293.794 C 373.971 293.711,374.078 293.537,374.078 293.408 C 374.078 293.138,374.697 291.879,375.024 291.485 C 375.146 291.338,375.191 291.129,375.123 291.021 C 375.056 290.912,375.091 290.823,375.202 290.823 C 375.312 290.823,375.402 290.716,375.402 290.585 C 375.402 290.454,375.577 290.237,375.791 290.104 C 376.054 289.939,376.142 289.744,376.064 289.498 C 375.989 289.261,376.084 289.019,376.338 288.801 C 376.552 288.618,376.727 288.251,376.727 287.985 C 376.727 287.712,376.974 287.231,377.294 286.880 C 377.606 286.538,377.862 286.092,377.862 285.889 C 377.862 285.686,377.943 285.372,378.041 285.191 C 378.477 284.394,379.453 282.202,379.422 282.090 C 379.403 282.022,379.513 281.863,379.665 281.736 C 379.818 281.609,379.943 281.345,379.943 281.149 C 379.943 280.954,380.114 280.476,380.322 280.087 C 380.530 279.699,380.700 279.274,380.700 279.142 C 380.700 279.010,380.785 278.903,380.889 278.903 C 380.993 278.903,381.079 278.724,381.079 278.506 C 381.079 278.047,381.647 277.010,381.898 277.010 C 381.992 277.010,382.028 276.853,381.977 276.660 C 381.927 276.468,382.036 276.111,382.219 275.868 C 382.403 275.624,382.512 275.318,382.462 275.187 C 382.411 275.056,382.499 274.710,382.657 274.419 C 383.245 273.334,383.996 271.427,384.282 270.293 C 384.361 269.981,384.652 269.249,384.928 268.667 C 385.204 268.084,385.430 267.429,385.430 267.211 C 385.430 266.993,385.516 266.763,385.620 266.698 C 385.724 266.634,385.809 266.415,385.809 266.211 C 385.809 266.008,385.886 265.694,385.980 265.513 C 386.074 265.332,386.258 264.823,386.388 264.380 C 386.519 263.938,386.707 263.576,386.805 263.576 C 386.904 263.576,386.940 263.459,386.885 263.316 C 386.830 263.173,386.906 262.822,387.054 262.537 C 387.202 262.252,387.323 261.826,387.323 261.591 C 387.323 261.355,387.454 261.054,387.614 260.920 C 387.801 260.766,387.841 260.613,387.725 260.497 C 387.609 260.381,387.674 260.082,387.906 259.669 C 388.105 259.314,388.269 258.813,388.269 258.556 C 388.269 258.299,388.343 258.089,388.434 258.089 C 388.591 258.089,388.868 256.944,388.922 256.065 C 388.937 255.837,389.103 255.478,389.293 255.269 C 389.530 255.007,389.600 254.737,389.517 254.407 C 389.451 254.143,389.466 253.926,389.550 253.926 C 389.723 253.926,390.211 252.364,390.249 251.690 C 390.262 251.449,390.385 251.183,390.521 251.099 C 390.677 251.003,390.720 250.793,390.638 250.535 C 390.567 250.309,390.592 250.021,390.695 249.896 C 390.798 249.771,390.944 249.243,391.020 248.723 C 391.096 248.202,391.244 247.564,391.349 247.304 C 391.548 246.809,391.566 246.732,391.769 245.506 C 391.838 245.090,391.964 244.579,392.049 244.371 C 392.134 244.163,392.388 243.013,392.613 241.816 C 392.838 240.620,393.106 239.486,393.209 239.298 C 393.311 239.109,393.345 238.797,393.284 238.604 C 393.223 238.411,393.246 238.208,393.336 238.153 C 393.425 238.097,393.513 237.532,393.530 236.896 C 393.551 236.140,393.664 235.638,393.855 235.446 C 394.088 235.213,394.101 235.098,393.917 234.876 C 393.761 234.688,393.750 234.556,393.882 234.470 C 393.990 234.400,394.127 233.798,394.186 233.133 C 394.244 232.468,394.397 231.860,394.524 231.781 C 394.653 231.701,394.709 231.457,394.650 231.232 C 394.592 231.008,394.625 230.553,394.725 230.219 C 394.824 229.885,394.939 229.101,394.979 228.477 C 395.020 227.852,395.111 227.193,395.182 227.010 C 395.252 226.828,395.259 226.545,395.196 226.382 C 395.133 226.218,395.158 225.941,395.252 225.767 C 395.402 225.486,395.487 224.840,395.766 221.854 C 395.805 221.438,395.878 220.501,395.928 219.773 C 395.978 219.044,396.094 217.938,396.186 217.313 C 396.277 216.689,396.334 215.752,396.313 215.232 C 396.291 214.711,396.347 213.859,396.435 213.337 C 396.524 212.815,396.599 211.794,396.602 211.067 C 396.610 208.737,396.636 208.326,396.777 208.325 C 396.871 208.325,396.878 201.377,396.790 196.121 C 396.769 194.872,396.807 193.710,396.875 193.539 C 396.943 193.367,396.907 193.170,396.796 193.101 C 396.674 193.026,396.640 192.687,396.709 192.255 C 396.778 191.822,396.743 191.483,396.622 191.408 C 396.490 191.326,396.479 191.127,396.589 190.836 C 396.683 190.590,396.721 190.350,396.674 190.303 C 396.576 190.205,396.385 187.540,396.367 185.998 C 396.360 185.426,396.305 184.872,396.244 184.768 C 396.184 184.664,396.160 184.342,396.190 184.051 C 396.239 183.590,396.147 182.655,395.738 179.470 C 395.685 179.054,395.606 178.353,395.564 177.914 C 395.521 177.474,395.422 177.009,395.343 176.882 C 395.264 176.754,395.177 176.305,395.149 175.884 C 395.016 173.868,394.930 173.107,394.822 173.000 C 394.758 172.935,394.796 172.774,394.906 172.641 C 395.045 172.474,395.046 172.286,394.912 172.035 C 394.805 171.835,394.674 171.230,394.621 170.691 C 394.569 170.151,394.471 169.622,394.404 169.514 C 394.337 169.406,394.242 168.921,394.191 168.436 C 394.140 167.950,394.023 167.411,393.929 167.236 C 393.836 167.061,393.810 166.666,393.871 166.358 C 393.934 166.044,393.895 165.744,393.783 165.674 C 393.673 165.606,393.628 165.434,393.682 165.292 C 393.737 165.150,393.682 164.972,393.559 164.896 C 393.392 164.793,393.397 164.722,393.579 164.609 C 393.770 164.491,393.756 164.362,393.512 163.989 C 393.342 163.730,393.123 162.868,393.024 162.074 C 392.925 161.279,392.742 160.505,392.616 160.354 C 392.490 160.202,392.434 159.897,392.492 159.676 C 392.549 159.456,392.517 159.115,392.419 158.919 C 392.322 158.722,392.163 158.403,392.067 158.208 C 391.958 157.989,391.959 157.786,392.068 157.677 C 392.178 157.566,392.072 157.073,391.788 156.374 C 391.521 155.716,391.370 155.042,391.426 154.752 C 391.478 154.478,391.428 154.197,391.314 154.126 C 391.200 154.056,391.107 153.791,391.107 153.537 C 391.107 153.283,391.020 153.075,390.914 153.075 C 390.804 153.075,390.771 152.876,390.837 152.612 C 390.901 152.358,390.884 152.039,390.799 151.903 C 390.613 151.605,390.572 151.468,390.416 150.615 C 390.349 150.251,390.179 149.776,390.038 149.559 C 389.897 149.343,389.830 149.117,389.890 149.057 C 389.949 148.997,389.833 148.608,389.632 148.191 C 389.422 147.756,389.330 147.330,389.415 147.191 C 389.500 147.054,389.448 146.782,389.295 146.564 C 389.147 146.352,389.026 146.038,389.026 145.866 C 389.026 145.693,388.902 145.450,388.750 145.324 C 388.528 145.140,388.519 145.021,388.703 144.708 C 388.882 144.404,388.881 144.303,388.694 144.236 C 388.564 144.189,388.458 143.949,388.458 143.704 C 388.458 143.459,388.372 143.205,388.268 143.141 C 388.164 143.076,388.126 142.830,388.186 142.595 C 388.252 142.328,388.181 142.074,387.997 141.921 C 387.834 141.786,387.701 141.547,387.701 141.390 C 387.701 141.233,387.538 140.839,387.338 140.514 C 387.138 140.190,386.919 139.541,386.851 139.073 C 386.784 138.605,386.603 138.027,386.450 137.790 C 386.297 137.553,386.216 137.288,386.270 137.201 C 386.324 137.113,386.201 136.892,385.998 136.708 C 385.744 136.478,385.680 136.282,385.793 136.081 C 385.904 135.881,385.779 135.459,385.399 134.757 C 385.092 134.190,384.879 133.626,384.926 133.504 C 384.973 133.382,384.880 132.988,384.718 132.630 C 384.557 132.271,384.440 131.908,384.459 131.823 C 384.477 131.738,384.320 131.450,384.110 131.183 C 383.900 130.915,383.728 130.577,383.728 130.431 C 383.728 130.286,383.590 129.957,383.423 129.702 C 383.255 129.446,383.170 129.103,383.232 128.939 C 383.296 128.774,383.138 128.335,382.875 127.948 C 382.615 127.566,382.403 127.140,382.403 127.000 C 382.403 126.861,382.270 126.614,382.108 126.452 C 381.946 126.290,381.861 126.033,381.920 125.880 C 381.979 125.728,381.824 125.207,381.577 124.722 C 380.852 123.303,380.533 122.554,380.394 121.949 C 380.322 121.637,380.107 121.178,379.914 120.930 C 379.722 120.682,379.565 120.374,379.565 120.247 C 379.565 120.119,379.352 119.701,379.092 119.318 C 378.832 118.935,378.619 118.538,378.619 118.436 C 378.619 118.335,378.419 117.934,378.175 117.546 C 377.932 117.158,377.770 116.728,377.817 116.590 C 377.864 116.453,377.638 115.915,377.314 115.395 C 376.991 114.875,376.727 114.349,376.727 114.225 C 376.727 114.102,376.429 113.582,376.064 113.069 C 375.678 112.526,375.402 111.912,375.402 111.595 C 375.402 111.297,375.318 110.950,375.216 110.825 C 374.244 109.633,374.008 109.282,373.987 108.999 C 373.974 108.818,373.611 108.155,373.181 107.525 C 372.718 106.846,372.435 106.236,372.486 106.028 C 372.540 105.806,372.151 105.091,371.429 104.088 C 370.665 103.028,370.321 102.386,370.393 102.159 C 370.463 101.939,370.213 101.415,369.688 100.680 C 369.240 100.055,368.491 98.980,368.023 98.292 C 365.775 94.991,365.903 95.072,364.522 96.081 \" stroke=\"none\" fill=\"#d1dc31\" fill-rule=\"evenodd\"></path><path id=\"path10\" d=\"\" stroke=\"none\" fill=\"#99ff33\" fill-rule=\"evenodd\"></path><path id=\"path11\" d=\"M85.380 215.516 C 85.380 215.880,85.419 216.029,85.466 215.847 C 85.514 215.665,85.514 215.367,85.466 215.184 C 85.419 215.002,85.380 215.151,85.380 215.516 \" stroke=\"none\" fill=\"#ffff00\" fill-rule=\"evenodd\"></path></g>\n</svg>;\n\nexport default icons;","// Dependencies\nimport { createNggEditComponent } from './edit.min'\nimport icons from './icons.min';\n\nconst { __ } \t\t\t\t\t            = wp.i18n\nconst { RawHTML } \t                        = wp.element\nconst { registerBlockType }                 = wp.blocks\nconst { withSelect}                         = wp.data\nconst { omit }                              = lodash\nconst { memo }                              = React\n\n// Provides a higher order component that is aware when the freeform block becomes available\nconst withFreeform = withSelect((select, props) => {\n    return {\n        Freeform: select('core/blocks').getBlockType('core/freeform')\n    }\n})\n\n// When the freeform block is available, we create our edit component for NGG and render it\nconst edit = withFreeform(memo(props => {\n    props.isSelected = true\n    const editProps  = omit(props, ['Freeform'])\n    const NggEdit = createNggEditComponent(jQuery, props.Freeform.edit)\n    return <NggEdit {...editProps}/>\n}))\n\n// Register our block\nregisterBlockType('imagely/nextgen-gallery', {\n\n    title: __('NextGEN Gallery'),\n\n    desription: __('A block for adding NextGEN Galleries.'),\n\n    icon: icons.nextgen,\n\n    category: 'common',\n\n    attributes: {\n        content: {\n            type: 'string',\n            source: 'html',\n        },\n    },\n\n    supports: {\n        className: false,\n        customClassName: false,\n    },\n\n    edit,\n\n    save( { attributes } ) {\n        const { content } = attributes;\n        return <RawHTML>{ content }</RawHTML>\n    },\n});\n\n\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/edit.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","wp","i18n","__","createNggEditComponent","memoize","lodash","$","Freeform","_Freeform","NggEditor","props","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","openIGW","_assertThisInitialized","updateContent","hasGallery","toggleAddGalleryBtn","_inherits","_createClass","attributes","content","length","_get","ref","addClass","siblings","hide","removeClass","show","setAttributes","editor","on","_ref","shortcode","execCommand","React","createElement","className","onClick","ngg_tinymce_plugin","button_label","icons","nextgen","xmlns","version","viewBox","width","height","fill","RawHTML","element","registerBlockType","blocks","withSelect","data","omit","memo","edit","select","getBlockType","withFreeform","editProps","NggEdit","jQuery","_extends","isSelected","title","desription","icon","category","type","source","supports","customClassName","save"],"mappings":"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","file":"block.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","const { __ }        = wp.i18n;\nconst { memoize }   = lodash\n\n// Given jQuery and the Freeform block settings,  creates the Ngg Editor Component\nexport const createNggEditComponent = memoize(($, Freeform) => {\n    class NggEditor extends Freeform {\n        constructor(props) {\n            super(props)\n            this.openIGW            = this.openIGW.bind(this)\n            this.updateContent      = this.updateContent.bind(this)\n            this.hasGallery         = this.hasGallery.bind(this)\n            this.toggleAddGalleryBtn= this.toggleAddGalleryBtn.bind(this)\n        }\n\n        hasGallery() {\n            return this.props.attributes.content && this.props.attributes.content.length > 0\n        }\n\n        componentDidMount() {\n            super.componentDidMount()\n            $(this.ref).addClass('freeform-toolbar').addClass('ngg-freeform-toolbar')\n            this.toggleAddGalleryBtn();\n\n        }\n\n        componentDidUpdate() {\n            this.toggleAddGalleryBtn();\n        }\n\n        toggleAddGalleryBtn() {\n            // Determine the UI state\n            if (this.props.attributes.content) {\n                $(this.ref).addClass('hidden');\n                $(this.ref).siblings('.add-ngg-gallery-wrap').hide()\n            }\n            else {\n                $(this.ref).removeClass('hidden');\n                $(this.ref).siblings('.add-ngg-gallery-wrap').show()\n            }\n        }\n\n        updateContent(content) {\n            this.props.setAttributes({content})        \n        }\n\n        onSetup(editor){\n            super.onSetup(editor);\n            const updateContent     = this.updateContent.bind(this)\n\n            // When NGG is added or removed, we must set the classic \"content\" attribute, \n            // which will re-render our component\n            editor.on('ngg-removed', () => updateContent(\"\"))\n            editor.on('ngg-inserted', ({shortcode}) => updateContent(shortcode))\n        }\n\n        openIGW() {\n            this.editor.execCommand('ngg_attach_to_post')\n        }\n\n        render(){\n            const classic = super.render()\n            return [\n                classic,\n                <div className=\"add-ngg-gallery-wrap\">\n                    <div className=\"add-ngg-gallery\" onClick={this.openIGW}>\n                        {ngg_tinymce_plugin.i18n.button_label}\n                    </div>\n                </div>\n            ]\n        }\n    }\n\n    return NggEditor\n})","const icons = {};\n\nicons.nextgen =\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 240 240\" width=\"240.0pt\" height=\"240.0pt\">\n<path d=\"M 0.00 0.00 L 240.00 0.00 L 240.00 240.00 L 0.00 240.00 L 0.00 0.00 Z\" fill=\"#ffffff\" />\n<path d=\"M 116.97 3.45 C 155.78 2.17 194.29 21.78 215.90 54.07 C 226.92 70.43 234.08 89.34 236.07 109.00 C 239.08 140.20 228.61 172.42 208.14 196.12 C 191.73 215.41 168.66 228.79 143.97 234.16 C 125.25 238.08 105.37 237.44 87.04 231.86 C 67.00 226.07 48.82 214.65 34.69 199.32 C 14.08 177.26 2.88 147.13 3.50 117.00 C 4.36 95.58 10.72 74.49 22.55 56.55 C 35.03 37.69 52.63 22.36 73.52 13.50 C 87.07 6.87 101.94 3.80 116.97 3.45 Z\" fill=\"#9fbb1a\" />\n<path d=\"M 69.17 61.47 C 70.78 61.56 72.37 61.91 73.97 62.05 C 80.30 62.27 86.66 62.04 93.00 62.14 C 96.81 62.23 100.65 61.35 104.18 62.75 C 108.45 64.30 111.62 68.44 111.67 73.03 C 111.78 81.35 111.66 89.68 111.72 98.00 C 111.65 101.03 111.87 104.65 110.30 107.35 C 108.22 110.91 104.17 113.41 100.02 113.40 C 90.68 113.43 81.33 113.42 71.99 113.40 C 65.66 113.41 59.85 108.54 59.66 102.04 C 59.55 92.36 59.70 82.67 59.58 72.99 C 59.41 67.44 63.60 62.15 69.17 61.47 Z\" fill=\"#ffffff\" />\n<path d=\"M 138.98 61.27 C 148.33 61.42 157.69 61.22 167.04 61.37 C 173.28 61.31 178.81 66.69 178.70 72.96 C 178.72 82.65 178.75 92.34 178.68 102.02 C 178.48 108.28 173.18 112.96 167.02 113.04 C 157.69 113.25 148.33 113.02 138.99 113.15 C 132.77 113.56 126.76 108.35 126.66 102.04 C 126.55 94.37 126.67 86.68 126.62 79.00 C 126.63 76.33 126.42 73.60 126.72 70.94 C 127.60 65.24 133.25 60.88 138.98 61.27 Z\" fill=\"#ffffff\" />\n<path d=\"M 70.97 72.97 C 80.41 72.70 89.87 72.92 99.31 72.86 C 99.39 82.36 99.34 91.87 99.34 101.38 C 89.85 101.36 80.36 101.42 70.87 101.35 C 70.90 91.90 70.70 82.42 70.97 72.97 Z\" fill=\"#9fbb1a\" />\n<path d=\"M 138.39 72.91 C 147.80 72.79 157.23 72.85 166.65 72.88 C 166.65 82.41 166.85 91.97 166.55 101.49 C 157.18 101.27 147.79 101.39 138.41 101.42 C 138.30 91.92 138.36 82.41 138.39 72.91 Z\" fill=\"#9fbb1a\" />\n<path d=\"M 69.96 128.72 C 77.95 128.35 86.00 128.68 94.00 128.66 C 97.84 128.75 101.40 128.12 104.93 129.93 C 109.12 131.86 111.63 136.43 111.39 141.00 C 111.31 150.34 111.48 159.70 111.31 169.04 C 111.25 175.45 105.33 180.72 99.01 180.44 C 90.00 180.43 81.00 180.42 71.99 180.44 C 67.16 180.64 62.37 177.99 60.28 173.57 C 59.04 171.04 59.32 167.76 59.27 165.00 C 59.38 156.70 59.15 148.39 59.37 140.10 C 59.59 134.25 64.10 129.27 69.96 128.72 Z\" fill=\"#ffffff\" />\n<path d=\"M 137.96 128.68 C 146.96 128.36 156.00 128.45 165.00 128.61 C 167.68 128.64 170.26 129.00 172.61 130.36 C 176.44 132.46 178.51 136.68 178.41 140.99 C 178.39 150.33 178.47 159.67 178.37 169.01 C 178.48 174.84 173.95 180.48 167.95 180.68 C 159.31 180.89 150.65 180.67 142.00 180.78 C 139.64 180.74 137.05 180.91 134.76 180.27 C 129.71 178.66 126.48 173.17 126.62 168.01 C 126.61 161.01 126.64 154.00 126.62 147.00 C 126.71 143.40 126.11 139.00 127.75 135.73 C 129.57 131.70 133.51 128.85 137.96 128.68 Z\" fill=\"#ffffff\" />\n<path d=\"M 70.98 140.01 C 80.41 139.71 89.87 139.94 99.31 139.89 C 99.40 149.41 99.33 158.93 99.35 168.45 C 89.85 168.43 80.36 168.47 70.86 168.42 C 70.91 158.96 70.69 149.47 70.98 140.01 Z\" fill=\"#9fbb1a\" />\n<path d=\"M 138.45 140.41 C 147.84 140.29 157.27 140.44 166.67 140.35 C 166.70 149.82 166.71 159.29 166.67 168.77 C 157.24 168.71 147.81 168.71 138.38 168.77 C 138.39 159.32 138.24 149.85 138.45 140.41 Z\" fill=\"#9fbb1a\" />\n</svg>\n\nexport default icons;","// Dependencies\nimport { createNggEditComponent } from './edit.min'\nimport icons from './icons.min';\n\nconst { __ } \t\t\t\t\t            = wp.i18n\nconst { RawHTML } \t                        = wp.element\nconst { registerBlockType }                 = wp.blocks\nconst { withSelect}                         = wp.data\nconst { omit }                              = lodash\nconst { memo }                              = React\n\n// Provides a higher order component that is aware when the freeform block becomes available\nconst withFreeform = withSelect((select, props) => {\n    return {\n        Freeform: select('core/blocks').getBlockType('core/freeform')\n    }\n})\n\n// When the freeform block is available, we create our edit component for NGG and render it\nconst edit = withFreeform(memo(props => {\n    const editProps  = omit(props, ['Freeform'])\n    const NggEdit = createNggEditComponent(jQuery, props.Freeform.edit)\n    return <NggEdit {...editProps} isSelected={true}/>\n}))\n\n// Register our block\nregisterBlockType('imagely/nextgen-gallery', {\n\n    title: __('NextGEN Gallery'),\n\n    desription: __('A block for adding NextGEN Galleries.'),\n\n    icon: icons.nextgen,\n\n    category: 'common',\n\n    attributes: {\n        content: {\n            type: 'string',\n            source: 'html',\n        },\n    },\n\n    supports: {\n        className: false,\n        customClassName: false,\n    },\n\n    edit,\n\n    save( { attributes } ) {\n        const { content } = attributes;\n        return <RawHTML>{ content }</RawHTML>\n    },\n});\n\n\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js
index 79a6c1070..3529438a1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js
@@ -1,2 +1,2 @@
-!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=3)}([function(t,e,r){(function(t){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=function(t){function e(){this.fetch=!1}return e.prototype=t,new e}("undefined"!=typeof self?self:this);(function(t){!function(t){if(!t.fetch){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=function(t){return t&&DataView.prototype.isPrototypeOf(t)},o=ArrayBuffer.isView||function(t){return t&&r.indexOf(Object.prototype.toString.call(t))>-1};f.prototype.append=function(t,e){t=s(t),e=u(e);var r=this.map[t];this.map[t]=r?r+","+e:e},f.prototype.delete=function(t){delete this.map[s(t)]},f.prototype.get=function(t){return t=s(t),this.has(t)?this.map[t]:null},f.prototype.has=function(t){return this.map.hasOwnProperty(s(t))},f.prototype.set=function(t,e){this.map[s(t)]=u(e)},f.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},f.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),c(t)},f.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),c(t)},f.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),c(t)},e.iterable&&(f.prototype[Symbol.iterator]=f.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},y.call(m.prototype),y.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},g.error=function(){var t=new g(null,{status:0,statusText:""});return t.type="error",t};var a=[301,302,303,307,308];g.redirect=function(t,e){if(-1===a.indexOf(e))throw new RangeError("Invalid status code");return new g(null,{status:e,headers:{location:t}})},t.Headers=f,t.Request=m,t.Response=g,t.fetch=function(t,r){return new Promise(function(n,o){var i=new m(t,r),a=new XMLHttpRequest;a.onload=function(){var t={status:a.status,statusText:a.statusText,headers:function(t){var e=new f;return t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e}(a.getAllResponseHeaders()||"")};t.url="responseURL"in a?a.responseURL:t.headers.get("X-Request-URL");var e="response"in a?a.response:a.responseText;n(new g(e,t))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&e.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})},t.fetch.polyfill=!0}function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var r={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e.iterable&&(r[Symbol.iterator]=function(){return r}),r}function f(t){this.map={},t instanceof f?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function l(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function d(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function h(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(e.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(e.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(e.arrayBuffer&&e.blob&&n(t))this._bodyArrayBuffer=h(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!e.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t)&&!o(t))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=h(t)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=p(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}function m(t,e){var r=(e=e||{}).body;if(t instanceof m){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new f(t.headers)),this.method=t.method,this.mode=t.mode,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new f(e.headers)),this.method=function(t){var e=t.toUpperCase();return i.indexOf(e)>-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function b(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function g(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new f(e.headers),this.url=e.url||"",this._initBody(t)}}(void 0!==t?t:this)}).call(r,void 0);var n=r.fetch;n.Response=r.Response,n.Request=r.Request,n.Headers=r.Headers;"object"===e(t)&&t.exports&&(t.exports=n,t.exports.default=n)}).call(this,r(2)(t))},function(t,e){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}t.exports="object"==("undefined"==typeof self?"undefined":r(self))?self.FormData:window.FormData},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){"use strict";r.r(e);var n=r(0),o=r.n(n),i=r(1),a=r.n(i);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){g(t,e,r[e])})}return t}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function p(t,e,r){return e&&l(t.prototype,e),r&&l(t,r),t}function d(t,e){return!e||"object"!==s(e)&&"function"!=typeof e?b(t):e}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&m(t,e)}function m(t,e){return(m=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function b(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function g(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var w=wp.element,v=w.Fragment,_=w.Component,P=wp.data,O=P.withSelect,E=P.withDispatch,x=wp.compose.compose,T=wp.components.Button,S=wp.i18n.__,j=lodash.property,A=function(t){function e(){var t,r;f(this,e);for(var n=arguments.length,i=new Array(n),s=0;s<n;s++)i[s]=arguments[s];return g(b(b(r=d(this,(t=h(e)).call.apply(t,[this].concat(i))))),"state",{image_url:null,msg:S("Loading...")}),g(b(b(r)),"updateImageUrl",function(){r.getImageUrl(r.props.image_id).then(function(t){return r.setState({image_url:t})}).catch(function(t){return console.log(t)&&r.setState({msg:S("Could not load image")})})}),g(b(b(r)),"getImageUrl",function(t){var e=new a.a;return e.append("action","get_image"),e.append("image_id",t),o()(photocrati_ajax.url,{method:"POST",body:e,headers:{Accept:"application/json"}}).then(function(t){return t.json()}).then(j("image.image_url"))}),r}return y(e,_),p(e,[{key:"componentDidUpdate",value:function(t){this.props.image_id!=t.image_id&&this.updateImageUrl()}},{key:"componentDidMount",value:function(){this.updateImageUrl()}},{key:"render",value:function(){var t=this.state.msg,e=this.state.image_url?React.createElement("img",{src:this.state.image_url}):React.createElement("span",null,t);return React.createElement("div",{style:{paddingTop:"5px",paddingBottom:"5px"}},e)}}]),e}(),B=function(t){function e(){var t,r;f(this,e);for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return g(b(b(r=d(this,(t=h(e)).call.apply(t,[this].concat(o))))),"handleOpenClick",function(t){var e=r.props.currentPostId;top.set_ngg_post_thumbnail=r.onUpdatePostThumbnail,tb_show("Set NextGEN Featured Image",ngg_featured_image.modal_url.replace(/%post_id%/,e))}),g(b(b(r)),"handleRemoveClick",function(t){r.props.onRemoveNggPostThumbnail()}),g(b(b(r)),"onUpdatePostThumbnail",function(t){tb_remove(),r.props.onSetNggPostThumbnail(parseInt(t))}),r}return y(e,_),p(e,[{key:"render",value:function(){var t=this.props,e=t.PostFeaturedImage,r=t.nggPostThumbnailId;return React.createElement(v,null,!r&&React.createElement(e,this.props),React.createElement(T,{style:{marginTop:"10px"},onClick:this.handleOpenClick,className:"editor-post-featured-image__toggle"},S("Set NextGEN Featured Image")),r>0&&React.createElement("div",null,React.createElement(A,{image_id:r}),React.createElement(T,{onClick:this.handleRemoveClick,className:"is-link is-destructive"},S("Remove featured image"))))}}]),e}(),R=O(function(t){var e=t("core/editor"),r=e.getCurrentPostId,n=e.getEditedPostAttribute,o=n("featured_media"),i=n("meta").ngg_post_thumbnail;return{currentPostId:r(),featuredImageId:o,nggPostThumbnailId:i}}),I=E(function(t){var e=t("core/editor").editPost;return{onSetNggPostThumbnail:function(t){var r=wp.data.select("core/editor").getEditedPostAttribute("meta");r.ngg_post_thumbnail=t,e(u({},r,{meta:r}))},onRemoveNggPostThumbnail:function(){var t=wp.data.select("core/editor").getEditedPostAttribute("meta");t.ngg_post_thumbnail=0,t.featured_media=0,e(u({},t,{meta:t}))}}}),U=function(t){return x(R,I)(function(t){return function(e){return React.createElement(B,c({PostFeaturedImage:t},e))}}(t))},D=lodash.memoize,F={get:function(t,e){return"isProxy"==e||("PostFeaturedImage"==e?U(function(t){return D(function(e){return t[e]})}(t)(e)):t[e])}},k={get:function(t,e){return"editor"==e&&(console.log(t[e]),t[e]&&!t[e].isProxy&&(t[e]=new Proxy(t[e],F))),t[e]},set:function(t,e,r){return"editor"!=e||r.isProxy||(r=new Proxy(r,F)),t[e]=r,r}};window.wp=new Proxy(wp,k)}]);
+!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=3)}([function(t,e,r){(function(t){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=function(t){function e(){this.fetch=!1}return e.prototype=t,new e}("undefined"!=typeof self?self:this);(function(t){!function(t){if(!t.fetch){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=function(t){return t&&DataView.prototype.isPrototypeOf(t)},o=ArrayBuffer.isView||function(t){return t&&r.indexOf(Object.prototype.toString.call(t))>-1};f.prototype.append=function(t,e){t=s(t),e=u(e);var r=this.map[t];this.map[t]=r?r+","+e:e},f.prototype.delete=function(t){delete this.map[s(t)]},f.prototype.get=function(t){return t=s(t),this.has(t)?this.map[t]:null},f.prototype.has=function(t){return this.map.hasOwnProperty(s(t))},f.prototype.set=function(t,e){this.map[s(t)]=u(e)},f.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},f.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),c(t)},f.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),c(t)},f.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),c(t)},e.iterable&&(f.prototype[Symbol.iterator]=f.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},y.call(m.prototype),y.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},g.error=function(){var t=new g(null,{status:0,statusText:""});return t.type="error",t};var a=[301,302,303,307,308];g.redirect=function(t,e){if(-1===a.indexOf(e))throw new RangeError("Invalid status code");return new g(null,{status:e,headers:{location:t}})},t.Headers=f,t.Request=m,t.Response=g,t.fetch=function(t,r){return new Promise(function(n,o){var i=new m(t,r),a=new XMLHttpRequest;a.onload=function(){var t={status:a.status,statusText:a.statusText,headers:function(t){var e=new f;return t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e}(a.getAllResponseHeaders()||"")};t.url="responseURL"in a?a.responseURL:t.headers.get("X-Request-URL");var e="response"in a?a.response:a.responseText;n(new g(e,t))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&e.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})},t.fetch.polyfill=!0}function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var r={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e.iterable&&(r[Symbol.iterator]=function(){return r}),r}function f(t){this.map={},t instanceof f?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function l(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function d(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function h(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(e.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(e.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(e.arrayBuffer&&e.blob&&n(t))this._bodyArrayBuffer=h(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!e.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t)&&!o(t))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=h(t)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=p(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}function m(t,e){var r=(e=e||{}).body;if(t instanceof m){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new f(t.headers)),this.method=t.method,this.mode=t.mode,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new f(e.headers)),this.method=function(t){var e=t.toUpperCase();return i.indexOf(e)>-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function b(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function g(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new f(e.headers),this.url=e.url||"",this._initBody(t)}}(void 0!==t?t:this)}).call(r,void 0);var n=r.fetch;n.Response=r.Response,n.Request=r.Request,n.Headers=r.Headers;"object"===e(t)&&t.exports&&(t.exports=n,t.exports.default=n)}).call(this,r(2)(t))},function(t,e){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}t.exports="object"==("undefined"==typeof self?"undefined":r(self))?self.FormData:window.FormData},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){"use strict";r.r(e);var n=r(0),o=r.n(n),i=r(1),a=r.n(i);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){g(t,e,r[e])})}return t}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function p(t,e,r){return e&&l(t.prototype,e),r&&l(t,r),t}function d(t,e){return!e||"object"!==s(e)&&"function"!=typeof e?b(t):e}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&m(t,e)}function m(t,e){return(m=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function b(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function g(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var w=wp.element,v=w.Fragment,_=w.Component,P=wp.data,O=P.withSelect,E=P.withDispatch,x=wp.compose.compose,T=wp.components.Button,S=wp.i18n.__,j=lodash.property,A=function(t){function e(){var t,r;f(this,e);for(var n=arguments.length,i=new Array(n),s=0;s<n;s++)i[s]=arguments[s];return g(b(b(r=d(this,(t=h(e)).call.apply(t,[this].concat(i))))),"state",{image_url:null,msg:S("Loading...")}),g(b(b(r)),"updateImageUrl",function(){r.getImageUrl(r.props.image_id).then(function(t){return r.setState({image_url:t})}).catch(function(t){return console.log(t)&&r.setState({msg:S("Could not load image")})})}),g(b(b(r)),"getImageUrl",function(t){var e=new a.a;return e.append("action","get_image"),e.append("image_id",t),o()(photocrati_ajax.url,{method:"POST",body:e,headers:{Accept:"application/json"}}).then(function(t){return t.json()}).then(j("image.image_url"))}),r}return y(e,_),p(e,[{key:"componentDidUpdate",value:function(t){this.props.image_id!=t.image_id&&this.updateImageUrl()}},{key:"componentDidMount",value:function(){this.updateImageUrl()}},{key:"render",value:function(){var t=this.state.msg,e=this.state.image_url?React.createElement("img",{src:this.state.image_url}):React.createElement("span",null,t);return React.createElement("div",{style:{paddingTop:"5px",paddingBottom:"5px"}},e)}}]),e}(),B=function(t){function e(){var t,r;f(this,e);for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return g(b(b(r=d(this,(t=h(e)).call.apply(t,[this].concat(o))))),"handleOpenClick",function(t){var e=r.props.currentPostId;top.set_ngg_post_thumbnail=r.onUpdatePostThumbnail,tb_show("Set NextGEN Featured Image",ngg_featured_image.modal_url.replace(/%post_id%/,e))}),g(b(b(r)),"handleRemoveClick",function(t){r.props.onRemoveNggPostThumbnail()}),g(b(b(r)),"onUpdatePostThumbnail",function(t){tb_remove(),r.props.onSetNggPostThumbnail(parseInt(t))}),r}return y(e,_),p(e,[{key:"render",value:function(){var t=this.props,e=t.PostFeaturedImage,r=t.nggPostThumbnailId;return React.createElement(v,null,!r&&React.createElement(e,this.props),React.createElement(T,{style:{marginTop:"10px"},onClick:this.handleOpenClick,className:"editor-post-featured-image__toggle"},S("Set NextGEN Featured Image")),r>0&&React.createElement("div",null,React.createElement(A,{image_id:r}),React.createElement(T,{onClick:this.handleRemoveClick,className:"is-link is-destructive"},S("Remove featured image"))))}}]),e}(),R=O(function(t){var e=t("core/editor"),r=e.getCurrentPostId,n=e.getEditedPostAttribute,o=n("featured_media"),i=n("meta").ngg_post_thumbnail;return{currentPostId:r(),featuredImageId:o,nggPostThumbnailId:i}}),I=E(function(t){var e=t("core/editor").editPost;return{onSetNggPostThumbnail:function(t){var r=wp.data.select("core/editor").getEditedPostAttribute("meta");r.ngg_post_thumbnail=t,e(u({},r,{meta:r}))},onRemoveNggPostThumbnail:function(){var t=wp.data.select("core/editor").getEditedPostAttribute("meta");t.ngg_post_thumbnail=0,t.featured_media=0,e(u({},t,{meta:t}))}}}),U=function(t){return x(R,I)(function(t){return function(e){return React.createElement(B,c({PostFeaturedImage:t},e))}}(t))},D=lodash.memoize,F={get:function(t,e){return"isProxy"==e||("PostFeaturedImage"==e?U(function(t){return D(function(e){return t[e]})}(t)(e)):t[e])}},k={get:function(t,e){return"editor"==e&&t[e]&&!t[e].isProxy&&(t[e]=new Proxy(t[e],F)),t[e]},set:function(t,e,r){return"editor"!=e||r.isProxy||(r=new Proxy(r,F)),t[e]=r,r}};window.wp=new Proxy(wp,k)}]);
 //# sourceMappingURL=post-thumbnail.min.js.map
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js.map b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js.map
index 418a0a1b2..e084acee5 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js.map
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/build/post-thumbnail.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack:///./node_modules/form-data/lib/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/components/ngg-post-thumbnail.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__root__","root","F","this","fetch","self","support","searchParams","iterable","blob","Blob","e","formData","arrayBuffer","viewClasses","isDataView","obj","DataView","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","indexOf","toString","Headers","append","normalizeName","normalizeValue","oldValue","map","has","set","forEach","callback","thisArg","keys","items","push","iteratorFor","values","entries","iterator","methods","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","url","error","response","type","redirectStatuses","redirect","RangeError","location","input","init","Promise","resolve","reject","request","xhr","XMLHttpRequest","onload","options","rawHeaders","replace","split","line","parts","shift","trim","join","parseHeaders","getAllResponseHeaders","responseURL","responseText","onerror","TypeError","ontimeout","open","method","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","String","test","toLowerCase","next","done","undefined","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","result","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","buffer","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","Error","rejected","then","text","readAsText","readBlobAsText","chars","length","fromCharCode","readArrayBufferAsText","decode","json","JSON","parse","upcased","toUpperCase","normalizeMethod","referrer","form","bytes","decodeURIComponent","bodyInit","ok","_typeof","default","window","webpackPolyfill","deprecate","paths","children","wp","element","Fragment","Component","data","withSelect","withDispatch","compose","Button","components","__","i18n","lodash","NggThumbnail","_Component","_getPrototypeOf2","_this","_classCallCheck","_len","arguments","args","_key","_defineProperty","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","apply","concat","image_url","msg","getImageUrl","props","image_id","setState","catch","err","console","log","photocrati_ajax","Accept","res","_inherits","_createClass","prevProps","updateImageUrl","state","el","React","createElement","src","style","paddingTop","paddingBottom","PostThumbnail","currentPostId","_this2","top","set_ngg_post_thumbnail","onUpdatePostThumbnail","tb_show","ngg_featured_image","modal_url","onRemoveNggPostThumbnail","ngg_image_id","tb_remove","onSetNggPostThumbnail","parseInt","_this$props","PostFeaturedImage","nggPostThumbnailId","marginTop","onClick","handleOpenClick","className","ngg_post_thumbnail_min_NggThumbnail","handleRemoveClick","applyWithSelect","select","_select","getCurrentPostId","getEditedPostAttribute","featuredImageId","ngg_post_thumbnail","applyWithDispatch","dispatch","editPost","meta","_objectSpread","featured_media","ngg_post_thumbnail_min","_extends","nggPostThumbnail","memoize","wpEditorProxy","prop","NggPostThumbnail","getOriginalComponent","wpProxy","isProxy","Proxy"],"mappings":"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","file":"post-thumbnail.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","var __root__ = (function (root) {\nfunction F() { this.fetch = false; }\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\n(function(self) {\n\n  if (self.fetch) {\n    return\n  }\n\n  var support = {\n    searchParams: 'URLSearchParams' in self,\n    iterable: 'Symbol' in self && 'iterator' in Symbol,\n    blob: 'FileReader' in self && 'Blob' in self && (function() {\n      try {\n        new Blob();\n        return true\n      } catch(e) {\n        return false\n      }\n    })(),\n    formData: 'FormData' in self,\n    arrayBuffer: 'ArrayBuffer' in self\n  };\n\n  if (support.arrayBuffer) {\n    var viewClasses = [\n      '[object Int8Array]',\n      '[object Uint8Array]',\n      '[object Uint8ClampedArray]',\n      '[object Int16Array]',\n      '[object Uint16Array]',\n      '[object Int32Array]',\n      '[object Uint32Array]',\n      '[object Float32Array]',\n      '[object Float64Array]'\n    ];\n\n    var isDataView = function(obj) {\n      return obj && DataView.prototype.isPrototypeOf(obj)\n    };\n\n    var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n      return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n    };\n  }\n\n  function normalizeName(name) {\n    if (typeof name !== 'string') {\n      name = String(name);\n    }\n    if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n      throw new TypeError('Invalid character in header field name')\n    }\n    return name.toLowerCase()\n  }\n\n  function normalizeValue(value) {\n    if (typeof value !== 'string') {\n      value = String(value);\n    }\n    return value\n  }\n\n  // Build a destructive iterator for the value list\n  function iteratorFor(items) {\n    var iterator = {\n      next: function() {\n        var value = items.shift();\n        return {done: value === undefined, value: value}\n      }\n    };\n\n    if (support.iterable) {\n      iterator[Symbol.iterator] = function() {\n        return iterator\n      };\n    }\n\n    return iterator\n  }\n\n  function Headers(headers) {\n    this.map = {};\n\n    if (headers instanceof Headers) {\n      headers.forEach(function(value, name) {\n        this.append(name, value);\n      }, this);\n    } else if (Array.isArray(headers)) {\n      headers.forEach(function(header) {\n        this.append(header[0], header[1]);\n      }, this);\n    } else if (headers) {\n      Object.getOwnPropertyNames(headers).forEach(function(name) {\n        this.append(name, headers[name]);\n      }, this);\n    }\n  }\n\n  Headers.prototype.append = function(name, value) {\n    name = normalizeName(name);\n    value = normalizeValue(value);\n    var oldValue = this.map[name];\n    this.map[name] = oldValue ? oldValue+','+value : value;\n  };\n\n  Headers.prototype['delete'] = function(name) {\n    delete this.map[normalizeName(name)];\n  };\n\n  Headers.prototype.get = function(name) {\n    name = normalizeName(name);\n    return this.has(name) ? this.map[name] : null\n  };\n\n  Headers.prototype.has = function(name) {\n    return this.map.hasOwnProperty(normalizeName(name))\n  };\n\n  Headers.prototype.set = function(name, value) {\n    this.map[normalizeName(name)] = normalizeValue(value);\n  };\n\n  Headers.prototype.forEach = function(callback, thisArg) {\n    for (var name in this.map) {\n      if (this.map.hasOwnProperty(name)) {\n        callback.call(thisArg, this.map[name], name, this);\n      }\n    }\n  };\n\n  Headers.prototype.keys = function() {\n    var items = [];\n    this.forEach(function(value, name) { items.push(name); });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.values = function() {\n    var items = [];\n    this.forEach(function(value) { items.push(value); });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.entries = function() {\n    var items = [];\n    this.forEach(function(value, name) { items.push([name, value]); });\n    return iteratorFor(items)\n  };\n\n  if (support.iterable) {\n    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n  }\n\n  function consumed(body) {\n    if (body.bodyUsed) {\n      return Promise.reject(new TypeError('Already read'))\n    }\n    body.bodyUsed = true;\n  }\n\n  function fileReaderReady(reader) {\n    return new Promise(function(resolve, reject) {\n      reader.onload = function() {\n        resolve(reader.result);\n      };\n      reader.onerror = function() {\n        reject(reader.error);\n      };\n    })\n  }\n\n  function readBlobAsArrayBuffer(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    reader.readAsArrayBuffer(blob);\n    return promise\n  }\n\n  function readBlobAsText(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    reader.readAsText(blob);\n    return promise\n  }\n\n  function readArrayBufferAsText(buf) {\n    var view = new Uint8Array(buf);\n    var chars = new Array(view.length);\n\n    for (var i = 0; i < view.length; i++) {\n      chars[i] = String.fromCharCode(view[i]);\n    }\n    return chars.join('')\n  }\n\n  function bufferClone(buf) {\n    if (buf.slice) {\n      return buf.slice(0)\n    } else {\n      var view = new Uint8Array(buf.byteLength);\n      view.set(new Uint8Array(buf));\n      return view.buffer\n    }\n  }\n\n  function Body() {\n    this.bodyUsed = false;\n\n    this._initBody = function(body) {\n      this._bodyInit = body;\n      if (!body) {\n        this._bodyText = '';\n      } else if (typeof body === 'string') {\n        this._bodyText = body;\n      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n        this._bodyBlob = body;\n      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n        this._bodyFormData = body;\n      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n        this._bodyText = body.toString();\n      } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n        this._bodyArrayBuffer = bufferClone(body.buffer);\n        // IE 10-11 can't handle a DataView body.\n        this._bodyInit = new Blob([this._bodyArrayBuffer]);\n      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n        this._bodyArrayBuffer = bufferClone(body);\n      } else {\n        throw new Error('unsupported BodyInit type')\n      }\n\n      if (!this.headers.get('content-type')) {\n        if (typeof body === 'string') {\n          this.headers.set('content-type', 'text/plain;charset=UTF-8');\n        } else if (this._bodyBlob && this._bodyBlob.type) {\n          this.headers.set('content-type', this._bodyBlob.type);\n        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n        }\n      }\n    };\n\n    if (support.blob) {\n      this.blob = function() {\n        var rejected = consumed(this);\n        if (rejected) {\n          return rejected\n        }\n\n        if (this._bodyBlob) {\n          return Promise.resolve(this._bodyBlob)\n        } else if (this._bodyArrayBuffer) {\n          return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n        } else if (this._bodyFormData) {\n          throw new Error('could not read FormData body as blob')\n        } else {\n          return Promise.resolve(new Blob([this._bodyText]))\n        }\n      };\n\n      this.arrayBuffer = function() {\n        if (this._bodyArrayBuffer) {\n          return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n        } else {\n          return this.blob().then(readBlobAsArrayBuffer)\n        }\n      };\n    }\n\n    this.text = function() {\n      var rejected = consumed(this);\n      if (rejected) {\n        return rejected\n      }\n\n      if (this._bodyBlob) {\n        return readBlobAsText(this._bodyBlob)\n      } else if (this._bodyArrayBuffer) {\n        return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n      } else if (this._bodyFormData) {\n        throw new Error('could not read FormData body as text')\n      } else {\n        return Promise.resolve(this._bodyText)\n      }\n    };\n\n    if (support.formData) {\n      this.formData = function() {\n        return this.text().then(decode)\n      };\n    }\n\n    this.json = function() {\n      return this.text().then(JSON.parse)\n    };\n\n    return this\n  }\n\n  // HTTP methods whose capitalization should be normalized\n  var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n  function normalizeMethod(method) {\n    var upcased = method.toUpperCase();\n    return (methods.indexOf(upcased) > -1) ? upcased : method\n  }\n\n  function Request(input, options) {\n    options = options || {};\n    var body = options.body;\n\n    if (input instanceof Request) {\n      if (input.bodyUsed) {\n        throw new TypeError('Already read')\n      }\n      this.url = input.url;\n      this.credentials = input.credentials;\n      if (!options.headers) {\n        this.headers = new Headers(input.headers);\n      }\n      this.method = input.method;\n      this.mode = input.mode;\n      if (!body && input._bodyInit != null) {\n        body = input._bodyInit;\n        input.bodyUsed = true;\n      }\n    } else {\n      this.url = String(input);\n    }\n\n    this.credentials = options.credentials || this.credentials || 'omit';\n    if (options.headers || !this.headers) {\n      this.headers = new Headers(options.headers);\n    }\n    this.method = normalizeMethod(options.method || this.method || 'GET');\n    this.mode = options.mode || this.mode || null;\n    this.referrer = null;\n\n    if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n      throw new TypeError('Body not allowed for GET or HEAD requests')\n    }\n    this._initBody(body);\n  }\n\n  Request.prototype.clone = function() {\n    return new Request(this, { body: this._bodyInit })\n  };\n\n  function decode(body) {\n    var form = new FormData();\n    body.trim().split('&').forEach(function(bytes) {\n      if (bytes) {\n        var split = bytes.split('=');\n        var name = split.shift().replace(/\\+/g, ' ');\n        var value = split.join('=').replace(/\\+/g, ' ');\n        form.append(decodeURIComponent(name), decodeURIComponent(value));\n      }\n    });\n    return form\n  }\n\n  function parseHeaders(rawHeaders) {\n    var headers = new Headers();\n    // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n    // https://tools.ietf.org/html/rfc7230#section-3.2\n    var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n    preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n      var parts = line.split(':');\n      var key = parts.shift().trim();\n      if (key) {\n        var value = parts.join(':').trim();\n        headers.append(key, value);\n      }\n    });\n    return headers\n  }\n\n  Body.call(Request.prototype);\n\n  function Response(bodyInit, options) {\n    if (!options) {\n      options = {};\n    }\n\n    this.type = 'default';\n    this.status = options.status === undefined ? 200 : options.status;\n    this.ok = this.status >= 200 && this.status < 300;\n    this.statusText = 'statusText' in options ? options.statusText : 'OK';\n    this.headers = new Headers(options.headers);\n    this.url = options.url || '';\n    this._initBody(bodyInit);\n  }\n\n  Body.call(Response.prototype);\n\n  Response.prototype.clone = function() {\n    return new Response(this._bodyInit, {\n      status: this.status,\n      statusText: this.statusText,\n      headers: new Headers(this.headers),\n      url: this.url\n    })\n  };\n\n  Response.error = function() {\n    var response = new Response(null, {status: 0, statusText: ''});\n    response.type = 'error';\n    return response\n  };\n\n  var redirectStatuses = [301, 302, 303, 307, 308];\n\n  Response.redirect = function(url, status) {\n    if (redirectStatuses.indexOf(status) === -1) {\n      throw new RangeError('Invalid status code')\n    }\n\n    return new Response(null, {status: status, headers: {location: url}})\n  };\n\n  self.Headers = Headers;\n  self.Request = Request;\n  self.Response = Response;\n\n  self.fetch = function(input, init) {\n    return new Promise(function(resolve, reject) {\n      var request = new Request(input, init);\n      var xhr = new XMLHttpRequest();\n\n      xhr.onload = function() {\n        var options = {\n          status: xhr.status,\n          statusText: xhr.statusText,\n          headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n        };\n        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n        var body = 'response' in xhr ? xhr.response : xhr.responseText;\n        resolve(new Response(body, options));\n      };\n\n      xhr.onerror = function() {\n        reject(new TypeError('Network request failed'));\n      };\n\n      xhr.ontimeout = function() {\n        reject(new TypeError('Network request failed'));\n      };\n\n      xhr.open(request.method, request.url, true);\n\n      if (request.credentials === 'include') {\n        xhr.withCredentials = true;\n      } else if (request.credentials === 'omit') {\n        xhr.withCredentials = false;\n      }\n\n      if ('responseType' in xhr && support.blob) {\n        xhr.responseType = 'blob';\n      }\n\n      request.headers.forEach(function(value, name) {\n        xhr.setRequestHeader(name, value);\n      });\n\n      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n    })\n  };\n  self.fetch.polyfill = true;\n})(typeof self !== 'undefined' ? self : this);\n}).call(__root__, void(0));\nvar fetch = __root__.fetch;\nvar Response = fetch.Response = __root__.Response;\nvar Request = fetch.Request = __root__.Request;\nvar Headers = fetch.Headers = __root__.Headers;\nif (typeof module === 'object' && module.exports) {\nmodule.exports = fetch;\n// Needed for TypeScript consumers without esModuleInterop.\nmodule.exports.default = fetch;\n}\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import fetch from 'cross-fetch'\nimport FormData from 'form-data'\n\nconst {Fragment, Component}         = wp.element\nconst {withSelect, withDispatch}    = wp.data\nconst {compose}                     = wp.compose\nconst {Button}\t\t\t\t\t\t= wp.components\nconst {__}\t\t\t\t\t\t\t= wp.i18n\nconst {property}\t\t\t\t\t= lodash\n\n/**\n * Renders a NGG thumbnail\n */\nexport class NggThumbnail extends Component {\n\tstate = {\n\t\timage_url: null,\n\t\tmsg: __('Loading...')\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.image_id != prevProps.image_id) {\n\t\t\tthis.updateImageUrl()\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateImageUrl()\n\t}\n\n\tupdateImageUrl = () => {\n\t\tthis.getImageUrl(this.props.image_id)\n\t\t\t.then(image_url => this.setState({image_url}))\n\t\t\t.catch((err) => console.log(err) && this.setState({msg: __(\"Could not load image\")}))\t\t\n\t}\n\n\tgetImageUrl = image_id => {\n\t\tconst data = new FormData()\n\n\t\tdata.append('action', 'get_image')\n\t\tdata.append('image_id', image_id)\t\n\n\t\treturn fetch(photocrati_ajax.url, {method: 'POST', body: data, headers: {'Accept': 'application/json'}})\n\t\t\t.then(res => res.json())\n\t\t\t.then(property('image.image_url'))\n\t}\n\n\trender() {\n\t\tconst {msg} \t\t= this.state\n\n\t\tconst style = {\n\t\t\tpaddingTop: '5px',\n\t\t\tpaddingBottom: '5px'\n\t\t}\n\n\t\tconst el = this.state.image_url\n\t\t\t? <img src={this.state.image_url}/>\n\t\t\t: <span>{msg}</span>\n\t\t\n\t\treturn (\n\t\t\t<div style={style}>{el}</div>\n\t\t)\n\t}\n}\n\n/**\n * Displays the NGG Post Thumbnail component, which is a wrapper\n * around the PostFeaturedImage component.\n * \n * This exponent expects the following props:\n * \n * @param PostFeaturedImage PostFeaturedImage\n * @param Function onUpdatePostThumbnail\n * @param Integer nggPostThumbnailId\n */\nclass PostThumbnail extends Component {\n\n\t// Open the modal window to select a Featured Image\n\thandleOpenClick = e => {\n\t\tconst {currentPostId} = this.props\n\t\ttop.set_ngg_post_thumbnail = this.onUpdatePostThumbnail\n\t\ttb_show(\"Set NextGEN Featured Image\", ngg_featured_image.modal_url.replace(/%post_id%/, currentPostId))\n\t}\n\n\t// Remove the post thumbnail\n\thandleRemoveClick = e => {\n\t\tthis.props.onRemoveNggPostThumbnail()\n\t}\n\n\t// Close the modal window and set the ngg_post_thumbnail post meta field\n\tonUpdatePostThumbnail = ngg_image_id => {\n\t\ttb_remove()\n\t\tthis.props.onSetNggPostThumbnail(parseInt(ngg_image_id))\n\t}\n\n\trender() {\n\t\tconst {PostFeaturedImage, nggPostThumbnailId} = this.props\n\t\tconst buttonStyle = {marginTop: '10px'}\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{! nggPostThumbnailId && <PostFeaturedImage {...this.props}/>}\n\n\t\t\t\t<Button style={buttonStyle} onClick={this.handleOpenClick} className=\"editor-post-featured-image__toggle\">\n\t\t\t\t\t{__('Set NextGEN Featured Image')}\n\t\t\t\t</Button>\n\n\t\t\t\t{nggPostThumbnailId > 0 && \n\t\t\t\t\t<div>\n\t\t\t\t\t\t<NggThumbnail image_id={nggPostThumbnailId}/>\n\t\t\t\t\t\t<Button onClick={this.handleRemoveClick} className=\"is-link is-destructive\">\n\t\t\t\t\t\t\t{__('Remove featured image')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t)\n\t\t\n\t}\n}\n\n/**\n * A higher-order component used to provide the PostFeaturedImage prop\n * to the PostThumbnail component\n * @param PostFeaturedImage PostFeaturedImage \n */\nconst nggPostThumbnail = PostFeaturedImage => props => (\n\t<PostThumbnail PostFeaturedImage={PostFeaturedImage} {...props}/>\n)\n\n/**\n * A higher-order component using the core/editor store which provides the following props\n * to the PostThumbnail component:\n * \n * @param integer currentPostId\t\t\tthe id of the current post\n * @param integer nggPostThumbnailId\tthe NGG image id used as a post thumbnail for the post/page\n * @param integer featuredImageId\t\tthe media library image id used as a post thumbnail for the post/page \t\n */\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( 'core/editor' );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\tconst meta = getEditedPostAttribute('meta')\n\tconst nggPostThumbnailId = meta.ngg_post_thumbnail\n\t\n\treturn {\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tfeaturedImageId,\n\t\tnggPostThumbnailId\n\t};\n} );\n\n\n/**\n * A higher-order component using the core/editor store which provides the following props\n * to the PostThumbnail component:\n * \n * @param function onSetPostThumbnail\n */\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { editPost } = dispatch( 'core/editor' );\n\treturn {\n\t\tonSetNggPostThumbnail(image_id) {\n\t\t\tconst meta = wp.data.select('core/editor').getEditedPostAttribute('meta')\n\t\t\tmeta.ngg_post_thumbnail = image_id\n\t\t\teditPost({\n\t\t\t\t...meta,\n\t\t\t\tmeta\t\n\t\t\t})\n\t\t},\n\t\t\n\t\tonRemoveNggPostThumbnail() {\n\t\t\tconst meta = wp.data.select('core/editor').getEditedPostAttribute('meta')\n\t\t\tmeta.ngg_post_thumbnail = 0\n\t\t\tmeta.featured_media = 0\n\t\t\teditPost({\n\t\t\t\t...meta,\n\t\t\t\tmeta\n\t\t\t})\n\t\t},\n\t};\t\n} );\n\n/** Export a composed component **/\nexport default PostFeaturedImage => compose(\n\tapplyWithSelect,\n\tapplyWithDispatch\n)(nggPostThumbnail(PostFeaturedImage))\n","import NggPostThumbnail from './components/ngg-post-thumbnail.min'\nconst {memoize}         = lodash\n\n// Gets the original component which we will wrap\nconst getOriginalComponent = obj => memoize(prop => {\n    return obj[prop]\n})\n\n// Wrap wp && wp.editor in a Proxy. We can then override the wp.editor.PostFeaturedImage component\n// TODO: All of this logic should be encapsulated into a utility of some kind.\nconst wpEditorProxy = {\n    get(obj, prop) {\n        if (prop == 'isProxy') return true\n        else if (prop == 'PostFeaturedImage') {\n            return NggPostThumbnail(getOriginalComponent(obj)(prop))\n        }\n        return obj[prop]\n    }\n }\nconst wpProxy = {\n    get(obj, prop) {\n        if (prop == 'editor') {\n            console.log(obj[prop])\n            if (obj[prop] && !obj[prop].isProxy) {\n                obj[prop] = new Proxy(obj[prop], wpEditorProxy)        \n            }\n        }\n        return obj[prop]\n    },\n\n    set(obj, prop, value) {\n        if (prop == 'editor' && !value.isProxy) {\n            value = new Proxy(value, wpEditorProxy)\n        }\n        obj[prop] = value\n        return value\n    }\n}\n\nwindow.wp = new Proxy(wp, wpProxy)"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack:///./node_modules/form-data/lib/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/components/ngg-post-thumbnail.min.js","webpack:///./build/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__root__","root","F","this","fetch","self","support","searchParams","iterable","blob","Blob","e","formData","arrayBuffer","viewClasses","isDataView","obj","DataView","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","indexOf","toString","Headers","append","normalizeName","normalizeValue","oldValue","map","has","set","forEach","callback","thisArg","keys","items","push","iteratorFor","values","entries","iterator","methods","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","url","error","response","type","redirectStatuses","redirect","RangeError","location","input","init","Promise","resolve","reject","request","xhr","XMLHttpRequest","onload","options","rawHeaders","replace","split","line","parts","shift","trim","join","parseHeaders","getAllResponseHeaders","responseURL","responseText","onerror","TypeError","ontimeout","open","method","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","String","test","toLowerCase","next","done","undefined","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","result","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","buffer","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","Error","rejected","then","text","readAsText","readBlobAsText","chars","length","fromCharCode","readArrayBufferAsText","decode","json","JSON","parse","upcased","toUpperCase","normalizeMethod","referrer","form","bytes","decodeURIComponent","bodyInit","ok","_typeof","default","window","webpackPolyfill","deprecate","paths","children","wp","element","Fragment","Component","data","withSelect","withDispatch","compose","Button","components","__","i18n","lodash","NggThumbnail","_Component","_getPrototypeOf2","_this","_classCallCheck","_len","arguments","args","_key","_defineProperty","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","apply","concat","image_url","msg","getImageUrl","props","image_id","setState","catch","err","console","log","photocrati_ajax","Accept","res","_inherits","_createClass","prevProps","updateImageUrl","state","el","React","createElement","src","style","paddingTop","paddingBottom","PostThumbnail","currentPostId","_this2","top","set_ngg_post_thumbnail","onUpdatePostThumbnail","tb_show","ngg_featured_image","modal_url","onRemoveNggPostThumbnail","ngg_image_id","tb_remove","onSetNggPostThumbnail","parseInt","_this$props","PostFeaturedImage","nggPostThumbnailId","marginTop","onClick","handleOpenClick","className","ngg_post_thumbnail_min_NggThumbnail","handleRemoveClick","applyWithSelect","select","_select","getCurrentPostId","getEditedPostAttribute","featuredImageId","ngg_post_thumbnail","applyWithDispatch","dispatch","editPost","meta","_objectSpread","featured_media","ngg_post_thumbnail_min","_extends","nggPostThumbnail","memoize","wpEditorProxy","prop","NggPostThumbnail","getOriginalComponent","wpProxy","isProxy","Proxy"],"mappings":"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","file":"post-thumbnail.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","var __root__ = (function (root) {\nfunction F() { this.fetch = false; }\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\n(function(self) {\n\n  if (self.fetch) {\n    return\n  }\n\n  var support = {\n    searchParams: 'URLSearchParams' in self,\n    iterable: 'Symbol' in self && 'iterator' in Symbol,\n    blob: 'FileReader' in self && 'Blob' in self && (function() {\n      try {\n        new Blob();\n        return true\n      } catch(e) {\n        return false\n      }\n    })(),\n    formData: 'FormData' in self,\n    arrayBuffer: 'ArrayBuffer' in self\n  };\n\n  if (support.arrayBuffer) {\n    var viewClasses = [\n      '[object Int8Array]',\n      '[object Uint8Array]',\n      '[object Uint8ClampedArray]',\n      '[object Int16Array]',\n      '[object Uint16Array]',\n      '[object Int32Array]',\n      '[object Uint32Array]',\n      '[object Float32Array]',\n      '[object Float64Array]'\n    ];\n\n    var isDataView = function(obj) {\n      return obj && DataView.prototype.isPrototypeOf(obj)\n    };\n\n    var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n      return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n    };\n  }\n\n  function normalizeName(name) {\n    if (typeof name !== 'string') {\n      name = String(name);\n    }\n    if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n      throw new TypeError('Invalid character in header field name')\n    }\n    return name.toLowerCase()\n  }\n\n  function normalizeValue(value) {\n    if (typeof value !== 'string') {\n      value = String(value);\n    }\n    return value\n  }\n\n  // Build a destructive iterator for the value list\n  function iteratorFor(items) {\n    var iterator = {\n      next: function() {\n        var value = items.shift();\n        return {done: value === undefined, value: value}\n      }\n    };\n\n    if (support.iterable) {\n      iterator[Symbol.iterator] = function() {\n        return iterator\n      };\n    }\n\n    return iterator\n  }\n\n  function Headers(headers) {\n    this.map = {};\n\n    if (headers instanceof Headers) {\n      headers.forEach(function(value, name) {\n        this.append(name, value);\n      }, this);\n    } else if (Array.isArray(headers)) {\n      headers.forEach(function(header) {\n        this.append(header[0], header[1]);\n      }, this);\n    } else if (headers) {\n      Object.getOwnPropertyNames(headers).forEach(function(name) {\n        this.append(name, headers[name]);\n      }, this);\n    }\n  }\n\n  Headers.prototype.append = function(name, value) {\n    name = normalizeName(name);\n    value = normalizeValue(value);\n    var oldValue = this.map[name];\n    this.map[name] = oldValue ? oldValue+','+value : value;\n  };\n\n  Headers.prototype['delete'] = function(name) {\n    delete this.map[normalizeName(name)];\n  };\n\n  Headers.prototype.get = function(name) {\n    name = normalizeName(name);\n    return this.has(name) ? this.map[name] : null\n  };\n\n  Headers.prototype.has = function(name) {\n    return this.map.hasOwnProperty(normalizeName(name))\n  };\n\n  Headers.prototype.set = function(name, value) {\n    this.map[normalizeName(name)] = normalizeValue(value);\n  };\n\n  Headers.prototype.forEach = function(callback, thisArg) {\n    for (var name in this.map) {\n      if (this.map.hasOwnProperty(name)) {\n        callback.call(thisArg, this.map[name], name, this);\n      }\n    }\n  };\n\n  Headers.prototype.keys = function() {\n    var items = [];\n    this.forEach(function(value, name) { items.push(name); });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.values = function() {\n    var items = [];\n    this.forEach(function(value) { items.push(value); });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.entries = function() {\n    var items = [];\n    this.forEach(function(value, name) { items.push([name, value]); });\n    return iteratorFor(items)\n  };\n\n  if (support.iterable) {\n    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n  }\n\n  function consumed(body) {\n    if (body.bodyUsed) {\n      return Promise.reject(new TypeError('Already read'))\n    }\n    body.bodyUsed = true;\n  }\n\n  function fileReaderReady(reader) {\n    return new Promise(function(resolve, reject) {\n      reader.onload = function() {\n        resolve(reader.result);\n      };\n      reader.onerror = function() {\n        reject(reader.error);\n      };\n    })\n  }\n\n  function readBlobAsArrayBuffer(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    reader.readAsArrayBuffer(blob);\n    return promise\n  }\n\n  function readBlobAsText(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    reader.readAsText(blob);\n    return promise\n  }\n\n  function readArrayBufferAsText(buf) {\n    var view = new Uint8Array(buf);\n    var chars = new Array(view.length);\n\n    for (var i = 0; i < view.length; i++) {\n      chars[i] = String.fromCharCode(view[i]);\n    }\n    return chars.join('')\n  }\n\n  function bufferClone(buf) {\n    if (buf.slice) {\n      return buf.slice(0)\n    } else {\n      var view = new Uint8Array(buf.byteLength);\n      view.set(new Uint8Array(buf));\n      return view.buffer\n    }\n  }\n\n  function Body() {\n    this.bodyUsed = false;\n\n    this._initBody = function(body) {\n      this._bodyInit = body;\n      if (!body) {\n        this._bodyText = '';\n      } else if (typeof body === 'string') {\n        this._bodyText = body;\n      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n        this._bodyBlob = body;\n      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n        this._bodyFormData = body;\n      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n        this._bodyText = body.toString();\n      } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n        this._bodyArrayBuffer = bufferClone(body.buffer);\n        // IE 10-11 can't handle a DataView body.\n        this._bodyInit = new Blob([this._bodyArrayBuffer]);\n      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n        this._bodyArrayBuffer = bufferClone(body);\n      } else {\n        throw new Error('unsupported BodyInit type')\n      }\n\n      if (!this.headers.get('content-type')) {\n        if (typeof body === 'string') {\n          this.headers.set('content-type', 'text/plain;charset=UTF-8');\n        } else if (this._bodyBlob && this._bodyBlob.type) {\n          this.headers.set('content-type', this._bodyBlob.type);\n        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n        }\n      }\n    };\n\n    if (support.blob) {\n      this.blob = function() {\n        var rejected = consumed(this);\n        if (rejected) {\n          return rejected\n        }\n\n        if (this._bodyBlob) {\n          return Promise.resolve(this._bodyBlob)\n        } else if (this._bodyArrayBuffer) {\n          return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n        } else if (this._bodyFormData) {\n          throw new Error('could not read FormData body as blob')\n        } else {\n          return Promise.resolve(new Blob([this._bodyText]))\n        }\n      };\n\n      this.arrayBuffer = function() {\n        if (this._bodyArrayBuffer) {\n          return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n        } else {\n          return this.blob().then(readBlobAsArrayBuffer)\n        }\n      };\n    }\n\n    this.text = function() {\n      var rejected = consumed(this);\n      if (rejected) {\n        return rejected\n      }\n\n      if (this._bodyBlob) {\n        return readBlobAsText(this._bodyBlob)\n      } else if (this._bodyArrayBuffer) {\n        return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n      } else if (this._bodyFormData) {\n        throw new Error('could not read FormData body as text')\n      } else {\n        return Promise.resolve(this._bodyText)\n      }\n    };\n\n    if (support.formData) {\n      this.formData = function() {\n        return this.text().then(decode)\n      };\n    }\n\n    this.json = function() {\n      return this.text().then(JSON.parse)\n    };\n\n    return this\n  }\n\n  // HTTP methods whose capitalization should be normalized\n  var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n  function normalizeMethod(method) {\n    var upcased = method.toUpperCase();\n    return (methods.indexOf(upcased) > -1) ? upcased : method\n  }\n\n  function Request(input, options) {\n    options = options || {};\n    var body = options.body;\n\n    if (input instanceof Request) {\n      if (input.bodyUsed) {\n        throw new TypeError('Already read')\n      }\n      this.url = input.url;\n      this.credentials = input.credentials;\n      if (!options.headers) {\n        this.headers = new Headers(input.headers);\n      }\n      this.method = input.method;\n      this.mode = input.mode;\n      if (!body && input._bodyInit != null) {\n        body = input._bodyInit;\n        input.bodyUsed = true;\n      }\n    } else {\n      this.url = String(input);\n    }\n\n    this.credentials = options.credentials || this.credentials || 'omit';\n    if (options.headers || !this.headers) {\n      this.headers = new Headers(options.headers);\n    }\n    this.method = normalizeMethod(options.method || this.method || 'GET');\n    this.mode = options.mode || this.mode || null;\n    this.referrer = null;\n\n    if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n      throw new TypeError('Body not allowed for GET or HEAD requests')\n    }\n    this._initBody(body);\n  }\n\n  Request.prototype.clone = function() {\n    return new Request(this, { body: this._bodyInit })\n  };\n\n  function decode(body) {\n    var form = new FormData();\n    body.trim().split('&').forEach(function(bytes) {\n      if (bytes) {\n        var split = bytes.split('=');\n        var name = split.shift().replace(/\\+/g, ' ');\n        var value = split.join('=').replace(/\\+/g, ' ');\n        form.append(decodeURIComponent(name), decodeURIComponent(value));\n      }\n    });\n    return form\n  }\n\n  function parseHeaders(rawHeaders) {\n    var headers = new Headers();\n    // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n    // https://tools.ietf.org/html/rfc7230#section-3.2\n    var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n    preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n      var parts = line.split(':');\n      var key = parts.shift().trim();\n      if (key) {\n        var value = parts.join(':').trim();\n        headers.append(key, value);\n      }\n    });\n    return headers\n  }\n\n  Body.call(Request.prototype);\n\n  function Response(bodyInit, options) {\n    if (!options) {\n      options = {};\n    }\n\n    this.type = 'default';\n    this.status = options.status === undefined ? 200 : options.status;\n    this.ok = this.status >= 200 && this.status < 300;\n    this.statusText = 'statusText' in options ? options.statusText : 'OK';\n    this.headers = new Headers(options.headers);\n    this.url = options.url || '';\n    this._initBody(bodyInit);\n  }\n\n  Body.call(Response.prototype);\n\n  Response.prototype.clone = function() {\n    return new Response(this._bodyInit, {\n      status: this.status,\n      statusText: this.statusText,\n      headers: new Headers(this.headers),\n      url: this.url\n    })\n  };\n\n  Response.error = function() {\n    var response = new Response(null, {status: 0, statusText: ''});\n    response.type = 'error';\n    return response\n  };\n\n  var redirectStatuses = [301, 302, 303, 307, 308];\n\n  Response.redirect = function(url, status) {\n    if (redirectStatuses.indexOf(status) === -1) {\n      throw new RangeError('Invalid status code')\n    }\n\n    return new Response(null, {status: status, headers: {location: url}})\n  };\n\n  self.Headers = Headers;\n  self.Request = Request;\n  self.Response = Response;\n\n  self.fetch = function(input, init) {\n    return new Promise(function(resolve, reject) {\n      var request = new Request(input, init);\n      var xhr = new XMLHttpRequest();\n\n      xhr.onload = function() {\n        var options = {\n          status: xhr.status,\n          statusText: xhr.statusText,\n          headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n        };\n        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n        var body = 'response' in xhr ? xhr.response : xhr.responseText;\n        resolve(new Response(body, options));\n      };\n\n      xhr.onerror = function() {\n        reject(new TypeError('Network request failed'));\n      };\n\n      xhr.ontimeout = function() {\n        reject(new TypeError('Network request failed'));\n      };\n\n      xhr.open(request.method, request.url, true);\n\n      if (request.credentials === 'include') {\n        xhr.withCredentials = true;\n      } else if (request.credentials === 'omit') {\n        xhr.withCredentials = false;\n      }\n\n      if ('responseType' in xhr && support.blob) {\n        xhr.responseType = 'blob';\n      }\n\n      request.headers.forEach(function(value, name) {\n        xhr.setRequestHeader(name, value);\n      });\n\n      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n    })\n  };\n  self.fetch.polyfill = true;\n})(typeof self !== 'undefined' ? self : this);\n}).call(__root__, void(0));\nvar fetch = __root__.fetch;\nvar Response = fetch.Response = __root__.Response;\nvar Request = fetch.Request = __root__.Request;\nvar Headers = fetch.Headers = __root__.Headers;\nif (typeof module === 'object' && module.exports) {\nmodule.exports = fetch;\n// Needed for TypeScript consumers without esModuleInterop.\nmodule.exports.default = fetch;\n}\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import fetch from 'cross-fetch'\nimport FormData from 'form-data'\n\nconst {Fragment, Component}         = wp.element\nconst {withSelect, withDispatch}    = wp.data\nconst {compose}                     = wp.compose\nconst {Button}\t\t\t\t\t\t= wp.components\nconst {__}\t\t\t\t\t\t\t= wp.i18n\nconst {property}\t\t\t\t\t= lodash\n\n/**\n * Renders a NGG thumbnail\n */\nexport class NggThumbnail extends Component {\n\tstate = {\n\t\timage_url: null,\n\t\tmsg: __('Loading...')\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.image_id != prevProps.image_id) {\n\t\t\tthis.updateImageUrl()\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateImageUrl()\n\t}\n\n\tupdateImageUrl = () => {\n\t\tthis.getImageUrl(this.props.image_id)\n\t\t\t.then(image_url => this.setState({image_url}))\n\t\t\t.catch((err) => console.log(err) && this.setState({msg: __(\"Could not load image\")}))\t\t\n\t}\n\n\tgetImageUrl = image_id => {\n\t\tconst data = new FormData()\n\n\t\tdata.append('action', 'get_image')\n\t\tdata.append('image_id', image_id)\t\n\n\t\treturn fetch(photocrati_ajax.url, {method: 'POST', body: data, headers: {'Accept': 'application/json'}})\n\t\t\t.then(res => res.json())\n\t\t\t.then(property('image.image_url'))\n\t}\n\n\trender() {\n\t\tconst {msg} \t\t= this.state\n\n\t\tconst style = {\n\t\t\tpaddingTop: '5px',\n\t\t\tpaddingBottom: '5px'\n\t\t}\n\n\t\tconst el = this.state.image_url\n\t\t\t? <img src={this.state.image_url}/>\n\t\t\t: <span>{msg}</span>\n\t\t\n\t\treturn (\n\t\t\t<div style={style}>{el}</div>\n\t\t)\n\t}\n}\n\n/**\n * Displays the NGG Post Thumbnail component, which is a wrapper\n * around the PostFeaturedImage component.\n * \n * This exponent expects the following props:\n * \n * @param PostFeaturedImage PostFeaturedImage\n * @param Function onUpdatePostThumbnail\n * @param Integer nggPostThumbnailId\n */\nclass PostThumbnail extends Component {\n\n\t// Open the modal window to select a Featured Image\n\thandleOpenClick = e => {\n\t\tconst {currentPostId} = this.props\n\t\ttop.set_ngg_post_thumbnail = this.onUpdatePostThumbnail\n\t\ttb_show(\"Set NextGEN Featured Image\", ngg_featured_image.modal_url.replace(/%post_id%/, currentPostId))\n\t}\n\n\t// Remove the post thumbnail\n\thandleRemoveClick = e => {\n\t\tthis.props.onRemoveNggPostThumbnail()\n\t}\n\n\t// Close the modal window and set the ngg_post_thumbnail post meta field\n\tonUpdatePostThumbnail = ngg_image_id => {\n\t\ttb_remove()\n\t\tthis.props.onSetNggPostThumbnail(parseInt(ngg_image_id))\n\t}\n\n\trender() {\n\t\tconst {PostFeaturedImage, nggPostThumbnailId} = this.props\n\t\tconst buttonStyle = {marginTop: '10px'}\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{! nggPostThumbnailId && <PostFeaturedImage {...this.props}/>}\n\n\t\t\t\t<Button style={buttonStyle} onClick={this.handleOpenClick} className=\"editor-post-featured-image__toggle\">\n\t\t\t\t\t{__('Set NextGEN Featured Image')}\n\t\t\t\t</Button>\n\n\t\t\t\t{nggPostThumbnailId > 0 && \n\t\t\t\t\t<div>\n\t\t\t\t\t\t<NggThumbnail image_id={nggPostThumbnailId}/>\n\t\t\t\t\t\t<Button onClick={this.handleRemoveClick} className=\"is-link is-destructive\">\n\t\t\t\t\t\t\t{__('Remove featured image')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t)\n\t\t\n\t}\n}\n\n/**\n * A higher-order component used to provide the PostFeaturedImage prop\n * to the PostThumbnail component\n * @param PostFeaturedImage PostFeaturedImage \n */\nconst nggPostThumbnail = PostFeaturedImage => props => (\n\t<PostThumbnail PostFeaturedImage={PostFeaturedImage} {...props}/>\n)\n\n/**\n * A higher-order component using the core/editor store which provides the following props\n * to the PostThumbnail component:\n * \n * @param integer currentPostId\t\t\tthe id of the current post\n * @param integer nggPostThumbnailId\tthe NGG image id used as a post thumbnail for the post/page\n * @param integer featuredImageId\t\tthe media library image id used as a post thumbnail for the post/page \t\n */\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( 'core/editor' );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\tconst meta = getEditedPostAttribute('meta')\n\tconst nggPostThumbnailId = meta.ngg_post_thumbnail\n\t\n\treturn {\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tfeaturedImageId,\n\t\tnggPostThumbnailId\n\t};\n} );\n\n\n/**\n * A higher-order component using the core/editor store which provides the following props\n * to the PostThumbnail component:\n * \n * @param function onSetPostThumbnail\n */\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { editPost } = dispatch( 'core/editor' );\n\treturn {\n\t\tonSetNggPostThumbnail(image_id) {\n\t\t\tconst meta = wp.data.select('core/editor').getEditedPostAttribute('meta')\n\t\t\tmeta.ngg_post_thumbnail = image_id\n\t\t\teditPost({\n\t\t\t\t...meta,\n\t\t\t\tmeta\t\n\t\t\t})\n\t\t},\n\t\t\n\t\tonRemoveNggPostThumbnail() {\n\t\t\tconst meta = wp.data.select('core/editor').getEditedPostAttribute('meta')\n\t\t\tmeta.ngg_post_thumbnail = 0\n\t\t\tmeta.featured_media = 0\n\t\t\teditPost({\n\t\t\t\t...meta,\n\t\t\t\tmeta\n\t\t\t})\n\t\t},\n\t};\t\n} );\n\n/** Export a composed component **/\nexport default PostFeaturedImage => compose(\n\tapplyWithSelect,\n\tapplyWithDispatch\n)(nggPostThumbnail(PostFeaturedImage))\n","import NggPostThumbnail from './components/ngg-post-thumbnail.min'\nconst {memoize}         = lodash\n\n// Gets the original component which we will wrap\nconst getOriginalComponent = obj => memoize(prop => {\n    return obj[prop]\n})\n\n// Wrap wp && wp.editor in a Proxy. We can then override the wp.editor.PostFeaturedImage component\n// TODO: All of this logic should be encapsulated into a utility of some kind.\nconst wpEditorProxy = {\n    get(obj, prop) {\n        if (prop == 'isProxy') return true\n        else if (prop == 'PostFeaturedImage') {\n            return NggPostThumbnail(getOriginalComponent(obj)(prop))\n        }\n        return obj[prop]\n    }\n }\nconst wpProxy = {\n    get(obj, prop) {\n        if (prop == 'editor') {\n            if (obj[prop] && !obj[prop].isProxy) {\n                obj[prop] = new Proxy(obj[prop], wpEditorProxy)        \n            }\n        }\n        return obj[prop]\n    },\n\n    set(obj, prop, value) {\n        if (prop == 'editor' && !value.isProxy) {\n            value = new Proxy(value, wpEditorProxy)\n        }\n        obj[prop] = value\n        return value\n    }\n}\n\nwindow.wp = new Proxy(wp, wpProxy)\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.css
index 76813cea2..f77043afb 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.css
@@ -23,18 +23,18 @@ div[data-type="imagely/nextgen-gallery"] .ngg-freeform-toolbar {
 /* Styling for Add NextGEN Gallery button */
 
 div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery-wrap {
-    background-color: #143650;
-    border: none;
-    border-top: 5px solid #b8d330;
-    border-radius: 2px;
-    display: none;
-    min-height: 150px;
-    margin: 0 0 -50px !important;
-    padding: 46px 20px;
+    min-height: 210px;
+    margin: 0 !important;
+    padding: 80px;
     position: relative;
-    top: -40px;
+    top: -32px;
     width: 100%;
     z-index: 1;
+    background: #fff;
+    border: 1px solid #eee;
+    border-top: 4px solid #b8d330;
+    box-shadow: 0 0 4px 2px rgba(0,0,0,.03);
+    background: #fcfcfc;
 }
 
 div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery {
@@ -44,7 +44,7 @@ div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery {
     font-family: Lato,sans-serif;
     font-weight: 900;
     color: #fff;
-    background-color: #9fbb1a;
+    background-color: black;
     border: none;
     box-shadow: none;
     padding: 12px 24px;
@@ -55,6 +55,10 @@ div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery {
     cursor: pointer;
 }
 
+div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery:hover {
+    background: #383838;
+}
+
 /* Customize the tinymce editor area */
 
 div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.block-library-rich-text__tinymce {
@@ -68,23 +72,21 @@ div[data-type="imagely/nextgen-gallery"] .mce-drag-container {
 /* Customize the NextGEN Gallery placeholder */
 
 div[data-type="imagely/nextgen-gallery"] .nggPlaceholder {
-	background-color: #143650;
+	background-color: #ffffff;
     border-radius: 2px;
-    box-shadow: 0 0 4px 1px rgba(0,0,0,.05);
-	box-sizing: border-box;
+    box-shadow: 0 0 4px 2px rgba(0,0,0,.05);
+    box-sizing: border-box;
     border-top: 5px solid #b8d330;
-	color: #fff;
-    color: #9fbb1a;
-	font-family: sans-serif;
-	font-size: 20px;
-    margin-bottom: -25px !important;
+    color: #fff;
+    font-family: sans-serif;
+    font-size: 20px;
     outline: none !important;
-    padding: 30px 30px 65px 30px;
     position: relative;
     text-align: center;
-    top: -15px;
     width: 100%;
     z-index: 2;
+    min-height: 210px;
+    padding: 60px 60px 70px;
 }
 
 div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.blocks-rich-text__tinymce > .nggPlaceholder {
@@ -99,19 +101,19 @@ div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.blocks-rich-text__ti
 }
 
 div[data-type="imagely/nextgen-gallery"] .nggPlaceholder h3 {
-    color: #fff !important;
-    margin-bottom: 8px;
+    color: black !important;
     text-transform: uppercase;
-    font-size: 20px;
+    font-size: 21px;
     font-family: Lato, sans-serif !important;
-    font-weight: 900 !important;
-    letter-spacing: 1.5px !important;
+    font-weight: 700 !important;
+    letter-spacing: 3px !important;
     margin-bottom: 0;
+    margin-top: 0;
 }
 
 div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton {
-    background: #9ebd00 !important;
-    border-radius: 2px;
+    background: black !important;
+    border-radius: 0;
     border: none !important;
     box-shadow: none !important;
     color: #fff !important;
@@ -122,15 +124,15 @@ div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton {
     height: 36px !important;
     line-height: 36px !important;
     letter-spacing: 1.2px;
-    margin: 0px 4px 2px;
+    margin: 0px 4px 2px 0;
     padding: 0;
-    width: 105px;
-    text-align: center;   
-    text-transform: uppercase !important; 
+    width: 121px;
+    text-align: center;
+    text-transform: uppercase !important;
     text-shadow: none !important;
     cursor: pointer;
 }
 
 div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton:hover {
-    background: #a5c31a !important;
+    background: #383838 !important;
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.min.css
index 0b73b1832..2b8b754bd 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/editor.min.css
@@ -1 +1 @@
-div[data-type="imagely/nextgen-gallery"].is-hovered>.editor-block-list__block-edit:before,div[data-type="imagely/nextgen-gallery"].is-selected>.editor-block-list__block-edit:before{outline:0!important}div[data-type="imagely/nextgen-gallery"] .editor-block-list__breadcrumb,div[data-type="imagely/nextgen-gallery"] .ngg-freeform-toolbar{display:none!important}div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery-wrap{background-color:#143650;border:none;border-top:5px solid #b8d330;border-radius:2px;display:none;min-height:150px;margin:0 0 -50px!important;padding:46px 20px;position:relative;top:-40px;width:100%;z-index:1}div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery{font-size:14px;letter-spacing:1.2px;line-height:20px;font-family:Lato,sans-serif;font-weight:900;color:#fff;background-color:#9fbb1a;border:none;box-shadow:none;padding:12px 24px;margin:0 auto;text-transform:uppercase;width:260px;text-align:center;cursor:pointer}div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.block-library-rich-text__tinymce{overflow:visible}div[data-type="imagely/nextgen-gallery"] .mce-drag-container{left:0!important}div[data-type="imagely/nextgen-gallery"] .nggPlaceholder{background-color:#143650;border-radius:2px;box-shadow:0 0 4px 1px rgba(0,0,0,.05);box-sizing:border-box;border-top:5px solid #b8d330;color:#9fbb1a;font-family:sans-serif;font-size:20px;margin-bottom:-25px!important;outline:0!important;padding:30px 30px 65px;position:relative;text-align:center;top:-15px;width:100%;z-index:2}div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.blocks-rich-text__tinymce>.nggPlaceholder{z-index:2;display:block;position:relative;margin-top:-135px}div[data-type="imagely/nextgen-gallery"] .nggPlaceholder h3{color:#fff!important;text-transform:uppercase;font-size:20px;font-family:Lato,sans-serif!important;font-weight:900!important;letter-spacing:1.5px!important;margin-bottom:0}div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton{background:#9ebd00!important;border-radius:2px;border:none!important;box-shadow:none!important;color:#fff!important;display:inline-block!important;font-size:12px;font-weight:700;font-family:Lato,sans-serif!important;height:36px!important;line-height:36px!important;letter-spacing:1.2px;margin:0 4px 2px;padding:0;width:105px;text-align:center;text-transform:uppercase!important;text-shadow:none!important;cursor:pointer}div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton:hover{background:#a5c31a!important}
\ No newline at end of file
+div[data-type="imagely/nextgen-gallery"].is-hovered>.editor-block-list__block-edit:before,div[data-type="imagely/nextgen-gallery"].is-selected>.editor-block-list__block-edit:before{outline:0!important}div[data-type="imagely/nextgen-gallery"] .editor-block-list__breadcrumb,div[data-type="imagely/nextgen-gallery"] .ngg-freeform-toolbar{display:none!important}div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery-wrap{min-height:210px;margin:0!important;padding:80px;position:relative;top:-32px;width:100%;z-index:1;border:1px solid #eee;border-top:4px solid #b8d330;box-shadow:0 0 4px 2px rgba(0,0,0,.03);background:#fcfcfc}div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery{font-size:14px;letter-spacing:1.2px;line-height:20px;font-family:Lato,sans-serif;font-weight:900;color:#fff;background-color:#000;border:none;box-shadow:none;padding:12px 24px;margin:0 auto;text-transform:uppercase;width:260px;text-align:center;cursor:pointer}div[data-type="imagely/nextgen-gallery"] .add-ngg-gallery:hover{background:#383838}div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.block-library-rich-text__tinymce{overflow:visible}div[data-type="imagely/nextgen-gallery"] .mce-drag-container{left:0!important}div[data-type="imagely/nextgen-gallery"] .nggPlaceholder{background-color:#fff;border-radius:2px;box-shadow:0 0 4px 2px rgba(0,0,0,.05);box-sizing:border-box;border-top:5px solid #b8d330;color:#fff;font-family:sans-serif;font-size:20px;outline:0!important;position:relative;text-align:center;width:100%;z-index:2;min-height:210px;padding:60px 60px 70px}div[data-type="imagely/nextgen-gallery"] .wp-block-freeform.blocks-rich-text__tinymce>.nggPlaceholder{z-index:2;display:block;position:relative;margin-top:-135px}div[data-type="imagely/nextgen-gallery"] .nggPlaceholder h3{color:#000!important;text-transform:uppercase;font-size:21px;font-family:Lato,sans-serif!important;font-weight:700!important;letter-spacing:3px!important;margin-bottom:0;margin-top:0}div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton{background:#000!important;border-radius:0;border:none!important;box-shadow:none!important;color:#fff!important;display:inline-block!important;font-size:12px;font-weight:700;font-family:Lato,sans-serif!important;height:36px!important;line-height:36px!important;letter-spacing:1.2px;margin:0 4px 2px 0;padding:0;width:121px;text-align:center;text-transform:uppercase!important;text-shadow:none!important;cursor:pointer}div[data-type="imagely/nextgen-gallery"] .nggPlaceholderButton:hover{background:#383838!important}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js
index 991d00279..1b3ca9273 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/block.min.js
@@ -18,10 +18,9 @@ const withFreeform = withSelect((select, props) => {
 
 // When the freeform block is available, we create our edit component for NGG and render it
 const edit = withFreeform(memo(props => {
-    props.isSelected = true
     const editProps  = omit(props, ['Freeform'])
     const NggEdit = createNggEditComponent(jQuery, props.Freeform.edit)
-    return <NggEdit {...editProps}/>
+    return <NggEdit {...editProps} isSelected={true}/>
 }))
 
 // Register our block
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js
index 6f754b33b..abea3c4c1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/icons.min.js
@@ -1,8 +1,17 @@
 const icons = {};
 
 icons.nextgen =
-<svg id="svg" version="1.1" width="400" height="385.8088930936613" viewBox="0 0 400 385.8088930936613">
-<g id="svgg"><path id="path0" d="" stroke="none" fill="#000055" fill-rule="evenodd"></path><path id="path1" d="" stroke="none" fill="#002424" fill-rule="evenodd"></path><path id="path2" d="M194.418 152.698 C 154.152 157.677,135.139 203.873,160.388 235.383 C 179.730 259.522,217.168 260.458,237.772 237.316 C 261.954 210.156,250.860 167.167,216.592 155.239 C 210.224 153.023,200.657 151.926,194.418 152.698 " stroke="none" fill="#143650" fill-rule="evenodd"></path><path id="path3" d="" stroke="none" fill="#555500" fill-rule="evenodd"></path><path id="path4" d="M109.430 274.467 C 109.368 274.629,109.202 274.717,109.061 274.663 C 108.920 274.609,108.715 274.732,108.606 274.936 C 108.496 275.140,108.286 275.307,108.139 275.307 C 107.992 275.307,107.796 275.441,107.705 275.605 C 107.536 275.907,106.895 276.338,106.291 276.556 C 106.109 276.622,105.960 276.753,105.960 276.848 C 105.960 276.942,105.747 277.101,105.487 277.200 C 105.227 277.299,105.014 277.467,105.014 277.573 C 105.014 277.680,104.920 277.767,104.805 277.767 C 104.690 277.767,104.285 278.009,103.906 278.303 C 103.527 278.598,103.068 278.894,102.886 278.960 C 102.703 279.026,102.554 279.168,102.554 279.275 C 102.554 279.382,102.427 279.470,102.272 279.470 C 102.117 279.470,101.884 279.640,101.754 279.849 C 101.624 280.057,101.367 280.227,101.184 280.227 C 101.001 280.227,100.851 280.314,100.851 280.421 C 100.851 280.528,100.639 280.696,100.378 280.795 C 100.118 280.894,99.905 281.071,99.905 281.189 C 99.905 281.306,99.793 281.360,99.655 281.307 C 99.518 281.254,99.304 281.373,99.181 281.570 C 99.057 281.768,98.838 281.930,98.694 281.930 C 98.550 281.930,98.383 282.059,98.322 282.217 C 98.262 282.374,97.997 282.585,97.734 282.685 C 97.471 282.785,97.256 282.954,97.256 283.061 C 97.256 283.167,97.095 283.254,96.898 283.254 C 96.701 283.254,96.491 283.382,96.431 283.538 C 96.371 283.694,96.201 283.822,96.053 283.822 C 95.904 283.822,95.731 283.959,95.667 284.126 C 95.603 284.292,95.438 284.386,95.302 284.334 C 95.165 284.281,94.952 284.400,94.829 284.598 C 94.705 284.796,94.529 284.957,94.437 284.957 C 94.344 284.957,93.996 285.213,93.661 285.525 C 93.327 285.837,92.965 286.093,92.857 286.093 C 92.748 286.093,92.296 286.391,91.851 286.755 C 91.407 287.119,90.958 287.417,90.854 287.417 C 90.750 287.417,90.637 287.481,90.602 287.559 C 90.471 287.855,89.293 288.565,89.116 288.455 C 89.014 288.392,88.931 288.476,88.931 288.641 C 88.931 288.805,88.718 289.021,88.458 289.120 C 88.198 289.219,87.985 289.392,87.985 289.505 C 87.985 289.617,87.602 289.879,87.133 290.086 C 86.665 290.293,86.282 290.546,86.282 290.647 C 86.282 290.749,86.090 290.915,85.856 291.017 C 85.220 291.292,84.692 291.646,84.522 291.911 C 84.439 292.041,84.245 292.148,84.091 292.148 C 83.936 292.148,83.761 292.275,83.701 292.431 C 83.641 292.588,83.504 292.715,83.396 292.715 C 83.287 292.715,82.835 293.013,82.391 293.377 C 81.946 293.742,81.493 294.040,81.384 294.040 C 81.276 294.040,81.097 294.207,80.988 294.411 C 80.871 294.629,80.673 294.738,80.508 294.675 C 80.337 294.609,80.227 294.677,80.227 294.850 C 80.227 295.006,80.014 295.187,79.754 295.253 C 79.494 295.318,79.281 295.455,79.281 295.557 C 79.281 295.659,79.162 295.743,79.017 295.743 C 78.872 295.743,78.707 295.864,78.650 296.012 C 78.594 296.160,78.223 296.433,77.826 296.619 C 77.429 296.804,76.994 297.108,76.858 297.295 C 76.722 297.482,76.488 297.635,76.337 297.635 C 76.187 297.635,76.064 297.715,76.064 297.814 C 76.064 297.990,75.336 298.457,74.693 298.693 C 74.510 298.760,74.361 298.892,74.361 298.986 C 74.361 299.081,74.170 299.241,73.936 299.342 C 73.345 299.597,72.922 299.894,72.049 300.662 C 71.636 301.026,71.221 301.325,71.127 301.325 C 71.032 301.325,70.662 301.559,70.303 301.845 C 69.945 302.131,69.562 302.365,69.452 302.365 C 69.342 302.365,69.253 302.449,69.253 302.551 C 69.253 302.653,69.040 302.790,68.780 302.855 C 68.519 302.920,68.307 303.102,68.307 303.259 C 68.307 303.451,68.183 303.512,67.928 303.446 C 67.680 303.381,67.550 303.440,67.550 303.617 C 67.550 303.766,67.337 303.969,67.077 304.068 C 66.816 304.167,66.604 304.337,66.604 304.447 C 66.604 304.556,66.391 304.726,66.131 304.825 C 65.870 304.924,65.658 305.092,65.658 305.199 C 65.658 305.305,65.487 305.393,65.279 305.393 C 65.071 305.393,64.901 305.480,64.901 305.587 C 64.901 305.693,64.688 305.861,64.428 305.960 C 64.167 306.059,63.955 306.227,63.955 306.334 C 63.955 306.441,63.784 306.528,63.576 306.528 C 63.368 306.528,63.198 306.615,63.198 306.722 C 63.198 306.828,62.985 306.997,62.725 307.096 C 62.465 307.194,62.252 307.361,62.252 307.465 C 62.252 307.570,61.907 307.831,61.486 308.046 C 61.064 308.261,60.672 308.561,60.614 308.712 C 60.556 308.864,60.389 308.988,60.243 308.988 C 60.097 308.988,59.835 309.154,59.662 309.356 C 59.488 309.559,59.285 309.687,59.210 309.641 C 59.135 309.595,58.800 309.812,58.467 310.124 C 58.133 310.436,57.748 310.691,57.612 310.691 C 57.475 310.691,57.335 310.754,57.301 310.833 C 57.184 311.095,55.380 312.394,55.132 312.394 C 54.996 312.394,54.803 312.547,54.703 312.735 C 54.602 312.923,54.174 313.242,53.752 313.445 C 53.330 313.647,52.983 313.879,52.982 313.959 C 52.981 314.040,52.789 314.189,52.554 314.290 C 51.958 314.548,51.520 314.853,50.731 315.562 C 50.355 315.900,49.942 316.176,49.812 316.177 C 49.683 316.177,49.476 316.340,49.353 316.537 C 49.229 316.735,49.027 316.858,48.903 316.810 C 48.779 316.763,48.626 316.856,48.564 317.018 C 48.502 317.181,48.339 317.313,48.203 317.313 C 48.067 317.313,47.695 317.547,47.375 317.833 C 46.625 318.507,45.782 319.104,45.364 319.259 C 45.182 319.327,45.033 319.470,45.033 319.578 C 45.033 319.685,44.903 319.773,44.743 319.773 C 44.584 319.773,44.405 319.901,44.345 320.057 C 44.285 320.213,44.075 320.341,43.878 320.341 C 43.622 320.341,43.519 320.476,43.519 320.814 C 43.519 321.074,43.587 321.287,43.670 321.287 C 43.753 321.287,44.147 321.798,44.545 322.422 C 44.942 323.046,45.343 323.557,45.434 323.557 C 45.526 323.557,45.601 323.655,45.601 323.774 C 45.601 323.894,45.899 324.355,46.263 324.799 C 46.627 325.244,46.925 325.700,46.925 325.812 C 46.925 325.925,47.010 326.017,47.114 326.017 C 47.219 326.017,47.304 326.132,47.304 326.272 C 47.304 326.411,47.474 326.680,47.682 326.868 C 47.890 327.057,48.061 327.331,48.061 327.477 C 48.061 327.634,48.209 327.719,48.420 327.685 C 48.728 327.634,49.763 328.480,49.763 328.783 C 49.763 328.837,49.976 329.160,50.237 329.501 C 50.497 329.842,50.710 330.217,50.710 330.335 C 50.710 330.610,51.587 331.190,51.802 331.058 C 51.891 331.002,52.123 331.229,52.316 331.562 C 52.509 331.894,52.780 332.235,52.918 332.318 C 53.056 332.401,53.169 332.587,53.169 332.731 C 53.169 332.875,53.347 333.049,53.565 333.118 C 53.783 333.187,54.082 333.533,54.230 333.888 C 54.378 334.242,54.578 334.532,54.675 334.532 C 54.772 334.532,54.964 334.766,55.102 335.052 C 55.239 335.338,55.492 335.574,55.663 335.575 C 56.001 335.578,56.764 336.191,56.764 336.461 C 56.764 336.713,57.567 337.748,57.763 337.748 C 57.981 337.748,58.642 338.535,58.650 338.804 C 58.654 338.917,58.888 339.130,59.171 339.277 C 59.786 339.598,61.757 341.524,61.929 341.973 C 61.996 342.147,62.168 342.289,62.311 342.289 C 62.454 342.289,62.725 342.577,62.915 342.929 C 63.125 343.319,63.542 343.693,63.985 343.889 C 64.385 344.065,64.711 344.333,64.711 344.485 C 64.711 344.637,64.882 344.825,65.091 344.902 C 65.299 344.979,65.628 345.336,65.821 345.696 C 66.014 346.056,66.335 346.394,66.535 346.449 C 66.972 346.567,68.307 347.617,68.307 347.843 C 68.307 348.075,69.693 349.274,69.850 349.177 C 69.923 349.132,70.037 349.267,70.103 349.477 C 70.170 349.687,70.389 349.858,70.590 349.858 C 70.791 349.858,70.956 349.924,70.956 350.004 C 70.956 350.370,72.658 351.980,72.934 351.874 C 73.117 351.804,73.226 351.868,73.226 352.046 C 73.226 352.202,73.370 352.385,73.545 352.452 C 73.721 352.520,74.109 352.853,74.408 353.193 C 74.727 353.556,75.063 353.768,75.222 353.707 C 75.385 353.645,75.552 353.757,75.637 353.986 C 75.778 354.360,77.338 355.718,77.633 355.722 C 77.925 355.725,78.903 356.556,78.903 356.800 C 78.903 356.937,78.988 357.048,79.093 357.048 C 79.198 357.048,79.469 357.261,79.695 357.521 C 79.921 357.781,80.240 357.997,80.403 357.999 C 80.566 358.002,81.069 358.343,81.520 358.756 C 81.972 359.170,82.451 359.508,82.586 359.508 C 82.721 359.508,82.876 359.678,82.931 359.886 C 82.988 360.104,83.189 360.265,83.404 360.265 C 83.627 360.265,83.821 360.428,83.883 360.668 C 83.961 360.965,84.092 361.045,84.379 360.970 C 84.624 360.906,84.768 360.959,84.768 361.114 C 84.768 361.353,85.288 361.680,85.572 361.619 C 85.650 361.603,85.714 361.717,85.714 361.873 C 85.714 362.029,85.864 362.157,86.048 362.157 C 86.231 362.157,86.466 362.349,86.570 362.583 C 86.674 362.817,86.908 362.997,87.090 362.982 C 87.272 362.967,87.686 363.202,88.008 363.503 C 88.331 363.805,88.863 364.179,89.191 364.334 C 89.518 364.490,89.998 364.809,90.257 365.043 C 90.517 365.277,90.814 365.478,90.918 365.489 C 91.452 365.547,91.958 365.827,91.958 366.064 C 91.958 366.211,92.107 366.386,92.289 366.453 C 92.472 366.520,92.693 366.695,92.781 366.842 C 92.883 367.012,93.105 367.067,93.396 366.994 C 93.646 366.932,93.851 366.963,93.851 367.063 C 93.851 367.400,94.783 368.258,95.042 368.158 C 95.182 368.105,95.398 368.222,95.521 368.420 C 95.645 368.618,95.905 368.780,96.100 368.780 C 96.294 368.780,96.559 368.907,96.689 369.063 C 96.818 369.219,97.049 369.347,97.202 369.347 C 97.355 369.347,97.828 369.645,98.254 370.009 C 98.679 370.374,99.129 370.672,99.254 370.672 C 99.379 370.672,99.586 370.798,99.714 370.953 C 99.843 371.108,100.024 371.189,100.116 371.131 C 100.208 371.074,100.284 371.112,100.284 371.214 C 100.284 371.425,101.342 371.996,101.732 371.996 C 101.872 371.996,101.965 372.103,101.939 372.233 C 101.912 372.372,102.130 372.493,102.470 372.526 C 102.801 372.558,103.360 372.861,103.781 373.235 C 104.185 373.594,104.655 373.888,104.826 373.888 C 104.997 373.888,105.342 374.106,105.592 374.372 C 105.873 374.671,106.180 374.821,106.396 374.765 C 106.594 374.713,106.953 374.853,107.220 375.085 C 107.480 375.311,107.751 375.501,107.820 375.506 C 108.117 375.528,108.913 375.843,109.149 376.032 C 109.289 376.145,109.518 376.254,109.657 376.274 C 109.796 376.294,110.249 376.584,110.664 376.917 C 111.079 377.251,111.501 377.472,111.602 377.410 C 111.704 377.348,111.837 377.429,111.899 377.591 C 111.962 377.753,112.093 377.836,112.191 377.776 C 112.289 377.715,112.694 377.851,113.091 378.077 C 114.435 378.844,114.758 378.995,115.057 378.996 C 115.221 378.997,115.558 379.214,115.807 379.478 C 116.071 379.759,116.425 379.938,116.658 379.907 C 116.877 379.879,117.263 379.987,117.516 380.147 C 117.769 380.308,118.444 380.635,119.016 380.874 C 119.588 381.114,120.203 381.438,120.381 381.595 C 120.559 381.753,120.847 381.827,121.021 381.760 C 121.216 381.685,121.596 381.838,122.021 382.162 C 122.398 382.449,122.810 382.660,122.938 382.631 C 123.065 382.602,123.363 382.702,123.600 382.854 C 123.837 383.006,124.201 383.158,124.409 383.192 C 124.617 383.226,124.903 383.410,125.045 383.601 C 125.219 383.834,125.444 383.912,125.735 383.839 C 125.999 383.772,126.203 383.825,126.261 383.974 C 126.364 384.244,127.909 384.408,127.909 384.150 C 127.909 384.061,128.172 383.720,128.493 383.391 C 128.979 382.894,129.056 382.698,128.951 382.220 C 128.843 381.728,128.872 381.664,129.154 381.773 C 129.421 381.875,129.463 381.821,129.376 381.489 C 129.294 381.175,129.353 381.079,129.625 381.079 C 129.919 381.079,129.961 380.981,129.868 380.513 C 129.795 380.146,129.862 379.784,130.062 379.479 C 130.231 379.221,130.369 378.916,130.369 378.801 C 130.369 378.686,130.500 378.461,130.659 378.301 C 130.886 378.075,130.901 377.952,130.726 377.742 C 130.546 377.525,130.624 377.364,131.121 376.920 C 131.619 376.476,131.716 376.274,131.618 375.885 C 131.552 375.619,131.565 375.402,131.649 375.402 C 131.907 375.402,132.450 374.330,132.450 373.821 C 132.450 373.241,132.798 372.415,133.253 371.913 C 133.436 371.711,133.568 371.456,133.546 371.346 C 133.477 370.988,133.777 370.104,133.968 370.104 C 134.070 370.104,134.153 369.891,134.153 369.631 C 134.153 369.354,134.251 369.178,134.390 369.205 C 134.539 369.235,134.621 369.043,134.613 368.685 C 134.606 368.373,134.720 368.028,134.867 367.918 C 135.013 367.809,135.108 367.596,135.077 367.445 C 135.005 367.096,135.651 365.752,135.891 365.752 C 135.991 365.752,136.055 365.561,136.034 365.326 C 135.986 364.807,136.396 363.671,136.632 363.671 C 136.725 363.671,136.802 363.467,136.802 363.218 C 136.802 362.969,136.939 362.713,137.106 362.649 C 137.318 362.567,137.376 362.395,137.297 362.082 C 137.226 361.799,137.288 361.546,137.466 361.399 C 137.621 361.270,137.748 361.086,137.748 360.989 C 137.748 360.893,137.919 360.462,138.127 360.031 C 138.335 359.600,138.505 359.088,138.505 358.894 C 138.505 358.699,138.590 358.592,138.694 358.657 C 138.804 358.724,138.884 358.547,138.884 358.239 C 138.884 357.944,139.096 357.390,139.357 357.008 C 139.617 356.625,139.830 356.124,139.830 355.895 C 139.830 355.368,140.756 353.453,141.011 353.453 C 141.121 353.453,141.154 353.217,141.089 352.892 C 141.008 352.486,141.062 352.282,141.283 352.159 C 141.484 352.046,141.552 351.844,141.480 351.570 C 141.399 351.260,141.440 351.179,141.641 351.256 C 141.842 351.334,141.911 351.196,141.911 350.715 C 141.911 350.360,141.990 350.021,142.086 349.962 C 142.182 349.902,142.316 349.599,142.385 349.288 C 142.453 348.977,142.613 348.723,142.741 348.723 C 142.871 348.723,143.126 348.120,143.321 347.351 C 143.512 346.596,143.784 345.845,143.925 345.680 C 144.066 345.516,144.182 345.249,144.182 345.086 C 144.182 344.923,144.315 344.739,144.479 344.676 C 144.671 344.602,144.735 344.434,144.660 344.198 C 144.596 343.997,144.713 343.465,144.918 343.014 C 145.572 341.583,145.955 340.687,145.995 340.492 C 146.130 339.835,146.342 339.451,146.569 339.451 C 146.727 339.451,146.833 339.245,146.837 338.931 C 146.840 338.645,146.966 338.247,147.117 338.048 C 147.304 337.801,147.332 337.612,147.204 337.458 C 147.074 337.302,147.105 337.156,147.301 336.993 C 147.459 336.863,147.588 336.596,147.588 336.401 C 147.588 336.205,147.673 336.045,147.777 336.045 C 147.881 336.045,147.966 335.837,147.966 335.583 C 147.966 335.329,148.129 335.006,148.329 334.866 C 148.539 334.719,148.741 334.286,148.808 333.839 C 148.871 333.414,149.091 332.719,149.296 332.294 C 149.792 331.268,149.789 330.258,149.290 329.991 C 149.082 329.879,148.912 329.700,148.912 329.593 C 148.912 329.485,148.699 329.119,148.439 328.777 C 148.179 328.436,147.966 328.086,147.966 327.998 C 147.966 327.911,147.625 327.435,147.209 326.941 C 146.793 326.448,146.452 325.953,146.452 325.841 C 146.452 325.730,146.386 325.639,146.306 325.639 C 146.226 325.639,145.991 325.321,145.786 324.934 C 145.580 324.546,145.284 324.090,145.128 323.921 C 144.619 323.370,144.182 322.798,144.182 322.684 C 144.182 322.622,143.926 322.248,143.614 321.854 C 143.302 321.460,143.046 321.041,143.046 320.922 C 143.046 320.804,142.919 320.658,142.763 320.598 C 142.606 320.538,142.479 320.406,142.479 320.305 C 142.479 320.203,142.181 319.757,141.816 319.312 C 141.452 318.868,141.154 318.404,141.154 318.281 C 141.154 318.158,141.026 318.009,140.870 317.949 C 140.714 317.889,140.587 317.719,140.587 317.571 C 140.587 317.423,140.459 317.252,140.303 317.192 C 140.147 317.132,140.019 317.004,140.019 316.907 C 140.019 316.698,139.230 315.544,139.026 315.453 C 138.947 315.418,138.884 315.282,138.884 315.151 C 138.884 315.019,138.713 314.758,138.505 314.570 C 138.297 314.381,138.127 314.113,138.127 313.973 C 138.127 313.833,138.040 313.718,137.933 313.718 C 137.826 313.718,137.658 313.505,137.559 313.245 C 137.460 312.985,137.306 312.772,137.216 312.772 C 137.067 312.772,136.696 312.128,136.642 311.775 C 136.630 311.695,136.443 311.440,136.228 311.208 C 135.601 310.532,134.359 308.771,134.237 308.384 C 134.175 308.189,133.939 307.836,133.713 307.599 C 133.487 307.362,133.174 306.971,133.018 306.730 C 132.862 306.489,132.644 306.196,132.534 306.079 C 132.424 305.962,132.169 305.573,131.967 305.216 C 131.764 304.858,131.450 304.390,131.268 304.175 C 130.563 303.344,130.452 303.186,130.089 302.503 C 129.884 302.115,129.647 301.798,129.564 301.798 C 129.481 301.798,129.333 301.585,129.234 301.325 C 129.135 301.064,128.967 300.851,128.860 300.851 C 128.753 300.851,128.666 300.737,128.666 300.597 C 128.666 300.457,128.496 300.188,128.288 300.000 C 128.079 299.812,127.909 299.579,127.909 299.484 C 127.909 299.389,127.803 299.200,127.673 299.064 C 127.543 298.928,127.308 298.626,127.152 298.393 C 126.996 298.160,126.734 297.788,126.570 297.566 C 126.405 297.344,126.216 297.013,126.150 296.831 C 126.083 296.649,125.950 296.500,125.853 296.500 C 125.756 296.500,125.489 296.138,125.260 295.695 C 125.030 295.253,124.723 294.823,124.578 294.740 C 124.433 294.657,124.314 294.465,124.314 294.314 C 124.314 294.163,124.226 294.040,124.119 294.040 C 124.012 294.040,123.869 293.891,123.802 293.709 C 123.735 293.526,123.503 293.122,123.287 292.810 C 123.071 292.498,122.809 292.106,122.705 291.939 C 122.487 291.589,121.384 290.080,121.101 289.743 C 120.995 289.617,120.908 289.459,120.908 289.392 C 120.908 289.289,119.878 287.898,119.207 287.094 C 119.102 286.968,119.016 286.810,119.016 286.743 C 119.016 286.675,118.761 286.298,118.448 285.904 C 118.136 285.509,117.881 285.097,117.881 284.987 C 117.881 284.877,117.774 284.719,117.644 284.636 C 117.344 284.444,116.556 283.327,116.556 283.093 C 116.556 282.996,116.429 282.868,116.272 282.808 C 116.116 282.748,115.989 282.577,115.989 282.429 C 115.989 282.281,115.861 282.111,115.705 282.051 C 115.549 281.991,115.421 281.851,115.421 281.739 C 115.421 281.511,114.646 280.356,114.428 280.259 C 114.350 280.224,114.286 280.079,114.286 279.937 C 114.286 279.795,114.179 279.610,114.049 279.527 C 113.749 279.335,112.961 278.218,112.961 277.984 C 112.961 277.887,112.833 277.759,112.677 277.699 C 112.521 277.639,112.394 277.503,112.394 277.396 C 112.394 276.953,110.065 274.176,109.691 274.173 C 109.610 274.173,109.493 274.305,109.430 274.467 " stroke="none" fill="#8ca516" fill-rule="evenodd"></path><path id="path5" d="" stroke="none" fill="#6db600" fill-rule="evenodd"></path><path id="path6" d="M79.186 45.256 C 78.978 45.372,78.369 45.838,77.832 46.291 C 77.295 46.744,76.809 47.114,76.752 47.114 C 76.696 47.114,76.441 47.306,76.186 47.540 C 75.500 48.170,75.046 48.533,74.934 48.540 C 74.693 48.557,73.983 49.116,73.983 49.289 C 73.982 49.611,72.116 51.366,71.950 51.200 C 71.890 51.140,71.722 51.260,71.577 51.468 C 71.431 51.675,71.190 51.845,71.039 51.845 C 70.889 51.845,70.766 52.019,70.766 52.232 C 70.766 52.464,70.539 52.748,70.200 52.942 C 69.888 53.119,69.633 53.328,69.632 53.406 C 69.632 53.484,69.461 53.548,69.253 53.548 C 69.044 53.548,68.874 53.634,68.874 53.739 C 68.874 53.992,67.915 55.061,67.688 55.061 C 67.590 55.061,67.342 55.274,67.137 55.535 C 66.933 55.795,66.647 56.008,66.502 56.008 C 66.357 56.008,66.137 56.197,66.013 56.429 C 65.743 56.933,65.537 57.138,64.871 57.564 C 64.594 57.741,64.126 58.227,63.830 58.644 C 63.452 59.177,63.194 59.371,62.961 59.300 C 62.776 59.244,62.630 59.297,62.630 59.421 C 62.630 59.747,61.733 60.786,61.150 61.136 C 60.865 61.307,60.668 61.576,60.699 61.751 C 60.730 61.922,60.634 62.062,60.487 62.062 C 60.249 62.062,59.039 63.359,58.877 63.788 C 58.843 63.879,58.688 63.955,58.533 63.955 C 58.258 63.955,57.711 64.387,57.711 64.603 C 57.711 64.663,57.561 64.867,57.379 65.056 C 57.197 65.246,56.793 65.714,56.482 66.097 C 56.170 66.480,55.804 66.793,55.668 66.793 C 55.532 66.793,55.296 67.091,55.144 67.455 C 54.992 67.819,54.762 68.121,54.633 68.125 C 54.505 68.130,53.463 69.275,52.318 70.671 C 51.173 72.067,50.086 73.262,49.903 73.326 C 49.719 73.390,49.605 73.501,49.649 73.573 C 49.805 73.824,49.216 74.409,48.921 74.296 C 48.711 74.216,48.627 74.303,48.625 74.604 C 48.622 75.122,48.429 75.402,48.074 75.402 C 47.926 75.402,47.741 75.638,47.663 75.927 C 47.586 76.216,47.349 76.642,47.137 76.874 C 46.126 77.977,44.276 80.266,44.276 80.414 C 44.276 80.505,44.106 80.634,43.898 80.700 C 43.690 80.766,43.519 80.985,43.519 81.186 C 43.519 81.387,43.390 81.701,43.233 81.883 C 41.478 83.908,40.527 85.119,40.618 85.210 C 40.679 85.271,40.378 85.740,39.948 86.253 C 39.519 86.766,39.167 87.281,39.167 87.396 C 39.167 87.512,39.040 87.606,38.884 87.606 C 38.728 87.606,38.600 87.763,38.600 87.954 C 38.600 88.146,38.324 88.625,37.988 89.019 C 37.651 89.413,37.374 89.838,37.373 89.964 C 37.371 90.090,36.944 90.679,36.424 91.275 C 35.904 91.870,35.500 92.441,35.527 92.542 C 35.554 92.644,35.398 92.916,35.181 93.147 C 34.964 93.378,34.676 93.822,34.542 94.134 C 34.408 94.447,34.074 94.941,33.800 95.232 C 33.526 95.524,33.302 95.856,33.302 95.971 C 33.302 96.086,33.089 96.459,32.829 96.800 C 32.569 97.141,32.356 97.527,32.356 97.657 C 32.356 97.788,32.194 98.070,31.996 98.285 C 31.656 98.654,31.110 99.547,30.515 100.706 C 30.370 100.990,30.171 101.272,30.073 101.332 C 29.976 101.392,29.896 101.592,29.896 101.776 C 29.896 101.960,29.683 102.310,29.423 102.554 C 29.163 102.799,28.950 103.139,28.950 103.311 C 28.950 103.483,28.745 103.816,28.495 104.051 C 28.245 104.286,27.983 104.780,27.914 105.149 C 27.845 105.518,27.539 106.085,27.233 106.410 C 26.928 106.735,26.716 107.099,26.761 107.220 C 26.806 107.340,26.678 107.587,26.477 107.769 C 26.276 107.951,26.112 108.252,26.112 108.438 C 26.112 108.624,26.032 108.825,25.934 108.886 C 25.725 109.015,25.166 110.097,25.166 110.374 C 25.166 110.480,25.049 110.701,24.908 110.865 C 24.766 111.029,24.497 111.573,24.310 112.072 C 24.124 112.572,23.805 113.098,23.602 113.240 C 23.388 113.390,23.291 113.594,23.372 113.724 C 23.448 113.848,23.409 114.012,23.285 114.089 C 23.161 114.166,23.040 114.357,23.017 114.513 C 22.994 114.669,22.842 115.001,22.679 115.251 C 22.516 115.500,22.320 115.918,22.245 116.178 C 22.005 117.008,21.524 117.971,21.276 118.117 C 21.144 118.196,20.979 118.600,20.908 119.016 C 20.838 119.432,20.703 119.773,20.608 119.773 C 20.513 119.773,20.435 119.909,20.435 120.075 C 20.435 120.390,19.954 121.350,19.531 121.878 C 19.395 122.047,19.304 122.260,19.328 122.351 C 19.423 122.710,19.048 123.830,18.710 124.192 C 18.514 124.402,18.354 124.722,18.354 124.902 C 18.354 125.081,18.265 125.258,18.156 125.294 C 18.048 125.331,17.934 125.593,17.904 125.878 C 17.874 126.163,17.792 126.453,17.723 126.522 C 17.654 126.591,17.597 126.800,17.597 126.985 C 17.597 127.171,17.456 127.402,17.284 127.498 C 17.104 127.598,17.019 127.797,17.083 127.965 C 17.148 128.134,17.072 128.303,16.903 128.368 C 16.743 128.430,16.659 128.604,16.718 128.756 C 16.776 128.908,16.742 129.083,16.643 129.144 C 16.543 129.206,16.462 129.496,16.462 129.789 C 16.462 130.083,16.337 130.426,16.184 130.553 C 16.031 130.680,15.913 130.839,15.922 130.907 C 15.975 131.306,15.854 131.666,15.559 131.989 C 15.375 132.191,15.231 132.483,15.240 132.640 C 15.254 132.898,14.806 134.251,14.394 135.194 C 14.034 136.017,13.441 137.881,13.325 138.555 C 13.257 138.946,13.127 139.313,13.034 139.370 C 12.942 139.427,12.867 139.724,12.867 140.030 C 12.867 140.336,12.781 140.587,12.677 140.587 C 12.573 140.587,12.488 140.752,12.488 140.954 C 12.488 141.156,12.403 141.374,12.299 141.438 C 12.195 141.502,12.108 141.784,12.106 142.064 C 12.103 142.344,11.940 142.928,11.743 143.362 C 11.546 143.796,11.432 144.198,11.489 144.255 C 11.547 144.312,11.412 144.782,11.189 145.299 C 10.967 145.816,10.785 146.405,10.785 146.608 C 10.785 146.811,10.658 147.220,10.503 147.519 C 10.347 147.817,10.219 148.290,10.219 148.570 C 10.218 148.850,10.144 149.124,10.054 149.180 C 9.964 149.236,9.832 149.645,9.760 150.090 C 9.514 151.625,8.933 154.114,8.690 154.683 C 8.531 155.055,8.445 155.436,7.841 158.467 C 7.675 159.300,7.457 160.135,7.357 160.323 C 7.256 160.510,7.122 161.216,7.060 161.890 C 6.997 162.564,6.873 163.160,6.784 163.215 C 6.695 163.270,6.621 163.586,6.620 163.918 C 6.618 164.251,6.490 165.061,6.335 165.719 C 6.180 166.377,6.010 167.271,5.957 167.706 C 5.904 168.140,5.815 168.794,5.757 169.158 C 5.700 169.522,5.628 170.076,5.597 170.388 C 5.566 170.700,5.489 171.083,5.425 171.239 C 5.361 171.395,5.221 172.247,5.113 173.132 C 5.006 174.016,4.874 174.995,4.821 175.307 C 4.767 175.620,4.675 176.471,4.616 177.200 C 4.557 177.928,4.436 178.612,4.347 178.719 C 4.258 178.827,4.184 179.337,4.182 179.854 C 4.180 180.372,4.133 181.306,4.077 181.930 C 4.021 182.554,3.937 183.576,3.890 184.201 C 3.843 184.825,3.790 185.336,3.772 185.336 C 3.711 185.336,3.445 190.033,3.343 192.917 C 3.310 193.860,3.223 194.729,3.149 194.847 C 3.017 195.060,3.058 195.456,3.313 196.452 C 3.388 196.743,3.369 196.973,3.271 196.973 C 2.976 196.973,3.139 207.939,3.515 213.434 C 3.575 214.319,3.650 215.511,3.680 216.083 C 3.711 216.656,3.841 218.188,3.969 219.489 C 4.098 220.790,4.193 222.138,4.181 222.485 C 4.170 222.833,4.219 223.211,4.291 223.327 C 4.449 223.584,4.491 223.880,4.653 225.875 C 4.722 226.734,4.832 227.436,4.897 227.436 C 4.961 227.436,5.029 227.670,5.047 227.956 C 5.081 228.509,5.332 230.268,5.686 232.450 C 5.804 233.179,5.892 234.009,5.880 234.295 C 5.869 234.581,5.927 234.816,6.010 234.816 C 6.092 234.816,6.155 235.163,6.149 235.587 C 6.144 236.012,6.205 236.400,6.286 236.450 C 6.367 236.500,6.433 236.797,6.433 237.110 C 6.433 237.423,6.516 237.833,6.617 238.023 C 6.719 238.212,6.898 238.994,7.016 239.760 C 7.134 240.527,7.282 241.239,7.344 241.342 C 7.407 241.445,7.471 241.785,7.488 242.099 C 7.504 242.412,7.616 243.024,7.736 243.460 C 7.857 243.896,7.937 244.321,7.916 244.406 C 7.894 244.491,8.052 245.128,8.267 245.821 C 8.482 246.515,8.615 247.303,8.564 247.572 C 8.511 247.851,8.557 248.061,8.673 248.061 C 8.785 248.061,8.929 248.380,8.994 248.770 C 9.059 249.160,9.162 249.607,9.224 249.763 C 9.286 249.920,9.352 250.218,9.370 250.426 C 9.389 250.634,9.502 251.044,9.622 251.337 C 9.741 251.630,9.839 252.027,9.839 252.220 C 9.839 252.413,9.929 252.600,10.040 252.637 C 10.150 252.674,10.245 253.071,10.251 253.519 C 10.258 254.029,10.360 254.371,10.524 254.434 C 10.668 254.489,10.785 254.736,10.785 254.982 C 10.785 255.505,11.579 258.598,11.996 259.697 C 12.153 260.114,12.286 260.593,12.291 260.764 C 12.295 260.934,12.426 261.317,12.582 261.615 C 12.737 261.913,12.865 262.292,12.865 262.457 C 12.866 262.621,12.926 262.815,12.998 262.888 C 13.071 262.960,13.152 263.123,13.179 263.251 C 13.404 264.299,13.720 265.234,13.934 265.483 C 14.076 265.648,14.191 265.999,14.191 266.264 C 14.191 266.529,14.319 266.852,14.475 266.982 C 14.631 267.112,14.759 267.458,14.759 267.751 C 14.759 268.044,14.838 268.333,14.936 268.393 C 15.033 268.454,15.252 268.991,15.423 269.587 C 15.594 270.184,15.898 270.953,16.098 271.297 C 16.298 271.642,16.462 272.082,16.462 272.275 C 16.462 272.469,16.558 272.659,16.675 272.698 C 16.792 272.737,16.907 272.936,16.929 273.139 C 17.027 274.010,17.279 274.723,17.524 274.816 C 17.668 274.872,17.786 275.128,17.786 275.385 C 17.786 275.642,17.871 275.905,17.975 275.970 C 18.079 276.034,18.165 276.232,18.165 276.409 C 18.165 276.587,18.335 277.050,18.543 277.438 C 18.751 277.827,18.925 278.294,18.928 278.476 C 18.932 278.659,19.137 279.055,19.384 279.357 C 19.631 279.659,19.788 280.024,19.733 280.169 C 19.678 280.313,19.771 280.583,19.940 280.770 C 20.109 280.957,20.375 281.538,20.530 282.062 C 20.686 282.585,20.983 283.230,21.192 283.495 C 21.400 283.760,21.570 284.084,21.570 284.216 C 21.570 284.347,21.687 284.589,21.830 284.753 C 21.973 284.918,22.233 285.494,22.409 286.035 C 22.585 286.575,22.882 287.214,23.070 287.454 C 23.257 287.694,23.476 288.103,23.555 288.363 C 23.635 288.623,23.944 289.172,24.243 289.583 C 24.542 289.994,24.787 290.569,24.787 290.860 C 24.787 291.152,24.852 291.391,24.931 291.391 C 25.093 291.391,25.194 291.562,26.053 293.295 C 26.385 293.965,26.875 294.806,27.141 295.164 C 27.407 295.523,27.625 295.999,27.625 296.223 C 27.625 296.447,27.796 296.784,28.004 296.973 C 28.212 297.161,28.382 297.402,28.382 297.507 C 28.382 297.613,28.501 297.834,28.647 297.998 C 29.249 298.678,29.679 299.668,29.465 299.882 C 29.311 300.036,29.391 300.234,29.765 300.624 C 30.045 300.917,30.274 301.258,30.274 301.382 C 30.274 301.507,30.346 301.608,30.433 301.608 C 30.521 301.608,30.692 301.800,30.815 302.034 C 30.937 302.268,31.289 302.800,31.596 303.217 C 31.903 303.633,32.157 304.086,32.160 304.224 C 32.164 304.361,32.273 304.592,32.403 304.737 C 32.948 305.345,33.113 305.575,33.113 305.728 C 33.113 305.817,33.367 306.133,33.678 306.431 C 34.339 307.065,34.665 306.968,36.013 305.736 C 36.434 305.351,36.848 305.079,36.934 305.132 C 37.019 305.184,37.140 305.094,37.202 304.932 C 37.265 304.769,37.430 304.636,37.569 304.636 C 37.708 304.636,37.940 304.466,38.086 304.259 C 38.231 304.051,38.408 303.939,38.479 304.011 C 38.550 304.082,38.739 303.953,38.899 303.726 C 39.058 303.498,39.308 303.311,39.453 303.311 C 39.598 303.311,39.784 303.205,39.868 303.075 C 39.951 302.945,40.307 302.677,40.660 302.481 C 41.013 302.284,41.460 301.986,41.653 301.819 C 41.847 301.651,42.169 301.372,42.368 301.198 C 42.568 301.025,42.783 300.935,42.846 300.998 C 42.909 301.061,43.091 300.926,43.251 300.698 C 43.410 300.470,43.655 300.284,43.794 300.284 C 43.933 300.284,44.098 300.151,44.160 299.988 C 44.222 299.825,44.350 299.739,44.443 299.797 C 44.536 299.854,44.941 299.597,45.343 299.225 C 45.745 298.853,46.383 298.390,46.760 298.195 C 47.137 298.000,47.497 297.709,47.558 297.548 C 47.620 297.388,47.790 297.256,47.937 297.256 C 48.083 297.256,48.309 297.130,48.437 296.975 C 48.566 296.820,48.747 296.740,48.840 296.797 C 48.933 296.855,49.061 296.768,49.123 296.605 C 49.186 296.442,49.544 296.163,49.920 295.985 C 50.295 295.806,50.746 295.530,50.921 295.371 C 51.096 295.211,51.463 294.877,51.737 294.629 C 52.011 294.381,52.289 294.231,52.354 294.297 C 52.420 294.362,52.593 294.245,52.740 294.035 C 52.886 293.826,53.080 293.701,53.171 293.757 C 53.261 293.813,53.404 293.750,53.489 293.618 C 53.635 293.389,54.125 293.034,54.633 292.790 C 54.761 292.728,55.229 292.345,55.673 291.939 C 56.117 291.534,56.558 291.202,56.652 291.202 C 56.746 291.202,57.129 290.968,57.503 290.682 C 57.877 290.396,58.245 290.182,58.320 290.207 C 58.395 290.232,58.547 290.082,58.658 289.875 C 58.768 289.668,58.987 289.499,59.142 289.499 C 59.298 289.499,59.476 289.366,59.538 289.204 C 59.601 289.042,59.753 288.948,59.877 288.996 C 60.001 289.043,60.204 288.921,60.327 288.723 C 60.451 288.525,60.636 288.363,60.740 288.363 C 60.843 288.363,61.097 288.214,61.306 288.032 C 61.514 287.850,61.861 287.545,62.078 287.354 C 62.295 287.163,62.515 287.050,62.567 287.102 C 62.619 287.154,62.825 287.055,63.024 286.881 C 63.224 286.708,63.550 286.424,63.750 286.250 C 63.949 286.077,64.164 285.987,64.227 286.050 C 64.290 286.113,64.472 285.978,64.632 285.750 C 64.792 285.522,65.025 285.336,65.150 285.336 C 65.275 285.336,65.484 285.166,65.614 284.957 C 65.744 284.749,65.950 284.579,66.073 284.579 C 66.196 284.579,66.784 284.196,67.380 283.728 C 67.976 283.259,68.556 282.876,68.669 282.876 C 68.782 282.876,68.874 282.801,68.874 282.709 C 68.874 282.617,69.023 282.488,69.205 282.422 C 69.809 282.204,70.450 281.773,70.619 281.471 C 70.710 281.307,70.904 281.173,71.050 281.173 C 71.196 281.173,71.383 281.056,71.466 280.912 C 71.550 280.769,71.919 280.491,72.286 280.296 C 72.944 279.946,73.261 279.714,74.012 279.029 C 74.222 278.838,74.434 278.722,74.483 278.772 C 74.533 278.822,74.773 278.680,75.017 278.457 C 75.752 277.784,76.020 277.596,76.111 277.688 C 76.159 277.735,76.572 277.432,77.030 277.014 C 77.487 276.596,77.959 276.254,78.078 276.254 C 78.197 276.254,78.347 276.117,78.411 275.950 C 78.475 275.783,78.639 275.690,78.776 275.742 C 78.912 275.794,79.127 275.672,79.253 275.470 C 79.379 275.269,79.561 275.152,79.656 275.211 C 79.752 275.270,79.922 275.145,80.035 274.934 C 80.148 274.723,80.356 274.551,80.497 274.551 C 80.639 274.551,80.803 274.423,80.863 274.267 C 80.923 274.111,81.092 273.983,81.239 273.983 C 81.385 273.983,81.609 273.858,81.736 273.705 C 81.863 273.552,82.022 273.446,82.090 273.469 C 82.158 273.491,82.405 273.340,82.640 273.132 C 82.874 272.923,83.243 272.597,83.459 272.406 C 83.676 272.215,83.903 272.108,83.963 272.168 C 84.023 272.229,84.191 272.108,84.336 271.900 C 84.482 271.693,84.723 271.523,84.874 271.523 C 85.024 271.523,85.147 271.438,85.147 271.334 C 85.147 271.230,85.296 271.145,85.480 271.145 C 85.663 271.145,85.921 270.971,86.053 270.759 C 86.186 270.547,86.367 270.418,86.457 270.474 C 86.546 270.529,86.758 270.362,86.928 270.102 C 87.098 269.843,87.362 269.631,87.516 269.631 C 87.670 269.631,87.796 269.554,87.796 269.461 C 87.796 269.367,88.158 269.103,88.600 268.874 C 89.042 268.644,89.472 268.337,89.555 268.192 C 89.639 268.047,89.830 267.928,89.981 267.928 C 90.132 267.928,90.255 267.841,90.255 267.734 C 90.255 267.628,90.468 267.459,90.728 267.360 C 90.989 267.262,91.202 267.113,91.202 267.030 C 91.202 266.947,91.521 266.713,91.911 266.511 C 92.632 266.138,92.857 265.977,93.614 265.288 C 93.848 265.075,94.105 264.922,94.185 264.948 C 94.328 264.994,94.626 264.780,95.394 264.081 C 95.603 263.890,95.823 263.783,95.883 263.843 C 95.943 263.903,96.111 263.782,96.257 263.575 C 96.402 263.367,96.641 263.198,96.787 263.198 C 96.934 263.198,97.145 263.027,97.256 262.819 C 97.368 262.611,97.566 262.441,97.696 262.441 C 97.826 262.441,98.228 262.189,98.588 261.881 C 98.948 261.573,99.345 261.318,99.470 261.313 C 99.595 261.309,99.765 261.199,99.849 261.069 C 99.932 260.939,100.170 260.738,100.378 260.623 C 100.865 260.354,100.977 259.783,100.587 259.564 C 100.420 259.471,100.284 259.324,100.284 259.238 C 100.284 259.151,99.986 258.586,99.622 257.981 C 99.257 257.376,98.959 256.766,98.959 256.626 C 98.959 256.485,98.803 256.202,98.612 255.997 C 98.421 255.792,97.979 255.051,97.629 254.350 C 97.279 253.648,96.927 253.047,96.847 253.014 C 96.766 252.980,96.644 252.639,96.575 252.257 C 96.507 251.874,96.369 251.458,96.270 251.333 C 95.977 250.964,95.364 249.702,95.364 249.469 C 95.364 249.350,95.194 249.057,94.986 248.817 C 94.778 248.577,94.607 248.192,94.607 247.960 C 94.607 247.729,94.480 247.433,94.324 247.304 C 94.167 247.174,94.039 246.972,94.039 246.855 C 94.038 246.737,93.928 246.429,93.794 246.168 C 93.659 245.908,93.364 245.142,93.137 244.465 C 92.909 243.789,92.551 242.898,92.341 242.486 C 92.131 242.074,91.958 241.551,91.958 241.324 C 91.958 241.097,91.831 240.862,91.675 240.802 C 91.518 240.742,91.391 240.480,91.391 240.219 C 91.391 239.959,91.175 239.258,90.912 238.663 C 90.648 238.067,90.474 237.471,90.525 237.339 C 90.576 237.207,90.536 237.048,90.436 236.986 C 90.337 236.925,90.255 236.743,90.255 236.583 C 90.255 236.423,90.138 236.024,89.994 235.696 C 89.633 234.873,89.405 234.170,89.035 232.734 C 88.860 232.058,88.638 231.243,88.540 230.923 C 88.443 230.604,88.363 230.199,88.363 230.024 C 88.363 229.850,88.269 229.707,88.154 229.707 C 88.038 229.707,87.997 229.569,88.062 229.399 C 88.127 229.230,88.106 228.995,88.014 228.879 C 87.923 228.762,87.793 228.249,87.727 227.739 C 87.660 227.229,87.529 226.718,87.435 226.604 C 87.341 226.489,87.205 225.885,87.133 225.260 C 87.061 224.636,86.875 223.674,86.720 223.122 C 86.565 222.570,86.365 221.506,86.276 220.757 C 86.039 218.777,85.722 216.991,85.531 216.556 C 85.440 216.348,85.312 215.241,85.247 214.096 C 85.073 211.034,84.952 209.437,84.844 208.798 C 84.589 207.284,84.477 198.358,84.678 195.553 C 84.730 194.825,84.809 193.718,84.853 193.094 C 84.897 192.469,85.030 190.851,85.149 189.499 C 85.269 188.146,85.391 186.729,85.421 186.350 C 85.452 185.972,85.521 185.588,85.574 185.499 C 85.628 185.409,85.733 184.697,85.808 183.917 C 85.884 183.136,86.031 182.392,86.135 182.264 C 86.239 182.135,86.272 181.893,86.208 181.726 C 86.144 181.559,86.155 181.324,86.233 181.203 C 86.311 181.083,86.476 180.345,86.598 179.565 C 86.721 178.784,86.878 177.933,86.947 177.673 C 87.017 177.412,87.119 176.753,87.174 176.206 C 87.230 175.660,87.347 175.213,87.434 175.213 C 87.522 175.213,87.650 174.785,87.719 174.263 C 87.789 173.740,87.916 173.269,88.001 173.216 C 88.087 173.163,88.214 172.612,88.284 171.990 C 88.355 171.369,88.477 170.861,88.556 170.861 C 88.679 170.861,88.867 170.215,89.051 169.158 C 89.178 168.428,89.542 167.132,89.766 166.612 C 90.345 165.264,90.429 164.986,90.334 164.738 C 90.279 164.594,90.375 164.422,90.548 164.356 C 90.726 164.287,90.816 164.116,90.756 163.959 C 90.698 163.807,90.732 163.633,90.831 163.571 C 90.931 163.510,91.012 163.214,91.012 162.914 C 91.012 162.614,91.097 162.316,91.202 162.252 C 91.306 162.187,91.391 161.991,91.392 161.815 C 91.393 161.639,91.520 161.251,91.676 160.953 C 91.831 160.655,91.958 160.303,91.958 160.172 C 91.958 160.040,92.086 159.827,92.242 159.697 C 92.398 159.568,92.526 159.217,92.526 158.917 C 92.526 158.618,92.611 158.373,92.715 158.373 C 92.819 158.373,92.904 158.207,92.904 158.005 C 92.904 157.803,92.990 157.586,93.094 157.521 C 93.198 157.457,93.283 157.239,93.283 157.037 C 93.283 156.835,93.368 156.670,93.472 156.670 C 93.576 156.670,93.661 156.457,93.661 156.197 C 93.661 155.937,93.746 155.724,93.851 155.724 C 93.955 155.724,94.040 155.558,94.040 155.356 C 94.040 155.154,94.114 154.943,94.205 154.887 C 94.295 154.831,94.424 154.513,94.491 154.179 C 94.557 153.846,94.732 153.439,94.879 153.276 C 95.025 153.113,95.173 152.854,95.207 152.701 C 95.242 152.547,95.372 152.311,95.498 152.175 C 95.624 152.039,95.683 151.814,95.629 151.675 C 95.576 151.535,95.668 151.368,95.835 151.304 C 96.002 151.240,96.122 151.080,96.101 150.949 C 96.052 150.643,96.622 149.354,96.875 149.198 C 96.981 149.132,97.067 148.918,97.067 148.722 C 97.067 148.526,97.247 148.240,97.466 148.086 C 97.686 147.933,97.814 147.725,97.753 147.625 C 97.691 147.525,97.809 147.228,98.016 146.965 C 98.223 146.702,98.392 146.357,98.392 146.197 C 98.392 146.037,98.472 145.857,98.570 145.797 C 98.668 145.736,98.936 145.310,99.166 144.849 C 99.396 144.389,99.678 144.029,99.792 144.049 C 99.907 144.070,99.973 143.930,99.940 143.737 C 99.907 143.545,99.992 143.247,100.129 143.075 C 100.434 142.693,100.816 142.036,101.254 141.139 C 101.437 140.767,101.719 140.352,101.881 140.218 C 102.043 140.083,102.176 139.856,102.176 139.712 C 102.176 139.569,102.472 139.124,102.835 138.723 C 103.197 138.322,103.444 137.944,103.382 137.883 C 103.256 137.756,104.837 135.667,105.059 135.667 C 105.138 135.667,105.203 135.517,105.203 135.334 C 105.203 135.151,105.500 134.661,105.862 134.246 C 106.224 133.831,106.522 133.385,106.524 133.254 C 106.526 133.124,106.627 133.039,106.748 133.065 C 106.869 133.091,107.018 132.927,107.079 132.700 C 107.192 132.281,107.820 131.433,108.930 130.202 C 109.269 129.825,109.549 129.414,109.551 129.288 C 109.553 129.161,109.726 128.967,109.934 128.855 C 110.142 128.744,110.312 128.528,110.312 128.376 C 110.312 128.223,110.405 128.098,110.518 128.098 C 110.815 128.098,111.434 127.306,111.441 126.916 C 111.445 126.717,111.593 126.585,111.813 126.585 C 112.072 126.585,112.197 126.432,112.239 126.064 C 112.280 125.705,112.401 125.552,112.630 125.570 C 112.812 125.585,112.961 125.521,112.961 125.429 C 112.961 125.337,113.259 124.931,113.623 124.528 C 113.988 124.125,114.286 123.699,114.286 123.582 C 114.286 123.464,114.413 123.368,114.570 123.368 C 114.726 123.368,114.854 123.304,114.854 123.226 C 114.855 122.992,116.210 121.476,116.417 121.476 C 116.688 121.476,117.111 120.877,117.118 120.482 C 117.121 120.297,117.270 120.149,117.455 120.147 C 117.637 120.144,118.031 119.811,118.331 119.405 C 118.654 118.970,118.982 118.709,119.135 118.768 C 119.278 118.823,119.395 118.791,119.395 118.698 C 119.395 118.605,119.733 118.149,120.146 117.685 C 120.559 117.220,120.900 116.776,120.903 116.698 C 120.906 116.620,121.026 116.556,121.170 116.556 C 121.313 116.556,121.656 116.262,121.930 115.901 C 122.243 115.491,122.534 115.287,122.710 115.354 C 122.884 115.421,122.990 115.348,122.990 115.161 C 122.990 114.996,123.181 114.810,123.415 114.748 C 123.649 114.687,124.120 114.259,124.462 113.799 C 124.804 113.338,125.169 112.961,125.275 112.961 C 125.625 112.961,126.383 111.929,126.388 111.447 C 126.391 111.052,125.869 110.217,124.884 109.043 C 124.779 108.917,124.689 108.747,124.685 108.665 C 124.681 108.582,124.425 108.220,124.117 107.860 C 123.809 107.499,123.557 107.123,123.557 107.024 C 123.557 106.925,123.427 106.709,123.269 106.544 C 122.761 106.017,121.665 104.476,121.665 104.289 C 121.665 104.190,121.537 104.060,121.381 104.000 C 121.225 103.940,121.097 103.790,121.097 103.668 C 121.097 103.545,120.799 103.081,120.435 102.637 C 120.071 102.192,119.773 101.736,119.773 101.624 C 119.773 101.511,119.688 101.419,119.584 101.419 C 119.480 101.419,119.395 101.305,119.395 101.165 C 119.395 101.025,119.224 100.756,119.016 100.568 C 118.808 100.379,118.638 100.120,118.638 99.991 C 118.638 99.862,118.510 99.708,118.354 99.648 C 118.198 99.588,118.070 99.413,118.070 99.258 C 118.070 99.104,117.959 98.910,117.823 98.827 C 117.687 98.744,117.373 98.335,117.124 97.919 C 116.875 97.502,116.561 97.094,116.425 97.010 C 116.289 96.927,116.178 96.766,116.178 96.652 C 116.178 96.537,115.880 96.080,115.516 95.636 C 115.151 95.191,114.853 94.753,114.853 94.663 C 114.853 94.573,114.601 94.204,114.293 93.843 C 113.985 93.483,113.730 93.121,113.726 93.038 C 113.722 92.956,113.632 92.786,113.527 92.660 C 112.772 91.760,112.204 90.922,112.204 90.709 C 112.204 90.571,112.034 90.367,111.826 90.255 C 111.618 90.144,111.447 89.926,111.447 89.770 C 111.447 89.614,111.320 89.438,111.164 89.378 C 111.008 89.318,110.880 89.189,110.880 89.092 C 110.880 88.883,110.091 87.729,109.886 87.638 C 109.808 87.603,109.745 87.459,109.745 87.316 C 109.745 87.174,109.638 86.990,109.508 86.906 C 109.195 86.706,108.420 85.593,108.420 85.344 C 108.420 85.235,108.333 85.147,108.226 85.147 C 108.120 85.147,107.951 84.934,107.852 84.674 C 107.753 84.413,107.585 84.201,107.479 84.201 C 107.372 84.201,107.285 84.112,107.285 84.004 C 107.285 83.795,106.542 82.672,106.274 82.476 C 106.086 82.338,105.636 81.589,105.472 81.139 C 105.408 80.964,105.236 80.775,105.090 80.719 C 104.944 80.663,104.825 80.496,104.825 80.348 C 104.825 80.200,104.697 80.029,104.541 79.969 C 104.385 79.910,104.257 79.743,104.257 79.600 C 104.257 79.457,104.087 79.186,103.879 78.997 C 103.671 78.809,103.500 78.582,103.500 78.493 C 103.500 78.404,103.032 77.698,102.460 76.924 C 101.887 76.150,101.419 75.467,101.419 75.407 C 101.419 75.346,101.100 74.885,100.710 74.382 C 100.319 73.879,99.872 73.278,99.716 73.046 C 99.560 72.815,99.262 72.431,99.054 72.193 C 98.846 71.956,98.505 71.477,98.297 71.129 C 98.089 70.781,97.769 70.280,97.585 70.016 C 97.402 69.752,97.200 69.387,97.138 69.205 C 97.075 69.023,96.946 68.874,96.851 68.874 C 96.757 68.874,96.598 68.661,96.500 68.401 C 96.401 68.141,96.232 67.928,96.126 67.928 C 96.019 67.928,95.932 67.836,95.932 67.723 C 95.932 67.611,95.634 67.155,95.270 66.711 C 94.905 66.266,94.607 65.805,94.607 65.685 C 94.607 65.566,94.520 65.468,94.413 65.468 C 94.307 65.468,94.137 65.277,94.036 65.043 C 93.750 64.382,93.408 63.889,93.046 63.616 C 92.864 63.478,92.715 63.261,92.715 63.133 C 92.715 63.004,92.463 62.605,92.155 62.245 C 91.847 61.884,91.592 61.522,91.588 61.440 C 91.583 61.357,91.494 61.187,91.389 61.061 C 90.740 60.285,89.688 58.868,89.688 58.772 C 89.688 58.668,88.254 56.616,87.796 56.063 C 87.692 55.937,87.606 55.776,87.606 55.704 C 87.606 55.632,87.308 55.210,86.944 54.765 C 86.580 54.321,86.282 53.872,86.282 53.768 C 86.282 53.664,86.218 53.551,86.140 53.516 C 85.977 53.444,85.147 52.290,85.147 52.136 C 85.147 52.080,84.998 51.870,84.816 51.669 C 84.309 51.111,84.132 50.868,83.637 50.047 C 83.386 49.631,83.070 49.222,82.934 49.139 C 82.798 49.056,82.687 48.894,82.687 48.780 C 82.687 48.666,82.389 48.209,82.025 47.764 C 81.660 47.320,81.362 46.864,81.362 46.752 C 81.362 46.639,81.277 46.547,81.173 46.547 C 81.069 46.547,80.984 46.433,80.984 46.294 C 80.984 46.033,79.963 45.029,79.708 45.039 C 79.629 45.042,79.395 45.140,79.186 45.256 " stroke="none" fill="#9fbb1a" fill-rule="evenodd"></path><path id="path7" d="M190.728 4.092 C 190.364 4.223,189.799 4.285,189.473 4.229 C 189.135 4.172,188.824 4.219,188.750 4.338 C 188.679 4.453,188.530 4.491,188.419 4.423 C 188.117 4.236,186.136 4.191,185.800 4.363 C 185.639 4.446,184.674 4.555,183.655 4.606 C 182.637 4.658,181.757 4.746,181.700 4.803 C 181.643 4.860,181.445 4.825,181.260 4.726 C 181.028 4.602,180.702 4.639,180.211 4.844 C 179.819 5.008,179.236 5.103,178.916 5.056 C 178.597 5.009,178.153 5.054,177.930 5.155 C 177.665 5.276,177.408 5.275,177.188 5.151 C 176.939 5.012,176.677 5.060,176.193 5.332 C 175.705 5.606,175.498 5.643,175.395 5.476 C 175.317 5.350,175.150 5.315,175.018 5.396 C 174.731 5.574,173.781 5.731,173.132 5.709 C 172.871 5.700,172.531 5.745,172.375 5.809 C 172.219 5.872,171.835 5.942,171.523 5.964 C 171.211 5.986,170.805 6.068,170.621 6.145 C 170.437 6.223,170.057 6.243,169.775 6.189 C 169.494 6.135,168.963 6.205,168.596 6.343 C 168.229 6.481,167.673 6.577,167.360 6.556 C 167.048 6.534,166.553 6.631,166.259 6.771 C 165.966 6.910,165.540 7.007,165.313 6.985 C 165.086 6.963,164.773 6.996,164.617 7.059 C 164.461 7.122,163.936 7.213,163.450 7.261 C 162.965 7.310,162.403 7.437,162.203 7.544 C 162.003 7.651,161.464 7.761,161.005 7.788 C 160.547 7.815,159.865 7.985,159.491 8.166 C 159.117 8.347,158.627 8.447,158.401 8.388 C 158.176 8.329,157.886 8.367,157.757 8.472 C 157.627 8.576,157.223 8.661,156.859 8.658 C 156.495 8.656,155.899 8.785,155.535 8.945 C 155.170 9.104,154.532 9.288,154.115 9.354 C 153.699 9.419,153.018 9.570,152.602 9.689 C 152.185 9.809,151.771 9.888,151.680 9.865 C 151.589 9.842,151.079 9.974,150.545 10.156 C 150.011 10.339,149.404 10.494,149.196 10.501 C 148.988 10.508,148.711 10.580,148.582 10.660 C 148.452 10.741,148.160 10.842,147.933 10.886 C 147.706 10.930,147.466 11.054,147.399 11.162 C 147.333 11.270,146.854 11.388,146.337 11.424 C 145.819 11.460,145.229 11.581,145.025 11.691 C 144.416 12.023,143.918 12.170,143.561 12.126 C 143.375 12.103,142.854 12.291,142.402 12.543 C 141.806 12.877,141.492 12.953,141.259 12.823 C 141.031 12.696,140.841 12.731,140.605 12.944 C 140.423 13.110,140.221 13.245,140.158 13.245 C 140.095 13.245,139.804 13.342,139.511 13.461 C 139.218 13.580,138.851 13.703,138.694 13.735 C 137.405 14.000,136.837 14.157,136.471 14.348 C 135.438 14.886,135.267 14.948,134.805 14.948 C 134.536 14.948,134.188 15.076,134.032 15.232 C 133.876 15.388,133.551 15.516,133.311 15.516 C 133.071 15.516,132.768 15.644,132.638 15.802 C 132.460 16.015,132.336 16.035,132.148 15.879 C 131.958 15.721,131.744 15.777,131.277 16.110 C 130.937 16.353,130.518 16.527,130.348 16.498 C 130.177 16.469,129.991 16.567,129.934 16.715 C 129.877 16.863,129.210 17.172,128.451 17.403 C 127.692 17.633,126.900 17.942,126.691 18.088 C 126.482 18.234,126.171 18.354,126.000 18.354 C 125.829 18.354,125.479 18.520,125.221 18.722 C 124.961 18.927,124.590 19.048,124.387 18.995 C 124.177 18.940,123.727 19.099,123.331 19.367 C 122.952 19.625,122.597 19.791,122.543 19.736 C 122.488 19.682,122.192 19.817,121.883 20.036 C 121.575 20.256,121.143 20.435,120.923 20.435 C 120.702 20.435,120.185 20.648,119.773 20.908 C 119.361 21.168,118.958 21.383,118.878 21.385 C 118.798 21.387,117.966 21.769,117.029 22.235 C 116.093 22.701,115.172 23.082,114.983 23.083 C 114.794 23.084,114.368 23.289,114.037 23.539 C 113.705 23.789,113.117 24.124,112.729 24.284 C 112.341 24.444,111.836 24.750,111.605 24.965 C 111.172 25.369,111.017 25.422,110.449 25.364 C 110.263 25.345,109.604 25.675,108.984 26.099 C 108.364 26.522,107.767 26.868,107.657 26.868 C 107.548 26.868,106.986 27.217,106.409 27.643 C 105.732 28.143,105.231 28.384,104.995 28.322 C 104.763 28.262,104.208 28.515,103.479 29.014 C 102.847 29.447,102.189 29.886,102.016 29.991 C 101.844 30.095,101.650 30.253,101.585 30.342 C 101.520 30.431,101.290 30.448,101.075 30.380 C 100.804 30.294,100.435 30.433,99.869 30.835 C 99.421 31.154,98.845 31.562,98.591 31.743 C 98.336 31.924,97.760 32.349,97.312 32.687 C 96.863 33.025,96.412 33.302,96.309 33.302 C 96.206 33.302,96.121 33.387,96.121 33.491 C 96.121 33.595,96.032 33.680,95.924 33.680 C 95.815 33.680,95.624 33.763,95.498 33.865 C 95.372 33.966,95.019 34.252,94.713 34.501 L 94.157 34.952 94.848 35.972 C 95.229 36.533,96.117 37.818,96.824 38.829 C 97.530 39.840,98.482 41.202,98.939 41.857 C 99.396 42.511,100.152 43.600,100.618 44.276 C 101.085 44.953,101.626 45.682,101.821 45.897 C 102.016 46.112,102.176 46.351,102.176 46.428 C 102.176 46.506,102.474 46.969,102.838 47.457 C 103.690 48.598,103.846 48.816,104.594 49.902 C 105.327 50.967,108.212 55.098,108.792 55.913 C 109.014 56.225,109.932 57.545,110.832 58.846 C 111.732 60.147,112.515 61.254,112.573 61.306 C 112.631 61.358,112.934 61.783,113.246 62.252 C 113.557 62.720,113.878 63.188,113.957 63.292 C 114.786 64.376,115.421 65.277,115.421 65.371 C 115.421 65.434,115.825 66.032,116.320 66.700 C 117.956 68.911,118.920 70.264,119.016 70.484 C 119.068 70.604,119.648 71.461,120.305 72.390 C 124.511 78.336,125.354 79.540,126.329 80.984 C 126.926 81.868,127.674 82.929,127.993 83.340 C 128.311 83.751,128.657 84.236,128.761 84.418 C 128.933 84.718,130.457 86.906,132.027 89.106 C 132.367 89.582,133.022 90.525,133.484 91.202 C 133.945 91.878,134.716 92.985,135.198 93.661 C 135.680 94.338,136.301 95.232,136.580 95.648 C 136.858 96.064,137.171 96.501,137.275 96.618 C 137.379 96.736,137.574 96.991,137.707 97.186 C 137.840 97.381,138.421 98.221,138.998 99.054 C 139.575 99.886,140.190 100.801,140.364 101.087 C 140.778 101.764,141.053 101.743,142.264 100.946 C 142.817 100.581,143.341 100.326,143.427 100.380 C 143.513 100.433,143.697 100.366,143.835 100.231 C 144.299 99.780,145.901 98.770,146.152 98.770 C 146.289 98.770,146.618 98.600,146.882 98.392 C 147.147 98.184,147.483 98.013,147.628 98.013 C 147.774 98.013,148.059 97.888,148.261 97.735 C 148.463 97.583,148.726 97.455,148.846 97.452 C 148.965 97.448,149.509 97.145,150.055 96.778 C 150.600 96.411,151.089 96.153,151.140 96.205 C 151.192 96.257,151.483 96.122,151.786 95.906 C 152.118 95.670,152.519 95.548,152.792 95.600 C 153.102 95.659,153.457 95.512,153.915 95.135 C 154.284 94.831,154.661 94.630,154.754 94.687 C 154.846 94.744,155.137 94.622,155.400 94.416 C 155.663 94.209,156.064 94.040,156.292 94.040 C 156.699 94.040,156.919 93.949,158.510 93.124 C 158.950 92.896,159.546 92.677,159.835 92.638 C 160.332 92.572,161.122 92.273,162.479 91.639 C 162.812 91.484,163.157 91.402,163.247 91.457 C 163.337 91.513,163.916 91.315,164.534 91.018 C 165.152 90.721,165.730 90.547,165.818 90.631 C 165.907 90.716,166.439 90.574,167.002 90.317 C 167.565 90.059,168.344 89.809,168.733 89.762 C 169.521 89.665,170.644 89.319,170.995 89.064 C 171.120 88.973,171.298 88.945,171.391 89.002 C 171.483 89.059,171.986 88.944,172.508 88.746 C 173.207 88.480,173.512 88.441,173.668 88.597 C 173.824 88.753,173.972 88.725,174.230 88.491 C 174.423 88.317,174.760 88.174,174.980 88.174 C 175.200 88.174,175.429 88.095,175.489 87.997 C 175.549 87.900,175.894 87.869,176.255 87.927 C 176.638 87.989,177.025 87.941,177.181 87.811 C 177.329 87.688,177.822 87.566,178.277 87.539 C 178.732 87.512,179.217 87.420,179.356 87.335 C 179.494 87.249,180.025 87.157,180.536 87.129 C 181.047 87.102,181.577 86.986,181.715 86.871 C 181.852 86.757,182.016 86.715,182.079 86.778 C 182.142 86.841,182.631 86.787,183.166 86.659 C 183.701 86.530,184.664 86.406,185.305 86.382 C 185.946 86.358,186.641 86.288,186.850 86.226 C 187.397 86.063,191.399 85.731,194.229 85.613 C 198.932 85.416,201.514 85.397,201.514 85.558 C 201.514 85.654,201.635 85.665,201.783 85.582 C 201.992 85.464,204.170 85.524,206.339 85.706 C 206.505 85.720,207.806 85.733,209.555 85.737 C 209.868 85.738,210.251 85.786,210.407 85.844 C 210.703 85.954,211.110 86.005,212.895 86.157 C 213.483 86.207,214.121 86.329,214.314 86.429 C 214.507 86.528,214.771 86.571,214.901 86.524 C 215.032 86.477,216.032 86.579,217.124 86.751 C 218.216 86.922,219.182 87.017,219.271 86.962 C 219.360 86.907,219.595 86.980,219.792 87.124 C 220.057 87.317,220.216 87.331,220.402 87.177 C 220.589 87.022,220.696 87.038,220.821 87.240 C 220.913 87.390,221.141 87.528,221.327 87.547 C 221.513 87.566,222.067 87.623,222.558 87.674 C 223.049 87.725,223.519 87.808,223.603 87.860 C 223.686 87.911,224.136 88.011,224.602 88.080 C 225.068 88.150,225.542 88.284,225.656 88.378 C 225.770 88.472,225.910 88.502,225.967 88.445 C 226.024 88.388,226.570 88.486,227.179 88.664 C 227.789 88.841,228.415 89.001,228.571 89.019 C 228.728 89.037,229.111 89.160,229.423 89.293 C 229.735 89.426,230.309 89.547,230.699 89.564 C 231.089 89.580,231.408 89.657,231.409 89.735 C 231.409 89.813,231.527 89.877,231.669 89.877 C 231.812 89.877,232.329 90.054,232.818 90.270 C 233.308 90.487,233.820 90.621,233.956 90.568 C 234.093 90.516,234.380 90.596,234.594 90.746 C 234.809 90.896,235.053 90.997,235.136 90.971 C 235.220 90.944,235.544 91.016,235.856 91.130 C 236.168 91.244,236.764 91.446,237.181 91.578 C 237.597 91.710,238.273 91.977,238.683 92.172 C 239.092 92.367,239.620 92.526,239.854 92.526 C 240.089 92.526,240.333 92.611,240.397 92.715 C 240.462 92.819,240.672 92.904,240.866 92.904 C 241.059 92.904,241.246 92.970,241.280 93.049 C 241.315 93.129,242.092 93.441,243.007 93.742 C 243.922 94.043,244.740 94.414,244.825 94.566 C 244.910 94.718,245.209 94.868,245.491 94.899 C 245.772 94.930,246.657 95.268,247.457 95.650 C 248.834 96.308,249.689 96.696,250.331 96.956 C 250.487 97.020,250.870 97.234,251.183 97.434 C 251.495 97.633,251.870 97.803,252.016 97.810 C 252.162 97.818,252.561 98.037,252.902 98.297 C 253.243 98.557,253.630 98.770,253.762 98.770 C 253.893 98.770,254.317 98.989,254.704 99.257 C 255.091 99.526,255.524 99.762,255.666 99.783 C 255.808 99.804,256.191 100.010,256.516 100.242 C 256.841 100.473,257.206 100.662,257.327 100.662 C 257.449 100.662,257.667 100.769,257.812 100.899 C 258.456 101.477,258.653 101.600,259.113 101.716 C 259.382 101.783,259.603 101.966,259.603 102.122 C 259.603 102.289,259.713 102.363,259.871 102.303 C 260.018 102.246,260.183 102.314,260.236 102.453 C 260.289 102.592,260.632 102.804,260.996 102.924 C 261.361 103.045,261.982 103.439,262.376 103.799 C 262.770 104.160,263.182 104.421,263.291 104.379 C 263.401 104.336,263.783 104.590,264.139 104.942 C 264.496 105.294,264.924 105.582,265.091 105.582 C 265.258 105.582,265.962 106.050,266.656 106.623 C 267.350 107.195,268.005 107.663,268.112 107.663 C 268.219 107.663,268.307 107.748,268.307 107.852 C 268.307 107.956,268.436 108.042,268.594 108.042 C 268.753 108.042,268.979 108.254,269.098 108.515 C 269.221 108.785,269.472 108.988,269.684 108.988 C 269.887 108.988,270.385 109.329,270.790 109.746 C 271.194 110.163,271.706 110.532,271.926 110.565 C 272.147 110.599,272.441 110.832,272.581 111.084 C 272.720 111.336,272.837 111.460,272.841 111.360 C 272.845 111.261,273.167 111.516,273.557 111.928 C 274.300 112.712,274.800 113.086,275.355 113.273 C 275.537 113.334,275.686 113.449,275.686 113.528 C 275.686 113.825,277.572 115.636,277.760 115.520 C 277.868 115.453,278.135 115.702,278.353 116.072 C 278.572 116.442,278.827 116.698,278.921 116.640 C 279.015 116.582,279.258 116.817,279.462 117.162 C 279.665 117.507,280.105 117.951,280.439 118.148 C 281.049 118.508,282.687 120.109,282.687 120.345 C 282.687 120.579,283.386 121.281,283.503 121.164 C 283.567 121.101,283.720 121.271,283.844 121.542 C 283.968 121.814,284.213 122.082,284.388 122.138 C 284.564 122.193,284.820 122.449,284.957 122.706 C 285.095 122.962,285.369 123.224,285.567 123.287 C 285.765 123.349,286.020 123.606,286.135 123.857 C 286.249 124.109,286.414 124.314,286.502 124.314 C 286.589 124.314,286.660 124.442,286.660 124.598 C 286.660 124.754,286.740 124.882,286.837 124.882 C 286.934 124.882,287.066 125.048,287.130 125.250 C 287.195 125.453,287.395 125.666,287.575 125.723 C 287.755 125.781,288.042 126.062,288.213 126.348 C 288.945 127.577,289.576 128.101,289.881 127.732 C 290.035 127.546,290.416 127.253,290.728 127.080 C 291.041 126.907,291.807 126.381,292.431 125.911 C 293.056 125.441,293.716 125.007,293.898 124.947 C 294.080 124.887,294.229 124.767,294.229 124.681 C 294.229 124.595,294.437 124.413,294.691 124.277 C 295.220 123.994,297.304 122.597,297.446 122.430 C 297.498 122.369,297.753 122.176,298.013 122.002 C 298.273 121.828,298.912 121.380,299.432 121.007 C 299.953 120.634,300.712 120.108,301.120 119.839 C 301.529 119.569,302.034 119.189,302.244 118.993 C 302.454 118.798,302.730 118.638,302.858 118.638 C 302.986 118.638,303.119 118.570,303.154 118.487 C 303.188 118.404,303.898 117.873,304.730 117.306 C 305.563 116.740,306.287 116.225,306.339 116.161 C 306.391 116.097,306.807 115.798,307.263 115.497 C 308.823 114.465,309.129 114.251,310.763 113.052 C 311.192 112.738,312.053 112.146,312.677 111.736 C 313.302 111.326,313.898 110.924,314.002 110.843 C 314.520 110.440,315.959 109.416,316.457 109.096 C 316.766 108.897,317.187 108.578,317.391 108.388 C 317.596 108.197,317.848 108.042,317.952 108.042 C 318.055 108.042,318.334 107.859,318.571 107.637 C 318.808 107.414,319.161 107.138,319.356 107.022 C 319.885 106.708,321.547 105.551,323.463 104.163 C 324.399 103.484,325.302 102.866,325.469 102.789 C 325.636 102.712,326.019 102.458,326.321 102.224 C 326.622 101.991,327.252 101.502,327.720 101.138 C 328.188 100.774,328.644 100.476,328.733 100.475 C 328.822 100.474,329.163 100.259,329.490 99.997 C 329.817 99.735,330.177 99.448,330.289 99.358 C 330.401 99.268,330.860 98.950,331.308 98.651 C 331.756 98.352,332.440 97.895,332.829 97.635 C 333.217 97.375,333.902 96.917,334.350 96.619 C 334.798 96.320,335.256 95.996,335.368 95.900 C 335.608 95.694,337.379 94.421,338.282 93.806 C 338.627 93.570,339.150 93.186,339.444 92.952 C 339.738 92.718,340.066 92.526,340.172 92.526 C 340.279 92.526,340.394 92.456,340.429 92.371 C 340.488 92.225,340.999 91.856,343.992 89.798 C 344.669 89.333,345.310 88.877,345.416 88.785 C 345.523 88.692,345.864 88.454,346.173 88.255 C 346.483 88.057,347.086 87.638,347.515 87.324 C 349.323 86.002,351.509 84.476,352.195 84.057 C 352.492 83.876,353.295 83.314,353.981 82.808 C 354.667 82.303,355.425 81.799,355.665 81.690 C 356.209 81.442,356.225 80.909,355.707 80.361 C 355.489 80.131,354.905 79.342,354.408 78.606 C 351.941 74.954,351.625 74.551,351.234 74.551 C 350.972 74.551,350.426 74.114,350.426 73.903 C 350.426 73.567,348.578 71.305,348.232 71.218 C 348.005 71.161,347.506 70.660,347.123 70.104 C 346.740 69.549,346.319 69.053,346.186 69.002 C 346.053 68.951,345.633 68.440,345.253 67.866 C 344.872 67.293,344.262 66.640,343.898 66.415 C 343.534 66.189,343.236 65.944,343.236 65.869 C 343.236 65.795,342.767 65.243,342.195 64.642 C 341.623 64.042,341.154 63.478,341.154 63.389 C 341.154 63.301,340.835 63.035,340.445 62.798 C 340.054 62.561,339.661 62.246,339.571 62.098 C 339.481 61.950,339.077 61.488,338.672 61.071 C 338.268 60.655,337.938 60.245,337.938 60.160 C 337.938 60.076,337.773 59.954,337.573 59.891 C 337.372 59.827,337.035 59.481,336.822 59.121 C 336.610 58.762,336.306 58.467,336.146 58.467 C 335.987 58.467,335.856 58.382,335.856 58.278 C 335.856 58.174,335.772 58.089,335.669 58.089 C 335.566 58.089,335.162 57.736,334.771 57.304 C 333.770 56.200,332.960 55.440,332.783 55.440 C 332.588 55.440,330.937 53.717,330.937 53.514 C 330.937 53.428,330.824 53.359,330.687 53.359 C 330.550 53.359,330.151 53.103,329.801 52.791 C 329.452 52.479,329.114 52.223,329.051 52.223 C 328.988 52.223,328.786 51.968,328.602 51.656 C 328.417 51.343,328.149 51.088,328.006 51.088 C 327.863 51.088,327.691 50.918,327.625 50.710 C 327.510 50.348,327.323 50.254,326.836 50.314 C 326.713 50.329,326.559 50.169,326.492 49.958 C 326.425 49.747,326.254 49.574,326.112 49.574 C 325.970 49.574,325.676 49.325,325.458 49.019 C 325.241 48.714,324.873 48.437,324.641 48.404 C 324.409 48.371,324.135 48.153,324.033 47.919 C 323.930 47.684,323.743 47.493,323.616 47.493 C 323.490 47.493,323.319 47.380,323.236 47.242 C 323.152 47.103,322.807 46.830,322.469 46.633 C 322.131 46.437,321.854 46.209,321.854 46.128 C 321.854 46.046,321.764 45.979,321.654 45.979 C 321.544 45.979,321.037 45.543,320.526 45.010 C 319.887 44.344,319.501 44.078,319.289 44.160 C 319.083 44.239,318.950 44.158,318.886 43.916 C 318.834 43.717,318.629 43.512,318.431 43.460 C 318.232 43.408,318.070 43.239,318.070 43.084 C 318.070 42.779,317.569 42.510,317.304 42.673 C 317.214 42.729,316.817 42.432,316.422 42.012 C 316.028 41.593,315.573 41.249,315.411 41.249 C 315.250 41.249,314.654 40.842,314.087 40.345 C 313.520 39.847,312.822 39.338,312.535 39.213 C 312.249 39.089,312.015 38.899,312.015 38.793 C 312.015 38.687,311.890 38.600,311.738 38.600 C 311.586 38.600,311.366 38.423,311.250 38.207 C 311.135 37.990,310.932 37.855,310.799 37.906 C 310.667 37.957,310.232 37.708,309.834 37.353 C 309.435 36.998,308.961 36.708,308.781 36.708 C 308.601 36.708,308.243 36.457,307.985 36.151 C 307.727 35.844,307.476 35.633,307.427 35.682 C 307.379 35.731,307.231 35.641,307.099 35.482 C 306.968 35.324,306.714 35.194,306.536 35.194 C 306.358 35.194,305.964 34.941,305.661 34.632 C 305.357 34.322,304.965 34.067,304.789 34.064 C 304.614 34.061,304.200 33.812,303.870 33.510 C 303.540 33.209,303.030 32.914,302.737 32.856 C 302.443 32.797,301.882 32.427,301.488 32.034 C 301.079 31.625,300.628 31.343,300.434 31.376 C 300.247 31.408,300.095 31.343,300.095 31.232 C 300.095 31.122,299.971 31.031,299.820 31.031 C 299.669 31.031,299.463 30.883,299.361 30.702 C 299.260 30.520,299.116 30.433,299.042 30.507 C 298.890 30.659,297.824 30.087,297.824 29.855 C 297.824 29.774,297.695 29.707,297.538 29.707 C 297.142 29.707,296.529 29.332,295.890 28.700 C 295.593 28.406,295.247 28.204,295.121 28.250 C 294.995 28.296,294.636 28.145,294.324 27.915 C 294.011 27.685,293.511 27.436,293.213 27.362 C 292.914 27.289,292.546 27.105,292.395 26.954 C 292.244 26.803,291.961 26.679,291.767 26.679 C 291.572 26.679,291.360 26.593,291.295 26.488 C 291.230 26.383,290.629 26.040,289.959 25.727 C 289.290 25.414,288.742 25.075,288.742 24.973 C 288.742 24.871,288.593 24.785,288.411 24.783 C 288.228 24.781,287.867 24.612,287.606 24.409 C 287.346 24.205,286.989 24.037,286.813 24.034 C 286.637 24.032,286.440 23.944,286.375 23.838 C 286.309 23.732,286.189 23.687,286.108 23.737 C 286.027 23.787,285.775 23.655,285.547 23.443 C 285.320 23.231,285.030 23.092,284.903 23.136 C 284.777 23.179,284.546 23.071,284.390 22.896 C 284.148 22.624,283.364 22.302,282.814 22.248 C 282.727 22.240,282.540 22.073,282.397 21.878 C 282.246 21.672,282.014 21.570,281.844 21.635 C 281.683 21.697,281.552 21.665,281.552 21.565 C 281.552 21.464,281.432 21.381,281.287 21.381 C 281.141 21.381,280.537 21.126,279.943 20.814 C 279.350 20.501,278.738 20.246,278.583 20.246 C 278.429 20.246,277.698 19.948,276.958 19.584 C 276.219 19.219,275.457 18.921,275.266 18.921 C 275.074 18.921,274.868 18.794,274.808 18.638 C 274.748 18.482,274.494 18.354,274.244 18.354 C 273.994 18.354,273.641 18.279,273.460 18.187 C 273.279 18.095,272.876 17.913,272.564 17.783 C 272.252 17.653,271.826 17.473,271.618 17.383 C 271.410 17.293,271.068 17.196,270.859 17.167 C 270.650 17.138,270.269 16.968,270.013 16.788 C 269.757 16.609,269.370 16.462,269.154 16.462 C 268.938 16.462,268.680 16.394,268.581 16.312 C 268.482 16.230,267.763 15.953,266.982 15.697 C 266.202 15.441,265.535 15.168,265.500 15.090 C 265.465 15.012,265.230 14.948,264.977 14.948 C 264.724 14.948,264.369 14.873,264.189 14.781 C 263.474 14.417,262.885 14.167,262.622 14.114 C 262.470 14.084,262.219 14.011,262.062 13.952 C 261.906 13.893,261.523 13.780,261.211 13.702 C 260.899 13.624,260.601 13.546,260.549 13.529 C 260.497 13.512,260.199 13.434,259.886 13.357 C 259.310 13.213,258.639 12.958,258.044 12.655 C 257.863 12.563,257.549 12.488,257.346 12.488 C 257.142 12.488,256.929 12.413,256.873 12.321 C 256.816 12.229,256.214 12.049,255.535 11.921 C 254.856 11.792,254.253 11.611,254.195 11.517 C 254.137 11.423,254.013 11.394,253.919 11.452 C 253.825 11.510,253.494 11.426,253.184 11.266 C 252.874 11.106,252.408 10.974,252.149 10.974 C 251.890 10.974,251.632 10.901,251.577 10.811 C 251.490 10.670,251.059 10.569,249.571 10.339 C 249.413 10.314,249.194 10.239,249.085 10.171 C 248.975 10.104,248.679 10.009,248.426 9.962 C 247.537 9.795,246.829 9.596,246.641 9.460 C 246.537 9.385,246.325 9.320,246.168 9.316 C 246.012 9.312,245.246 9.168,244.465 8.996 C 243.685 8.824,242.833 8.654,242.573 8.617 C 242.313 8.581,241.845 8.451,241.533 8.330 C 241.220 8.209,240.922 8.121,240.870 8.134 C 240.596 8.206,238.851 7.878,238.653 7.718 C 238.526 7.615,237.917 7.515,237.300 7.494 C 236.683 7.474,236.043 7.345,235.878 7.208 C 235.712 7.071,235.441 7.011,235.274 7.075 C 235.107 7.139,234.872 7.128,234.751 7.051 C 234.630 6.974,234.149 6.900,233.680 6.887 C 233.212 6.874,232.573 6.753,232.261 6.618 C 231.949 6.483,231.626 6.387,231.543 6.406 C 231.460 6.424,230.524 6.303,229.462 6.136 C 228.400 5.969,227.190 5.798,226.774 5.755 C 226.358 5.713,225.634 5.632,225.166 5.576 C 224.697 5.520,223.974 5.439,223.557 5.396 C 223.141 5.354,222.800 5.309,222.800 5.296 C 222.800 5.284,222.460 5.239,222.044 5.196 C 220.557 5.042,219.570 4.935,218.638 4.825 C 217.114 4.646,215.912 4.545,214.096 4.444 C 211.620 4.306,210.155 4.179,209.893 4.078 C 209.766 4.030,209.610 4.075,209.545 4.179 C 209.481 4.282,209.244 4.308,209.019 4.235 C 208.606 4.101,206.004 4.009,202.176 3.994 C 201.031 3.989,199.924 3.983,199.716 3.979 C 198.221 3.955,194.042 3.995,193.188 4.042 C 192.616 4.074,191.977 4.044,191.769 3.977 C 191.561 3.910,191.093 3.962,190.728 4.092 " stroke="none" fill="#b5cb2b" fill-rule="evenodd"></path><path id="path8" d="" stroke="none" fill="#55ff00" fill-rule="evenodd"></path><path id="path9" d="M364.522 96.081 C 363.619 96.742,362.897 97.244,359.648 99.478 C 358.854 100.024,357.583 100.938,356.822 101.509 C 356.062 102.080,355.333 102.549,355.203 102.551 C 355.073 102.553,354.967 102.627,354.967 102.715 C 354.967 102.851,354.376 103.279,352.707 104.352 C 352.545 104.456,351.944 104.889,351.372 105.314 C 350.799 105.740,350.024 106.293,349.648 106.544 C 347.578 107.929,346.136 108.917,345.885 109.122 C 345.631 109.330,344.163 110.365,341.471 112.233 C 340.970 112.582,340.270 113.079,339.916 113.340 C 339.562 113.600,338.581 114.281,337.736 114.853 C 336.890 115.426,335.705 116.256,335.103 116.698 C 334.500 117.140,333.921 117.502,333.816 117.502 C 333.712 117.502,333.577 117.631,333.516 117.789 C 333.456 117.947,333.212 118.162,332.976 118.267 C 332.595 118.436,331.562 119.112,331.031 119.541 C 330.927 119.624,330.118 120.192,329.234 120.801 C 328.349 121.410,327.597 121.981,327.562 122.071 C 327.528 122.160,327.408 122.233,327.296 122.233 C 327.185 122.233,326.787 122.467,326.413 122.752 C 326.039 123.038,325.180 123.649,324.503 124.109 C 323.827 124.570,323.231 124.997,323.179 125.058 C 323.127 125.119,322.709 125.424,322.250 125.735 C 321.792 126.046,321.229 126.429,320.999 126.585 C 320.769 126.741,320.047 127.252,319.395 127.720 C 318.742 128.188,318.015 128.699,317.780 128.855 C 316.016 130.025,314.359 131.179,313.150 132.081 C 312.370 132.663,311.582 133.194,311.400 133.262 C 311.218 133.329,311.069 133.472,311.069 133.580 C 311.069 133.687,310.971 133.775,310.851 133.775 C 310.731 133.775,310.284 134.034,309.858 134.351 C 308.177 135.600,305.993 137.141,304.778 137.938 C 304.075 138.398,303.500 138.831,303.500 138.901 C 303.500 138.970,303.253 139.129,302.952 139.254 C 302.650 139.379,302.209 139.688,301.972 139.940 C 301.736 140.191,301.463 140.397,301.366 140.397 C 301.269 140.397,300.879 140.639,300.500 140.934 C 300.121 141.228,299.662 141.524,299.480 141.590 C 299.001 141.764,299.066 142.077,299.811 143.183 C 300.175 143.724,300.473 144.297,300.473 144.456 C 300.473 144.615,300.856 145.249,301.325 145.865 C 301.793 146.480,302.176 147.071,302.176 147.178 C 302.176 147.284,302.473 147.940,302.836 148.637 C 303.199 149.333,303.455 149.967,303.406 150.046 C 303.358 150.125,303.615 150.580,303.979 151.057 C 304.343 151.534,304.627 151.991,304.609 152.073 C 304.592 152.156,304.718 152.540,304.890 152.927 C 305.063 153.314,305.203 153.766,305.203 153.933 C 305.203 154.099,305.416 154.514,305.676 154.855 C 305.937 155.197,306.149 155.646,306.149 155.854 C 306.149 156.062,306.308 156.376,306.501 156.551 C 306.726 156.754,306.820 157.034,306.764 157.328 C 306.709 157.616,306.825 157.978,307.075 158.295 C 307.294 158.574,307.474 158.951,307.474 159.132 C 307.474 159.313,307.592 159.560,307.737 159.680 C 307.882 159.800,308.057 160.277,308.127 160.740 C 308.196 161.202,308.339 161.634,308.444 161.699 C 308.549 161.764,308.592 161.928,308.540 162.064 C 308.488 162.200,308.604 162.454,308.798 162.630 C 308.993 162.806,309.105 163.070,309.048 163.218 C 308.992 163.366,309.060 163.625,309.201 163.794 C 309.341 163.963,309.431 164.295,309.400 164.530 C 309.369 164.766,309.434 165.015,309.544 165.083 C 309.654 165.151,309.745 165.404,309.745 165.646 C 309.745 165.887,309.860 166.180,310.002 166.298 C 310.147 166.418,310.220 166.715,310.170 166.976 C 310.117 167.253,310.205 167.564,310.386 167.745 C 310.554 167.913,310.691 168.251,310.691 168.498 C 310.691 168.745,310.776 168.999,310.880 169.063 C 310.984 169.128,311.069 169.388,311.069 169.641 C 311.069 169.895,311.232 170.592,311.432 171.191 C 311.631 171.790,311.849 172.682,311.916 173.174 C 311.982 173.666,312.109 174.113,312.198 174.168 C 312.286 174.223,312.313 174.438,312.259 174.646 C 312.204 174.855,312.254 175.139,312.370 175.279 C 312.485 175.418,312.526 175.585,312.460 175.651 C 312.394 175.717,312.456 175.912,312.599 176.084 C 312.742 176.256,312.881 176.748,312.909 177.177 C 312.958 177.938,313.431 180.323,313.646 180.889 C 313.705 181.045,313.785 181.514,313.822 181.930 C 313.981 183.680,314.099 184.354,314.286 184.579 C 314.413 184.733,314.421 184.979,314.309 185.275 C 314.203 185.553,314.203 185.856,314.307 186.044 C 314.403 186.214,314.514 186.720,314.554 187.169 C 314.594 187.618,314.680 188.453,314.744 189.026 C 315.128 192.434,315.238 194.787,315.312 201.135 C 315.348 204.241,315.301 206.811,315.207 206.929 C 315.114 207.045,315.068 207.746,315.106 208.487 C 315.143 209.228,315.123 209.885,315.061 209.947 C 314.999 210.009,314.935 210.627,314.919 211.321 C 314.894 212.420,314.508 215.779,314.177 217.786 C 314.117 218.150,314.070 218.615,314.073 218.818 C 314.076 219.021,313.991 219.294,313.883 219.424 C 313.775 219.554,313.743 219.839,313.813 220.057 C 313.882 220.275,313.846 220.565,313.734 220.700 C 313.621 220.836,313.534 221.151,313.540 221.401 C 313.558 222.105,312.777 225.972,312.566 226.227 C 312.462 226.352,312.433 226.675,312.501 226.945 C 312.574 227.240,312.544 227.436,312.426 227.436 C 312.317 227.436,312.170 227.841,312.100 228.335 C 311.917 229.615,311.490 231.225,311.260 231.503 C 311.151 231.633,311.112 231.869,311.172 232.026 C 311.233 232.183,311.029 232.869,310.720 233.550 C 310.412 234.231,310.201 234.831,310.253 234.882 C 310.359 234.989,309.875 236.529,308.877 239.262 C 308.801 239.470,308.752 239.704,308.768 239.782 C 308.785 239.860,308.719 239.924,308.621 239.924 C 308.523 239.924,308.442 240.073,308.439 240.255 C 308.431 240.809,307.965 242.384,307.809 242.384 C 307.729 242.384,307.663 242.549,307.663 242.751 C 307.663 242.953,307.578 243.171,307.474 243.236 C 307.370 243.300,307.285 243.551,307.285 243.794 C 307.285 244.037,307.147 244.288,306.979 244.353 C 306.794 244.424,306.710 244.609,306.767 244.825 C 306.820 245.029,306.672 245.410,306.417 245.721 C 306.173 246.019,305.971 246.415,305.967 246.601 C 305.963 246.787,305.828 247.140,305.667 247.385 C 305.506 247.631,305.331 248.075,305.278 248.372 C 305.224 248.669,305.101 248.993,305.003 249.092 C 304.905 249.191,304.825 249.418,304.825 249.596 C 304.825 249.775,304.758 249.950,304.677 249.984 C 304.596 250.019,304.257 250.622,303.924 251.325 C 303.592 252.027,303.232 252.602,303.126 252.602 C 303.020 252.602,302.930 252.793,302.927 253.027 C 302.924 253.262,302.796 253.618,302.643 253.820 C 302.490 254.022,302.365 254.364,302.365 254.579 C 302.365 254.795,302.069 255.311,301.707 255.726 C 301.344 256.141,301.046 256.600,301.044 256.747 C 301.042 256.893,300.828 257.292,300.568 257.633 C 300.307 257.974,300.095 258.386,300.095 258.548 C 300.095 258.710,299.906 259.059,299.676 259.324 C 299.446 259.589,299.169 260.077,299.061 260.409 C 298.953 260.740,298.668 261.110,298.427 261.229 C 298.186 261.349,297.995 261.500,298.001 261.565 C 298.060 262.145,297.957 262.497,297.635 262.819 C 297.427 263.027,297.256 263.277,297.256 263.374 C 297.256 263.471,297.078 263.607,296.861 263.676 C 296.594 263.761,296.495 263.915,296.556 264.148 C 296.612 264.366,296.408 264.755,296.005 265.195 C 295.653 265.579,295.364 266.007,295.364 266.145 C 295.364 266.474,294.426 267.471,294.183 267.400 C 294.079 267.370,294.040 267.466,294.097 267.615 C 294.241 267.992,293.752 268.691,292.337 270.133 C 292.077 270.398,291.862 270.718,291.861 270.843 C 291.859 270.968,291.518 271.416,291.104 271.839 C 290.689 272.261,290.326 272.742,290.297 272.907 C 290.267 273.073,289.926 273.542,289.540 273.950 C 288.536 275.010,287.803 275.939,287.799 276.159 C 287.796 276.263,287.540 276.518,287.228 276.727 C 286.916 276.935,286.661 277.198,286.661 277.312 C 286.661 277.425,286.362 277.679,285.998 277.875 C 285.594 278.093,285.336 278.374,285.336 278.596 C 285.336 278.965,283.437 280.984,283.090 280.984 C 282.987 280.984,282.843 281.167,282.773 281.390 C 282.593 281.958,280.226 284.201,279.808 284.201 C 279.726 284.201,279.659 284.330,279.659 284.489 C 279.659 284.648,279.447 284.859,279.186 284.957 C 278.910 285.062,278.713 285.287,278.713 285.497 C 278.713 285.719,278.495 285.948,278.146 286.093 C 277.833 286.222,277.578 286.446,277.578 286.591 C 277.578 286.736,277.131 287.143,276.585 287.497 C 276.038 287.850,275.367 288.381,275.093 288.677 C 274.558 289.254,274.365 289.412,273.557 289.930 C 272.807 290.412,272.879 290.641,274.487 292.876 C 275.285 293.984,276.285 295.402,276.710 296.026 C 277.135 296.651,277.532 297.204,277.592 297.256 C 277.651 297.308,277.757 297.479,277.825 297.635 C 277.894 297.791,278.418 298.557,278.989 299.338 C 279.561 300.118,280.409 301.310,280.875 301.987 C 281.340 302.663,282.300 304.043,283.008 305.054 C 283.716 306.065,284.551 307.256,284.863 307.702 C 285.175 308.148,286.147 309.535,287.022 310.784 C 288.475 312.858,289.115 313.775,290.954 316.414 C 291.298 316.909,291.895 317.760,292.279 318.307 C 292.664 318.853,294.253 321.131,295.810 323.368 C 297.367 325.605,298.805 327.649,299.004 327.909 C 299.363 328.377,302.341 332.638,303.542 334.403 C 303.883 334.905,304.253 335.415,304.364 335.538 C 304.474 335.661,305.113 336.564,305.783 337.545 C 306.977 339.294,307.255 339.694,309.416 342.763 C 310.003 343.595,310.973 345.000,311.573 345.885 C 312.173 346.769,312.714 347.535,312.775 347.588 C 312.836 347.640,313.265 348.236,313.728 348.912 C 314.191 349.588,314.616 350.184,314.672 350.237 C 314.729 350.289,315.155 350.893,315.618 351.580 C 318.330 355.596,319.517 357.226,319.734 357.232 C 319.869 357.235,320.961 356.535,322.162 355.676 C 323.363 354.818,324.573 353.969,324.850 353.790 C 325.894 353.117,326.206 352.823,326.206 352.517 C 326.206 352.225,327.371 351.257,328.471 350.635 C 329.111 350.273,329.423 349.937,329.423 349.610 C 329.423 349.458,329.820 349.048,330.304 348.698 C 330.789 348.347,331.449 347.799,331.771 347.479 C 332.092 347.159,332.654 346.694,333.018 346.445 C 333.921 345.827,334.153 345.582,334.153 345.249 C 334.153 345.092,334.430 344.773,334.768 344.539 C 335.106 344.306,335.649 343.853,335.973 343.533 C 336.298 343.213,336.809 342.735,337.109 342.470 C 337.408 342.205,337.872 341.737,338.138 341.430 C 338.404 341.122,339.149 340.384,339.793 339.790 C 340.438 339.196,340.965 338.621,340.965 338.513 C 340.965 338.405,341.071 338.313,341.202 338.310 C 341.585 338.300,342.523 337.379,342.421 337.113 C 342.367 336.972,342.600 336.721,342.970 336.522 C 343.324 336.331,343.614 336.062,343.614 335.924 C 343.614 335.785,343.950 335.450,344.360 335.179 C 344.772 334.906,345.132 334.502,345.164 334.277 C 345.196 334.053,345.413 333.786,345.646 333.683 C 345.879 333.581,346.050 333.373,346.025 333.221 C 346.000 333.069,346.173 332.845,346.410 332.725 C 346.647 332.604,347.158 332.085,347.545 331.571 C 348.386 330.457,349.674 329.157,350.232 328.858 C 350.489 328.720,350.614 328.496,350.578 328.236 C 350.539 327.966,350.667 327.757,350.958 327.610 C 351.199 327.489,351.390 327.336,351.384 327.271 C 351.350 326.931,351.406 326.848,351.791 326.677 C 352.022 326.574,352.256 326.300,352.312 326.069 C 352.367 325.837,352.843 325.198,353.370 324.648 C 353.896 324.099,354.449 323.372,354.599 323.034 C 354.749 322.695,355.021 322.370,355.203 322.312 C 355.385 322.255,355.535 322.127,355.535 322.030 C 355.535 321.932,355.747 321.667,356.008 321.441 C 356.268 321.214,356.481 320.872,356.481 320.679 C 356.481 320.486,356.608 320.280,356.764 320.220 C 356.921 320.160,357.048 320.011,357.048 319.888 C 357.048 319.766,357.307 319.512,357.624 319.325 C 358.051 319.073,358.170 318.892,358.084 318.621 C 358.009 318.386,358.073 318.217,358.265 318.143 C 358.428 318.081,358.562 317.917,358.562 317.779 C 358.562 317.641,358.720 317.478,358.914 317.416 C 359.107 317.355,359.423 316.956,359.615 316.529 C 359.807 316.103,360.330 315.378,360.777 314.918 C 361.224 314.458,361.589 313.922,361.589 313.727 C 361.589 313.532,361.845 313.131,362.157 312.836 C 362.469 312.541,362.725 312.190,362.725 312.055 C 362.725 311.813,362.908 311.546,363.503 310.918 C 363.672 310.741,363.959 310.274,364.143 309.880 C 364.326 309.487,364.721 308.903,365.020 308.583 C 365.319 308.263,365.563 307.924,365.563 307.830 C 365.563 307.543,366.016 306.832,366.367 306.567 C 366.549 306.430,366.698 306.159,366.698 305.966 C 366.698 305.772,366.954 305.373,367.266 305.078 C 367.578 304.783,367.833 304.398,367.833 304.222 C 367.833 304.045,367.920 303.848,368.026 303.782 C 368.132 303.717,368.169 303.584,368.108 303.486 C 368.048 303.388,368.132 303.258,368.295 303.195 C 368.457 303.133,368.590 302.972,368.590 302.838 C 368.590 302.704,368.718 302.546,368.874 302.486 C 369.030 302.426,369.158 302.213,369.158 302.013 C 369.158 301.812,369.413 301.375,369.726 301.041 C 370.038 300.706,370.293 300.272,370.293 300.075 C 370.293 299.877,370.442 299.565,370.624 299.379 C 370.807 299.194,371.104 298.747,371.285 298.386 C 371.758 297.447,372.058 296.994,372.319 296.826 C 372.445 296.745,372.498 296.547,372.436 296.386 C 372.374 296.225,372.485 295.866,372.683 295.587 C 372.881 295.308,373.169 294.825,373.323 294.513 C 373.478 294.201,373.710 293.877,373.841 293.794 C 373.971 293.711,374.078 293.537,374.078 293.408 C 374.078 293.138,374.697 291.879,375.024 291.485 C 375.146 291.338,375.191 291.129,375.123 291.021 C 375.056 290.912,375.091 290.823,375.202 290.823 C 375.312 290.823,375.402 290.716,375.402 290.585 C 375.402 290.454,375.577 290.237,375.791 290.104 C 376.054 289.939,376.142 289.744,376.064 289.498 C 375.989 289.261,376.084 289.019,376.338 288.801 C 376.552 288.618,376.727 288.251,376.727 287.985 C 376.727 287.712,376.974 287.231,377.294 286.880 C 377.606 286.538,377.862 286.092,377.862 285.889 C 377.862 285.686,377.943 285.372,378.041 285.191 C 378.477 284.394,379.453 282.202,379.422 282.090 C 379.403 282.022,379.513 281.863,379.665 281.736 C 379.818 281.609,379.943 281.345,379.943 281.149 C 379.943 280.954,380.114 280.476,380.322 280.087 C 380.530 279.699,380.700 279.274,380.700 279.142 C 380.700 279.010,380.785 278.903,380.889 278.903 C 380.993 278.903,381.079 278.724,381.079 278.506 C 381.079 278.047,381.647 277.010,381.898 277.010 C 381.992 277.010,382.028 276.853,381.977 276.660 C 381.927 276.468,382.036 276.111,382.219 275.868 C 382.403 275.624,382.512 275.318,382.462 275.187 C 382.411 275.056,382.499 274.710,382.657 274.419 C 383.245 273.334,383.996 271.427,384.282 270.293 C 384.361 269.981,384.652 269.249,384.928 268.667 C 385.204 268.084,385.430 267.429,385.430 267.211 C 385.430 266.993,385.516 266.763,385.620 266.698 C 385.724 266.634,385.809 266.415,385.809 266.211 C 385.809 266.008,385.886 265.694,385.980 265.513 C 386.074 265.332,386.258 264.823,386.388 264.380 C 386.519 263.938,386.707 263.576,386.805 263.576 C 386.904 263.576,386.940 263.459,386.885 263.316 C 386.830 263.173,386.906 262.822,387.054 262.537 C 387.202 262.252,387.323 261.826,387.323 261.591 C 387.323 261.355,387.454 261.054,387.614 260.920 C 387.801 260.766,387.841 260.613,387.725 260.497 C 387.609 260.381,387.674 260.082,387.906 259.669 C 388.105 259.314,388.269 258.813,388.269 258.556 C 388.269 258.299,388.343 258.089,388.434 258.089 C 388.591 258.089,388.868 256.944,388.922 256.065 C 388.937 255.837,389.103 255.478,389.293 255.269 C 389.530 255.007,389.600 254.737,389.517 254.407 C 389.451 254.143,389.466 253.926,389.550 253.926 C 389.723 253.926,390.211 252.364,390.249 251.690 C 390.262 251.449,390.385 251.183,390.521 251.099 C 390.677 251.003,390.720 250.793,390.638 250.535 C 390.567 250.309,390.592 250.021,390.695 249.896 C 390.798 249.771,390.944 249.243,391.020 248.723 C 391.096 248.202,391.244 247.564,391.349 247.304 C 391.548 246.809,391.566 246.732,391.769 245.506 C 391.838 245.090,391.964 244.579,392.049 244.371 C 392.134 244.163,392.388 243.013,392.613 241.816 C 392.838 240.620,393.106 239.486,393.209 239.298 C 393.311 239.109,393.345 238.797,393.284 238.604 C 393.223 238.411,393.246 238.208,393.336 238.153 C 393.425 238.097,393.513 237.532,393.530 236.896 C 393.551 236.140,393.664 235.638,393.855 235.446 C 394.088 235.213,394.101 235.098,393.917 234.876 C 393.761 234.688,393.750 234.556,393.882 234.470 C 393.990 234.400,394.127 233.798,394.186 233.133 C 394.244 232.468,394.397 231.860,394.524 231.781 C 394.653 231.701,394.709 231.457,394.650 231.232 C 394.592 231.008,394.625 230.553,394.725 230.219 C 394.824 229.885,394.939 229.101,394.979 228.477 C 395.020 227.852,395.111 227.193,395.182 227.010 C 395.252 226.828,395.259 226.545,395.196 226.382 C 395.133 226.218,395.158 225.941,395.252 225.767 C 395.402 225.486,395.487 224.840,395.766 221.854 C 395.805 221.438,395.878 220.501,395.928 219.773 C 395.978 219.044,396.094 217.938,396.186 217.313 C 396.277 216.689,396.334 215.752,396.313 215.232 C 396.291 214.711,396.347 213.859,396.435 213.337 C 396.524 212.815,396.599 211.794,396.602 211.067 C 396.610 208.737,396.636 208.326,396.777 208.325 C 396.871 208.325,396.878 201.377,396.790 196.121 C 396.769 194.872,396.807 193.710,396.875 193.539 C 396.943 193.367,396.907 193.170,396.796 193.101 C 396.674 193.026,396.640 192.687,396.709 192.255 C 396.778 191.822,396.743 191.483,396.622 191.408 C 396.490 191.326,396.479 191.127,396.589 190.836 C 396.683 190.590,396.721 190.350,396.674 190.303 C 396.576 190.205,396.385 187.540,396.367 185.998 C 396.360 185.426,396.305 184.872,396.244 184.768 C 396.184 184.664,396.160 184.342,396.190 184.051 C 396.239 183.590,396.147 182.655,395.738 179.470 C 395.685 179.054,395.606 178.353,395.564 177.914 C 395.521 177.474,395.422 177.009,395.343 176.882 C 395.264 176.754,395.177 176.305,395.149 175.884 C 395.016 173.868,394.930 173.107,394.822 173.000 C 394.758 172.935,394.796 172.774,394.906 172.641 C 395.045 172.474,395.046 172.286,394.912 172.035 C 394.805 171.835,394.674 171.230,394.621 170.691 C 394.569 170.151,394.471 169.622,394.404 169.514 C 394.337 169.406,394.242 168.921,394.191 168.436 C 394.140 167.950,394.023 167.411,393.929 167.236 C 393.836 167.061,393.810 166.666,393.871 166.358 C 393.934 166.044,393.895 165.744,393.783 165.674 C 393.673 165.606,393.628 165.434,393.682 165.292 C 393.737 165.150,393.682 164.972,393.559 164.896 C 393.392 164.793,393.397 164.722,393.579 164.609 C 393.770 164.491,393.756 164.362,393.512 163.989 C 393.342 163.730,393.123 162.868,393.024 162.074 C 392.925 161.279,392.742 160.505,392.616 160.354 C 392.490 160.202,392.434 159.897,392.492 159.676 C 392.549 159.456,392.517 159.115,392.419 158.919 C 392.322 158.722,392.163 158.403,392.067 158.208 C 391.958 157.989,391.959 157.786,392.068 157.677 C 392.178 157.566,392.072 157.073,391.788 156.374 C 391.521 155.716,391.370 155.042,391.426 154.752 C 391.478 154.478,391.428 154.197,391.314 154.126 C 391.200 154.056,391.107 153.791,391.107 153.537 C 391.107 153.283,391.020 153.075,390.914 153.075 C 390.804 153.075,390.771 152.876,390.837 152.612 C 390.901 152.358,390.884 152.039,390.799 151.903 C 390.613 151.605,390.572 151.468,390.416 150.615 C 390.349 150.251,390.179 149.776,390.038 149.559 C 389.897 149.343,389.830 149.117,389.890 149.057 C 389.949 148.997,389.833 148.608,389.632 148.191 C 389.422 147.756,389.330 147.330,389.415 147.191 C 389.500 147.054,389.448 146.782,389.295 146.564 C 389.147 146.352,389.026 146.038,389.026 145.866 C 389.026 145.693,388.902 145.450,388.750 145.324 C 388.528 145.140,388.519 145.021,388.703 144.708 C 388.882 144.404,388.881 144.303,388.694 144.236 C 388.564 144.189,388.458 143.949,388.458 143.704 C 388.458 143.459,388.372 143.205,388.268 143.141 C 388.164 143.076,388.126 142.830,388.186 142.595 C 388.252 142.328,388.181 142.074,387.997 141.921 C 387.834 141.786,387.701 141.547,387.701 141.390 C 387.701 141.233,387.538 140.839,387.338 140.514 C 387.138 140.190,386.919 139.541,386.851 139.073 C 386.784 138.605,386.603 138.027,386.450 137.790 C 386.297 137.553,386.216 137.288,386.270 137.201 C 386.324 137.113,386.201 136.892,385.998 136.708 C 385.744 136.478,385.680 136.282,385.793 136.081 C 385.904 135.881,385.779 135.459,385.399 134.757 C 385.092 134.190,384.879 133.626,384.926 133.504 C 384.973 133.382,384.880 132.988,384.718 132.630 C 384.557 132.271,384.440 131.908,384.459 131.823 C 384.477 131.738,384.320 131.450,384.110 131.183 C 383.900 130.915,383.728 130.577,383.728 130.431 C 383.728 130.286,383.590 129.957,383.423 129.702 C 383.255 129.446,383.170 129.103,383.232 128.939 C 383.296 128.774,383.138 128.335,382.875 127.948 C 382.615 127.566,382.403 127.140,382.403 127.000 C 382.403 126.861,382.270 126.614,382.108 126.452 C 381.946 126.290,381.861 126.033,381.920 125.880 C 381.979 125.728,381.824 125.207,381.577 124.722 C 380.852 123.303,380.533 122.554,380.394 121.949 C 380.322 121.637,380.107 121.178,379.914 120.930 C 379.722 120.682,379.565 120.374,379.565 120.247 C 379.565 120.119,379.352 119.701,379.092 119.318 C 378.832 118.935,378.619 118.538,378.619 118.436 C 378.619 118.335,378.419 117.934,378.175 117.546 C 377.932 117.158,377.770 116.728,377.817 116.590 C 377.864 116.453,377.638 115.915,377.314 115.395 C 376.991 114.875,376.727 114.349,376.727 114.225 C 376.727 114.102,376.429 113.582,376.064 113.069 C 375.678 112.526,375.402 111.912,375.402 111.595 C 375.402 111.297,375.318 110.950,375.216 110.825 C 374.244 109.633,374.008 109.282,373.987 108.999 C 373.974 108.818,373.611 108.155,373.181 107.525 C 372.718 106.846,372.435 106.236,372.486 106.028 C 372.540 105.806,372.151 105.091,371.429 104.088 C 370.665 103.028,370.321 102.386,370.393 102.159 C 370.463 101.939,370.213 101.415,369.688 100.680 C 369.240 100.055,368.491 98.980,368.023 98.292 C 365.775 94.991,365.903 95.072,364.522 96.081 " stroke="none" fill="#d1dc31" fill-rule="evenodd"></path><path id="path10" d="" stroke="none" fill="#99ff33" fill-rule="evenodd"></path><path id="path11" d="M85.380 215.516 C 85.380 215.880,85.419 216.029,85.466 215.847 C 85.514 215.665,85.514 215.367,85.466 215.184 C 85.419 215.002,85.380 215.151,85.380 215.516 " stroke="none" fill="#ffff00" fill-rule="evenodd"></path></g>
-</svg>;
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 240 240" width="240.0pt" height="240.0pt">
+<path d="M 0.00 0.00 L 240.00 0.00 L 240.00 240.00 L 0.00 240.00 L 0.00 0.00 Z" fill="#ffffff" />
+<path d="M 116.97 3.45 C 155.78 2.17 194.29 21.78 215.90 54.07 C 226.92 70.43 234.08 89.34 236.07 109.00 C 239.08 140.20 228.61 172.42 208.14 196.12 C 191.73 215.41 168.66 228.79 143.97 234.16 C 125.25 238.08 105.37 237.44 87.04 231.86 C 67.00 226.07 48.82 214.65 34.69 199.32 C 14.08 177.26 2.88 147.13 3.50 117.00 C 4.36 95.58 10.72 74.49 22.55 56.55 C 35.03 37.69 52.63 22.36 73.52 13.50 C 87.07 6.87 101.94 3.80 116.97 3.45 Z" fill="#9fbb1a" />
+<path d="M 69.17 61.47 C 70.78 61.56 72.37 61.91 73.97 62.05 C 80.30 62.27 86.66 62.04 93.00 62.14 C 96.81 62.23 100.65 61.35 104.18 62.75 C 108.45 64.30 111.62 68.44 111.67 73.03 C 111.78 81.35 111.66 89.68 111.72 98.00 C 111.65 101.03 111.87 104.65 110.30 107.35 C 108.22 110.91 104.17 113.41 100.02 113.40 C 90.68 113.43 81.33 113.42 71.99 113.40 C 65.66 113.41 59.85 108.54 59.66 102.04 C 59.55 92.36 59.70 82.67 59.58 72.99 C 59.41 67.44 63.60 62.15 69.17 61.47 Z" fill="#ffffff" />
+<path d="M 138.98 61.27 C 148.33 61.42 157.69 61.22 167.04 61.37 C 173.28 61.31 178.81 66.69 178.70 72.96 C 178.72 82.65 178.75 92.34 178.68 102.02 C 178.48 108.28 173.18 112.96 167.02 113.04 C 157.69 113.25 148.33 113.02 138.99 113.15 C 132.77 113.56 126.76 108.35 126.66 102.04 C 126.55 94.37 126.67 86.68 126.62 79.00 C 126.63 76.33 126.42 73.60 126.72 70.94 C 127.60 65.24 133.25 60.88 138.98 61.27 Z" fill="#ffffff" />
+<path d="M 70.97 72.97 C 80.41 72.70 89.87 72.92 99.31 72.86 C 99.39 82.36 99.34 91.87 99.34 101.38 C 89.85 101.36 80.36 101.42 70.87 101.35 C 70.90 91.90 70.70 82.42 70.97 72.97 Z" fill="#9fbb1a" />
+<path d="M 138.39 72.91 C 147.80 72.79 157.23 72.85 166.65 72.88 C 166.65 82.41 166.85 91.97 166.55 101.49 C 157.18 101.27 147.79 101.39 138.41 101.42 C 138.30 91.92 138.36 82.41 138.39 72.91 Z" fill="#9fbb1a" />
+<path d="M 69.96 128.72 C 77.95 128.35 86.00 128.68 94.00 128.66 C 97.84 128.75 101.40 128.12 104.93 129.93 C 109.12 131.86 111.63 136.43 111.39 141.00 C 111.31 150.34 111.48 159.70 111.31 169.04 C 111.25 175.45 105.33 180.72 99.01 180.44 C 90.00 180.43 81.00 180.42 71.99 180.44 C 67.16 180.64 62.37 177.99 60.28 173.57 C 59.04 171.04 59.32 167.76 59.27 165.00 C 59.38 156.70 59.15 148.39 59.37 140.10 C 59.59 134.25 64.10 129.27 69.96 128.72 Z" fill="#ffffff" />
+<path d="M 137.96 128.68 C 146.96 128.36 156.00 128.45 165.00 128.61 C 167.68 128.64 170.26 129.00 172.61 130.36 C 176.44 132.46 178.51 136.68 178.41 140.99 C 178.39 150.33 178.47 159.67 178.37 169.01 C 178.48 174.84 173.95 180.48 167.95 180.68 C 159.31 180.89 150.65 180.67 142.00 180.78 C 139.64 180.74 137.05 180.91 134.76 180.27 C 129.71 178.66 126.48 173.17 126.62 168.01 C 126.61 161.01 126.64 154.00 126.62 147.00 C 126.71 143.40 126.11 139.00 127.75 135.73 C 129.57 131.70 133.51 128.85 137.96 128.68 Z" fill="#ffffff" />
+<path d="M 70.98 140.01 C 80.41 139.71 89.87 139.94 99.31 139.89 C 99.40 149.41 99.33 158.93 99.35 168.45 C 89.85 168.43 80.36 168.47 70.86 168.42 C 70.91 158.96 70.69 149.47 70.98 140.01 Z" fill="#9fbb1a" />
+<path d="M 138.45 140.41 C 147.84 140.29 157.27 140.44 166.67 140.35 C 166.70 149.82 166.71 159.29 166.67 168.77 C 157.24 168.71 147.81 168.71 138.38 168.77 C 138.39 159.32 138.24 149.85 138.45 140.41 Z" fill="#9fbb1a" />
+</svg>
 
 export default icons;
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js
index 7eb8a4f8f..bb7dc1190 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_block/static/src/post-thumbnail.min.js
@@ -20,7 +20,6 @@ const wpEditorProxy = {
 const wpProxy = {
     get(obj, prop) {
         if (prop == 'editor') {
-            console.log(obj[prop])
             if (obj[prop] && !obj[prop].isProxy) {
                 obj[prop] = new Proxy(obj[prop], wpEditorProxy)        
             }
@@ -37,4 +36,4 @@ const wpProxy = {
     }
 }
 
-window.wp = new Proxy(wp, wpProxy)
\ No newline at end of file
+window.wp = new Proxy(wp, wpProxy)
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php
index 23fefa105..e3eb74387 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php
@@ -22,7 +22,7 @@ class M_NextGen_Data extends C_Base_Module
 			'photocrati-nextgen-data',
 			'NextGEN Data Tier',
 			"Provides a data tier for NextGEN gallery based on the DataMapper module",
-			'3.1.6',
+			'3.1.19',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
@@ -165,6 +165,9 @@ class M_NextGen_Data extends C_Base_Module
 				// Remove disallowed elements and content
 				if ($data instanceof DOMElement) {
 					foreach ($data->getElementsByTagName('script') as $deleteme) {
+						/**
+						 * @var DOMNode $deleteme
+						 */
 						$data->removeChild($deleteme);
 					}
 				}
@@ -196,7 +199,7 @@ class M_NextGen_Data extends C_Base_Module
 				}
 			}
 			else {
-				$dom = new DOMDocument();
+				$dom = new DOMDocument('1.0', 'UTF-8');
 
 				if (!empty($data))
 				{
@@ -259,18 +262,22 @@ class M_NextGen_Data extends C_Base_Module
             'C_Gallery'                         => 'class.gallery.php',
             'C_Gallery_Mapper'                  => 'class.gallery_mapper.php',
             'C_Gallery_Storage'                 => 'class.gallery_storage.php',
-            'C_Gallerystorage_Base'             => 'class.gallerystorage_base.php',
-            'C_Gallerystorage_Driver_Base'      => 'class.gallerystorage_driver_base.php',
             'C_Image'                           => 'class.image.php',
             'C_Image_Mapper'                    => 'class.image_mapper.php',
             'C_Image_Wrapper'                   => 'class.image_wrapper.php',
             'C_Image_Wrapper_Collection'        => 'class.image_wrapper_collection.php',
             'C_NextGen_Data_Installer'          => 'class.nextgen_data_installer.php',
             'C_Nextgen_Metadata'                => 'class.nextgen_metadata.php',
-            'C_Ngglegacy_Gallerystorage_Driver' => 'class.ngglegacy_gallerystorage_driver.php',
-            'C_Ngglegacy_Thumbnail'             => 'class.ngglegacy_thumbnail.php',
-            'C_Wordpress_Gallerystorage_Driver' => 'class.wordpress_gallerystorage_driver.php',
-            'Mixin_NextGen_Table_Extras'        => 'mixin.nextgen_table_extras.php'
+			'C_Ngglegacy_Thumbnail'             => 'class.ngglegacy_thumbnail.php',
+			'C_Dynamic_Thumbnails_Manager' 			=> 'class.dynamic_thumbnails_manager.php',			
+            'Mixin_NextGen_Table_Extras'        => 'mixin.nextgen_table_extras.php',
+            'Mixin_GalleryStorage_Base'              => 'mixin.gallerystorage_base.php',
+            'Mixin_GalleryStorage_Base_Dynamic'      => 'mixin.gallerystorage_base_dynamic.php',
+            'Mixin_GalleryStorage_Base_Getters'      => 'mixin.gallerystorage_base_getters.php',
+            'Mixin_GalleryStorage_Base_Management'   => 'mixin.gallerystorage_base_management.php',
+            'Mixin_GalleryStorage_Base_MediaLibrary' => 'mixin.gallerystorage_base_medialibrary.php',
+            'Mixin_GalleryStorage_Base_Upload'       => 'mixin.gallerystorage_base_upload.php'
+
         );
     }
 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php
index cf3dc471c..28aae3804 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php
@@ -70,14 +70,6 @@ class A_NextGen_Data_Factory extends Mixin
     {
         return new C_Album($properties, $mapper, $context);
     }
-    function ngglegacy_gallery_storage($context = FALSE)
-    {
-        return new C_NggLegacy_GalleryStorage_Driver($context);
-    }
-    function wordpress_gallery_storage($context = FALSE)
-    {
-        return new C_WordPress_GalleryStorage_Driver($context);
-    }
     function gallery_storage($context = FALSE)
     {
         return new C_Gallery_Storage($context);
@@ -236,6 +228,371 @@ class Mixin_Album_Mapper extends Mixin
         }
     }
 }
+class Mixin_Dynamic_Thumbnails_Manager extends Mixin
+{
+    function get_route_name()
+    {
+        return C_NextGen_Settings::get_instance()->get('dynamic_thumbnail_slug');
+    }
+    function _get_params_sanitized($params)
+    {
+        if (isset($params['rotation'])) {
+            $rotation = intval($params['rotation']);
+            if ($rotation && in_array(abs($rotation), array(90, 180, 270))) {
+                $rotation = $rotation % 360;
+                if ($rotation < 0) {
+                    $rotation = 360 - $rotation;
+                }
+                $params['rotation'] = $rotation;
+            } else {
+                unset($params['rotation']);
+            }
+        }
+        if (isset($params['flip'])) {
+            $flip = strtolower($params['flip']);
+            if (in_array($flip, array('h', 'v', 'hv'))) {
+                $params['flip'] = $flip;
+            } else {
+                unset($params['flip']);
+            }
+        }
+        return $params;
+    }
+    function get_uri_from_params($params)
+    {
+        $params = $this->object->_get_params_sanitized($params);
+        $image = isset($params['image']) ? $params['image'] : null;
+        $image_id = is_scalar($image) || is_null($image) ? (int) $image : $image->pid;
+        $image_width = isset($params['width']) ? $params['width'] : null;
+        $image_height = isset($params['height']) ? $params['height'] : null;
+        $image_quality = isset($params['quality']) ? $params['quality'] : null;
+        $image_type = isset($params['type']) ? $params['type'] : null;
+        $image_crop = isset($params['crop']) ? $params['crop'] : null;
+        $image_watermark = isset($params['watermark']) ? $params['watermark'] : null;
+        $image_rotation = isset($params['rotation']) ? $params['rotation'] : null;
+        $image_flip = isset($params['flip']) ? $params['flip'] : null;
+        $image_reflection = isset($params['reflection']) ? $params['reflection'] : null;
+        $uri = null;
+        $uri .= '/';
+        $uri .= $this->object->get_route_name() . '/';
+        $uri .= strval($image_id) . '/';
+        $uri .= strval($image_width) . 'x' . strval($image_height);
+        if ($image_quality != null) {
+            $uri .= 'x' . strval($image_quality);
+        }
+        $uri .= '/';
+        if ($image_type != null) {
+            $uri .= $image_type . '/';
+        }
+        if ($image_crop) {
+            $uri .= 'crop/';
+        }
+        if ($image_watermark) {
+            $uri .= 'watermark/';
+        }
+        if ($image_rotation) {
+            $uri .= 'rotation-' . $image_rotation . '/';
+        }
+        if ($image_flip) {
+            $uri .= 'flip-' . $image_flip . '/';
+        }
+        if ($image_reflection) {
+            $uri .= 'reflection/';
+        }
+        return $uri;
+    }
+    function get_image_uri($image, $params)
+    {
+        $params['image'] = $image;
+        $uri = $this->object->get_uri_from_params($params);
+        if (substr($uri, -1) != '/') {
+            $uri .= '/';
+        }
+        $uri .= wp_hash($uri) . '/';
+        return $uri;
+    }
+    function get_image_url($image, $params)
+    {
+        return C_Router::get_instance()->get_url($this->object->get_image_uri($image, $params), FALSE, 'root');
+    }
+    function get_params_from_uri($uri)
+    {
+        $regex = '/\\/?' . $this->object->get_route_name() . '\\/(\\d+)(?:\\/(.*))?/';
+        $match = null;
+        // XXX move this URL clean up to I_Router?
+        $uri = preg_replace('/\\/index.php\\//', '/', $uri, 1);
+        $uri = trim($uri, '/');
+        if (@preg_match($regex, $uri, $match) > 0) {
+            $image_id = $match[1];
+            $uri_args = isset($match[2]) ? explode('/', $match[2]) : array();
+            $params = array('image' => $image_id);
+            foreach ($uri_args as $uri_arg) {
+                $uri_arg_set = explode('-', $uri_arg);
+                $uri_arg_name = array_shift($uri_arg_set);
+                $uri_arg_value = $uri_arg_set ? array_shift($uri_arg_set) : null;
+                $size_match = null;
+                if ($uri_arg == 'watermark') {
+                    $params['watermark'] = true;
+                } else {
+                    if ($uri_arg_name == 'rotation') {
+                        $params['rotation'] = $uri_arg_value;
+                    } else {
+                        if ($uri_arg_name == 'flip') {
+                            $params['flip'] = $uri_arg_value;
+                        } else {
+                            if ($uri_arg == 'reflection') {
+                                $params['reflection'] = true;
+                            } else {
+                                if ($uri_arg == 'crop') {
+                                    $params['crop'] = true;
+                                } else {
+                                    if (in_array(strtolower($uri_arg), array('gif', 'jpg', 'png'))) {
+                                        $params['type'] = $uri_arg;
+                                    } else {
+                                        if (preg_match('/(\\d+)x(\\d+)(?:x(\\d+))?/i', $uri_arg, $size_match) > 0) {
+                                            $params['width'] = $size_match[1];
+                                            $params['height'] = $size_match[2];
+                                            if (isset($size_match[3])) {
+                                                $params['quality'] = $size_match[3];
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return $this->object->_get_params_sanitized($params);
+        }
+        return null;
+    }
+    function _get_name_prefix_list()
+    {
+        return array('id' => 'nggid0', 'size' => 'ngg0dyn-', 'flags' => '00f0', 'flag' => array('w0' => 'watermark', 'c0' => 'crop', 'r1' => 'rotation', 'f1' => 'flip', 'r0' => 'reflection', 't0' => 'type'), 'flag_len' => 2, 'max_value_length' => 15);
+    }
+    function get_name_from_params($params, $only_size_name = false, $id_in_name = true)
+    {
+        $prefix_list = $this->object->_get_name_prefix_list();
+        $id_prefix = $prefix_list['id'];
+        $size_prefix = $prefix_list['size'];
+        $flags_prefix = $prefix_list['flags'];
+        $flags = $prefix_list['flag'];
+        $max_value_length = $prefix_list['max_value_length'];
+        $params = $this->object->_get_params_sanitized($params);
+        $image = isset($params['image']) ? $params['image'] : null;
+        $image_width = isset($params['width']) ? $params['width'] : null;
+        $image_height = isset($params['height']) ? $params['height'] : null;
+        $image_quality = isset($params['quality']) ? $params['quality'] : null;
+        $extension = null;
+        $name = null;
+        // if $only_size_name is false then we include the file name and image id for the image
+        if (!$only_size_name) {
+            if (is_int($image)) {
+                $imap = C_Image_Mapper::get_instance();
+                $image = $imap->find($image);
+            }
+            if ($image != null) {
+                // this is used to remove the extension and then add it back at the end of the name
+                $extension = M_I18n::mb_pathinfo($image->filename, PATHINFO_EXTENSION);
+                if ($extension != null) {
+                    $extension = '.' . $extension;
+                }
+                $name .= M_I18n::mb_basename($image->filename);
+                $name .= '-';
+                if ($id_in_name) {
+                    $image_id = strval($image->pid);
+                    $id_len = min($max_value_length, strlen($image_id));
+                    $id_len_hex = dechex($id_len);
+                    // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter
+                    if (strlen($id_len_hex) == 1) {
+                        $name .= $id_prefix . $id_len . substr($image_id, 0, $id_len);
+                        $name .= '-';
+                    }
+                }
+            }
+        }
+        $name .= $size_prefix;
+        $name .= strval($image_width) . 'x' . strval($image_height);
+        if ($image_quality != null) {
+            $name .= 'x' . $image_quality;
+        }
+        $name .= '-';
+        $name .= $flags_prefix;
+        foreach ($flags as $flag_prefix => $flag_name) {
+            $flag_value = 0;
+            if (isset($params[$flag_name])) {
+                $flag_value = $params[$flag_name];
+                if (!is_string($flag_value)) {
+                    // only strings or ints allowed, sprintf is required because intval(0) returns '' and not '0'
+                    $flag_value = intval($flag_value);
+                    $flag_value = sprintf('%d', $flag_value);
+                }
+            }
+            $flag_value = strval($flag_value);
+            $flag_len = min($max_value_length, strlen($flag_value));
+            $flag_len_hex = dechex($flag_len);
+            // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter
+            if (strlen($flag_len_hex) == 1) {
+                $name .= $flag_prefix . $flag_len . substr($flag_value, 0, $flag_len);
+            }
+        }
+        $name .= $extension;
+        return $name;
+    }
+    function get_size_name($params)
+    {
+        $name = $this->object->get_name_from_params($params, true);
+        return $name;
+    }
+    function get_image_name($image, $params)
+    {
+        $params['image'] = $image;
+        $name = $this->object->get_name_from_params($params);
+        return $name;
+    }
+    function get_params_from_name($name, $is_only_size_name = false)
+    {
+        $prefix_list = $this->object->_get_name_prefix_list();
+        $id_prefix = $prefix_list['id'];
+        $size_prefix = $prefix_list['size'];
+        $flags_prefix = $prefix_list['flags'];
+        $max_value_length = $prefix_list['max_value_length'];
+        $size_name = null;
+        $id_name = null;
+        $params = array();
+        if (!$is_only_size_name) {
+            $extension = M_I18n::mb_pathinfo($name, PATHINFO_EXTENSION);
+            if ($extension != null) {
+                $extension = '.' . $extension;
+            }
+            $name = M_I18n::mb_basename($name);
+        }
+        $size_index = strrpos($name, $size_prefix);
+        if ($size_index > 0 || $size_index === 0) {
+            // check if name contains dynamic size/params info by looking for prefix
+            $size_name = substr($name, $size_index);
+        }
+        if (!$is_only_size_name) {
+            // name should contain the image id, search for prefix
+            $id_index = strrpos($name, $id_prefix);
+            if ($id_index > 0 || $id_index === 0) {
+                if ($size_index > 0 && $size_index > $id_index) {
+                    $id_name = substr($name, $id_index, $size_index - $id_index);
+                } else {
+                    $id_name = substr($name, $id_index);
+                }
+            }
+        }
+        // Double check we got a correct dynamic size/params string
+        if (substr($size_name, 0, strlen($size_prefix)) == $size_prefix) {
+            $flags = $prefix_list['flag'];
+            // get the length of the flag id (the key in the $flags array) in the string (how many characters to consume)
+            $flag_id_len = $prefix_list['flag_len'];
+            $params_str = substr($size_name, strlen($size_prefix));
+            $params_parts = explode('-', $params_str);
+            // $param_part is a single param, separated by '-'
+            foreach ($params_parts as $param_part) {
+                // Parse WxHxQ - Q=quality
+                $param_size = explode('x', $param_part);
+                $param_size_count = count($param_size);
+                if (substr($param_part, 0, strlen($flags_prefix)) == $flags_prefix) {
+                    /* Set flags, using $flags keys as prefixes */
+                    // move string pointer up (after the main flags prefix)
+                    $param_flags = substr($param_part, strlen($flags_prefix));
+                    $param_flags_len = strlen($param_flags);
+                    $flags_todo = $flags;
+                    while (true) {
+                        // ensure we don't run into an infinite loop ;)
+                        if (count($flags_todo) == 0 || strlen($param_flags) == 0) {
+                            break;
+                        }
+                        // get the flag prefix (a key in the $flags array) using flag id length
+                        $flag_prefix = substr($param_flags, 0, $flag_id_len);
+                        // move string pointer up (after the single flag prefix)
+                        $param_flags = substr($param_flags, $flag_id_len);
+                        // get the length of the flag value in the string (how many characters to consume)
+                        // flag value length is stored in a single hexadecimal character next to the flag prefix
+                        $flag_value_len = min(hexdec(substr($param_flags, 0, 1)), min($max_value_length, strlen($param_flags) - 1));
+                        // get the flag value
+                        $flag_value = substr($param_flags, 1, $flag_value_len);
+                        // move string pointer up (after the entire flag)
+                        $param_flags = substr($param_flags, $flag_value_len + 1);
+                        // make sure the flag is supported
+                        if (isset($flags[$flag_prefix])) {
+                            $flag_name = $flags[$flag_prefix];
+                            if (is_numeric($flag_value)) {
+                                // convert numerical flags to integers
+                                $flag_value = intval($flag_value);
+                            }
+                            $params[$flag_name] = $flag_value;
+                            if (isset($flags_todo[$flag_prefix])) {
+                                unset($flags_todo[$flag_prefix]);
+                            }
+                        } else {
+                            // XXX unknown flag?
+                        }
+                    }
+                } else {
+                    if ($param_size_count == 2 || $param_size_count == 3) {
+                        // Set W H Q
+                        $params['width'] = intval($param_size[0]);
+                        $params['height'] = intval($param_size[1]);
+                        if (isset($param_size[2]) && intval($param_size[2]) > 0) {
+                            $params['quality'] = intval($param_size[2]);
+                        }
+                    }
+                }
+            }
+        }
+        // Double check we got a correct id string
+        if (substr($id_name, 0, strlen($id_prefix)) == $id_prefix) {
+            // move string pointer up (after the prefix)
+            $id_name = substr($id_name, strlen($id_prefix));
+            // get the length of the image id in the string (how many characters to consume)
+            $id_len = min(hexdec(substr($id_name, 0, 1)), min($max_value_length, strlen($id_name) - 1));
+            // get the id based on old position and id length
+            $image_id = intval(substr($id_name, 1, $id_len));
+            if ($image_id > 0) {
+                $params['image'] = $image_id;
+            }
+        }
+        return $this->object->_get_params_sanitized($params);
+    }
+    function is_size_dynamic($name, $is_only_size_name = false)
+    {
+        $params = $this->object->get_params_from_name($name, $is_only_size_name);
+        if (isset($params['width']) && isset($params['height'])) {
+            return true;
+        }
+        return false;
+    }
+}
+/**
+ * Class C_Dynamic_Thumbnails_Manager
+ * @mixin Mixin_Dynamic_Thumbnails_Manager
+ */
+class C_Dynamic_Thumbnails_Manager extends C_Component
+{
+    static $_instances = array();
+    function define($context = FALSE)
+    {
+        parent::define($context);
+        $this->implement('I_Dynamic_Thumbnails_Manager');
+        $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager');
+    }
+    /**
+     * @param bool|string $context
+     * @return C_Dynamic_Thumbnails_Manager
+     */
+    static function get_instance($context = False)
+    {
+        if (!isset(self::$_instances[$context])) {
+            self::$_instances[$context] = new C_Dynamic_Thumbnails_Manager($context);
+        }
+        return self::$_instances[$context];
+    }
+}
 class C_Exif_Writer_Wrapper
 {
     // Because our C_Exif_Writer class relies on PEL (a library which uses namespaces) we wrap
@@ -265,6 +622,18 @@ class C_Exif_Writer_Wrapper
         self::load_pel();
         return @C_Exif_Writer::read_metadata($filename);
     }
+    /**
+     * @param array $exif
+     * @return array
+     */
+    public static function reset_orientation($exif = array())
+    {
+        if (!M_NextGen_Data::check_pel_min_php_requirement()) {
+            return array();
+        }
+        self::load_pel();
+        return @C_Exif_Writer::reset_orientation($exif);
+    }
     /**
      * @param $filename
      * @param $metadata
@@ -309,22 +678,15 @@ class Mixin_NextGen_Gallery_Validation
             }
         }
         // Set what will be the path to the gallery
+        $storage = C_Gallery_Storage::get_instance();
         if (!$this->object->path) {
-            $storage = C_Gallery_Storage::get_instance();
-            $this->object->path = $storage->get_upload_relpath($this->object);
-            unset($storage);
-        } else {
-            $this->object->path = M_NextGen_Data::strip_html($this->object->path);
-            $this->object->path = str_replace(array('"', "''", ">", "<"), array('', '', '', ''), $this->object->path);
+            $this->object->path = $storage->get_gallery_relpath($this->object);
         }
         // Ensure that the gallery path is restricted to $fs->get_document_root('galleries')
         $fs = C_Fs::get_instance();
         $root = $fs->get_document_root('galleries');
-        $gallery_abspath = $fs->get_absolute_path($fs->join_paths($root, $this->object->path));
-        $storage = C_Gallery_Storage::get_instance();
-        if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) {
-            $gallery_abspath = DIRECTORY_SEPARATOR . $gallery_abspath;
-        }
+        $storage->flush_gallery_path_cache($this->object);
+        $gallery_abspath = $storage->get_gallery_abspath($this->object);
         if (strpos($gallery_abspath, $root) === FALSE) {
             $this->object->add_error(sprintf(__("Gallery path must be located in %s", 'nggallery'), $root), 'gallerypath');
             $this->object->path = $storage->get_upload_relpath($this->object);
@@ -338,7 +700,7 @@ class Mixin_NextGen_Gallery_Validation
         // Establish some rules on where galleries can go
         $abspath = $storage->get_gallery_abspath($this->object);
         // Galleries should at least be a sub-folder, not directly in WP_CONTENT
-        $not_directly_in = array('content' => WP_CONTENT_DIR, 'wordpress root' => $fs->get_document_root());
+        $not_directly_in = array('content' => wp_normalize_path(WP_CONTENT_DIR), 'wordpress root' => $fs->get_document_root());
         if (!empty($_SERVER['DOCUMENT_ROOT'])) {
             $not_directly_in['document root'] = $_SERVER['DOCUMENT_ROOT'];
         }
@@ -347,8 +709,9 @@ class Mixin_NextGen_Gallery_Validation
                 $this->object->add_error(sprintf(__("Gallery path must be a sub-directory under the %s directory", 'nggallery'), $label), 'gallerypath');
             }
         }
+        $ABSPATH = wp_normalize_path(ABSPATH);
         // Disallow galleries from being under these directories at all
-        $not_ever_in = array('plugins' => WP_PLUGIN_DIR, 'must use plugins' => WPMU_PLUGIN_DIR, 'wp-admin' => $fs->join_paths(ABSPATH, 'wp-admin'), 'wp-includes' => $fs->join_paths(ABSPATH, 'wp-admin'), 'themes' => get_theme_root());
+        $not_ever_in = array('plugins' => wp_normalize_path(WP_PLUGIN_DIR), 'must use plugins' => wp_normalize_path(WPMU_PLUGIN_DIR), 'wp-admin' => $fs->join_paths($ABSPATH, 'wp-admin'), 'wp-includes' => $fs->join_paths($ABSPATH, 'wp-admin'), 'themes' => get_theme_root());
         foreach ($not_ever_in as $label => $dir) {
             if (strpos($abspath, $dir) === 0) {
                 $this->object->add_error(sprintf(__("Gallery path cannot be under %s directory", 'nggallery'), $label), 'gallerypath');
@@ -456,7 +819,7 @@ class C_Gallery_Mapper extends C_CustomTable_DataMapper_Driver
      */
     public static function get_instance($context = False)
     {
-        if (is_null(self::$_instance)) {
+        if (!self::$_instance) {
             $klass = get_class();
             self::$_instance = new $klass($context);
         }
@@ -476,10 +839,10 @@ class Mixin_Gallery_Mapper extends Mixin
     }
     function _save_entity($entity)
     {
+        $storage = C_Gallery_Storage::get_instance();
         // A bug in NGG 2.1.24 allowed galleries to be created with spaces in the directory name, unreplaced by dashes
         // This causes a few problems everywhere, so we here allow users a way to fix those galleries by just re-saving
         if (FALSE !== strpos($entity->path, ' ')) {
-            $storage = C_Gallery_Storage::get_instance();
             $abspath = $storage->get_gallery_abspath($entity->{$entity->id_field});
             $pre_path = $entity->path;
             $entity->path = str_replace(' ', '-', $entity->path);
@@ -508,6 +871,7 @@ class Mixin_Gallery_Mapper extends Mixin
         }
         $retval = $this->call_parent('_save_entity', $entity);
         if ($retval) {
+            wp_mkdir_p($storage->get_gallery_abspath($entity));
             do_action('ngg_created_new_gallery', $entity->{$entity->id_field});
             C_Photocrati_Transient_Manager::flush('displayed_gallery_rendering');
         }
@@ -585,100 +949,6 @@ class Mixin_Gallery_Mapper extends Mixin
         $this->object->_set_default_value($entity, 'author', get_current_user_id());
     }
 }
-class GalleryStorageDriverNotSelectedException extends RuntimeException
-{
-    function __construct($message = '', $code = NULL, $previous = NULL)
-    {
-        if (!$message) {
-            $message = "No gallery storage driver selected.";
-        }
-        parent::__construct($message, $code, $previous);
-    }
-}
-class Mixin_GalleryStorage extends Mixin
-{
-    /**
-     * Returns the name of the class which provides the gallerystorage implementation
-     * @param string|bool $context (optional)
-     * @return string
-     */
-    function _get_driver_factory_method($context = FALSE)
-    {
-        $factory_method = '';
-        // No constant has been defined to establish a global gallerystorage driver
-        if (!defined('GALLERYSTORAGE_DRIVER')) {
-            // Get the datamapper configured in the database
-            $factory_method = C_NextGen_Settings::get_instance()->gallerystorage_driver;
-            // Define a constant and use this as the global gallerystorage driver,
-            // unless running in a SimpleTest Environment
-            if (!isset($GLOBALS['SIMPLE_TEST_RUNNING'])) {
-                define('GALLERYSTORAGE_DRIVER', $factory_method);
-            }
-        } else {
-            $factory_method = GALLERYSTORAGE_DRIVER;
-        }
-        return $factory_method;
-    }
-}
-class C_GalleryStorage_Base extends C_Component
-{
-    /**
-     * Gets the url or path of an image of a particular size
-     * @param string $method
-     * @param array $args
-     * @return mixed
-     */
-    function __call($method, $args)
-    {
-        if (preg_match("/^get_(\\w+)_(abspath|url|dimensions|html|size_params)\$/", $method, $match)) {
-            if (isset($match[1]) && isset($match[2]) && !$this->has_method($method)) {
-                $method = 'get_image_' . $match[2];
-                $args[] = $match[1];
-                // array($image, $size)
-                return parent::__call($method, $args);
-            }
-        }
-        return parent::__call($method, $args);
-    }
-}
-/**
- * Class C_Gallery_Storage
- * @mixin Mixin_GalleryStorage
- * @implements I_Gallery_Storage
- */
-class C_Gallery_Storage extends C_GalleryStorage_Base
-{
-    public static $_instances = array();
-    function define($context = FALSE)
-    {
-        parent::define($context);
-        $this->add_mixin('Mixin_GalleryStorage');
-        $this->wrap('I_GalleryStorage_Driver', array(&$this, '_get_driver'), $context);
-        $this->implement('I_Gallery_Storage');
-    }
-    /**
-     * @param bool|string $context
-     * @return C_Gallery_Storage
-     */
-    static function get_instance($context = False)
-    {
-        if (!isset(self::$_instances[$context])) {
-            self::$_instances[$context] = new C_Gallery_Storage($context);
-        }
-        return self::$_instances[$context];
-    }
-    /**
-     * Returns the implementation for the gallerystorage
-     * @param string $context
-     * @return mixed
-     */
-    function _get_driver($context)
-    {
-        $factory_method = $this->_get_driver_factory_method($context);
-        $factory = C_Component_Factory::get_instance();
-        return $factory->create($factory_method, FALSE, $context);
-    }
-}
 class E_UploadException extends E_NggErrorException
 {
     function __construct($message = '', $code = NULL, $previous = NULL)
@@ -738,2965 +1008,2403 @@ class E_No_Image_Library_Exception extends E_NggErrorException
         }
     }
 }
-class Mixin_GalleryStorage_Driver_Base extends Mixin
+/**
+ * Class C_Gallery_Storage
+ * @implements I_Gallery_Storage
+ * @mixin Mixin_GalleryStorage_Base
+ * @mixin Mixin_GalleryStorage_Base_Dynamic
+ * @mixin Mixin_GalleryStorage_Base_Getters
+ * @mixin Mixin_GalleryStorage_Base_Management
+ * @mixin Mixin_GalleryStorage_Base_MediaLibrary
+ * @mixin Mixin_GalleryStorage_Base_Upload
+ */
+class C_Gallery_Storage extends C_Component
 {
-    /**
-     * Set correct file permissions (taken from wp core). Should be called
-     * after writing any file
-     *
-     * @class nggAdmin
-     * @param string $filename
-     * @return bool $result
-     */
-    function _chmod($filename = '')
+    public static $_instances = array();
+    function define($context = FALSE)
     {
-        $stat = @stat(dirname($filename));
-        $perms = $stat['mode'] & 0666;
-        // Remove execute bits for files
-        if (@chmod($filename, $perms)) {
-            return TRUE;
-        }
-        return FALSE;
+        parent::define($context);
+        $this->add_mixin('Mixin_GalleryStorage_Base');
+        $this->add_mixin('Mixin_GalleryStorage_Base_Dynamic');
+        $this->add_mixin('Mixin_GalleryStorage_Base_Getters');
+        $this->add_mixin('Mixin_GalleryStorage_Base_Management');
+        $this->add_mixin('Mixin_GalleryStorage_Base_MediaLibrary');
+        $this->add_mixin('Mixin_GalleryStorage_Base_Upload');
+        $this->implement('I_Gallery_Storage');
+        $this->implement('I_GalleryStorage_Driver');
+        // backwards compatibility
     }
     /**
-     * Gets the id of a gallery, regardless of whether an integer
-     * or object was passed as an argument
-     * @param mixed $gallery_obj_or_id
-     * @return null|int
+     * Provides some aliases to defined methods; thanks to this a call to C_Gallery_Storage->get_thumb_url() is
+     * translated to C_Gallery_Storage->get_image_url('thumb').
+     * TODO: Remove this 'magic' method so that our code is always understandable without needing deep context
+     * @param string $method
+     * @param array $args
+     * @return mixed
+     * @throws Exception
      */
-    function _get_gallery_id($gallery_obj_or_id)
+    function __call($method, $args)
     {
-        $retval = NULL;
-        $gallery_key = $this->object->_gallery_mapper->get_primary_key_column();
-        if (is_object($gallery_obj_or_id)) {
-            if (isset($gallery_obj_or_id->{$gallery_key})) {
-                $retval = $gallery_obj_or_id->{$gallery_key};
+        if (preg_match("/^get_(\\w+)_(abspath|url|dimensions|html|size_params)\$/", $method, $match)) {
+            if (isset($match[1]) && isset($match[2]) && !$this->has_method($method)) {
+                $method = 'get_image_' . $match[2];
+                $args[] = $match[1];
+                return parent::__call($method, $args);
             }
-        } elseif (is_numeric($gallery_obj_or_id)) {
-            $retval = $gallery_obj_or_id;
         }
-        return $retval;
+        return parent::__call($method, $args);
     }
     /**
-     * Gets the id of an image, regardless of whether an integer
-     * or object was passed as an argument
-     * @param object|int $image_obj_or_id
-     * @return null|int
+     * For compatibility reasons, we include this method. This used to be used to get the underlying storage driver.
+     * Necessary for Imagify integration
      */
-    function _get_image_id($image_obj_or_id)
+    function &get_wrapped_instance()
     {
-        $retval = NULL;
-        $image_key = $this->object->_image_mapper->get_primary_key_column();
-        if (is_object($image_obj_or_id)) {
-            if (isset($image_obj_or_id->{$image_key})) {
-                $retval = $image_obj_or_id->{$image_key};
-            }
-        } elseif (is_numeric($image_obj_or_id)) {
-            $retval = $image_obj_or_id;
-        }
-        return $retval;
+        return $this;
     }
-    function convert_slashes($path)
+    function initialize()
     {
-        $search = array('/', "\\");
-        $replace = array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR);
-        return str_replace($search, $replace, $path);
+        parent::initialize();
+        $this->_gallery_mapper = C_Gallery_Mapper::get_instance();
+        $this->_image_mapper = C_Image_Mapper::get_instance();
     }
-    function delete_directory($abspath)
+    /**
+     * @param bool|string $context
+     * @return C_Gallery_Storage
+     */
+    static function get_instance($context = False)
     {
-        $retval = FALSE;
-        if (@file_exists($abspath)) {
-            $files = scandir($abspath);
-            array_shift($files);
-            array_shift($files);
-            foreach ($files as $file) {
-                $file_abspath = implode(DIRECTORY_SEPARATOR, array(rtrim($abspath, "/\\"), $file));
-                if (is_dir($file_abspath)) {
-                    $this->object->delete_directory($file_abspath);
-                } else {
-                    unlink($file_abspath);
-                }
-            }
-            rmdir($abspath);
-            $retval = @file_exists($abspath);
+        if (!isset(self::$_instances[$context])) {
+            self::$_instances[$context] = new C_Gallery_Storage($context);
         }
-        return $retval;
+        return self::$_instances[$context];
     }
-    /**
-     * Backs up an image file
-     *
-     * @param int|object $image
-     * @return bool
-     */
-    function backup_image($image)
+}
+class Mixin_NextGen_Gallery_Image_Validation extends Mixin
+{
+    function validation()
     {
-        $retval = FALSE;
-        $image_path = $this->object->get_image_abspath($image);
-        if ($image_path && @file_exists($image_path)) {
-            $retval = copy($image_path, $this->object->get_backup_abspath($image));
-            // Store the dimensions of the image
-            if (function_exists('getimagesize')) {
-                $mapper = C_Image_Mapper::get_instance();
-                if (!is_object($image)) {
-                    $image = $mapper->find($image);
-                }
-                if ($image) {
-                    if (!property_exists($image, 'meta_data')) {
-                        $image->meta_data = array();
-                    }
-                    $dimensions = getimagesize($image_path);
-                    $image->meta_data['backup'] = array('filename' => basename($image_path), 'width' => $dimensions[0], 'height' => $dimensions[1], 'generated' => microtime());
-                    $mapper->save($image);
-                }
-            }
+        // Additional checks...
+        if (isset($this->object->description)) {
+            $this->object->description = M_NextGen_Data::strip_html($this->object->description, TRUE);
         }
-        return $retval;
+        if (isset($this->object->alttext)) {
+            $this->object->alttext = M_NextGen_Data::strip_html($this->object->alttext, TRUE);
+        }
+        $this->validates_presence_of('galleryid', 'filename', 'alttext', 'exclude', 'sortorder', 'imagedate');
+        $this->validates_numericality_of('galleryid');
+        $this->validates_numericality_of($this->id());
+        $this->validates_numericality_of('sortorder');
+        $this->validates_length_of('filename', 185, '<=', __('Image filenames may not be longer than 185 characters in length', 'nextgen-gallery'));
+        return $this->object->is_valid();
+    }
+}
+/**
+ * Model for NextGen Gallery Images
+ * @mixin Mixin_NextGen_Gallery_Image_Validation
+ * @implements I_Image
+ */
+class C_Image extends C_DataMapper_Model
+{
+    var $_mapper_interface = 'I_Image_Mapper';
+    function define($properties = array(), $mapper = FALSE, $context = FALSE)
+    {
+        parent::define($mapper, $properties, $context);
+        $this->add_mixin('Mixin_NextGen_Gallery_Image_Validation');
+        $this->implement('I_Image');
     }
     /**
-     * Copies images into another gallery
-     * @param array $images
-     * @param int|object $gallery
-     * @param boolean $db optionally only copy the image files
-     * @param boolean $move move the image instead of copying
-     * @return bool
+     * Instantiates a new model
+     * @param array|stdClass $properties (optional)
+     * @param C_Image_Mapper|false $mapper (optional)
+     * @param string|false $context (optional)
      */
-    function copy_images($images, $gallery, $db = TRUE, $move = FALSE)
+    function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
     {
-        $retval = FALSE;
-        // Ensure we have a valid gallery
-        if ($gallery = $this->object->_get_gallery_id($gallery)) {
-            $gallery_path = $this->object->get_gallery_abspath($gallery);
-            $image_key = $this->object->_image_mapper->get_primary_key_column();
-            $retval = TRUE;
-            $fs = C_Fs::get_instance();
-            // Iterate through each image to copy...
-            foreach ($images as $image) {
-                // Copy each image size
-                foreach ($this->object->get_image_sizes() as $size) {
-                    $image_path = $this->object->get_image_abspath($image, $size);
-                    $dst = $fs->join_paths($gallery_path, M_I18n::mb_basename($image_path));
-                    $success = $move ? move($image_path, $dst) : copy($image_path, $dst);
-                    if (!$success) {
-                        $retval = FALSE;
-                    }
-                }
-                // Copy the db entry
-                if ($db) {
-                    if (is_numeric($image)) {
-                        $this->object->_image_mapper($image);
-                    }
-                    unset($image->{$image_key});
-                    $image->galleryid = $gallery;
-                }
-            }
+        if (!$mapper) {
+            $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
         }
-        return $retval;
+        parent::initialize($mapper, $properties);
     }
     /**
-     * Empties the gallery cache directory of content
-     * @param object $gallery
+     * Returns the model representing the gallery associated with this image
+     * @param object|false $model (optional)
+     * @return C_Gallery|object
      */
-    function flush_cache($gallery)
+    function get_gallery($model = FALSE)
     {
-        $cache = C_Cache::get_instance();
-        $cache->flush_directory($this->object->get_cache_abspath($gallery));
+        return C_Gallery_Mapper::get_instance()->find($this->galleryid, $model);
     }
+}
+/**
+ * Class C_Image_Mapper
+ * @mixin Mixin_NextGen_Table_Extras
+ * @mixin Mixin_Gallery_Image_Mapper
+ * @implements I_Image_Mapper
+ */
+class C_Image_Mapper extends C_CustomTable_DataMapper_Driver
+{
+    public static $_instance = NULL;
     /**
-     * Gets the absolute path of the backup of an original image
-     * @param string $image
-     * @return null|string
+     * Defines the gallery image mapper
+     * @param string|false $context (optional)
+     * @param mixed $not_used
      */
-    function get_backup_abspath($image)
+    function define($context = FALSE, $not_used = FALSE)
     {
-        $retval = null;
-        if ($image_path = $this->object->get_image_abspath($image)) {
-            $retval = $image_path . '_backup';
+        // Add 'attachment' context
+        if (!is_array($context)) {
+            $context = array($context);
         }
-        return $retval;
-    }
-    function get_backup_dimensions($image)
-    {
-        return $this->object->get_image_dimensions($image, 'backup');
+        array_push($context, 'attachment');
+        // Define the mapper
+        $this->_primary_key_column = 'pid';
+        parent::define('ngg_pictures', $context);
+        $this->add_mixin('Mixin_NextGen_Table_Extras');
+        $this->add_mixin('Mixin_Gallery_Image_Mapper');
+        $this->implement('I_Image_Mapper');
+        $this->set_model_factory_method('image');
+        // Define the columns
+        $this->define_column('pid', 'BIGINT', 0);
+        $this->define_column('image_slug', 'VARCHAR(255)');
+        $this->define_column('post_id', 'BIGINT', 0);
+        $this->define_column('galleryid', 'BIGINT', 0);
+        $this->define_column('filename', 'VARCHAR(255)');
+        $this->define_column('description', 'TEXT');
+        $this->define_column('alttext', 'TEXT');
+        $this->define_column('imagedate', 'DATETIME');
+        $this->define_column('exclude', 'INT', 0);
+        $this->define_column('sortorder', 'BIGINT', 0);
+        $this->define_column('meta_data', 'TEXT');
+        $this->define_column('extras_post_id', 'BIGINT', 0);
+        $this->define_column('updated_at', 'BIGINT');
+        // Mark the columns which should be unserialized
+        $this->add_serialized_column('meta_data');
     }
-    function get_backup_url($image)
+    function initialize($object_name = FALSE)
     {
-        return $this->object->get_image_url($image, 'backup');
+        parent::initialize('ngg_pictures');
     }
     /**
-     * Returns the absolute path to the cache directory of a gallery.
-     *
-     * Without the gallery parameter the legacy (pre 2.0) shared directory is returned.
-     *
-     * @param int|object|false|C_Gallery $gallery (optional)
-     * @return string Absolute path to cache directory
+     * @param bool|string $context
+     * @return C_Image_Mapper
      */
-    function get_cache_abspath($gallery = FALSE)
+    static function get_instance($context = False)
     {
-        $retval = NULL;
-        if (FALSE == $gallery) {
-            $gallerypath = C_NextGen_Settings::get_instance()->gallerypath;
-            $retval = implode(DIRECTORY_SEPARATOR, array(rtrim(C_Fs::get_instance()->get_document_root('gallery'), "/\\"), rtrim($gallerypath, "/\\"), 'cache'));
-        } else {
-            if (is_numeric($gallery)) {
-                $gallery = $this->object->_gallery_mapper->find($gallery);
-            }
-            $retval = rtrim(implode(DIRECTORY_SEPARATOR, array($this->object->get_gallery_abspath($gallery), 'dynamic')), "/\\");
+        if (is_null(self::$_instance)) {
+            $klass = get_class();
+            self::$_instance = new $klass($context);
         }
-        return $retval;
+        return self::$_instance;
     }
-    /**
-     * Gets the absolute path where the full-sized image is stored
-     * @param int|object $image
-     * @return null|string
-     */
-    function get_full_abspath($image)
+}
+/**
+ * Sets the alttext property as the post title
+ */
+class Mixin_Gallery_Image_Mapper extends Mixin
+{
+    function destroy($image)
     {
-        return $this->object->get_image_abspath($image, 'full');
+        $retval = $this->call_parent('destroy', $image);
+        // Delete tag associations with the image
+        if (!is_numeric($image)) {
+            $image = $image->{$image->id_field};
+        }
+        wp_delete_object_term_relationships($image, 'ngg_tag');
+        C_Photocrati_Transient_Manager::flush('displayed_gallery_rendering');
+        return $retval;
     }
-    /**
-     * Alias to get_image_dimensions()
-     * @param int|object $image
-     * @return array
-     */
-    function get_full_dimensions($image)
+    function _save_entity($entity)
     {
-        return $this->object->get_image_dimensions($image, 'full');
+        $entity->updated_at = time();
+        // If successfully saved then import metadata
+        $retval = $this->call_parent('_save_entity', $entity);
+        if ($retval) {
+            include_once NGGALLERY_ABSPATH . '/admin/functions.php';
+            $image_id = $this->get_id($entity);
+            if (!isset($entity->meta_data['saved'])) {
+                nggAdmin::import_MetaData($image_id);
+            }
+            C_Photocrati_Transient_Manager::flush('displayed_gallery_rendering');
+        }
+        return $retval;
     }
-    /**
-     * Alias to get_image_html()
-     * @param int|object $image
-     * @return string
-     */
-    function get_full_html($image)
+    function reimport_metadata($image_or_id)
     {
-        return $this->object->get_image_html($image, 'full');
+        // Get the image
+        $image = NULL;
+        if (is_int($image_or_id)) {
+            $image = $this->object->find($image_or_id);
+        } else {
+            $image = $image_or_id;
+        }
+        // Reset all image details that would have normally been imported
+        if (is_array($image->meta_data)) {
+            unset($image->meta_data['saved']);
+        }
+        nggAdmin::import_MetaData($image);
+        return $this->object->save($image);
     }
     /**
-     * Alias for get_original_url()
-     *
-     * @param int|stdClass|C_Image $image
-     * @param bool $check_existance (optional)
-     * @return string
+     * Retrieves the id from an image
+     * @param $image
+     * @return bool
      */
-    function get_full_url($image, $check_existance = FALSE)
-    {
-        return $this->object->get_image_url($image, 'full', $check_existance);
-    }
-    function get_image_checksum($image, $size = 'full')
+    function get_id($image)
     {
-        $retval = NULL;
-        if ($image_abspath = $this->get_image_abspath($image, $size, TRUE)) {
-            $retval = md5_file($image_abspath);
-        }
-        return $retval;
+        $retval = FALSE;
+        // Have we been passed an entity and is the id_field set?
+        if ($image instanceof stdClass) {
+            if (isset($image->id_field)) {
+                $retval = $image->{$image->id_field};
+            }
+        } else {
+            $retval = $image->id();
+        }
+        // If we still don't have an id, then we'll lookup the primary key
+        // and try fetching it manually
+        if (!$retval) {
+            $key = $this->object->get_primary_key_column();
+            $retval = $image->{$key};
+        }
+        return $retval;
+    }
+    function get_post_title($entity)
+    {
+        return $entity->alttext;
+    }
+    function set_defaults($entity)
+    {
+        // If not set already, we'll add an exclude property. This is used
+        // by NextGEN Gallery itself, as well as the Attach to Post module
+        $this->object->_set_default_value($entity, 'exclude', 0);
+        // Ensure that the object has a description attribute
+        $this->object->_set_default_value($entity, 'description', '');
+        // If not set already, set a default sortorder
+        $this->object->_set_default_value($entity, 'sortorder', 0);
+        // The imagedate must be set
+        if (!isset($entity->imagedate) or is_null($entity->imagedate) or $entity->imagedate == '0000-00-00 00:00:00') {
+            $entity->imagedate = date("Y-m-d H:i:s");
+        }
+        // If a filename is set, and no alttext is set, then set the alttext
+        // to the basename of the filename (legacy behavior)
+        if (isset($entity->filename)) {
+            $path_parts = M_I18n::mb_pathinfo($entity->filename);
+            $alttext = !isset($path_parts['filename']) ? substr($path_parts['basename'], 0, strpos($path_parts['basename'], '.')) : $path_parts['filename'];
+            $this->object->_set_default_value($entity, 'alttext', $alttext);
+        }
+        // Set unique slug
+        if (isset($entity->alttext) && empty($entity->image_slug)) {
+            $entity->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($entity->alttext), 'image');
+        }
+        // Ensure that the exclude parameter is an integer or boolean-evaluated
+        // value
+        if (is_string($entity->exclude)) {
+            $entity->exclude = intval($entity->exclude);
+        }
+        // Trim alttext and description
+        $entity->description = trim($entity->description);
+        $entity->alttext = trim($entity->alttext);
     }
     /**
-     * Gets the dimensions for a particular-sized image
+     * Finds all images for a gallery
+     * @param $gallery
+     * @param bool $model
      *
-     * @param int|object $image
-     * @param string $size
-     * @return null|array
+     * @return array
      */
-    function get_image_dimensions($image, $size = 'full')
+    function find_all_for_gallery($gallery, $model = FALSE)
     {
-        $retval = NULL;
-        // If an image id was provided, get the entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
-        }
-        // Ensure we have a valid image
-        if ($image) {
-            // Adjust size parameter
-            switch ($size) {
-                case 'original':
-                    $size = 'full';
-                    break;
-                case 'thumbnails':
-                case 'thumbnail':
-                case 'thumb':
-                case 'thumbs':
-                    $size = 'thumbnail';
-                    break;
-            }
-            // Image dimensions are stored in the $image->meta_data
-            // property for all implementations
-            if (isset($image->meta_data) && isset($image->meta_data[$size])) {
-                $retval = $image->meta_data[$size];
+        $retval = array();
+        $gallery_id = 0;
+        if (is_object($gallery)) {
+            if (isset($gallery->id_field)) {
+                $gallery_id = $gallery->{$gallery->id_field};
             } else {
-                $abspath = $this->object->get_image_abspath($image, $size);
-                if (@file_exists($abspath)) {
-                    $dims = getimagesize($abspath);
-                    if ($dims) {
-                        $retval['width'] = $dims[0];
-                        $retval['height'] = $dims[1];
-                    }
-                } elseif ($size == 'backup') {
-                    $retval = $this->object->get_image_dimensions($image, 'full');
+                $key = $this->object->get_primary_key_column();
+                if (isset($gallery->{$key})) {
+                    $gallery_id = $gallery->{$key};
                 }
             }
+        } elseif (is_numeric($gallery)) {
+            $gallery_id = $gallery;
+        }
+        if ($gallery_id) {
+            $retval = $this->object->select()->where(array("galleryid = %s", $gallery_id))->run_query(FALSE, $model);
         }
         return $retval;
     }
+}
+/**
+ * This class provides a lazy-loading wrapper to the NextGen-Legacy "nggImage" class for use in legacy style templates
+ */
+class C_Image_Wrapper
+{
+    public $_cache;
+    // cache of retrieved values
+    public $_settings;
+    // I_Settings_Manager cache
+    public $_storage;
+    // I_Gallery_Storage cache
+    public $_galleries;
+    // cache of I_Gallery_Mapper (plural)
+    public $_orig_image;
+    // original provided image
+    public $_orig_image_id;
+    // original image ID
+    public $_cache_overrides;
+    // allow for forcing variable values
+    public $_legacy = FALSE;
+    public $_displayed_gallery;
+    // cached object
     /**
-     * Gets the HTML for an image
-     * @param int|object $image
-     * @param string $size
-     * @param array $attributes (optional)
-     * @return string
+     * Constructor. Converts the image class into an array and fills from defaults any missing values
+     *
+     * @param object $image Individual result from displayed_gallery->get_entities()
+     * @param object $displayed_gallery Displayed gallery -- MAY BE NULL
+     * @param bool $legacy Whether the image source is from NextGen Legacy or NextGen
+     * @return void
      */
-    function get_image_html($image, $size = 'full', $attributes = array())
+    public function __construct($image, $displayed_gallery = NULL, $legacy = FALSE)
     {
-        $retval = "";
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
+        // for clarity
+        if ($displayed_gallery && isset($displayed_gallery->display_settings['number_of_columns'])) {
+            $columns = $displayed_gallery->display_settings['number_of_columns'];
+        } else {
+            $columns = 0;
         }
-        if ($image) {
-            // Set alt text if not already specified
-            if (!isset($attributes['alttext'])) {
-                $attributes['alt'] = esc_attr($image->alttext);
-            }
-            // Set the title if not already set
-            if (!isset($attributes['title'])) {
-                $attributes['title'] = esc_attr($image->alttext);
-            }
-            // Set the dimensions if not set already
-            if (!isset($attributes['width']) or !isset($attributes['height'])) {
-                $dimensions = $this->object->get_image_dimensions($image, $size);
-                if (!isset($attributes['width'])) {
-                    $attributes['width'] = $dimensions['width'];
-                }
-                if (!isset($attributes['height'])) {
-                    $attributes['height'] = $dimensions['height'];
-                }
-            }
-            // Set the url if not already specified
-            if (!isset($attributes['src'])) {
-                $attributes['src'] = $this->object->get_image_url($image, $size);
-            }
-            // Format attributes
-            $attribs = array();
-            foreach ($attributes as $attrib => $value) {
-                $attribs[] = "{$attrib}=\"{$value}\"";
+        // Public variables
+        $defaults = array(
+            'errmsg' => '',
+            // Error message to display, if any
+            'error' => FALSE,
+            // Error state
+            'imageURL' => '',
+            // URL Path to the image
+            'thumbURL' => '',
+            // URL Path to the thumbnail
+            'imagePath' => '',
+            // Server Path to the image
+            'thumbPath' => '',
+            // Server Path to the thumbnail
+            'href' => '',
+            // A href link code
+            // Mostly constant
+            'thumbPrefix' => 'thumbs_',
+            // FolderPrefix to the thumbnail
+            'thumbFolder' => '/thumbs/',
+            // Foldername to the thumbnail
+            // Image Data
+            'galleryid' => 0,
+            // Gallery ID
+            'pid' => 0,
+            // Image ID
+            'filename' => '',
+            // Image filename
+            'description' => '',
+            // Image description
+            'alttext' => '',
+            // Image alttext
+            'imagedate' => '',
+            // Image date/time
+            'exclude' => '',
+            // Image exclude
+            'thumbcode' => '',
+            // Image effect code
+            // Gallery Data
+            'name' => '',
+            // Gallery name
+            'path' => '',
+            // Gallery path
+            'title' => '',
+            // Gallery title
+            'pageid' => 0,
+            // Gallery page ID
+            'previewpic' => 0,
+            // Gallery preview pic
+            'style' => $columns > 0 ? 'style="width:' . floor(100 / $columns) . '%;"' : '',
+            'hidden' => FALSE,
+            'permalink' => '',
+            'tags' => '',
+        );
+        // convert the image to an array and apply the defaults
+        $this->_orig_image = $image;
+        $image = (array) $image;
+        foreach ($defaults as $key => $val) {
+            if (!isset($image[$key])) {
+                $image[$key] = $val;
             }
-            $attribs = implode(" ", $attribs);
-            // Return HTML string
-            $retval = "<img {$attribs} />";
         }
-        return $retval;
+        // cache the results
+        ksort($image);
+        $id_field = !empty($image['id_field']) ? $image['id_field'] : 'pid';
+        $this->_cache = (array) apply_filters('ngg_image_object', (object) $image, $image[$id_field]);
+        $this->_orig_image_id = $image[$id_field];
+        $this->_legacy = $legacy;
+        $this->_displayed_gallery = $displayed_gallery;
     }
-    /**
-     * An alias for get_full_abspath()
-     * @param int|object $image
-     * @param bool $check_existance
-     * @return null|string
-     */
-    function get_original_abspath($image, $check_existance = FALSE)
+    public function __set($name, $value)
     {
-        return $this->object->get_image_abspath($image, 'full', $check_existance);
+        $this->_cache[$name] = $value;
     }
-    /**
-     * Alias to get_image_dimensions()
-     * @param int|object $image
-     * @return array
-     */
-    function get_original_dimensions($image)
+    public function __isset($name)
     {
-        return $this->object->get_image_dimensions($image, 'full');
+        return isset($this->_cache[$name]);
     }
-    /**
-     * Alias to get_image_html()
-     * @param int|object $image
-     * @return string
-     */
-    function get_original_html($image)
+    public function __unset($name)
     {
-        return $this->object->get_image_html($image, 'full');
+        unset($this->_cache[$name]);
     }
     /**
-     * Gets the url to the original-sized image
-     * @param int|stdClass|C_Image $image
-     * @param bool $check_existance (optional)
-     * @return string
+     * Lazy-loader for image variables.
+     *
+     * @param string $name Parameter name
+     * @return mixed
      */
-    function get_original_url($image, $check_existance = FALSE)
+    public function __get($name)
     {
-        return $this->object->get_image_url($image, 'full', $check_existance);
+        if (isset($this->_cache_overrides[$name])) {
+            return $this->_cache_overrides[$name];
+        }
+        // at the bottom we default to returning $this->_cache[$name].
+        switch ($name) {
+            case 'alttext':
+                $this->_cache['alttext'] = empty($this->_cache['alttext']) ? ' ' : html_entity_decode(stripslashes($this->_cache['alttext']));
+                return $this->_cache['alttext'];
+            case 'author':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['author'] = $gallery->name;
+                return $this->_cache['author'];
+            case 'caption':
+                $caption = html_entity_decode(stripslashes($this->__get('description')));
+                if (empty($caption)) {
+                    $caption = '&nbsp;';
+                }
+                $this->_cache['caption'] = $caption;
+                return $this->_cache['caption'];
+            case 'description':
+                $this->_cache['description'] = empty($this->_cache['description']) ? ' ' : html_entity_decode(stripslashes($this->_cache['description']));
+                return $this->_cache['description'];
+            case 'galdesc':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['galdesc'] = $gallery->name;
+                return $this->_cache['galdesc'];
+            case 'gid':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['gid'] = $gallery->{$gallery->id_field};
+                return $this->_cache['gid'];
+            case 'href':
+                return $this->__get('imageHTML');
+            case 'id':
+                return $this->_orig_image_id;
+            case 'imageHTML':
+                $tmp = '<a href="' . $this->__get('imageURL') . '" title="' . htmlspecialchars(stripslashes($this->__get('description'))) . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') . '" src="' . $this->__get('imageURL') . '"/>' . '</a>';
+                $this->_cache['href'] = $tmp;
+                $this->_cache['imageHTML'] = $tmp;
+                return $this->_cache['imageHTML'];
+            case 'imagePath':
+                $storage = $this->get_storage();
+                $this->_cache['imagePath'] = $storage->get_image_abspath($this->_orig_image, 'full');
+                return $this->_cache['imagePath'];
+            case 'imageURL':
+                $storage = $this->get_storage();
+                $this->_cache['imageURL'] = $storage->get_image_url($this->_orig_image, 'full');
+                return $this->_cache['imageURL'];
+            case 'linktitle':
+                $this->_cache['linktitle'] = htmlspecialchars(stripslashes($this->__get('description')));
+                return $this->_cache['linktitle'];
+            case 'name':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['name'] = $gallery->name;
+                return $this->_cache['name'];
+            case 'pageid':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['pageid'] = $gallery->name;
+                return $this->_cache['pageid'];
+            case 'path':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['path'] = $gallery->name;
+                return $this->_cache['path'];
+            case 'permalink':
+                $this->_cache['permalink'] = $this->__get('imageURL');
+                return $this->_cache['permalink'];
+            case 'pid':
+                return $this->_orig_image_id;
+            case 'id_field':
+                $this->_cache['id_field'] = !empty($this->_orig_image->id_field) ? $this->_orig_image->id_field : 'pid';
+                return $this->_cache['id_field'];
+            case 'pidlink':
+                $application = C_Router::get_instance()->get_routed_app();
+                $controller = C_Display_Type_Controller::get_instance();
+                $this->_cache['pidlink'] = $controller->set_param_for($application->get_routed_url(TRUE), 'pid', $this->__get('image_slug'));
+                return $this->_cache['pidlink'];
+            case 'previewpic':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['previewpic'] = $gallery->name;
+                return $this->_cache['previewpic'];
+            case 'size':
+                $w = 0;
+                $h = 0;
+                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings)) {
+                    $ds = $this->_displayed_gallery->display_settings;
+                    if (isset($ds['override_thumbnail_settings']) && $ds['override_thumbnail_settings']) {
+                        $w = $ds['thumbnail_width'];
+                        $h = $ds['thumbnail_height'];
+                    }
+                }
+                if (!$w || !$h) {
+                    if (is_string($this->_orig_image->meta_data)) {
+                        $this->_orig_image = C_NextGen_Serializable::unserialize($this->_orig_image->meta_data);
+                    }
+                    if (!isset($this->_orig_image->meta_data['thumbnail'])) {
+                        $storage = $this->get_storage();
+                        $storage->generate_thumbnail($this->_orig_image);
+                    }
+                    $w = $this->_orig_image->meta_data['thumbnail']['width'];
+                    $h = $this->_orig_image->meta_data['thumbnail']['height'];
+                }
+                return "width='{$w}' height='{$h}'";
+            case 'slug':
+                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
+                $this->_cache['slug'] = $gallery->name;
+                return $this->_cache['slug'];
+            case 'tags':
+                $this->_cache['tags'] = wp_get_object_terms($this->__get('id'), 'ngg_tag', 'fields=all');
+                return $this->_cache['tags'];
+            case 'thumbHTML':
+                $tmp = '<a href="' . $this->__get('imageURL') . '" title="' . htmlspecialchars(stripslashes($this->__get('description'))) . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') . '" src="' . $this->thumbURL . '"/>' . '</a>';
+                $this->_cache['href'] = $tmp;
+                $this->_cache['thumbHTML'] = $tmp;
+                return $this->_cache['thumbHTML'];
+            case 'thumbPath':
+                $storage = $this->get_storage();
+                $this->_cache['thumbPath'] = $storage->get_image_abspath($this->_orig_image, 'thumbnail');
+                return $this->_cache['thumbPath'];
+            case 'thumbnailURL':
+                $storage = $this->get_storage();
+                $thumbnail_size_name = 'thumbnail';
+                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings)) {
+                    $ds = $this->_displayed_gallery->display_settings;
+                    if (isset($ds['override_thumbnail_settings']) && $ds['override_thumbnail_settings']) {
+                        $dynthumbs = C_Component_Registry::get_instance()->get_utility('I_Dynamic_Thumbnails_Manager');
+                        $dyn_params = array('width' => $ds['thumbnail_width'], 'height' => $ds['thumbnail_height']);
+                        if ($ds['thumbnail_quality']) {
+                            $dyn_params['quality'] = $ds['thumbnail_quality'];
+                        }
+                        if ($ds['thumbnail_crop']) {
+                            $dyn_params['crop'] = TRUE;
+                        }
+                        if ($ds['thumbnail_watermark']) {
+                            $dyn_params['watermark'] = TRUE;
+                        }
+                        $thumbnail_size_name = $dynthumbs->get_size_name($dyn_params);
+                    }
+                }
+                $this->_cache['thumbnailURL'] = $storage->get_image_url($this->_orig_image, $thumbnail_size_name);
+                return $this->_cache['thumbnailURL'];
+            case 'thumbcode':
+                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings) && isset($this->_displayed_gallery->display_settings['use_imagebrowser_effect']) && $this->_displayed_gallery->display_settings['use_imagebrowser_effect'] && !empty($this->_orig_image->thumbcode)) {
+                    $this->_cache['thumbcode'] = $this->_orig_image->thumbcode;
+                } else {
+                    $this->_cache['thumbcode'] = $this->get_thumbcode($this->__get('name'));
+                }
+                return $this->_cache['thumbcode'];
+            case 'thumbURL':
+                return $this->__get('thumbnailURL');
+            case 'title':
+                $this->_cache['title'] = stripslashes($this->__get('name'));
+                return $this->_cache['title'];
+            case 'url':
+                $storage = $this->get_storage();
+                $this->_cache['url'] = $storage->get_image_url($this->_orig_image, 'full');
+                return $this->_cache['url'];
+            default:
+                return $this->_cache[$name];
+        }
+    }
+    // called on initial nggLegacy image at construction. not sure what to do with it now.
+    function construct_ngg_Image($gallery)
+    {
+        do_action_ref_array('ngg_get_image', array(&$this));
+        unset($this->tags);
     }
     /**
-     * Gets the upload path, optionally for a particular gallery
-     * @param int|C_Gallery|object|false $gallery (optional)
-     * @return string
+     * Retrieves and caches an I_Settings_Manager instance
+     *
+     * @return mixed
      */
-    function get_upload_relpath($gallery = FALSE)
+    function get_settings()
     {
-        $fs = C_Fs::get_instance();
-        $retval = str_replace($fs->get_document_root('gallery'), '', $this->object->get_upload_abspath($gallery));
-        return DIRECTORY_SEPARATOR . ltrim($retval, "/\\");
+        if (is_null($this->_settings)) {
+            $this->_settings = C_NextGen_Settings::get_instance();
+        }
+        return $this->_settings;
     }
     /**
-     * Moves images from to another gallery
-     * @param array $images
-     * @param int|object $gallery
-     * @param boolean $db optionally only move the image files, not the db entries
-     * @return boolean
+     * Retrieves and caches an I_Gallery_Storage instance
+     *
+     * @return mixed
      */
-    function move_images($images, $gallery, $db = TRUE)
+    function get_storage()
     {
-        return $this->object->copy_images($images, $gallery, $db, TRUE);
+        if (is_null($this->_storage)) {
+            $this->_storage = C_Gallery_Storage::get_instance();
+        }
+        return $this->_storage;
     }
-    function is_image_file($filename = NULL)
+    /**
+     * Retrieves I_Gallery_Mapper instance.
+     *
+     * @param int $gallery_id Gallery ID
+     * @return mixed
+     */
+    function get_gallery($gallery_id)
     {
-        $retval = FALSE;
-        if (!$filename && isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
-            $filename = $_FILES['file']['tmp_name'];
-        }
-        $valid_types = array('image/gif', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png');
-        // If we can, we'll verify the mime type
-        if (function_exists('exif_imagetype')) {
-            if (($image_type = @exif_imagetype($filename)) !== FALSE) {
-                $retval = in_array(image_type_to_mime_type($image_type), $valid_types);
-            }
-        } else {
-            $file_info = @getimagesize($filename);
-            if (isset($file_info[2])) {
-                $retval = in_array(image_type_to_mime_type($file_info[2]), $valid_types);
-            }
+        if (isset($this->container) && method_exists($this->container, 'get_gallery')) {
+            return $this->container->get_gallery($gallery_id);
         }
-        return $retval;
+        return C_Gallery_Mapper::get_instance()->find($gallery_id);
     }
-    function is_zip()
+    /**
+     * Retrieves I_Gallery_Mapper instance.
+     *
+     * @param int $gallery_id Gallery ID
+     * @return mixed
+     */
+    function get_legacy_gallery($gallery_id)
     {
-        $retval = FALSE;
-        if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
-            $file_info = $_FILES['file'];
-            if (isset($file_info['type'])) {
-                $type = $file_info['type'];
-                $type_parts = explode('/', $type);
-                if (strtolower($type_parts[0]) == 'application') {
-                    $spec = $type_parts[1];
-                    $spec_parts = explode('-', $spec);
-                    $spec_parts = array_map('strtolower', $spec_parts);
-                    if (in_array($spec, array('zip', 'octet-stream')) || in_array('zip', $spec_parts)) {
-                        $retval = true;
-                    }
-                }
-            }
-        }
-        return $retval;
+        return C_Gallery_Mapper::get_instance()->find($gallery_id);
     }
-    function upload_zip($gallery_id)
+    /**
+     * Get the thumbnail code (to add effects on thumbnail click)
+     *
+     * Applies the filter 'ngg_get_thumbcode'
+     * @param string $gallery_name (optional) Default = ''
+     * @return string
+     */
+    function get_thumbcode($gallery_name = '')
     {
-        $memory_limit = intval(ini_get('memory_limit'));
-        if (!extension_loaded('suhosin') && $memory_limit < 256) {
-            @ini_set('memory_limit', '256M');
-        }
-        $retval = FALSE;
-        if ($this->object->is_zip()) {
-            $fs = C_Fs::get_instance();
-            // Uses the WordPress ZIP abstraction API
-            include_once $fs->join_paths(ABSPATH, 'wp-admin', 'includes', 'file.php');
-            WP_Filesystem();
-            // Ensure that we truly have the gallery id
-            $gallery_id = $this->_get_gallery_id($gallery_id);
-            $zipfile = $_FILES['file']['tmp_name'];
-            $dest_path = implode(DIRECTORY_SEPARATOR, array(rtrim(get_temp_dir(), "/\\"), 'unpacked-' . M_I18n::mb_basename($zipfile)));
-            wp_mkdir_p($dest_path);
-            if (unzip_file($zipfile, $dest_path) === TRUE) {
-                $dest_dir = $dest_path . DIRECTORY_SEPARATOR;
-                $files = glob($dest_dir . '*');
-                $size = 0;
-                foreach ($files as $file) {
-                    if (is_file($dest_dir . $file)) {
-                        $size += filesize($dest_dir . $file);
-                    }
-                }
-                if ($size == 0) {
-                    $this->object->delete_directory($dest_path);
-                    $destination = wp_upload_dir();
-                    $destination_path = $destination['basedir'];
-                    $dest_path = implode(DIRECTORY_SEPARATOR, array(rtrim($destination_path, "/\\"), 'unpacked-' . M_I18n::mb_basename($zipfile)));
-                    wp_mkdir_p($dest_path);
-                    if (unzip_file($zipfile, $dest_path) === TRUE) {
-                        $retval = $this->object->import_gallery_from_fs($dest_path, $gallery_id);
-                    }
-                } else {
-                    $retval = $this->object->import_gallery_from_fs($dest_path, $gallery_id);
-                }
+        if (empty($this->_displayed_gallery)) {
+            $effect_code = C_NextGen_Settings::get_instance()->thumbCode;
+            $effect_code = str_replace('%GALLERY_ID%', $gallery_name, $effect_code);
+            $effect_code = str_replace('%GALLERY_NAME%', $gallery_name, $effect_code);
+            $retval = $effect_code;
+        } else {
+            $controller = C_Display_Type_Controller::get_instance();
+            $retval = $controller->get_effect_code($this->_displayed_gallery);
+            // This setting requires that we disable the effect code
+            $ds = $this->_displayed_gallery->display_settings;
+            if (isset($ds['use_imagebrowser_effect']) && $ds['use_imagebrowser_effect']) {
+                $retval = '';
             }
-            $this->object->delete_directory($dest_path);
-        }
-        if (!extension_loaded('suhosin')) {
-            @ini_set('memory_limit', $memory_limit . 'M');
         }
+        $retval = apply_filters('ngg_get_thumbcode', $retval, $this);
+        // ensure some additional data- fields are added; provides Pro-Lightbox compatibility
+        $retval .= ' data-image-id="' . $this->__get('id') . '"';
+        $retval .= ' data-src="' . $this->__get('imageURL') . '"';
+        $retval .= ' data-thumbnail="' . $this->__get('thumbnailURL') . '"';
+        $retval .= ' data-title="' . esc_attr($this->__get('alttext')) . '"';
+        $retval .= ' data-description="' . esc_attr($this->__get('description')) . '"';
+        $this->_cache['thumbcode'] = $retval;
         return $retval;
     }
-    function is_current_user_over_quota()
+    /**
+     * For compatibility support
+     *
+     * @return mixed
+     */
+    function get_href_link()
     {
-        $retval = FALSE;
-        $settings = C_NextGen_Settings::get_instance();
-        if (is_multisite() && $settings->get('wpmuQuotaCheck')) {
-            require_once ABSPATH . 'wp-admin/includes/ms.php';
-            $retval = upload_is_user_over_quota(FALSE);
-        }
-        return $retval;
+        return $this->__get('imageHTML');
     }
     /**
-     * Uploads base64 file to a gallery
-     * @param int|stdClass|C_Gallery $gallery
-     * @param $data base64-encoded string of data representing the image
-     * @param string|false (optional) $filename specifies the name of the file
-     * @param int|false $image_id (optional)
-     * @param bool $override (optional)
-     * @return C_Image
+     * For compatibility support
+     *
+     * @return mixed
      */
-    function upload_base64_image($gallery, $data, $filename = FALSE, $image_id = FALSE, $override = FALSE)
+    function get_href_thumb_link()
     {
-        $settings = C_NextGen_Settings::get_instance();
-        $memory_limit = intval(ini_get('memory_limit'));
-        if (!extension_loaded('suhosin') && $memory_limit < 256) {
-            @ini_set('memory_limit', '256M');
-        }
-        $retval = NULL;
-        if ($gallery_id = $this->object->_get_gallery_id($gallery)) {
-            if ($this->object->is_current_user_over_quota()) {
-                $message = sprintf(__('Sorry, you have used your space allocation. Please delete some files to upload more files.', 'nggallery'));
-                throw new E_NoSpaceAvailableException($message);
-            }
-            // Get path information. The use of get_upload_abspath() might
-            // not be the best for some drivers. For example, if using the
-            // WordPress Media Library for uploading, then the wp_upload_bits()
-            // function should perhaps be used
-            $upload_dir = $this->object->get_upload_abspath($gallery);
-            // Perhaps a filename was given instead of base64 data?
-            if (preg_match("#/\\\\#", $data[0]) && @file_exists($data)) {
-                if (!$filename) {
-                    $filename = M_I18n::mb_basename($data);
-                }
-                $data = file_get_contents($data);
-            }
-            // Determine filenames
-            $original_filename = $filename;
-            $filename = $filename ? sanitize_file_name($original_filename) : uniqid('nextgen-gallery');
-            if (preg_match("/\\-(png|jpg|gif|jpeg)\$/i", $filename, $match)) {
-                $filename = str_replace($match[0], '.' . $match[1], $filename);
-            }
-            $abs_filename = implode(DIRECTORY_SEPARATOR, array($upload_dir, $filename));
-            // Ensure that the filename is valid
-            if (!preg_match("/(png|jpeg|jpg|gif)\$/i", $abs_filename)) {
-                throw new E_UploadException(__('Invalid image file. Acceptable formats: JPG, GIF, and PNG.', 'nggallery'));
-            }
-            // Prevent duplicate filenames: check if the filename exists and
-            // begin appending '-i' until we find an open slot
-            if (!ini_get('safe_mode') && @file_exists($abs_filename) && !$override) {
-                $file_exists = TRUE;
-                $i = 0;
-                do {
-                    $i++;
-                    $parts = explode('.', $filename);
-                    $extension = array_pop($parts);
-                    $new_filename = implode('.', $parts) . '-' . $i . '.' . $extension;
-                    $new_abs_filename = implode(DIRECTORY_SEPARATOR, array($upload_dir, $new_filename));
-                    if (!@file_exists($new_abs_filename)) {
-                        $file_exists = FALSE;
-                        $filename = $new_filename;
-                        $abs_filename = $new_abs_filename;
-                    }
-                } while ($file_exists == TRUE);
-            }
-            // Create or retrieve the image object
-            $image = NULL;
-            if ($image_id) {
-                $image = $this->object->_image_mapper->find($image_id, TRUE);
-                if ($image) {
-                    unset($image->meta_data['saved']);
-                }
-            }
-            if (!$image) {
-                $image = $this->object->_image_mapper->create();
-            }
-            $retval = $image;
-            // Create or update the database record
-            $image->alttext = str_replace('.' . M_I18n::mb_pathinfo($original_filename, PATHINFO_EXTENSION), '', M_I18n::mb_basename($original_filename));
-            $image->galleryid = $this->object->_get_gallery_id($gallery);
-            $image->filename = $filename;
-            $image->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($image->alttext), 'image');
-            $image_key = $this->object->_image_mapper->get_primary_key_column();
-            // If we can't write to the directory, then there's no point in continuing
-            if (!@file_exists($upload_dir)) {
-                @wp_mkdir_p($upload_dir);
-            }
-            if (!is_writable($upload_dir)) {
-                throw new E_InsufficientWriteAccessException(FALSE, $upload_dir, FALSE);
-            }
-            try {
-                // Try writing the image
-                $fp = fopen($abs_filename, 'wb');
-                fwrite($fp, $this->maybe_base64_decode($data));
-                fclose($fp);
-                // Ensure that we're not vulerable to CVE-2017-2416 exploit
-                if (($dimensions = getimagesize($abs_filename)) !== FALSE) {
-                    if (isset($dimensions[0]) && intval($dimensions[0]) > 30000 || isset($dimensions[1]) && intval($dimensions[1]) > 30000) {
-                        unlink($abs_filename);
-                        throw new E_UploadException(__('Image file too large. Maximum image dimensions supported are 30k x 30k.'));
-                    }
-                }
-                // Save the image
-                $image_id = $this->object->_image_mapper->save($image);
-                if (!$image_id) {
-                    $exception = '';
-                    foreach ($image->get_errors() as $field => $errors) {
-                        foreach ($errors as $error) {
-                            if (!empty($exception)) {
-                                $exception .= "<br/>";
-                            }
-                            $exception .= __(sprintf("Error while uploading %s: %s", $filename, $error), 'nextgen-gallery');
-                        }
-                    }
-                    throw new E_UploadException($exception);
-                }
-                if ($settings->imgBackup) {
-                    $this->object->backup_image($image);
-                }
-                if ($settings->imgAutoResize) {
-                    $this->object->generate_image_clone($abs_filename, $abs_filename, $this->object->get_image_size_params($image_id, 'full'));
-                }
-                $this->object->_image_mapper->_use_cache = FALSE;
-                $image = $this->object->_image_mapper->find($image_id);
-                $this->object->_image_mapper->_use_cache = TRUE;
-                // Ensure that fullsize dimensions are added to metadata array
-                $dimensions = getimagesize($abs_filename);
-                $full_meta = array('width' => $dimensions[0], 'height' => $dimensions[1], 'md5' => $this->object->get_image_checksum($image, 'full'));
-                if (!isset($image->meta_data) or is_string($image->meta_data) && strlen($image->meta_data) == 0 or is_bool($image->meta_data)) {
-                    $image->meta_data = array();
-                }
-                $image->meta_data = array_merge($image->meta_data, $full_meta);
-                $image->meta_data['full'] = $full_meta;
-                // Don't forget to append the 'full' entry in meta_data in the db
-                $this->object->_image_mapper->save($image);
-                // Generate a thumbnail for the image
-                $this->object->generate_thumbnail($image);
-                // Set gallery preview image if missing
-                C_Gallery_Mapper::get_instance()->set_preview_image($gallery, $image_id, TRUE);
-                // Notify other plugins that an image has been added
-                do_action('ngg_added_new_image', $image);
-                // delete dirsize after adding new images
-                delete_transient('dirsize_cache');
-                // Seems redundant to above hook. Maintaining for legacy purposes
-                do_action('ngg_after_new_images_added', $gallery_id, array($image->{$image_key}));
-            } catch (E_UploadException $ex) {
-                throw $ex;
-            } catch (E_No_Image_Library_Exception $ex) {
-                throw $ex;
-            } catch (E_Clean_Exit $ex) {
-                // pass
-            } catch (Exception $ex) {
-                throw new E_InsufficientWriteAccessException(FALSE, $abs_filename, FALSE, $ex);
-            }
-        } else {
-            throw new E_EntityNotFoundException();
-        }
-        if (!extension_loaded('suhosin')) {
-            @ini_set('memory_limit', $memory_limit . 'M');
-        }
-        return $retval;
+        return $this->__get('thumbHTML');
     }
-    function maybe_base64_decode($data)
+    /**
+     * Function exists for legacy support but has been gutted to not do anything
+     *
+     * @param string|int $width (optional) Default = ''
+     * @param string|int $height (optional) Default = ''
+     * @param string $mode could be watermark | web20 | crop
+     * @return bool|string The url for the image or false if failed
+     */
+    function cached_singlepic_file($width = '', $height = '', $mode = '')
     {
-        $decoded = base64_decode($data);
-        if ($decoded === FALSE) {
-            return $data;
-        } else {
-            if (base64_encode($decoded) == $data) {
-                return base64_decode($data);
-            }
+        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
+        $storage = $this->get_storage();
+        // determine what to do with 'mode'
+        $display_reflection = FALSE;
+        $display_watermark = FALSE;
+        if (!is_array($mode)) {
+            $mode = explode(',', $mode);
         }
-        return $data;
+        if (in_array('web20', $mode)) {
+            $display_reflection = TRUE;
+        }
+        if (in_array('watermark', $mode)) {
+            $display_watermark = TRUE;
+        }
+        // and go for it
+        $params = array('width' => $width, 'height' => $height, 'watermark' => $display_watermark, 'reflection' => $display_reflection);
+        return $storage->get_image_url((object) $this->_cache, $dynthumbs->get_size_name($params));
     }
-    function import_gallery_from_fs($abspath, $gallery_id = FALSE, $create_new_gallerypath = TRUE, $gallery_title = NULL, $filenames = array())
+    /**
+     * Get the tags associated to this image
+     */
+    function get_tags()
     {
-        $retval = FALSE;
-        if (@file_exists($abspath)) {
-            $fs = C_Fs::get_instance();
-            // Ensure that this folder has images
-            // Ensure that this folder has images
-            $i = 0;
-            $files = array();
-            foreach (scandir($abspath) as $file) {
-                if ($file == '.' || $file == '..') {
-                    continue;
-                }
-                $file_abspath = $fs->join_paths($abspath, $file);
-                // The first directory is considered valid
-                if (is_dir($file_abspath) && $i === 0) {
-                    $files[] = $file_abspath;
-                } elseif ($this->is_image_file($file_abspath)) {
-                    if ($filenames && array_search($file_abspath, $filenames) !== FALSE) {
-                        $files[] = $file_abspath;
-                    } else {
-                        if (!$filenames) {
-                            $files[] = $file_abspath;
-                        }
-                    }
-                }
-            }
-            if (!empty($files)) {
-                // Get needed utilities
-                $gallery_mapper = C_Gallery_Mapper::get_instance();
-                // Sometimes users try importing a directory, which actually has all images under another directory
-                if (is_dir($files[0])) {
-                    return $this->import_gallery_from_fs($files[0], $gallery_id, $create_new_gallerypath, $gallery_title, $filenames);
-                }
-                // If no gallery has been specified, then use the directory name as the gallery name
-                if (!$gallery_id) {
-                    // Create the gallery
-                    $gallery = $gallery_mapper->create(array('title' => $gallery_title ? $gallery_title : M_I18n::mb_basename($abspath)));
-                    if (!$create_new_gallerypath) {
-                        $gallery->path = str_ireplace(ABSPATH, '', $abspath);
-                    }
-                    // Save the gallery
-                    if ($gallery->save()) {
-                        $gallery_id = $gallery->id();
-                    }
-                }
-                // Ensure that we have a gallery id
-                if ($gallery_id) {
-                    $retval = array('gallery_id' => $gallery_id, 'image_ids' => array());
-                    foreach ($files as $file_abspath) {
-                        if (!preg_match("/\\.(jpg|jpeg|gif|png)\$/i", $file_abspath)) {
-                            continue;
-                        }
-                        $image = null;
-                        if ($create_new_gallerypath) {
-                            $image = $this->object->upload_base64_image($gallery_id, file_get_contents($file_abspath), str_replace(' ', '_', M_I18n::mb_basename($file_abspath)));
-                        } else {
-                            // Create the database record ... TODO cleanup, some duplication here from upload_base64_image
-                            $factory = C_Component_Factory::get_instance();
-                            $image = $factory->create('image');
-                            $image->alttext = sanitize_title_with_dashes(str_replace('.' . M_I18n::mb_pathinfo($file_abspath, PATHINFO_EXTENSION), '', M_I18n::mb_basename($file_abspath)));
-                            $image->galleryid = $this->object->_get_gallery_id($gallery_id);
-                            $image->filename = M_I18n::mb_basename($file_abspath);
-                            $image->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($image->alttext), 'image');
-                            $image_key = $this->object->_image_mapper->get_primary_key_column();
-                            $abs_filename = $file_abspath;
-                            if ($image_id = $this->object->_image_mapper->save($image)) {
-                                try {
-                                    if (C_NextGen_settings::get_instance()->imgBackup) {
-                                        $this->object->backup_image($image);
-                                    }
-                                    #															if ($settings->imgAutoResize)
-                                    #															    $this->object->generate_image_clone(
-                                    #															        $abs_filename,
-                                    #															        $abs_filename,
-                                    #															        $this->object->get_image_size_params($image_id, 'full')
-                                    #															    );
-                                    // Ensure that fullsize dimensions are added to metadata array
-                                    $dimensions = getimagesize($abs_filename);
-                                    $full_meta = array('width' => $dimensions[0], 'height' => $dimensions[1]);
-                                    if (!isset($image->meta_data) || is_string($image->meta_data) && strlen($image->meta_data) === 0) {
-                                        $image->meta_data = array();
-                                    } else {
-                                        if (is_string($image->meta_data)) {
-                                            // TODO: We should probably unserialize in this circumstance
-                                        }
-                                    }
-                                    $image->meta_data = array_merge($image->meta_data, $full_meta);
-                                    $image->meta_data['full'] = $full_meta;
-                                    // Generate a thumbnail for the image
-                                    $this->object->generate_thumbnail($image);
-                                    // Set gallery preview image if missing
-                                    C_Gallery_Mapper::get_instance()->set_preview_image($gallery, $image_id, TRUE);
-                                    // Notify other plugins that an image has been added
-                                    do_action('ngg_added_new_image', $image);
-                                    // delete dirsize after adding new images
-                                    delete_transient('dirsize_cache');
-                                    // Seems redundant to above hook. Maintaining for legacy purposes
-                                    do_action('ngg_after_new_images_added', $gallery_id, array($image->{$image_key}));
-                                } catch (Exception $ex) {
-                                    throw new E_InsufficientWriteAccessException(FALSE, $abs_filename, FALSE, $ex);
-                                }
-                            } else {
-                                throw new E_InvalidEntityException();
-                            }
-                        }
-                        $retval['image_ids'][] = $image->{$image->id_field};
-                    }
-                    // Add the gallery name to the result
-                    $gallery = $gallery_mapper->find($gallery_id);
-                    $retval['gallery_name'] = $gallery->title;
-                    unset($gallery);
-                }
-            }
-        }
-        return $retval;
+        return $this->__get('tags');
     }
-    function get_image_format_list()
+    /**
+     * Get the permalink to the image
+     *
+     * TODO: Get a permalink to a page presenting the image
+     */
+    function get_permalink()
     {
-        $format_list = array(IMAGETYPE_GIF => 'gif', IMAGETYPE_JPEG => 'jpg', IMAGETYPE_PNG => 'png');
-        return $format_list;
+        return $this->__get('permalink');
     }
     /**
-     * Returns an array of properties of a resulting clone image if and when generated
-     * @param string $image_path
-     * @param string $clone_path
-     * @param array $params
-     * @return null|array
+     * Returns the _cache array; used by nggImage
+     * @return array
      */
-    function calculate_image_clone_result($image_path, $clone_path, $params)
+    function _get_image()
     {
-        $width = isset($params['width']) ? $params['width'] : NULL;
-        $height = isset($params['height']) ? $params['height'] : NULL;
-        $quality = isset($params['quality']) ? $params['quality'] : NULL;
-        $type = isset($params['type']) ? $params['type'] : NULL;
-        $crop = isset($params['crop']) ? $params['crop'] : NULL;
-        $watermark = isset($params['watermark']) ? $params['watermark'] : NULL;
-        $rotation = isset($params['rotation']) ? $params['rotation'] : NULL;
-        $reflection = isset($params['reflection']) ? $params['reflection'] : NULL;
-        $crop_frame = isset($params['crop_frame']) ? $params['crop_frame'] : NULL;
-        $result = NULL;
-        // Ensure we have a valid image
-        if ($image_path && @file_exists($image_path)) {
-            // Ensure target directory exists, but only create 1 subdirectory
-            $image_dir = dirname($image_path);
-            $clone_dir = dirname($clone_path);
-            $image_extension = M_I18n::mb_pathinfo($image_path, PATHINFO_EXTENSION);
-            $image_extension_str = null;
-            $clone_extension = M_I18n::mb_pathinfo($clone_path, PATHINFO_EXTENSION);
-            $clone_extension_str = null;
-            if ($image_extension != null) {
-                $image_extension_str = '.' . $image_extension;
+        return $this->_cache;
+    }
+}
+class C_Image_Wrapper_Collection implements ArrayAccess
+{
+    public $container = array();
+    public $galleries = array();
+    public function offsetExists($offset)
+    {
+        return isset($this->container[$offset]);
+    }
+    public function offsetGet($offset)
+    {
+        return isset($this->container[$offset]) ? $this->container[$offset] : null;
+    }
+    public function offsetSet($offset, $value)
+    {
+        if (is_object($value)) {
+            $value->container = $this;
+        }
+        if (is_null($offset)) {
+            $this->container[] = $value;
+        } else {
+            $this->container[$offset] = $value;
+        }
+    }
+    public function offsetUnset($offset)
+    {
+        unset($this->container[$offset]);
+    }
+    /**
+     * Retrieves and caches an I_Gallery_Mapper instance for this gallery id
+     *
+     * @param int $gallery_id Gallery ID
+     * @return mixed
+     */
+    public function get_gallery($gallery_id)
+    {
+        if (!isset($this->galleries[$gallery_id]) || is_null($this->galleries[$gallery_id])) {
+            $this->galleries[$gallery_id] = C_Gallery_Mapper::get_instance();
+        }
+        return $this->galleries[$gallery_id];
+    }
+}
+class C_NextGen_Data_Installer extends C_NggLegacy_Installer
+{
+    function get_registry()
+    {
+        return C_Component_Registry::get_instance();
+    }
+    function install()
+    {
+        $this->remove_table_extra_options();
+    }
+    function remove_table_extra_options()
+    {
+        global $wpdb;
+        $likes = array("option_name LIKE '%ngg_gallery%'", "option_name LIKE '%ngg_pictures%'", "option_name LIKE '%ngg_album%'");
+        $sql = "DELETE FROM {$wpdb->options} WHERE " . implode(" OR ", $likes);
+        $wpdb->query($sql);
+    }
+    function uninstall($hard = FALSE)
+    {
+        if ($hard) {
+            /* Yes: this is commented twice.
+            		// TODO for now never delete galleries/albums/content
+            #			$mappers = array(
+            #				$this->get_registry()->get_utility('I_Album_Mapper'),
+            #				$this->get_registry()->get_utility('I_Gallery_Mapper'),
+            #				$this->get_registry()->get_utility('I_Image_Mapper'),
+            #			);
+            
+            #			foreach ($mappers as $mapper) {
+            #				$mapper->delete()->run_query();
+            #			}
+            
+            #			// Remove ngg tags
+            #			global $wpdb;
+            #			$wpdb->query("DELETE FROM {$wpdb->terms} WHERE term_id IN (SELECT term_id FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag')");
+            #			$wpdb->query("DELETE FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag'");
+                        */
+        }
+    }
+}
+class C_NextGen_Metadata extends C_Component
+{
+    // Image data
+    public $image = '';
+    // The image object
+    public $file_path = '';
+    // Path to the image file
+    public $size = FALSE;
+    // The image size
+    public $exif_data = FALSE;
+    // EXIF data array
+    public $iptc_data = FALSE;
+    // IPTC data array
+    public $xmp_data = FALSE;
+    // XMP data array
+    // Filtered Data
+    public $exif_array = FALSE;
+    // EXIF data array
+    public $iptc_array = FALSE;
+    // IPTC data array
+    public $xmp_array = FALSE;
+    // XMP data array
+    public $sanitize = FALSE;
+    // sanitize meta data on request
+    /**
+     * Class constructor
+     * 
+     * @param int $image Image ID
+     * @param bool $onlyEXIF TRUE = will parse only EXIF data
+     * @return bool FALSE if the file does not exist or metadat could not be read
+     */
+    public function __construct($image, $onlyEXIF = FALSE)
+    {
+        if (is_numeric($image)) {
+            $image = C_Image_Mapper::get_instance()->find($image);
+        }
+        $this->image = apply_filters('ngg_find_image_meta', $image);
+        $this->file_path = C_Gallery_Storage::get_instance()->get_image_abspath($this->image);
+        if (!@file_exists($this->file_path)) {
+            return FALSE;
+        }
+        $this->size = @getimagesize($this->file_path, $metadata);
+        if ($this->size && is_array($metadata)) {
+            // get exif - data
+            if (is_callable('exif_read_data')) {
+                $this->exif_data = @exif_read_data($this->file_path, NULL, TRUE);
             }
-            if ($clone_extension != null) {
-                $clone_extension_str = '.' . $clone_extension;
+            // stop here if we didn't need other meta data
+            if ($onlyEXIF) {
+                return TRUE;
             }
-            $image_basename = M_I18n::mb_basename($image_path);
-            $clone_basename = M_I18n::mb_basename($clone_path);
-            // We use a default suffix as passing in null as the suffix will make WordPress use a default
-            $clone_suffix = null;
-            $format_list = $this->object->get_image_format_list();
-            $clone_format = null;
-            // format is determined below and based on $type otherwise left to null
-            // suffix is only used to reconstruct paths for image_resize function
-            if (strpos($clone_basename, $image_basename) === 0) {
-                $clone_suffix = substr($clone_basename, strlen($image_basename));
+            // get the iptc data - should be in APP13
+            if (is_callable('iptcparse') && isset($metadata['APP13'])) {
+                $this->iptc_data = @iptcparse($metadata['APP13']);
             }
-            if ($clone_suffix != null && $clone_suffix[0] == '-') {
-                // WordPress adds '-' on its own
-                $clone_suffix = substr($clone_suffix, 1);
+            // get the xmp data in a XML format
+            if (is_callable('xml_parser_create')) {
+                $this->xmp_data = $this->extract_XMP($this->file_path);
             }
-            // Get original image dimensions
-            $dimensions = getimagesize($image_path);
-            if ($width == null && $height == null) {
-                if ($dimensions != null) {
-                    if ($width == null) {
-                        $width = $dimensions[0];
-                    }
-                    if ($height == null) {
-                        $height = $dimensions[1];
-                    }
-                } else {
-                    // XXX Don't think there's any other option here but to fail miserably...use some hard-coded defaults maybe?
-                    return null;
-                }
+            return TRUE;
+        }
+        return FALSE;
+    }
+    /**
+     * return the saved meta data from the database
+     *
+     * @since 1.4.0
+     * @param string $object (optional)
+     * @return array|mixed return either the complete array or the single object
+     */
+    function get_saved_meta($object = false)
+    {
+        $meta = $this->image->meta_data;
+        // Check if we already import the meta data to the database
+        if (!is_array($meta) || !isset($meta['saved']) || $meta['saved'] !== TRUE) {
+            return false;
+        }
+        // return one element if requested
+        if ($object) {
+            return $meta[$object];
+        }
+        //removed saved parameter we don't need that to show
+        unset($meta['saved']);
+        // and remove empty tags or arrays
+        foreach ($meta as $key => $value) {
+            if (empty($value) or is_array($value)) {
+                unset($meta[$key]);
             }
-            if ($dimensions != null) {
-                $dimensions_ratio = $dimensions[0] / $dimensions[1];
-                if ($width == null) {
-                    $width = (int) round($height * $dimensions_ratio);
-                    if ($width == $dimensions[0] - 1) {
-                        $width = $dimensions[0];
-                    }
+        }
+        // on request sanitize the output
+        if ($this->sanitize == true) {
+            array_walk($meta, 'esc_html');
+        }
+        return $meta;
+    }
+    /**
+     * nggMeta::get_EXIF()
+     * See also http://trac.wordpress.org/changeset/6313
+     *
+     * @return bool|array
+     */
+    function get_EXIF($object = false)
+    {
+        if (!$this->exif_data) {
+            return false;
+        }
+        if (!is_array($this->exif_array)) {
+            $meta = array();
+            if (isset($this->exif_data['EXIF'])) {
+                $exif = $this->exif_data['EXIF'];
+                if (!empty($exif['FNumber'])) {
+                    $meta['aperture'] = 'F ' . round($this->exif_frac2dec($exif['FNumber']), 2);
+                }
+                if (!empty($exif['Model'])) {
+                    $meta['camera'] = trim($exif['Model']);
+                }
+                if (!empty($exif['DateTimeDigitized'])) {
+                    $meta['created_timestamp'] = $this->exif_date2ts($exif['DateTimeDigitized']);
                 } else {
-                    if ($height == null) {
-                        $height = (int) round($width / $dimensions_ratio);
-                        if ($height == $dimensions[1] - 1) {
-                            $height = $dimensions[1];
+                    if (!empty($exif['DateTimeOriginal'])) {
+                        $meta['created_timestamp'] = $this->exif_date2ts($exif['DateTimeOriginal']);
+                    } else {
+                        if (!empty($exif['FileDateTime'])) {
+                            $meta['created_timestamp'] = $this->exif_date2ts($exif['FileDateTime']);
                         }
                     }
                 }
-                if ($width > $dimensions[0]) {
-                    $width = $dimensions[0];
+                if (!empty($exif['FocalLength'])) {
+                    $meta['focal_length'] = $this->exif_frac2dec($exif['FocalLength']) . __(' mm', 'nggallery');
                 }
-                if ($height > $dimensions[1]) {
-                    $height = $dimensions[1];
+                if (!empty($exif['ISOSpeedRatings'])) {
+                    $meta['iso'] = $exif['ISOSpeedRatings'];
                 }
-                $image_format = $dimensions[2];
-                if ($type != null) {
-                    if (is_string($type)) {
-                        $type = strtolower($type);
-                        // Indexes in the $format_list array correspond to IMAGETYPE_XXX values appropriately
-                        if (($index = array_search($type, $format_list)) !== false) {
-                            $type = $index;
-                            if ($type != $image_format) {
-                                // Note: this only changes the FORMAT of the image but not the extension
-                                $clone_format = $type;
-                            }
-                        }
-                    }
+                if (!empty($exif['ExposureTime'])) {
+                    $meta['shutter_speed'] = $this->exif_frac2dec($exif['ExposureTime']);
+                    $meta['shutter_speed'] = ($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? '1/' . round(1 / $meta['shutter_speed'], -1) : $meta['shutter_speed'];
+                    $meta['shutter_speed'] .= __(' sec', 'nggallery');
+                }
+                //Bit 0 indicates the flash firing status
+                if (!empty($exif['Flash'])) {
+                    $meta['flash'] = $exif['Flash'] & 1 ? __('Fired', 'nggallery') : __('Not fired', ' nggallery');
                 }
             }
-            if ($width == null || $height == null) {
-                // Something went wrong...
-                return null;
-            }
-            $result['clone_path'] = $clone_path;
-            $result['clone_directory'] = $clone_dir;
-            $result['clone_suffix'] = $clone_suffix;
-            $result['clone_format'] = $clone_format;
-            $result['base_width'] = $dimensions[0];
-            $result['base_height'] = $dimensions[1];
-            // image_resize() has limitations:
-            // - no easy crop frame support
-            // - fails if the dimensions are unchanged
-            // - doesn't support filename prefix, only suffix so names like thumbs_original_name.jpg for $clone_path are not supported
-            //   also suffix cannot be null as that will make WordPress use a default suffix...we could use an object that returns empty string from __toString() but for now just fallback to ngg generator
-            if (FALSE) {
-                // disabling the WordPress method for Iteration #6
-                //			if (($crop_frame == null || !$crop) && ($dimensions[0] != $width && $dimensions[1] != $height) && $clone_suffix != null)
-                $result['method'] = 'wordpress';
-                $new_dims = image_resize_dimensions($dimensions[0], $dimensions[1], $width, $height, $crop);
-                if ($new_dims) {
-                    list($dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) = $new_dims;
-                    $width = $dst_w;
-                    $height = $dst_h;
-                } else {
-                    $result['error'] = new WP_Error('error_getting_dimensions', __('Could not calculate resized image dimensions'));
+            // additional information
+            if (isset($this->exif_data['IFD0'])) {
+                $exif = $this->exif_data['IFD0'];
+                if (!empty($exif['Model'])) {
+                    $meta['camera'] = $exif['Model'];
                 }
-            } else {
-                $result['method'] = 'nextgen';
-                $original_width = $dimensions[0];
-                $original_height = $dimensions[1];
-                $aspect_ratio = $width / $height;
-                $orig_ratio_x = $original_width / $width;
-                $orig_ratio_y = $original_height / $height;
-                if ($crop) {
-                    $algo = 'shrink';
-                    // either 'adapt' or 'shrink'
-                    if ($crop_frame != null) {
-                        $crop_x = (int) round($crop_frame['x']);
-                        $crop_y = (int) round($crop_frame['y']);
-                        $crop_width = (int) round($crop_frame['width']);
-                        $crop_height = (int) round($crop_frame['height']);
-                        $crop_final_width = (int) round($crop_frame['final_width']);
-                        $crop_final_height = (int) round($crop_frame['final_height']);
-                        $crop_width_orig = $crop_width;
-                        $crop_height_orig = $crop_height;
-                        $crop_factor_x = $crop_width / $crop_final_width;
-                        $crop_factor_y = $crop_height / $crop_final_height;
-                        $crop_ratio_x = $crop_width / $width;
-                        $crop_ratio_y = $crop_height / $height;
-                        if ($algo == 'adapt') {
-                            // XXX not sure about this...don't use for now
-                            #							$crop_width = (int) round($width * $crop_factor_x);
-                            #							$crop_height = (int) round($height * $crop_factor_y);
-                        } else {
-                            if ($algo == 'shrink') {
-                                if ($crop_ratio_x < $crop_ratio_y) {
-                                    $crop_width = max($crop_width, $width);
-                                    $crop_height = (int) round($crop_width / $aspect_ratio);
-                                } else {
-                                    $crop_height = max($crop_height, $height);
-                                    $crop_width = (int) round($crop_height * $aspect_ratio);
-                                }
-                                if ($crop_width == $crop_width_orig - 1) {
-                                    $crop_width = $crop_width_orig;
-                                }
-                                if ($crop_height == $crop_height_orig - 1) {
-                                    $crop_height = $crop_height_orig;
-                                }
-                            }
-                        }
-                        $crop_diff_x = (int) round(($crop_width_orig - $crop_width) / 2);
-                        $crop_diff_y = (int) round(($crop_height_orig - $crop_height) / 2);
-                        $crop_x += $crop_diff_x;
-                        $crop_y += $crop_diff_y;
-                        $crop_max_x = $crop_x + $crop_width;
-                        $crop_max_y = $crop_y + $crop_height;
-                        // Check if we're overflowing borders
-                        //
-                        if ($crop_x < 0) {
-                            $crop_x = 0;
-                        } else {
-                            if ($crop_max_x > $original_width) {
-                                $crop_x -= $crop_max_x - $original_width;
-                            }
-                        }
-                        if ($crop_y < 0) {
-                            $crop_y = 0;
-                        } else {
-                            if ($crop_max_y > $original_height) {
-                                $crop_y -= $crop_max_y - $original_height;
-                            }
-                        }
-                    } else {
-                        if ($orig_ratio_x < $orig_ratio_y) {
-                            $crop_width = $original_width;
-                            $crop_height = (int) round($height * $orig_ratio_x);
-                        } else {
-                            $crop_height = $original_height;
-                            $crop_width = (int) round($width * $orig_ratio_y);
-                        }
-                        if ($crop_width == $width - 1) {
-                            $crop_width = $width;
-                        }
-                        if ($crop_height == $height - 1) {
-                            $crop_height = $height;
-                        }
-                        $crop_x = (int) round(($original_width - $crop_width) / 2);
-                        $crop_y = (int) round(($original_height - $crop_height) / 2);
-                    }
-                    $result['crop_area'] = array('x' => $crop_x, 'y' => $crop_y, 'width' => $crop_width, 'height' => $crop_height);
-                } else {
-                    // Just constraint dimensions to ensure there's no stretching or deformations
-                    list($width, $height) = wp_constrain_dimensions($original_width, $original_height, $width, $height);
+                if (!empty($exif['Make'])) {
+                    $meta['make'] = $exif['Make'];
+                }
+                if (!empty($exif['ImageDescription'])) {
+                    $meta['title'] = $this->utf8_encode($exif['ImageDescription']);
+                }
+                if (!empty($exif['Orientation'])) {
+                    $meta['Orientation'] = $exif['Orientation'];
                 }
             }
-            $result['width'] = $width;
-            $result['height'] = $height;
-            $result['quality'] = $quality;
-            $real_width = $width;
-            $real_height = $height;
-            if ($rotation && in_array(abs($rotation), array(90, 270))) {
-                $real_width = $height;
-                $real_height = $width;
-            }
-            if ($reflection) {
-                // default for nextgen was 40%, this is used in generate_image_clone as well
-                $reflection_amount = 40;
-                // Note, round() would probably be best here but using the same code that C_NggLegacy_Thumbnail uses for compatibility
-                $reflection_height = intval($real_height * ($reflection_amount / 100));
-                $real_height = $real_height + $reflection_height;
+            // this is done by Windows
+            if (isset($this->exif_data['WINXP'])) {
+                $exif = $this->exif_data['WINXP'];
+                if (!empty($exif['Title']) && empty($meta['title'])) {
+                    $meta['title'] = $this->utf8_encode($exif['Title']);
+                }
+                if (!empty($exif['Author'])) {
+                    $meta['author'] = $this->utf8_encode($exif['Author']);
+                }
+                if (!empty($exif['Keywords'])) {
+                    $meta['keywords'] = $this->utf8_encode($exif['Keywords']);
+                }
+                if (!empty($exif['Subject'])) {
+                    $meta['subject'] = $this->utf8_encode($exif['Subject']);
+                }
+                if (!empty($exif['Comments'])) {
+                    $meta['caption'] = $this->utf8_encode($exif['Comments']);
+                }
             }
-            $result['real_width'] = $real_width;
-            $result['real_height'] = $real_height;
+            $this->exif_array = $meta;
         }
-        return $result;
+        // return one element if requested
+        if ($object == true) {
+            $value = isset($this->exif_array[$object]) ? $this->exif_array[$object] : false;
+            return $value;
+        }
+        // on request sanitize the output
+        if ($this->sanitize == true) {
+            array_walk($this->exif_array, 'esc_html');
+        }
+        return $this->exif_array;
     }
-    /**
-     * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
-     * @param string $image_path
-     * @param string $clone_path
-     * @param array $params
-     * @return null|array
-     */
-    function calculate_image_clone_dimensions($image_path, $clone_path, $params)
+    // convert a fraction string to a decimal
+    function exif_frac2dec($str)
     {
-        $retval = null;
-        $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params);
-        if ($result != null) {
-            $retval = array('width' => $result['width'], 'height' => $result['height'], 'real_width' => $result['real_width'], 'real_height' => $result['real_height']);
+        @(list($n, $d) = explode('/', $str));
+        if (!empty($d)) {
+            return $n / $d;
+        }
+        return $str;
+    }
+    // convert the exif date format to a unix timestamp
+    function exif_date2ts($str)
+    {
+        $retval = is_numeric($str) ? $str : @strtotime($str);
+        if (!$retval && $str) {
+            @(list($date, $time) = explode(' ', trim($str)));
+            @(list($y, $m, $d) = explode(':', $date));
+            $retval = strtotime("{$y}-{$m}-{$d} {$time}");
         }
         return $retval;
     }
     /**
-     * Generates a "clone" for an existing image, the clone can be altered using the $params array
-     * @param string $image_path
-     * @param string $clone_path
-     * @param array $params
-     * @return null|object
+     * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
+     *
+     * @param object $object (optional)
+     * @return null|bool|array
      */
-    function generate_image_clone($image_path, $clone_path, $params)
+    function get_IPTC($object = false)
     {
-        $crop = isset($params['crop']) ? $params['crop'] : NULL;
-        $watermark = isset($params['watermark']) ? $params['watermark'] : NULL;
-        $reflection = isset($params['reflection']) ? $params['reflection'] : NULL;
-        $rotation = isset($params['rotation']) ? $params['rotation'] : NULL;
-        $flip = isset($params['flip']) ? $params['flip'] : NULL;
-        $destpath = NULL;
-        $thumbnail = NULL;
-        $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params);
-        // XXX this should maybe be removed and extra settings go into $params?
-        $settings = apply_filters('ngg_settings_during_image_generation', C_NextGen_Settings::get_instance()->to_array());
-        // Ensure we have a valid image
-        if ($image_path && @file_exists($image_path) && $result != null && !isset($result['error'])) {
-            $image_dir = dirname($image_path);
-            $clone_path = $result['clone_path'];
-            $clone_dir = $result['clone_directory'];
-            $clone_format = $result['clone_format'];
-            $format_list = $this->object->get_image_format_list();
-            // Ensure target directory exists, but only create 1 subdirectory
-            if (!@file_exists($clone_dir)) {
-                if (strtolower(realpath($image_dir)) != strtolower(realpath($clone_dir))) {
-                    if (strtolower(realpath($image_dir)) == strtolower(realpath(dirname($clone_dir)))) {
-                        wp_mkdir_p($clone_dir);
-                    }
-                }
-            }
-            $method = $result['method'];
-            $width = $result['width'];
-            $height = $result['height'];
-            $quality = $result['quality'];
-            if ($quality == null) {
-                $quality = 100;
-            }
-            if ($method == 'wordpress') {
-                $original = wp_get_image_editor($image_path);
-                $destpath = $clone_path;
-                if (!is_wp_error($original)) {
-                    $original->resize($width, $height, $crop);
-                    $original->set_quality($quality);
-                    $original->save($clone_path);
-                }
-            } else {
-                if ($method == 'nextgen') {
-                    $destpath = $clone_path;
-                    $thumbnail = new C_NggLegacy_Thumbnail($image_path, true);
-                    if (!$thumbnail->error) {
-                        if ($crop) {
-                            $crop_area = $result['crop_area'];
-                            $crop_x = $crop_area['x'];
-                            $crop_y = $crop_area['y'];
-                            $crop_width = $crop_area['width'];
-                            $crop_height = $crop_area['height'];
-                            $thumbnail->crop($crop_x, $crop_y, $crop_width, $crop_height);
-                        }
-                        $thumbnail->resize($width, $height);
-                    } else {
-                        $thumbnail = NULL;
-                    }
-                }
-            }
-            // We successfully generated the thumbnail
-            if (is_string($destpath) && (@file_exists($destpath) || $thumbnail != null)) {
-                if ($clone_format != null) {
-                    if (isset($format_list[$clone_format])) {
-                        $clone_format_extension = $format_list[$clone_format];
-                        $clone_format_extension_str = null;
-                        if ($clone_format_extension != null) {
-                            $clone_format_extension_str = '.' . $clone_format_extension;
-                        }
-                        $destpath_info = M_I18n::mb_pathinfo($destpath);
-                        $destpath_extension = $destpath_info['extension'];
-                        if (strtolower($destpath_extension) != strtolower($clone_format_extension)) {
-                            $destpath_dir = $destpath_info['dirname'];
-                            $destpath_basename = $destpath_info['filename'];
-                            $destpath_new = $destpath_dir . DIRECTORY_SEPARATOR . $destpath_basename . $clone_format_extension_str;
-                            if (@file_exists($destpath) && rename($destpath, $destpath_new) || $thumbnail != null) {
-                                $destpath = $destpath_new;
-                            }
-                        }
-                    }
-                }
-                if (is_null($thumbnail)) {
-                    $thumbnail = new C_NggLegacy_Thumbnail($destpath, true);
-                    if ($thumbnail->error) {
-                        $thumbnail = null;
-                        return null;
-                    }
-                } else {
-                    $thumbnail->fileName = $destpath;
-                }
-                // This is quite odd, when watermark equals int(0) it seems all statements below ($watermark == 'image') and ($watermark == 'text') both evaluate as true
-                // so we set it at null if it evaluates to any null-like value
-                if ($watermark == null) {
-                    $watermark = null;
-                }
-                if ($watermark == 1 || $watermark === true) {
-                    if (in_array(strval($settings['wmType']), array('image', 'text'))) {
-                        $watermark = $settings['wmType'];
-                    } else {
-                        $watermark = 'text';
-                    }
-                }
-                $watermark = strval($watermark);
-                if ($watermark == 'image') {
-                    $thumbnail->watermarkImgPath = $settings['wmPath'];
-                    $thumbnail->watermarkImage($settings['wmPos'], $settings['wmXpos'], $settings['wmYpos']);
-                } else {
-                    if ($watermark == 'text') {
-                        $thumbnail->watermarkText = $settings['wmText'];
-                        $thumbnail->watermarkCreateText($settings['wmColor'], $settings['wmFont'], $settings['wmSize'], $settings['wmOpaque']);
-                        $thumbnail->watermarkImage($settings['wmPos'], $settings['wmXpos'], $settings['wmYpos']);
-                    }
-                }
-                if ($rotation && in_array(abs($rotation), array(90, 180, 270))) {
-                    $thumbnail->rotateImageAngle($rotation);
-                }
-                $flip = strtolower($flip);
-                if ($flip && in_array($flip, array('h', 'v', 'hv'))) {
-                    $flip_h = in_array($flip, array('h', 'hv'));
-                    $flip_v = in_array($flip, array('v', 'hv'));
-                    $thumbnail->flipImage($flip_h, $flip_v);
-                }
-                if ($reflection) {
-                    $thumbnail->createReflection(40, 40, 50, FALSE, '#a4a4a4');
-                }
-                if ($clone_format != null && isset($format_list[$clone_format])) {
-                    // Force format
-                    $thumbnail->format = strtoupper($format_list[$clone_format]);
+        if (!$this->iptc_data) {
+            return false;
+        }
+        if (!is_array($this->iptc_array)) {
+            // --------- Set up Array Functions --------- //
+            $iptcTags = array("2#005" => 'title', "2#007" => 'status', "2#012" => 'subject', "2#015" => 'category', "2#025" => 'keywords', "2#055" => 'created_date', "2#060" => 'created_time', "2#080" => 'author', "2#085" => 'position', "2#090" => 'city', "2#092" => 'location', "2#095" => 'state', "2#100" => 'country_code', "2#101" => 'country', "2#105" => 'headline', "2#110" => 'credit', "2#115" => 'source', "2#116" => 'copyright', "2#118" => 'contact', "2#120" => 'caption');
+            $meta = array();
+            foreach ($iptcTags as $key => $value) {
+                if (isset($this->iptc_data[$key])) {
+                    $meta[$value] = trim($this->utf8_encode(implode(", ", $this->iptc_data[$key])));
                 }
-                $thumbnail = apply_filters('ngg_before_save_thumbnail', $thumbnail);
-                $exif_iptc = @C_Exif_Writer_Wrapper::read_metadata($image_path);
-                $thumbnail->save($destpath, $quality);
-                @C_Exif_Writer_Wrapper::write_metadata($destpath, $exif_iptc);
             }
+            $this->iptc_array = $meta;
         }
-        return $thumbnail;
-    }
-}
-/**
- * Class C_GalleryStorage_Driver_Base
- * @mixin Mixin_GalleryStorage_Driver_Base
- * @implements I_GalleryStorage_Driver
- */
-class C_GalleryStorage_Driver_Base extends C_GalleryStorage_Base
-{
-    public static $_instances = array();
-    function define($context = FALSE)
-    {
-        parent::define($context);
-        $this->add_mixin('Mixin_GalleryStorage_Driver_Base');
-        $this->implement('I_GalleryStorage_Driver');
-    }
-    function initialize()
-    {
-        parent::initialize();
-        $this->_gallery_mapper = C_Gallery_Mapper::get_instance();
-        $this->_image_mapper = C_Image_Mapper::get_instance();
-    }
-    /**
-     * @param bool|string $context
-     * @return C_GalleryStorage_Driver_Base
-     */
-    public static function get_instance($context = False)
-    {
-        if (!isset(self::$_instances[$context])) {
-            self::$_instances[$context] = new C_GalleryStorage_Driver_Base($context);
-        }
-        return self::$_instances[$context];
-    }
-    /**
-     * Gets the class name of the driver used
-     * @return string
-     */
-    function get_driver_class_name()
-    {
-        return get_called_class();
-    }
-}
-class Mixin_NextGen_Gallery_Image_Validation extends Mixin
-{
-    function validation()
-    {
-        // Additional checks...
-        if (isset($this->object->description)) {
-            $this->object->description = M_NextGen_Data::strip_html($this->object->description, TRUE);
+        // return one element if requested
+        if ($object) {
+            return isset($this->iptc_array[$object]) ? $this->iptc_array[$object] : NULL;
         }
-        if (isset($this->object->alttext)) {
-            $this->object->alttext = M_NextGen_Data::strip_html($this->object->alttext, TRUE);
+        // on request sanitize the output
+        if ($this->sanitize == true) {
+            array_walk($this->iptc_array, 'esc_html');
         }
-        $this->validates_presence_of('galleryid', 'filename', 'alttext', 'exclude', 'sortorder', 'imagedate');
-        $this->validates_numericality_of('galleryid');
-        $this->validates_numericality_of($this->id());
-        $this->validates_numericality_of('sortorder');
-        $this->validates_length_of('filename', 185, '<=', __('Image filenames may not be longer than 185 characters in length', 'nextgen-gallery'));
-        return $this->object->is_valid();
-    }
-}
-/**
- * Model for NextGen Gallery Images
- * @mixin Mixin_NextGen_Gallery_Image_Validation
- * @implements I_Image
- */
-class C_Image extends C_DataMapper_Model
-{
-    var $_mapper_interface = 'I_Image_Mapper';
-    function define($properties = array(), $mapper = FALSE, $context = FALSE)
-    {
-        parent::define($mapper, $properties, $context);
-        $this->add_mixin('Mixin_NextGen_Gallery_Image_Validation');
-        $this->implement('I_Image');
+        return $this->iptc_array;
     }
     /**
-     * Instantiates a new model
-     * @param array|stdClass $properties (optional)
-     * @param C_Image_Mapper|false $mapper (optional)
-     * @param string|false $context (optional)
+     * nggMeta::extract_XMP()
+     * get XMP DATA
+     * code by Pekka Saarinen http://photography-on-the.net
+     *
+     * @param mixed $filename
+     * @return bool|string
      */
-    function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
+    function extract_XMP($filename)
     {
-        if (!$mapper) {
-            $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
+        //TODO:Require a lot of memory, could be better
+        ob_start();
+        @readfile($filename);
+        $source = ob_get_contents();
+        ob_end_clean();
+        $start = strpos($source, "<x:xmpmeta");
+        $end = strpos($source, "</x:xmpmeta>");
+        if (!$start === false && !$end === false) {
+            $lenght = $end - $start;
+            $xmp_data = substr($source, $start, $lenght + 12);
+            unset($source);
+            return $xmp_data;
         }
-        parent::initialize($mapper, $properties);
-    }
-    /**
-     * Returns the model representing the gallery associated with this image
-     * @param object|false $model (optional)
-     * @return C_Gallery|object
-     */
-    function get_gallery($model = FALSE)
-    {
-        return C_Gallery_Mapper::get_instance()->find($this->galleryid, $model);
+        unset($source);
+        return false;
     }
-}
-/**
- * Class C_Image_Mapper
- * @mixin Mixin_NextGen_Table_Extras
- * @mixin Mixin_Gallery_Image_Mapper
- * @implements I_Image_Mapper
- */
-class C_Image_Mapper extends C_CustomTable_DataMapper_Driver
-{
-    public static $_instance = NULL;
     /**
-     * Defines the gallery image mapper
-     * @param string|false $context (optional)
-     * @param mixed $not_used
+     * nggMeta::get_XMP()
+     *
+     * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
+     * @author Alf Marius Foss Olsen & Alex Rabe
+     * @return bool|array
+     *
      */
-    function define($context = FALSE, $not_used = FALSE)
+    function get_XMP($object = false)
     {
-        // Add 'attachment' context
-        if (!is_array($context)) {
-            $context = array($context);
+        if (!$this->xmp_data) {
+            return false;
         }
-        array_push($context, 'attachment');
-        // Define the mapper
-        $this->_primary_key_column = 'pid';
-        parent::define('ngg_pictures', $context);
-        $this->add_mixin('Mixin_NextGen_Table_Extras');
-        $this->add_mixin('Mixin_Gallery_Image_Mapper');
-        $this->implement('I_Image_Mapper');
-        $this->set_model_factory_method('image');
-        // Define the columns
-        $this->define_column('pid', 'BIGINT', 0);
-        $this->define_column('image_slug', 'VARCHAR(255)');
-        $this->define_column('post_id', 'BIGINT', 0);
-        $this->define_column('galleryid', 'BIGINT', 0);
-        $this->define_column('filename', 'VARCHAR(255)');
-        $this->define_column('description', 'TEXT');
-        $this->define_column('alttext', 'TEXT');
-        $this->define_column('imagedate', 'DATETIME');
-        $this->define_column('exclude', 'INT', 0);
-        $this->define_column('sortorder', 'BIGINT', 0);
-        $this->define_column('meta_data', 'TEXT');
-        $this->define_column('extras_post_id', 'BIGINT', 0);
-        $this->define_column('updated_at', 'BIGINT');
-        // Mark the columns which should be unserialized
-        $this->add_serialized_column('meta_data');
+        if (!is_array($this->xmp_array)) {
+            $parser = xml_parser_create();
+            xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
+            // Dont mess with my cAsE sEtTings
+            xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
+            // Dont bother with empty info
+            xml_parse_into_struct($parser, $this->xmp_data, $values);
+            xml_parser_free($parser);
+            $xmlarray = array();
+            // The XML array
+            $this->xmp_array = array();
+            // The returned array
+            $stack = array();
+            // tmp array used for stacking
+            $list_array = array();
+            // tmp array for list elements
+            $list_element = false;
+            // rdf:li indicator
+            foreach ($values as $val) {
+                if ($val['type'] == "open") {
+                    array_push($stack, $val['tag']);
+                } elseif ($val['type'] == "close") {
+                    // reset the compared stack
+                    if ($list_element == false) {
+                        array_pop($stack);
+                    }
+                    // reset the rdf:li indicator & array
+                    $list_element = false;
+                    $list_array = array();
+                } elseif ($val['type'] == "complete") {
+                    if ($val['tag'] == "rdf:li") {
+                        // first go one element back
+                        if ($list_element == false) {
+                            array_pop($stack);
+                        }
+                        $list_element = true;
+                        // do not parse empty tags
+                        if (empty($val['value'])) {
+                            continue;
+                        }
+                        // save it in our temp array
+                        $list_array[] = $val['value'];
+                        // in the case it's a list element we seralize it
+                        $value = implode(",", $list_array);
+                        $this->setArrayValue($xmlarray, $stack, $value);
+                    } else {
+                        array_push($stack, $val['tag']);
+                        // do not parse empty tags
+                        if (!empty($val['value'])) {
+                            $this->setArrayValue($xmlarray, $stack, $val['value']);
+                        }
+                        array_pop($stack);
+                    }
+                }
+            }
+            // foreach
+            // don't parse a empty array
+            if (empty($xmlarray) || empty($xmlarray['x:xmpmeta'])) {
+                return false;
+            }
+            // cut off the useless tags
+            $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
+            // --------- Some values from the XMP format--------- //
+            $xmpTags = array('xap:CreateDate' => 'created_timestamp', 'xap:ModifyDate' => 'last_modfied', 'xap:CreatorTool' => 'tool', 'dc:format' => 'format', 'dc:title' => 'title', 'dc:creator' => 'author', 'dc:subject' => 'keywords', 'dc:description' => 'caption', 'photoshop:AuthorsPosition' => 'position', 'photoshop:City' => 'city', 'photoshop:Country' => 'country');
+            foreach ($xmpTags as $key => $value) {
+                // if the kex exist
+                if (isset($xmlarray[$key])) {
+                    switch ($key) {
+                        case 'xap:CreateDate':
+                        case 'xap:ModifyDate':
+                            $this->xmp_array[$value] = strtotime($xmlarray[$key]);
+                            break;
+                        default:
+                            $this->xmp_array[$value] = $xmlarray[$key];
+                    }
+                }
+            }
+        }
+        // return one element if requested
+        if ($object != false) {
+            return isset($this->xmp_array[$object]) ? $this->xmp_array[$object] : false;
+        }
+        // on request sanitize the output
+        if ($this->sanitize == true) {
+            array_walk($this->xmp_array, 'esc_html');
+        }
+        return $this->xmp_array;
     }
-    function initialize($object_name = FALSE)
+    function setArrayValue(&$array, $stack, $value)
     {
-        parent::initialize('ngg_pictures');
+        if ($stack) {
+            $key = array_shift($stack);
+            $this->setArrayValue($array[$key], $stack, $value);
+            return $array;
+        } else {
+            $array = $value;
+        }
+        return $array;
     }
     /**
-     * @param bool|string $context
-     * @return C_Image_Mapper
+     * nggMeta::get_META() - return a meta value form the available list
+     *
+     * @param string $object
+     * @return mixed $value
      */
-    static function get_instance($context = False)
+    function get_META($object = false)
     {
-        if (is_null(self::$_instance)) {
-            $klass = get_class();
-            self::$_instance = new $klass($context);
+        // defined order first look into database, then XMP, IPTC and EXIF.
+        if ($value = $this->get_saved_meta($object)) {
+            return $value;
         }
-        return self::$_instance;
-    }
-}
-/**
- * Sets the alttext property as the post title
- */
-class Mixin_Gallery_Image_Mapper extends Mixin
-{
-    function destroy($image)
-    {
-        $retval = $this->call_parent('destroy', $image);
-        // Delete tag associations with the image
-        if (!is_numeric($image)) {
-            $image = $image->{$image->id_field};
+        if ($value = $this->get_XMP($object)) {
+            return $value;
         }
-        wp_delete_object_term_relationships($image, 'ngg_tag');
-        C_Photocrati_Transient_Manager::flush('displayed_gallery_rendering');
-        return $retval;
+        if ($object == 'created_timestamp' && ($d = $this->get_IPTC('created_date')) && ($t = $this->get_IPTC('created_time'))) {
+            return $this->exif_date2ts($d . ' ' . $t);
+        }
+        if ($value = $this->get_IPTC($object)) {
+            return $value;
+        }
+        if ($value = $this->get_EXIF($object)) {
+            return $value;
+        }
+        // nothing found ?
+        return false;
     }
-    function _save_entity($entity)
+    /**
+     * nggMeta::i8n_name() -  localize the tag name
+     *
+     * @param mixed $key
+     * @return string Translated $key
+     */
+    function i18n_name($key)
     {
-        $entity->updated_at = time();
-        // If successfully saved then import metadata
-        $retval = $this->call_parent('_save_entity', $entity);
-        if ($retval) {
-            include_once NGGALLERY_ABSPATH . '/admin/functions.php';
-            $image_id = $this->get_id($entity);
-            if (!isset($entity->meta_data['saved'])) {
-                nggAdmin::import_MetaData($image_id);
-            }
-            C_Photocrati_Transient_Manager::flush('displayed_gallery_rendering');
+        $tagnames = array('aperture' => __('Aperture', 'nggallery'), 'credit' => __('Credit', 'nggallery'), 'camera' => __('Camera', 'nggallery'), 'caption' => __('Caption', 'nggallery'), 'created_timestamp' => __('Date/Time', 'nggallery'), 'copyright' => __('Copyright', 'nggallery'), 'focal_length' => __('Focal length', 'nggallery'), 'iso' => __('ISO', 'nggallery'), 'shutter_speed' => __('Shutter speed', 'nggallery'), 'title' => __('Title', 'nggallery'), 'author' => __('Author', 'nggallery'), 'tags' => __('Tags', 'nggallery'), 'subject' => __('Subject', 'nggallery'), 'make' => __('Make', 'nggallery'), 'status' => __('Edit Status', 'nggallery'), 'category' => __('Category', 'nggallery'), 'keywords' => __('Keywords', 'nggallery'), 'created_date' => __('Date Created', 'nggallery'), 'created_time' => __('Time Created', 'nggallery'), 'position' => __('Author Position', 'nggallery'), 'city' => __('City', 'nggallery'), 'location' => __('Location', 'nggallery'), 'state' => __('Province/State', 'nggallery'), 'country_code' => __('Country code', 'nggallery'), 'country' => __('Country', 'nggallery'), 'headline' => __('Headline', 'nggallery'), 'credit' => __('Credit', 'nggallery'), 'source' => __('Source', 'nggallery'), 'copyright' => __('Copyright Notice', 'nggallery'), 'contact' => __('Contact', 'nggallery'), 'last_modfied' => __('Last modified', 'nggallery'), 'tool' => __('Program tool', 'nggallery'), 'format' => __('Format', 'nggallery'), 'width' => __('Image Width', 'nggallery'), 'height' => __('Image Height', 'nggallery'), 'flash' => __('Flash', 'nggallery'));
+        if (isset($tagnames[$key])) {
+            $key = $tagnames[$key];
         }
-        return $retval;
+        return $key;
     }
-    function reimport_metadata($image_or_id)
+    /**
+     * Return the Timestamp from the image , if possible it's read from exif data
+     * @return string
+     */
+    function get_date_time()
     {
-        // Get the image
-        $image = NULL;
-        if (is_int($image_or_id)) {
-            $image = $this->object->find($image_or_id);
-        } else {
-            $image = $image_or_id;
+        $date = time();
+        // Try getting the created_timestamp field
+        $date = $this->exif_date2ts($this->get_META('created_timestamp'));
+        if (!$date) {
+            $image_path = C_Gallery_Storage::get_instance()->get_backup_abspath($this->image);
+            $date = @filectime($image_path);
         }
-        // Reset all image details that would have normally been imported
-        if (is_array($image->meta_data)) {
-            unset($image->meta_data['saved']);
+        // Failback
+        if (!$date) {
+            $date = time();
         }
-        nggAdmin::import_MetaData($image);
-        return $this->object->save($image);
+        // Return the MySQL format
+        $date_time = date('Y-m-d H:i:s', $date);
+        return $date_time;
     }
     /**
-     * Retrieves the id from an image
-     * @param $image
-     * @return bool
+     * This function return the most common metadata, via a filter we can add more
+     * Reason : GD manipulation removes that options
+     *
+     * @since V1.4.0
+     * @return array|false
      */
-    function get_id($image)
+    function get_common_meta()
     {
-        $retval = FALSE;
-        // Have we been passed an entity and is the id_field set?
-        if ($image instanceof stdClass) {
-            if (isset($image->id_field)) {
-                $retval = $image->{$image->id_field};
-            }
-        } else {
-            $retval = $image->id();
+        global $wpdb;
+        $meta = array('aperture' => 0, 'credit' => '', 'camera' => '', 'caption' => '', 'created_timestamp' => 0, 'copyright' => '', 'focal_length' => 0, 'iso' => 0, 'shutter_speed' => 0, 'flash' => 0, 'title' => '', 'keywords' => '');
+        $meta = apply_filters('ngg_read_image_metadata', $meta);
+        // meta should be still an array
+        if (!is_array($meta)) {
+            return false;
         }
-        // If we still don't have an id, then we'll lookup the primary key
-        // and try fetching it manually
-        if (!$retval) {
-            $key = $this->object->get_primary_key_column();
-            $retval = $image->{$key};
+        foreach ($meta as $key => $value) {
+            $meta[$key] = $this->get_META($key);
         }
-        return $retval;
+        //let's add now the size of the image
+        $meta['width'] = $this->size[0];
+        $meta['height'] = $this->size[1];
+        return $meta;
     }
-    function get_post_title($entity)
+    /**
+     * If needed sanitize each value before output
+     *
+     * @return void
+     */
+    function sanitize()
     {
-        return $entity->alttext;
-    }
-    function set_defaults($entity)
-    {
-        // If not set already, we'll add an exclude property. This is used
-        // by NextGEN Gallery itself, as well as the Attach to Post module
-        $this->object->_set_default_value($entity, 'exclude', 0);
-        // Ensure that the object has a description attribute
-        $this->object->_set_default_value($entity, 'description', '');
-        // If not set already, set a default sortorder
-        $this->object->_set_default_value($entity, 'sortorder', 0);
-        // The imagedate must be set
-        if (!isset($entity->imagedate) or is_null($entity->imagedate) or $entity->imagedate == '0000-00-00 00:00:00') {
-            $entity->imagedate = date("Y-m-d H:i:s");
-        }
-        // If a filename is set, and no alttext is set, then set the alttext
-        // to the basename of the filename (legacy behavior)
-        if (isset($entity->filename)) {
-            $path_parts = M_I18n::mb_pathinfo($entity->filename);
-            $alttext = !isset($path_parts['filename']) ? substr($path_parts['basename'], 0, strpos($path_parts['basename'], '.')) : $path_parts['filename'];
-            $this->object->_set_default_value($entity, 'alttext', $alttext);
-        }
-        // Set unique slug
-        if (isset($entity->alttext) && empty($entity->image_slug)) {
-            $entity->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($entity->alttext), 'image');
-        }
-        // Ensure that the exclude parameter is an integer or boolean-evaluated
-        // value
-        if (is_string($entity->exclude)) {
-            $entity->exclude = intval($entity->exclude);
-        }
-        // Trim alttext and description
-        $entity->description = trim($entity->description);
-        $entity->alttext = trim($entity->alttext);
+        $this->sanitize = true;
     }
     /**
-     * Finds all images for a gallery
-     * @param $gallery
-     * @param bool $model
+     * Wrapper to utf8_encode() that avoids double encoding
      *
-     * @return array
+     * Regex adapted from http://www.w3.org/International/questions/qa-forms-utf-8.en.php
+     * to determine if the given string is already UTF-8. mb_detect_encoding() is not
+     * always available and is limited in accuracy
+     *
+     * @param string $str
+     * @return string
      */
-    function find_all_for_gallery($gallery, $model = FALSE)
+    function utf8_encode($str)
     {
-        $retval = array();
-        $gallery_id = 0;
-        if (is_object($gallery)) {
-            if (isset($gallery->id_field)) {
-                $gallery_id = $gallery->{$gallery->id_field};
-            } else {
-                $key = $this->object->get_primary_key_column();
-                if (isset($gallery->{$key})) {
-                    $gallery_id = $gallery->{$key};
-                }
-            }
-        } elseif (is_numeric($gallery)) {
-            $gallery_id = $gallery;
-        }
-        if ($gallery_id) {
-            $retval = $this->object->select()->where(array("galleryid = %s", $gallery_id))->run_query(FALSE, $model);
+        $is_utf8 = preg_match('%^(?:
+              [\\x09\\x0A\\x0D\\x20-\\x7E]            # ASCII
+            | [\\xC2-\\xDF][\\x80-\\xBF]             # non-overlong 2-byte
+            |  \\xE0[\\xA0-\\xBF][\\x80-\\xBF]        # excluding overlongs
+            | [\\xE1-\\xEC\\xEE\\xEF][\\x80-\\xBF]{2}  # straight 3-byte
+            |  \\xED[\\x80-\\x9F][\\x80-\\xBF]        # excluding surrogates
+            |  \\xF0[\\x90-\\xBF][\\x80-\\xBF]{2}     # planes 1-3
+            | [\\xF1-\\xF3][\\x80-\\xBF]{3}          # planes 4-15
+            |  \\xF4[\\x80-\\x8F][\\x80-\\xBF]{2}     # plane 16
+            )*$%xs', $str);
+        if (!$is_utf8) {
+            utf8_encode($str);
         }
-        return $retval;
+        return $str;
     }
 }
 /**
- * This class provides a lazy-loading wrapper to the NextGen-Legacy "nggImage" class for use in legacy style templates
+ * gd.thumbnail.inc.php
+ * 
+ * @author 		Ian Selby (ian@gen-x-design.com)
+ * @copyright 	Copyright 2006-2011
+ * @version 	1.3.0 (based on 1.1.3)
+ * @modded      by Alex Rabe
+ * 
  */
-class C_Image_Wrapper
+/**
+ * PHP class for dynamically resizing, cropping, and rotating images for thumbnail purposes and either displaying them on-the-fly or saving them.
+ *
+ */
+class C_NggLegacy_Thumbnail
 {
-    public $_cache;
-    // cache of retrieved values
-    public $_settings;
-    // I_Settings_Manager cache
-    public $_storage;
-    // I_Gallery_Storage cache
-    public $_galleries;
-    // cache of I_Gallery_Mapper (plural)
-    public $_orig_image;
-    // original provided image
-    public $_orig_image_id;
-    // original image ID
-    public $_cache_overrides;
-    // allow for forcing variable values
-    public $_legacy = FALSE;
-    public $_displayed_gallery;
-    // cached object
     /**
-     * Constructor. Converts the image class into an array and fills from defaults any missing values
+     * Error message to display, if any
      *
-     * @param object $image Individual result from displayed_gallery->get_entities()
-     * @param object $displayed_gallery Displayed gallery -- MAY BE NULL
-     * @param bool $legacy Whether the image source is from NextGen Legacy or NextGen
-     * @return void
+     * @var string
      */
-    public function __construct($image, $displayed_gallery = NULL, $legacy = FALSE)
-    {
-        // for clarity
-        if ($displayed_gallery && isset($displayed_gallery->display_settings['number_of_columns'])) {
-            $columns = $displayed_gallery->display_settings['number_of_columns'];
-        } else {
-            $columns = 0;
-        }
-        // Public variables
-        $defaults = array(
-            'errmsg' => '',
-            // Error message to display, if any
-            'error' => FALSE,
-            // Error state
-            'imageURL' => '',
-            // URL Path to the image
-            'thumbURL' => '',
-            // URL Path to the thumbnail
-            'imagePath' => '',
-            // Server Path to the image
-            'thumbPath' => '',
-            // Server Path to the thumbnail
-            'href' => '',
-            // A href link code
-            // Mostly constant
-            'thumbPrefix' => 'thumbs_',
-            // FolderPrefix to the thumbnail
-            'thumbFolder' => '/thumbs/',
-            // Foldername to the thumbnail
-            // Image Data
-            'galleryid' => 0,
-            // Gallery ID
-            'pid' => 0,
-            // Image ID
-            'filename' => '',
-            // Image filename
-            'description' => '',
-            // Image description
-            'alttext' => '',
-            // Image alttext
-            'imagedate' => '',
-            // Image date/time
-            'exclude' => '',
-            // Image exclude
-            'thumbcode' => '',
-            // Image effect code
-            // Gallery Data
-            'name' => '',
-            // Gallery name
-            'path' => '',
-            // Gallery path
-            'title' => '',
-            // Gallery title
-            'pageid' => 0,
-            // Gallery page ID
-            'previewpic' => 0,
-            // Gallery preview pic
-            'style' => $columns > 0 ? 'style="width:' . floor(100 / $columns) . '%;"' : '',
-            'hidden' => FALSE,
-            'permalink' => '',
-            'tags' => '',
-        );
-        // convert the image to an array and apply the defaults
-        $this->_orig_image = $image;
-        $image = (array) $image;
-        foreach ($defaults as $key => $val) {
-            if (!isset($image[$key])) {
-                $image[$key] = $val;
-            }
-        }
-        // cache the results
-        ksort($image);
-        $id_field = !empty($image['id_field']) ? $image['id_field'] : 'pid';
-        $this->_cache = (array) apply_filters('ngg_image_object', (object) $image, $image[$id_field]);
-        $this->_orig_image_id = $image[$id_field];
-        $this->_legacy = $legacy;
-        $this->_displayed_gallery = $displayed_gallery;
-    }
-    public function __set($name, $value)
-    {
-        $this->_cache[$name] = $value;
-    }
-    public function __isset($name)
-    {
-        return isset($this->_cache[$name]);
-    }
-    public function __unset($name)
-    {
-        unset($this->_cache[$name]);
-    }
+    var $errmsg;
     /**
-     * Lazy-loader for image variables.
+     * Whether or not there is an error
      *
-     * @param string $name Parameter name
-     * @return mixed
+     * @var boolean
      */
-    public function __get($name)
-    {
-        if (isset($this->_cache_overrides[$name])) {
-            return $this->_cache_overrides[$name];
-        }
-        // at the bottom we default to returning $this->_cache[$name].
-        switch ($name) {
-            case 'alttext':
-                $this->_cache['alttext'] = empty($this->_cache['alttext']) ? ' ' : html_entity_decode(stripslashes($this->_cache['alttext']));
-                return $this->_cache['alttext'];
-            case 'author':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['author'] = $gallery->name;
-                return $this->_cache['author'];
-            case 'caption':
-                $caption = html_entity_decode(stripslashes($this->__get('description')));
-                if (empty($caption)) {
-                    $caption = '&nbsp;';
-                }
-                $this->_cache['caption'] = $caption;
-                return $this->_cache['caption'];
-            case 'description':
-                $this->_cache['description'] = empty($this->_cache['description']) ? ' ' : html_entity_decode(stripslashes($this->_cache['description']));
-                return $this->_cache['description'];
-            case 'galdesc':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['galdesc'] = $gallery->name;
-                return $this->_cache['galdesc'];
-            case 'gid':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['gid'] = $gallery->{$gallery->id_field};
-                return $this->_cache['gid'];
-            case 'href':
-                return $this->__get('imageHTML');
-            case 'id':
-                return $this->_orig_image_id;
-            case 'imageHTML':
-                $tmp = '<a href="' . $this->__get('imageURL') . '" title="' . htmlspecialchars(stripslashes($this->__get('description'))) . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') . '" src="' . $this->__get('imageURL') . '"/>' . '</a>';
-                $this->_cache['href'] = $tmp;
-                $this->_cache['imageHTML'] = $tmp;
-                return $this->_cache['imageHTML'];
-            case 'imagePath':
-                $storage = $this->get_storage();
-                $this->_cache['imagePath'] = $storage->get_image_abspath($this->_orig_image, 'full');
-                return $this->_cache['imagePath'];
-            case 'imageURL':
-                $storage = $this->get_storage();
-                $this->_cache['imageURL'] = $storage->get_image_url($this->_orig_image, 'full');
-                return $this->_cache['imageURL'];
-            case 'linktitle':
-                $this->_cache['linktitle'] = htmlspecialchars(stripslashes($this->__get('description')));
-                return $this->_cache['linktitle'];
-            case 'name':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['name'] = $gallery->name;
-                return $this->_cache['name'];
-            case 'pageid':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['pageid'] = $gallery->name;
-                return $this->_cache['pageid'];
-            case 'path':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['path'] = $gallery->name;
-                return $this->_cache['path'];
-            case 'permalink':
-                $this->_cache['permalink'] = $this->__get('imageURL');
-                return $this->_cache['permalink'];
-            case 'pid':
-                return $this->_orig_image_id;
-            case 'id_field':
-                $this->_cache['id_field'] = !empty($this->_orig_image->id_field) ? $this->_orig_image->id_field : 'pid';
-                return $this->_cache['id_field'];
-            case 'pidlink':
-                $application = C_Router::get_instance()->get_routed_app();
-                $controller = C_Display_Type_Controller::get_instance();
-                $this->_cache['pidlink'] = $controller->set_param_for($application->get_routed_url(TRUE), 'pid', $this->__get('image_slug'));
-                return $this->_cache['pidlink'];
-            case 'previewpic':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['previewpic'] = $gallery->name;
-                return $this->_cache['previewpic'];
-            case 'size':
-                $w = 0;
-                $h = 0;
-                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings)) {
-                    $ds = $this->_displayed_gallery->display_settings;
-                    if (isset($ds['override_thumbnail_settings']) && $ds['override_thumbnail_settings']) {
-                        $w = $ds['thumbnail_width'];
-                        $h = $ds['thumbnail_height'];
-                    }
-                }
-                if (!$w || !$h) {
-                    if (is_string($this->_orig_image->meta_data)) {
-                        $this->_orig_image = C_NextGen_Serializable::unserialize($this->_orig_image->meta_data);
-                    }
-                    if (!isset($this->_orig_image->meta_data['thumbnail'])) {
-                        $storage = $this->get_storage();
-                        $storage->generate_thumbnail($this->_orig_image);
-                    }
-                    $w = $this->_orig_image->meta_data['thumbnail']['width'];
-                    $h = $this->_orig_image->meta_data['thumbnail']['height'];
-                }
-                return "width='{$w}' height='{$h}'";
-            case 'slug':
-                $gallery = $this->get_legacy_gallery($this->__get('galleryid'));
-                $this->_cache['slug'] = $gallery->name;
-                return $this->_cache['slug'];
-            case 'tags':
-                $this->_cache['tags'] = wp_get_object_terms($this->__get('id'), 'ngg_tag', 'fields=all');
-                return $this->_cache['tags'];
-            case 'thumbHTML':
-                $tmp = '<a href="' . $this->__get('imageURL') . '" title="' . htmlspecialchars(stripslashes($this->__get('description'))) . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') . '" src="' . $this->thumbURL . '"/>' . '</a>';
-                $this->_cache['href'] = $tmp;
-                $this->_cache['thumbHTML'] = $tmp;
-                return $this->_cache['thumbHTML'];
-            case 'thumbPath':
-                $storage = $this->get_storage();
-                $this->_cache['thumbPath'] = $storage->get_image_abspath($this->_orig_image, 'thumbnail');
-                return $this->_cache['thumbPath'];
-            case 'thumbnailURL':
-                $storage = $this->get_storage();
-                $thumbnail_size_name = 'thumbnail';
-                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings)) {
-                    $ds = $this->_displayed_gallery->display_settings;
-                    if (isset($ds['override_thumbnail_settings']) && $ds['override_thumbnail_settings']) {
-                        $dynthumbs = C_Component_Registry::get_instance()->get_utility('I_Dynamic_Thumbnails_Manager');
-                        $dyn_params = array('width' => $ds['thumbnail_width'], 'height' => $ds['thumbnail_height']);
-                        if ($ds['thumbnail_quality']) {
-                            $dyn_params['quality'] = $ds['thumbnail_quality'];
-                        }
-                        if ($ds['thumbnail_crop']) {
-                            $dyn_params['crop'] = TRUE;
-                        }
-                        if ($ds['thumbnail_watermark']) {
-                            $dyn_params['watermark'] = TRUE;
-                        }
-                        $thumbnail_size_name = $dynthumbs->get_size_name($dyn_params);
-                    }
-                }
-                $this->_cache['thumbnailURL'] = $storage->get_image_url($this->_orig_image, $thumbnail_size_name);
-                return $this->_cache['thumbnailURL'];
-            case 'thumbcode':
-                if ($this->_displayed_gallery && isset($this->_displayed_gallery->display_settings) && isset($this->_displayed_gallery->display_settings['use_imagebrowser_effect']) && $this->_displayed_gallery->display_settings['use_imagebrowser_effect'] && !empty($this->_orig_image->thumbcode)) {
-                    $this->_cache['thumbcode'] = $this->_orig_image->thumbcode;
-                } else {
-                    $this->_cache['thumbcode'] = $this->get_thumbcode($this->__get('name'));
-                }
-                return $this->_cache['thumbcode'];
-            case 'thumbURL':
-                return $this->__get('thumbnailURL');
-            case 'title':
-                $this->_cache['title'] = stripslashes($this->__get('name'));
-                return $this->_cache['title'];
-            case 'url':
-                $storage = $this->get_storage();
-                $this->_cache['url'] = $storage->get_image_url($this->_orig_image, 'full');
-                return $this->_cache['url'];
-            default:
-                return $this->_cache[$name];
-        }
-    }
-    // called on initial nggLegacy image at construction. not sure what to do with it now.
-    function construct_ngg_Image($gallery)
-    {
-        do_action_ref_array('ngg_get_image', array(&$this));
-        unset($this->tags);
-    }
+    var $error;
     /**
-     * Retrieves and caches an I_Settings_Manager instance
+     * Format of the image file
      *
-     * @return mixed
+     * @var string
      */
-    function get_settings()
-    {
-        if (is_null($this->_settings)) {
-            $this->_settings = C_NextGen_Settings::get_instance();
-        }
-        return $this->_settings;
-    }
+    var $format;
     /**
-     * Retrieves and caches an I_Gallery_Storage instance
+     * File name and path of the image file
      *
-     * @return mixed
+     * @var string
      */
-    function get_storage()
-    {
-        if (is_null($this->_storage)) {
-            $this->_storage = C_Gallery_Storage::get_instance();
-        }
-        return $this->_storage;
-    }
+    var $fileName;
     /**
-     * Retrieves I_Gallery_Mapper instance.
+     * Current dimensions of working image
      *
-     * @param int $gallery_id Gallery ID
-     * @return mixed
+     * @var array
      */
-    function get_gallery($gallery_id)
-    {
-        if (isset($this->container) && method_exists($this->container, 'get_gallery')) {
-            return $this->container->get_gallery($gallery_id);
-        }
-        return C_Gallery_Mapper::get_instance()->find($gallery_id);
-    }
+    var $currentDimensions;
     /**
-     * Retrieves I_Gallery_Mapper instance.
+     * New dimensions of working image
      *
-     * @param int $gallery_id Gallery ID
-     * @return mixed
+     * @var array
      */
-    function get_legacy_gallery($gallery_id)
-    {
-        return C_Gallery_Mapper::get_instance()->find($gallery_id);
-    }
+    var $newDimensions;
     /**
-     * Get the thumbnail code (to add effects on thumbnail click)
+     * Image resource for newly manipulated image
      *
-     * Applies the filter 'ngg_get_thumbcode'
-     * @param string $gallery_name (optional) Default = ''
-     * @return string
+     * @var resource
+     * @access private
      */
-    function get_thumbcode($gallery_name = '')
-    {
-        if (empty($this->_displayed_gallery)) {
-            $effect_code = C_NextGen_Settings::get_instance()->thumbCode;
-            $effect_code = str_replace('%GALLERY_ID%', $gallery_name, $effect_code);
-            $effect_code = str_replace('%GALLERY_NAME%', $gallery_name, $effect_code);
-            $retval = $effect_code;
-        } else {
-            $controller = C_Display_Type_Controller::get_instance();
-            $retval = $controller->get_effect_code($this->_displayed_gallery);
-            // This setting requires that we disable the effect code
-            $ds = $this->_displayed_gallery->display_settings;
-            if (isset($ds['use_imagebrowser_effect']) && $ds['use_imagebrowser_effect']) {
-                $retval = '';
-            }
-        }
-        $retval = apply_filters('ngg_get_thumbcode', $retval, $this);
-        // ensure some additional data- fields are added; provides Pro-Lightbox compatibility
-        $retval .= ' data-image-id="' . $this->__get('id') . '"';
-        $retval .= ' data-src="' . $this->__get('imageURL') . '"';
-        $retval .= ' data-thumbnail="' . $this->__get('thumbnailURL') . '"';
-        $retval .= ' data-title="' . esc_attr($this->__get('alttext')) . '"';
-        $retval .= ' data-description="' . esc_attr($this->__get('description')) . '"';
-        $this->_cache['thumbcode'] = $retval;
-        return $retval;
-    }
+    var $newImage;
     /**
-     * For compatibility support
+     * Image resource for image before previous manipulation
      *
-     * @return mixed
+     * @var resource
+     * @access private
      */
-    function get_href_link()
-    {
-        return $this->__get('imageHTML');
-    }
+    var $oldImage;
     /**
-     * For compatibility support
+     * Image resource for image being currently manipulated
      *
-     * @return mixed
+     * @var resource
+     * @access private
      */
-    function get_href_thumb_link()
-    {
-        return $this->__get('thumbHTML');
-    }
+    var $workingImage;
     /**
-     * Function exists for legacy support but has been gutted to not do anything
+     * Percentage to resize image by
      *
-     * @param string|int $width (optional) Default = ''
-     * @param string|int $height (optional) Default = ''
-     * @param string $mode could be watermark | web20 | crop
-     * @return bool|string The url for the image or false if failed
+     * @var int
+     * @access private
      */
-    function cached_singlepic_file($width = '', $height = '', $mode = '')
-    {
-        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
-        $storage = $this->get_storage();
-        // determine what to do with 'mode'
-        $display_reflection = FALSE;
-        $display_watermark = FALSE;
-        if (!is_array($mode)) {
-            $mode = explode(',', $mode);
-        }
-        if (in_array('web20', $mode)) {
-            $display_reflection = TRUE;
-        }
-        if (in_array('watermark', $mode)) {
-            $display_watermark = TRUE;
-        }
-        // and go for it
-        $params = array('width' => $width, 'height' => $height, 'watermark' => $display_watermark, 'reflection' => $display_reflection);
-        return $storage->get_image_url((object) $this->_cache, $dynthumbs->get_size_name($params));
-    }
+    var $percent;
     /**
-     * Get the tags associated to this image
+     * Maximum width of image during resize
+     *
+     * @var int
+     * @access private
      */
-    function get_tags()
-    {
-        return $this->__get('tags');
-    }
+    var $maxWidth;
     /**
-     * Get the permalink to the image
+     * Maximum height of image during resize
      *
-     * TODO: Get a permalink to a page presenting the image
+     * @var int
+     * @access private
      */
-    function get_permalink()
+    var $maxHeight;
+    /**
+     * Image for Watermark
+     *
+     * @var string
+     * 
+     */
+    var $watermarkImgPath;
+    /**
+     * Text for Watermark
+     *
+     * @var string
+     * 
+     */
+    var $watermarkText;
+    /**
+     * Image Resource ID for Watermark
+     *
+     * @var string
+     * 
+     */
+    function __construct($fileName, $no_ErrorImage = false)
     {
-        return $this->__get('permalink');
+        //make sure the GD library is installed
+        if (!function_exists("gd_info")) {
+            echo 'You do not have the GD Library installed.  This class requires the GD library to function properly.' . "\n";
+            echo 'visit http://us2.php.net/manual/en/ref.image.php for more information';
+            throw new E_No_Image_Library_Exception();
+        }
+        //initialize variables
+        $this->errmsg = '';
+        $this->error = false;
+        $this->currentDimensions = array();
+        $this->newDimensions = array();
+        $this->fileName = $fileName;
+        $this->percent = 100;
+        $this->maxWidth = 0;
+        $this->maxHeight = 0;
+        $this->watermarkImgPath = '';
+        $this->watermarkText = '';
+        //check to see if file exists
+        if (!@file_exists($this->fileName)) {
+            $this->errmsg = 'File not found';
+            $this->error = true;
+        } elseif (!is_readable($this->fileName)) {
+            $this->errmsg = 'File is not readable';
+            $this->error = true;
+        }
+        $image_size = null;
+        //if there are no errors, determine the file format
+        if ($this->error == false) {
+            //	        set_time_limit(30);
+            @ini_set('memory_limit', -1);
+            $image_size = @getimagesize($this->fileName);
+            if (isset($image_size) && is_array($image_size)) {
+                $extensions = array('1' => 'GIF', '2' => 'JPG', '3' => 'PNG');
+                $extension = array_key_exists($image_size[2], $extensions) ? $extensions[$image_size[2]] : '';
+                if ($extension) {
+                    $this->format = $extension;
+                } else {
+                    $this->errmsg = 'Unknown file format';
+                    $this->error = true;
+                }
+            } else {
+                $this->errmsg = 'File is not an image';
+                $this->error = true;
+            }
+        }
+        // increase memory-limit if possible, GD needs this for large images
+        if (!extension_loaded('suhosin')) {
+            @ini_set('memory_limit', '512M');
+        }
+        if ($this->error == false) {
+            // Check memory consumption if file exists
+            $this->checkMemoryForImage($this->fileName);
+        }
+        //initialize resources if no errors
+        if ($this->error == false) {
+            $img_err = null;
+            switch ($this->format) {
+                case 'GIF':
+                    if (function_exists('ImageCreateFromGif')) {
+                        $this->oldImage = @ImageCreateFromGif($this->fileName);
+                    } else {
+                        $img_err = __('Support for GIF format is missing.', 'nggallery');
+                    }
+                    break;
+                case 'JPG':
+                    if (function_exists('ImageCreateFromJpeg')) {
+                        $this->oldImage = @ImageCreateFromJpeg($this->fileName);
+                    } else {
+                        $img_err = __('Support for JPEG format is missing.', 'nggallery');
+                    }
+                    break;
+                case 'PNG':
+                    if (function_exists('ImageCreateFromPng')) {
+                        $this->oldImage = @ImageCreateFromPng($this->fileName);
+                    } else {
+                        $img_err = __('Support for PNG format is missing.', 'nggallery');
+                    }
+                    break;
+            }
+            if (!$this->oldImage) {
+                if ($img_err == null) {
+                    $img_err = __('Check memory limit', 'nggallery');
+                }
+                $this->errmsg = sprintf(__('Create Image failed. %1$s', 'nggallery'), $img_err);
+                $this->error = true;
+            } else {
+                $this->currentDimensions = array('width' => $image_size[0], 'height' => $image_size[1]);
+                $this->newImage = $this->oldImage;
+            }
+        }
+        if ($this->error == true) {
+            if (!$no_ErrorImage) {
+                $this->showErrorImage();
+            }
+            return;
+        }
     }
     /**
-     * Returns the _cache array; used by nggImage
-     * @return array
+     * Calculate the memory limit
+     * @param string $filename
+     *
      */
-    function _get_image()
+    function checkMemoryForImage($filename)
     {
-        return $this->_cache;
+        $imageInfo = getimagesize($filename);
+        switch ($this->format) {
+            case 'GIF':
+                // measured factor 1 is better
+                $CHANNEL = 1;
+                break;
+            case 'JPG':
+                $CHANNEL = $imageInfo['channels'];
+                break;
+            case 'PNG':
+                // didn't get the channel for png
+                $CHANNEL = 3;
+                break;
+        }
+        $bits = !empty($imageInfo['bits']) ? $imageInfo['bits'] : 32;
+        // imgInfo[bits] is not always available
+        return $this->checkMemoryForData($imageInfo[0], $imageInfo[1], $CHANNEL, $bits);
     }
-}
-class C_Image_Wrapper_Collection implements ArrayAccess
-{
-    public $container = array();
-    public $galleries = array();
-    public function offsetExists($offset)
+    function checkMemoryForData($width, $height, $channels = null, $bits = null)
     {
-        return isset($this->container[$offset]);
+        $imageInfo = getimagesize($this->fileName);
+        if ($channels == null) {
+            switch ($this->format) {
+                case 'GIF':
+                    // measured factor 1 is better
+                    $channels = 1;
+                    break;
+                case 'JPG':
+                    $channels = $imageInfo['channels'];
+                    break;
+                case 'PNG':
+                    // didn't get the channel for png
+                    $channels = 3;
+                    break;
+            }
+        }
+        if ($bits == null) {
+            $bits = !empty($imageInfo['bits']) ? $imageInfo['bits'] : 32;
+        }
+        // imgInfo[bits] is not always available
+        if (function_exists('memory_get_usage') && ini_get('memory_limit')) {
+            $MB = 1048576;
+            // number of bytes in 1M
+            $K64 = 65536;
+            // number of bytes in 64K
+            $TWEAKFACTOR = 1.68;
+            // Or whatever works for you
+            $memoryNeeded = round((doubleval($width * $height * $bits * $channels) / 8 + $K64) * $TWEAKFACTOR);
+            $memoryNeeded = memory_get_usage() + $memoryNeeded;
+            // get memory limit
+            $memory_limit = ini_get('memory_limit');
+            // PHP docs : Note that to have no memory limit, set this directive to -1.
+            if ($memory_limit == -1) {
+                return true;
+            }
+            // Just check megabyte limits, not higher
+            if (strtolower(substr($memory_limit, -1)) == 'm') {
+                if ($memory_limit != '') {
+                    $memory_limit = intval(substr($memory_limit, 0, -1)) * 1024 * 1024;
+                }
+                if ($memoryNeeded > $memory_limit) {
+                    $memoryNeeded = round($memoryNeeded / 1024 / 1024, 2);
+                    $this->errmsg = 'Exceed Memory limit. Require : ' . $memoryNeeded . " MByte";
+                    $this->error = true;
+                    return false;
+                }
+            }
+        }
+        return true;
     }
-    public function offsetGet($offset)
+    function __destruct()
     {
-        return isset($this->container[$offset]) ? $this->container[$offset] : null;
+        $this->destruct();
     }
-    public function offsetSet($offset, $value)
+    /**
+     * Must be called to free up allocated memory after all manipulations are done
+     *
+     */
+    function destruct()
     {
-        if (is_object($value)) {
-            $value->container = $this;
+        if (is_resource($this->newImage)) {
+            @ImageDestroy($this->newImage);
         }
-        if (is_null($offset)) {
-            $this->container[] = $value;
-        } else {
-            $this->container[$offset] = $value;
+        if (is_resource($this->oldImage)) {
+            @ImageDestroy($this->oldImage);
+        }
+        if (is_resource($this->workingImage)) {
+            @ImageDestroy($this->workingImage);
         }
     }
-    public function offsetUnset($offset)
+    /**
+     * Returns the current width of the image
+     *
+     * @return int
+     */
+    function getCurrentWidth()
     {
-        unset($this->container[$offset]);
+        return $this->currentDimensions['width'];
     }
     /**
-     * Retrieves and caches an I_Gallery_Mapper instance for this gallery id
+     * Returns the current height of the image
      *
-     * @param int $gallery_id Gallery ID
-     * @return mixed
+     * @return int
      */
-    public function get_gallery($gallery_id)
+    function getCurrentHeight()
     {
-        if (!isset($this->galleries[$gallery_id]) || is_null($this->galleries[$gallery_id])) {
-            $this->galleries[$gallery_id] = C_Gallery_Mapper::get_instance();
-        }
-        return $this->galleries[$gallery_id];
+        return $this->currentDimensions['height'];
     }
-}
-class C_NextGen_Data_Installer extends C_NggLegacy_Installer
-{
-    function get_registry()
+    /**
+     * Calculates new image width
+     *
+     * @param int $width
+     * @param int $height
+     * @return array
+     */
+    function calcWidth($width, $height)
     {
-        return C_Component_Registry::get_instance();
+        $newWp = 100 * $this->maxWidth / $width;
+        $newHeight = $height * $newWp / 100;
+        if (intval($newHeight) == $this->maxHeight - 1) {
+            $newHeight = $this->maxHeight;
+        }
+        return array('newWidth' => intval($this->maxWidth), 'newHeight' => intval($newHeight));
     }
-    function install()
+    /**
+     * Calculates new image height
+     *
+     * @param int $width
+     * @param int $height
+     * @return array
+     */
+    function calcHeight($width, $height)
     {
-        $this->remove_table_extra_options();
+        $newHp = 100 * $this->maxHeight / $height;
+        $newWidth = $width * $newHp / 100;
+        if (intval($newWidth) == $this->maxWidth - 1) {
+            $newWidth = $this->maxWidth;
+        }
+        return array('newWidth' => intval($newWidth), 'newHeight' => intval($this->maxHeight));
     }
-    function remove_table_extra_options()
+    /**
+     * Calculates new image size based on percentage
+     *
+     * @param int $width
+     * @param int $height
+     * @return array
+     */
+    function calcPercent($width, $height, $percent = -1)
     {
-        global $wpdb;
-        $likes = array("option_name LIKE '%ngg_gallery%'", "option_name LIKE '%ngg_pictures%'", "option_name LIKE '%ngg_album%'");
-        $sql = "DELETE FROM {$wpdb->options} WHERE " . implode(" OR ", $likes);
-        $wpdb->query($sql);
+        if ($percent == -1) {
+            $percent = $this->percent;
+        }
+        $newWidth = $width * $percent / 100;
+        $newHeight = $height * $percent / 100;
+        return array('newWidth' => intval($newWidth), 'newHeight' => intval($newHeight));
     }
-    function uninstall($hard = FALSE)
+    /**
+     * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight
+     *
+     * @param int $width
+     * @param int $height
+     */
+    function calcImageSize($width, $height)
     {
-        if ($hard) {
-            /* Yes: this is commented twice.
-            		// TODO for now never delete galleries/albums/content
-            #			$mappers = array(
-            #				$this->get_registry()->get_utility('I_Album_Mapper'),
-            #				$this->get_registry()->get_utility('I_Gallery_Mapper'),
-            #				$this->get_registry()->get_utility('I_Image_Mapper'),
-            #			);
-            
-            #			foreach ($mappers as $mapper) {
-            #				$mapper->delete()->run_query();
-            #			}
-            
-            #			// Remove ngg tags
-            #			global $wpdb;
-            #			$wpdb->query("DELETE FROM {$wpdb->terms} WHERE term_id IN (SELECT term_id FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag')");
-            #			$wpdb->query("DELETE FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag'");
-                        */
+        // $width and $height are the CURRENT image resolutions
+        $ratio_w = $this->maxWidth / $width;
+        $ratio_h = $this->maxHeight / $height;
+        if ($ratio_w >= $ratio_h) {
+            $width = $this->maxWidth;
+            $height = (int) round($height * $ratio_h, 0);
+        } else {
+            $height = $this->maxHeight;
+            $width = (int) round($width * $ratio_w, 0);
         }
+        $this->newDimensions = array('newWidth' => $width, 'newHeight' => $height);
     }
-}
-class C_NextGen_Metadata extends C_Component
-{
-    // Image data
-    public $image = '';
-    // The image object
-    public $file_path = '';
-    // Path to the image file
-    public $size = FALSE;
-    // The image size
-    public $exif_data = FALSE;
-    // EXIF data array
-    public $iptc_data = FALSE;
-    // IPTC data array
-    public $xmp_data = FALSE;
-    // XMP data array
-    // Filtered Data
-    public $exif_array = FALSE;
-    // EXIF data array
-    public $iptc_array = FALSE;
-    // IPTC data array
-    public $xmp_array = FALSE;
-    // XMP data array
-    public $sanitize = FALSE;
-    // sanitize meta data on request
     /**
-     * Class constructor
-     * 
-     * @param int $image Image ID
-     * @param bool $onlyEXIF TRUE = will parse only EXIF data
-     * @return bool FALSE if the file does not exist or metadat could not be read
+     * Calculates new image size based percentage
+     *
+     * @param int $width
+     * @param int $height
      */
-    public function __construct($image, $onlyEXIF = FALSE)
+    function calcImageSizePercent($width, $height)
     {
-        if (is_numeric($image)) {
-            $image = C_Image_Mapper::get_instance()->find($image);
+        if ($this->percent > 0) {
+            $this->newDimensions = $this->calcPercent($width, $height);
         }
-        $this->image = apply_filters('ngg_find_image_meta', $image);
-        $this->file_path = C_Gallery_Storage::get_instance()->get_image_abspath($this->image);
-        if (!@file_exists($this->file_path)) {
-            return FALSE;
+    }
+    /**
+     * Displays error image
+     *
+     */
+    function showErrorImage()
+    {
+        header('Content-type: image/png');
+        $errImg = ImageCreate(220, 25);
+        $bgColor = imagecolorallocate($errImg, 0, 0, 0);
+        $fgColor1 = imagecolorallocate($errImg, 255, 255, 255);
+        $fgColor2 = imagecolorallocate($errImg, 255, 0, 0);
+        imagestring($errImg, 3, 6, 6, 'Error:', $fgColor2);
+        imagestring($errImg, 3, 55, 6, $this->errmsg, $fgColor1);
+        imagepng($errImg);
+        imagedestroy($errImg);
+    }
+    /**
+     * Resizes image to fixed Width x Height
+     * 
+     * @param int $Width
+     * @param int $Height
+     * @param int $deprecated Unused
+     */
+    function resizeFix($Width = 0, $Height = 0, $deprecated = 3)
+    {
+        if (!$this->checkMemoryForData($Width, $Height)) {
+            return;
         }
-        $this->size = @getimagesize($this->file_path, $metadata);
-        if ($this->size && is_array($metadata)) {
-            // get exif - data
-            if (is_callable('exif_read_data')) {
-                $this->exif_data = @exif_read_data($this->file_path, NULL, TRUE);
-            }
-            // stop here if we didn't need other meta data
-            if ($onlyEXIF) {
-                return TRUE;
-            }
-            // get the iptc data - should be in APP13
-            if (is_callable('iptcparse') && isset($metadata['APP13'])) {
-                $this->iptc_data = @iptcparse($metadata['APP13']);
-            }
-            // get the xmp data in a XML format
-            if (is_callable('xml_parser_create')) {
-                $this->xmp_data = $this->extract_XMP($this->file_path);
-            }
-            return TRUE;
+        $this->newWidth = $Width;
+        $this->newHeight = $Height;
+        if (function_exists("ImageCreateTrueColor")) {
+            $this->workingImage = ImageCreateTrueColor($this->newWidth, $this->newHeight);
+        } else {
+            $this->workingImage = ImageCreate($this->newWidth, $this->newHeight);
         }
-        return FALSE;
+        //		ImageCopyResampled(
+        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newWidth, $this->newHeight, $this->currentDimensions['width'], $this->currentDimensions['height']);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $this->newWidth;
+        $this->currentDimensions['height'] = $this->newHeight;
     }
     /**
-     * return the saved meta data from the database
+     * Resizes image to maxWidth x maxHeight
      *
-     * @since 1.4.0
-     * @param string $object (optional)
-     * @return array|mixed return either the complete array or the single object
+     * @param int $maxWidth
+     * @param int $maxHeight
+     * @param int $deprecated Unused
      */
-    function get_saved_meta($object = false)
+    function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3)
     {
-        $meta = $this->image->meta_data;
-        // Check if we already import the meta data to the database
-        if (!is_array($meta) || !isset($meta['saved']) || $meta['saved'] !== TRUE) {
-            return false;
-        }
-        // return one element if requested
-        if ($object) {
-            return $meta[$object];
+        if (!$this->checkMemoryForData($maxWidth, $maxHeight)) {
+            return;
         }
-        //removed saved parameter we don't need that to show
-        unset($meta['saved']);
-        // and remove empty tags or arrays
-        foreach ($meta as $key => $value) {
-            if (empty($value) or is_array($value)) {
-                unset($meta[$key]);
-            }
+        $this->maxWidth = $maxWidth;
+        $this->maxHeight = $maxHeight;
+        $this->calcImageSize($this->currentDimensions['width'], $this->currentDimensions['height']);
+        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
+            ImageDestroy($this->workingImage);
+            $this->workingImage = null;
         }
-        // on request sanitize the output
-        if ($this->sanitize == true) {
-            array_walk($meta, 'esc_html');
+        if (function_exists("ImageCreateTrueColor")) {
+            $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
+        } else {
+            $this->workingImage = ImageCreate($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
         }
-        return $meta;
+        //		ImageCopyResampled(
+        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newDimensions['newWidth'], $this->newDimensions['newHeight'], $this->currentDimensions['width'], $this->currentDimensions['height']);
+        ImageDestroy($this->oldImage);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $this->newDimensions['newWidth'];
+        $this->currentDimensions['height'] = $this->newDimensions['newHeight'];
     }
     /**
-     * nggMeta::get_EXIF()
-     * See also http://trac.wordpress.org/changeset/6313
+     * Resizes the image by $percent percent
      *
-     * @return bool|array
+     * @param int $percent
      */
-    function get_EXIF($object = false)
+    function resizePercent($percent = 0)
     {
-        if (!$this->exif_data) {
-            return false;
+        $dims = $this->calcPercent($this->currentDimensions['width'], $this->currentDimensions['height'], $percent);
+        if (!$this->checkMemoryForData($dims['newWidth'], $dims['newHeight'])) {
+            return;
         }
-        if (!is_array($this->exif_array)) {
-            $meta = array();
-            if (isset($this->exif_data['EXIF'])) {
-                $exif = $this->exif_data['EXIF'];
-                if (!empty($exif['FNumber'])) {
-                    $meta['aperture'] = 'F ' . round($this->exif_frac2dec($exif['FNumber']), 2);
-                }
-                if (!empty($exif['Model'])) {
-                    $meta['camera'] = trim($exif['Model']);
-                }
-                if (!empty($exif['DateTimeDigitized'])) {
-                    $meta['created_timestamp'] = $this->exif_date2ts($exif['DateTimeDigitized']);
-                } else {
-                    if (!empty($exif['DateTimeOriginal'])) {
-                        $meta['created_timestamp'] = $this->exif_date2ts($exif['DateTimeOriginal']);
-                    } else {
-                        if (!empty($exif['FileDateTime'])) {
-                            $meta['created_timestamp'] = $this->exif_date2ts($exif['FileDateTime']);
-                        }
-                    }
-                }
-                if (!empty($exif['FocalLength'])) {
-                    $meta['focal_length'] = $this->exif_frac2dec($exif['FocalLength']) . __(' mm', 'nggallery');
-                }
-                if (!empty($exif['ISOSpeedRatings'])) {
-                    $meta['iso'] = $exif['ISOSpeedRatings'];
-                }
-                if (!empty($exif['ExposureTime'])) {
-                    $meta['shutter_speed'] = $this->exif_frac2dec($exif['ExposureTime']);
-                    $meta['shutter_speed'] = ($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? '1/' . round(1 / $meta['shutter_speed'], -1) : $meta['shutter_speed'];
-                    $meta['shutter_speed'] .= __(' sec', 'nggallery');
-                }
-                //Bit 0 indicates the flash firing status
-                if (!empty($exif['Flash'])) {
-                    $meta['flash'] = $exif['Flash'] & 1 ? __('Fired', 'nggallery') : __('Not fired', ' nggallery');
-                }
-            }
-            // additional information
-            if (isset($this->exif_data['IFD0'])) {
-                $exif = $this->exif_data['IFD0'];
-                if (!empty($exif['Model'])) {
-                    $meta['camera'] = $exif['Model'];
-                }
-                if (!empty($exif['Make'])) {
-                    $meta['make'] = $exif['Make'];
-                }
-                if (!empty($exif['ImageDescription'])) {
-                    $meta['title'] = $this->utf8_encode($exif['ImageDescription']);
-                }
-                if (!empty($exif['Orientation'])) {
-                    $meta['Orientation'] = $exif['Orientation'];
-                }
-            }
-            // this is done by Windows
-            if (isset($this->exif_data['WINXP'])) {
-                $exif = $this->exif_data['WINXP'];
-                if (!empty($exif['Title']) && empty($meta['title'])) {
-                    $meta['title'] = $this->utf8_encode($exif['Title']);
-                }
-                if (!empty($exif['Author'])) {
-                    $meta['author'] = $this->utf8_encode($exif['Author']);
-                }
-                if (!empty($exif['Keywords'])) {
-                    $meta['keywords'] = $this->utf8_encode($exif['Keywords']);
-                }
-                if (!empty($exif['Subject'])) {
-                    $meta['subject'] = $this->utf8_encode($exif['Subject']);
-                }
-                if (!empty($exif['Comments'])) {
-                    $meta['caption'] = $this->utf8_encode($exif['Comments']);
-                }
-            }
-            $this->exif_array = $meta;
-        }
-        // return one element if requested
-        if ($object == true) {
-            $value = isset($this->exif_array[$object]) ? $this->exif_array[$object] : false;
-            return $value;
-        }
-        // on request sanitize the output
-        if ($this->sanitize == true) {
-            array_walk($this->exif_array, 'esc_html');
+        $this->percent = $percent;
+        $this->calcImageSizePercent($this->currentDimensions['width'], $this->currentDimensions['height']);
+        if (function_exists("ImageCreateTrueColor")) {
+            $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
+        } else {
+            $this->workingImage = ImageCreate($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
         }
-        return $this->exif_array;
+        $this->ImageCopyResampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newDimensions['newWidth'], $this->newDimensions['newHeight'], $this->currentDimensions['width'], $this->currentDimensions['height']);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $this->newDimensions['newWidth'];
+        $this->currentDimensions['height'] = $this->newDimensions['newHeight'];
     }
-    // convert a fraction string to a decimal
-    function exif_frac2dec($str)
+    /**
+     * Crops the image from calculated center in a square of $cropSize pixels
+     *
+     * @param int $cropSize
+     */
+    function cropFromCenter($cropSize)
     {
-        @(list($n, $d) = explode('/', $str));
-        if (!empty($d)) {
-            return $n / $d;
+        if ($cropSize > $this->currentDimensions['width']) {
+            $cropSize = $this->currentDimensions['width'];
         }
-        return $str;
-    }
-    // convert the exif date format to a unix timestamp
-    function exif_date2ts($str)
-    {
-        $retval = is_numeric($str) ? $str : @strtotime($str);
-        if (!$retval && $str) {
-            @(list($date, $time) = explode(' ', trim($str)));
-            @(list($y, $m, $d) = explode(':', $date));
-            $retval = strtotime("{$y}-{$m}-{$d} {$time}");
+        if ($cropSize > $this->currentDimensions['height']) {
+            $cropSize = $this->currentDimensions['height'];
         }
-        return $retval;
+        $cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2);
+        $cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2);
+        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
+            ImageDestroy($this->workingImage);
+            $this->workingImage = null;
+        }
+        if (function_exists("ImageCreateTrueColor")) {
+            $this->workingImage = ImageCreateTrueColor($cropSize, $cropSize);
+        } else {
+            $this->workingImage = ImageCreate($cropSize, $cropSize);
+        }
+        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $cropX, $cropY, $cropSize, $cropSize, $cropSize, $cropSize);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $cropSize;
+        $this->currentDimensions['height'] = $cropSize;
     }
     /**
-     * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
+     * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner.
      *
-     * @param object $object (optional)
-     * @return null|bool|array
+     * @param int $startX
+     * @param int $startY
+     * @param int $width
+     * @param int $height
      */
-    function get_IPTC($object = false)
+    function crop($startX, $startY, $width, $height)
     {
-        if (!$this->iptc_data) {
-            return false;
+        if (!$this->checkMemoryForData($width, $height)) {
+            return;
         }
-        if (!is_array($this->iptc_array)) {
-            // --------- Set up Array Functions --------- //
-            $iptcTags = array("2#005" => 'title', "2#007" => 'status', "2#012" => 'subject', "2#015" => 'category', "2#025" => 'keywords', "2#055" => 'created_date', "2#060" => 'created_time', "2#080" => 'author', "2#085" => 'position', "2#090" => 'city', "2#092" => 'location', "2#095" => 'state', "2#100" => 'country_code', "2#101" => 'country', "2#105" => 'headline', "2#110" => 'credit', "2#115" => 'source', "2#116" => 'copyright', "2#118" => 'contact', "2#120" => 'caption');
-            $meta = array();
-            foreach ($iptcTags as $key => $value) {
-                if (isset($this->iptc_data[$key])) {
-                    $meta[$value] = trim($this->utf8_encode(implode(", ", $this->iptc_data[$key])));
-                }
-            }
-            $this->iptc_array = $meta;
+        //make sure the cropped area is not greater than the size of the image
+        if ($width > $this->currentDimensions['width']) {
+            $width = $this->currentDimensions['width'];
         }
-        // return one element if requested
-        if ($object) {
-            return isset($this->iptc_array[$object]) ? $this->iptc_array[$object] : NULL;
+        if ($height > $this->currentDimensions['height']) {
+            $height = $this->currentDimensions['height'];
         }
-        // on request sanitize the output
-        if ($this->sanitize == true) {
-            array_walk($this->iptc_array, 'esc_html');
+        //make sure not starting outside the image
+        if ($startX + $width > $this->currentDimensions['width']) {
+            $startX = $this->currentDimensions['width'] - $width;
         }
-        return $this->iptc_array;
+        if ($startY + $height > $this->currentDimensions['height']) {
+            $startY = $this->currentDimensions['height'] - $height;
+        }
+        if ($startX < 0) {
+            $startX = 0;
+        }
+        if ($startY < 0) {
+            $startY = 0;
+        }
+        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
+            ImageDestroy($this->workingImage);
+            $this->workingImage = null;
+        }
+        if (function_exists("ImageCreateTrueColor")) {
+            $this->workingImage = ImageCreateTrueColor($width, $height);
+        } else {
+            $this->workingImage = ImageCreate($width, $height);
+        }
+        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $startX, $startY, $width, $height, $width, $height);
+        ImageDestroy($this->oldImage);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $width;
+        $this->currentDimensions['height'] = $height;
     }
     /**
-     * nggMeta::extract_XMP()
-     * get XMP DATA
-     * code by Pekka Saarinen http://photography-on-the.net
+     * Outputs the image to the screen, or saves to $name if supplied.  Quality of JPEG images can be controlled with the $quality variable
      *
-     * @param mixed $filename
-     * @return bool|string
+     * @param int $quality
+     * @param string $name
      */
-    function extract_XMP($filename)
+    function show($quality = 100, $name = '')
     {
-        //TODO:Require a lot of memory, could be better
-        ob_start();
-        @readfile($filename);
-        $source = ob_get_contents();
-        ob_end_clean();
-        $start = strpos($source, "<x:xmpmeta");
-        $end = strpos($source, "</x:xmpmeta>");
-        if (!$start === false && !$end === false) {
-            $lenght = $end - $start;
-            $xmp_data = substr($source, $start, $lenght + 12);
-            unset($source);
-            return $xmp_data;
+        switch ($this->format) {
+            case 'GIF':
+                if ($name != '') {
+                    @ImageGif($this->newImage, $name) or $this->error = true;
+                } else {
+                    header('Content-type: image/gif');
+                    ImageGif($this->newImage);
+                }
+                break;
+            case 'JPG':
+                if ($name != '') {
+                    @ImageJpeg($this->newImage, $name, $quality) or $this->error = true;
+                } else {
+                    header('Content-type: image/jpeg');
+                    ImageJpeg($this->newImage, NULL, $quality);
+                }
+                break;
+            case 'PNG':
+                if ($name != '') {
+                    @ImagePng($this->newImage, $name) or $this->error = true;
+                } else {
+                    header('Content-type: image/png');
+                    ImagePng($this->newImage);
+                }
+                break;
         }
-        unset($source);
-        return false;
     }
     /**
-     * nggMeta::get_XMP()
-     *
-     * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
-     * @author Alf Marius Foss Olsen & Alex Rabe
-     * @return bool|array
+     * Saves image as $name (can include file path), with quality of # percent if file is a jpeg
      *
+     * @param string $name
+     * @param int $quality
+     * @return bool errorstate
      */
-    function get_XMP($object = false)
+    function save($name, $quality = 100)
     {
-        if (!$this->xmp_data) {
-            return false;
-        }
-        if (!is_array($this->xmp_array)) {
-            $parser = xml_parser_create();
-            xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
-            // Dont mess with my cAsE sEtTings
-            xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
-            // Dont bother with empty info
-            xml_parse_into_struct($parser, $this->xmp_data, $values);
-            xml_parser_free($parser);
-            $xmlarray = array();
-            // The XML array
-            $this->xmp_array = array();
-            // The returned array
-            $stack = array();
-            // tmp array used for stacking
-            $list_array = array();
-            // tmp array for list elements
-            $list_element = false;
-            // rdf:li indicator
-            foreach ($values as $val) {
-                if ($val['type'] == "open") {
-                    array_push($stack, $val['tag']);
-                } elseif ($val['type'] == "close") {
-                    // reset the compared stack
-                    if ($list_element == false) {
-                        array_pop($stack);
-                    }
-                    // reset the rdf:li indicator & array
-                    $list_element = false;
-                    $list_array = array();
-                } elseif ($val['type'] == "complete") {
-                    if ($val['tag'] == "rdf:li") {
-                        // first go one element back
-                        if ($list_element == false) {
-                            array_pop($stack);
-                        }
-                        $list_element = true;
-                        // do not parse empty tags
-                        if (empty($val['value'])) {
-                            continue;
-                        }
-                        // save it in our temp array
-                        $list_array[] = $val['value'];
-                        // in the case it's a list element we seralize it
-                        $value = implode(",", $list_array);
-                        $this->setArrayValue($xmlarray, $stack, $value);
-                    } else {
-                        array_push($stack, $val['tag']);
-                        // do not parse empty tags
-                        if (!empty($val['value'])) {
-                            $this->setArrayValue($xmlarray, $stack, $val['value']);
-                        }
-                        array_pop($stack);
-                    }
-                }
-            }
-            // foreach
-            // don't parse a empty array
-            if (empty($xmlarray) || empty($xmlarray['x:xmpmeta'])) {
-                return false;
-            }
-            // cut off the useless tags
-            $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
-            // --------- Some values from the XMP format--------- //
-            $xmpTags = array('xap:CreateDate' => 'created_timestamp', 'xap:ModifyDate' => 'last_modfied', 'xap:CreatorTool' => 'tool', 'dc:format' => 'format', 'dc:title' => 'title', 'dc:creator' => 'author', 'dc:subject' => 'keywords', 'dc:description' => 'caption', 'photoshop:AuthorsPosition' => 'position', 'photoshop:City' => 'city', 'photoshop:Country' => 'country');
-            foreach ($xmpTags as $key => $value) {
-                // if the kex exist
-                if (isset($xmlarray[$key])) {
-                    switch ($key) {
-                        case 'xap:CreateDate':
-                        case 'xap:ModifyDate':
-                            $this->xmp_array[$value] = strtotime($xmlarray[$key]);
-                            break;
-                        default:
-                            $this->xmp_array[$value] = $xmlarray[$key];
-                    }
-                }
-            }
-        }
-        // return one element if requested
-        if ($object != false) {
-            return isset($this->xmp_array[$object]) ? $this->xmp_array[$object] : false;
-        }
-        // on request sanitize the output
-        if ($this->sanitize == true) {
-            array_walk($this->xmp_array, 'esc_html');
-        }
-        return $this->xmp_array;
-    }
-    function setArrayValue(&$array, $stack, $value)
-    {
-        if ($stack) {
-            $key = array_shift($stack);
-            $this->setArrayValue($array[$key], $stack, $value);
-            return $array;
-        } else {
-            $array = $value;
-        }
-        return $array;
-    }
-    /**
-     * nggMeta::get_META() - return a meta value form the available list
-     *
-     * @param string $object
-     * @return mixed $value
-     */
-    function get_META($object = false)
-    {
-        // defined order first look into database, then XMP, IPTC and EXIF.
-        if ($value = $this->get_saved_meta($object)) {
-            return $value;
-        }
-        if ($value = $this->get_XMP($object)) {
-            return $value;
-        }
-        if ($object == 'created_timestamp' && ($d = $this->get_IPTC('created_date')) && ($t = $this->get_IPTC('created_time'))) {
-            return $this->exif_date2ts($d . ' ' . $t);
-        }
-        if ($value = $this->get_IPTC($object)) {
-            return $value;
+        $this->show($quality, $name);
+        if ($this->error == true) {
+            $this->errmsg = 'Create Image failed. Check safe mode settings';
+            return false;
         }
-        if ($value = $this->get_EXIF($object)) {
-            return $value;
+        if (function_exists('do_action')) {
+            do_action('ngg_ajax_image_save', $name);
         }
-        // nothing found ?
-        return false;
+        return true;
     }
     /**
-     * nggMeta::i8n_name() -  localize the tag name
+     * Creates Apple-style reflection under image, optionally adding a border to main image
      *
-     * @param mixed $key
-     * @return string Translated $key
-     */
-    function i18n_name($key)
-    {
-        $tagnames = array('aperture' => __('Aperture', 'nggallery'), 'credit' => __('Credit', 'nggallery'), 'camera' => __('Camera', 'nggallery'), 'caption' => __('Caption', 'nggallery'), 'created_timestamp' => __('Date/Time', 'nggallery'), 'copyright' => __('Copyright', 'nggallery'), 'focal_length' => __('Focal length', 'nggallery'), 'iso' => __('ISO', 'nggallery'), 'shutter_speed' => __('Shutter speed', 'nggallery'), 'title' => __('Title', 'nggallery'), 'author' => __('Author', 'nggallery'), 'tags' => __('Tags', 'nggallery'), 'subject' => __('Subject', 'nggallery'), 'make' => __('Make', 'nggallery'), 'status' => __('Edit Status', 'nggallery'), 'category' => __('Category', 'nggallery'), 'keywords' => __('Keywords', 'nggallery'), 'created_date' => __('Date Created', 'nggallery'), 'created_time' => __('Time Created', 'nggallery'), 'position' => __('Author Position', 'nggallery'), 'city' => __('City', 'nggallery'), 'location' => __('Location', 'nggallery'), 'state' => __('Province/State', 'nggallery'), 'country_code' => __('Country code', 'nggallery'), 'country' => __('Country', 'nggallery'), 'headline' => __('Headline', 'nggallery'), 'credit' => __('Credit', 'nggallery'), 'source' => __('Source', 'nggallery'), 'copyright' => __('Copyright Notice', 'nggallery'), 'contact' => __('Contact', 'nggallery'), 'last_modfied' => __('Last modified', 'nggallery'), 'tool' => __('Program tool', 'nggallery'), 'format' => __('Format', 'nggallery'), 'width' => __('Image Width', 'nggallery'), 'height' => __('Image Height', 'nggallery'), 'flash' => __('Flash', 'nggallery'));
-        if (isset($tagnames[$key])) {
-            $key = $tagnames[$key];
-        }
-        return $key;
-    }
-    /**
-     * Return the Timestamp from the image , if possible it's read from exif data
-     * @return string
+     * @param int $percent
+     * @param int $reflection
+     * @param int $white
+     * @param bool $border
+     * @param string $borderColor
      */
-    function get_date_time()
+    function createReflection($percent, $reflection, $white, $border = true, $borderColor = '#a4a4a4')
     {
-        $date = time();
-        // Try getting the created_timestamp field
-        $date = $this->exif_date2ts($this->get_META('created_timestamp'));
-        if (!$date) {
-            $image_path = C_Gallery_Storage::get_instance()->get_backup_abspath($this->image);
-            $date = @filectime($image_path);
+        $width = $this->currentDimensions['width'];
+        $height = $this->currentDimensions['height'];
+        $reflectionHeight = intval($height * ($reflection / 100));
+        $newHeight = $height + $reflectionHeight;
+        $reflectedPart = $height * ($percent / 100);
+        $this->workingImage = ImageCreateTrueColor($width, $newHeight);
+        ImageAlphaBlending($this->workingImage, true);
+        $colorToPaint = ImageColorAllocateAlpha($this->workingImage, 255, 255, 255, 0);
+        ImageFilledRectangle($this->workingImage, 0, 0, $width, $newHeight, $colorToPaint);
+        imagecopyresampled($this->workingImage, $this->newImage, 0, 0, 0, $reflectedPart, $width, $reflectionHeight, $width, $height - $reflectedPart);
+        $this->imageFlipVertical();
+        imagecopy($this->workingImage, $this->newImage, 0, 0, 0, 0, $width, $height);
+        imagealphablending($this->workingImage, true);
+        for ($i = 0; $i < $reflectionHeight; $i++) {
+            $colorToPaint = imagecolorallocatealpha($this->workingImage, 255, 255, 255, ($i / $reflectionHeight * -1 + 1) * $white);
+            imagefilledrectangle($this->workingImage, 0, $height + $i, $width, $height + $i, $colorToPaint);
         }
-        // Failback
-        if (!$date) {
-            $date = time();
+        if ($border == true) {
+            $rgb = $this->hex2rgb($borderColor, false);
+            $colorToPaint = imagecolorallocate($this->workingImage, $rgb[0], $rgb[1], $rgb[2]);
+            imageline($this->workingImage, 0, 0, $width, 0, $colorToPaint);
+            //top line
+            imageline($this->workingImage, 0, $height, $width, $height, $colorToPaint);
+            //bottom line
+            imageline($this->workingImage, 0, 0, 0, $height, $colorToPaint);
+            //left line
+            imageline($this->workingImage, $width - 1, 0, $width - 1, $height, $colorToPaint);
+            //right line
         }
-        // Return the MySQL format
-        $date_time = date('Y-m-d H:i:s', $date);
-        return $date_time;
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        $this->currentDimensions['width'] = $width;
+        $this->currentDimensions['height'] = $newHeight;
     }
     /**
-     * This function return the most common metadata, via a filter we can add more
-     * Reason : GD manipulation removes that options
+     * Flip an image.
      *
-     * @since V1.4.0
-     * @return array|false
+     * @param bool $horz flip the image in horizontal mode
+     * @param bool $vert flip the image in vertical mode
+     * @return true
      */
-    function get_common_meta()
+    function flipImage($horz = false, $vert = false)
     {
-        global $wpdb;
-        $meta = array('aperture' => 0, 'credit' => '', 'camera' => '', 'caption' => '', 'created_timestamp' => 0, 'copyright' => '', 'focal_length' => 0, 'iso' => 0, 'shutter_speed' => 0, 'flash' => 0, 'title' => '', 'keywords' => '');
-        $meta = apply_filters('ngg_read_image_metadata', $meta);
-        // meta should be still an array
-        if (!is_array($meta)) {
-            return false;
-        }
-        foreach ($meta as $key => $value) {
-            $meta[$key] = $this->get_META($key);
-        }
-        //let's add now the size of the image
-        $meta['width'] = $this->size[0];
-        $meta['height'] = $this->size[1];
-        return $meta;
+        $sx = $vert ? $this->currentDimensions['width'] - 1 : 0;
+        $sy = $horz ? $this->currentDimensions['height'] - 1 : 0;
+        $sw = $vert ? -$this->currentDimensions['width'] : $this->currentDimensions['width'];
+        $sh = $horz ? -$this->currentDimensions['height'] : $this->currentDimensions['height'];
+        $this->workingImage = imagecreatetruecolor($this->currentDimensions['width'], $this->currentDimensions['height']);
+        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $sx, $sy, $this->currentDimensions['width'], $this->currentDimensions['height'], $sw, $sh);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        return true;
     }
     /**
-     * If needed sanitize each value before output
+     * Rotate an image clockwise or counter clockwise
      *
-     * @return void
+     * @param string $dir Either CW or CCW
+     * @return bool
      */
-    function sanitize()
+    function rotateImage($dir = 'CW')
     {
-        $this->sanitize = true;
+        $angle = $dir == 'CW' ? 90 : -90;
+        return $this->rotateImageAngle($angle);
     }
     /**
-     * Wrapper to utf8_encode() that avoids double encoding
-     *
-     * Regex adapted from http://www.w3.org/International/questions/qa-forms-utf-8.en.php
-     * to determine if the given string is already UTF-8. mb_detect_encoding() is not
-     * always available and is limited in accuracy
+     * Rotate an image clockwise or counter clockwise
      *
-     * @param string $str
-     * @return string
+     * @param int $angle Degrees to rotate the target image
+     * @return bool
      */
-    function utf8_encode($str)
+    function rotateImageAngle($angle = 90)
     {
-        $is_utf8 = preg_match('%^(?:
-              [\\x09\\x0A\\x0D\\x20-\\x7E]            # ASCII
-            | [\\xC2-\\xDF][\\x80-\\xBF]             # non-overlong 2-byte
-            |  \\xE0[\\xA0-\\xBF][\\x80-\\xBF]        # excluding overlongs
-            | [\\xE1-\\xEC\\xEE\\xEF][\\x80-\\xBF]{2}  # straight 3-byte
-            |  \\xED[\\x80-\\x9F][\\x80-\\xBF]        # excluding surrogates
-            |  \\xF0[\\x90-\\xBF][\\x80-\\xBF]{2}     # planes 1-3
-            | [\\xF1-\\xF3][\\x80-\\xBF]{3}          # planes 4-15
-            |  \\xF4[\\x80-\\x8F][\\x80-\\xBF]{2}     # plane 16
-            )*$%xs', $str);
-        if (!$is_utf8) {
-            utf8_encode($str);
+        if (function_exists('imagerotate')) {
+            $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0);
+            // imagerotate() rotates CCW
+            $this->currentDimensions['width'] = imagesx($this->workingImage);
+            $this->currentDimensions['height'] = imagesy($this->workingImage);
+            $this->oldImage = $this->workingImage;
+            $this->newImage = $this->workingImage;
+            return true;
         }
-        return $str;
-    }
-}
-class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
-{
-    /**
-     * Returns the named sizes available for images
-     * @return array
-     */
-    function get_image_sizes()
-    {
-        return array('full', 'thumbnail');
+        $this->workingImage = imagecreatetruecolor($this->currentDimensions['height'], $this->currentDimensions['width']);
+        imagealphablending($this->workingImage, false);
+        imagesavealpha($this->workingImage, true);
+        switch ($angle) {
+            case 90:
+                for ($x = 0; $x < $this->currentDimensions['width']; $x++) {
+                    for ($y = 0; $y < $this->currentDimensions['height']; $y++) {
+                        if (!imagecopy($this->workingImage, $this->oldImage, $this->currentDimensions['height'] - $y - 1, $x, $x, $y, 1, 1)) {
+                            return false;
+                        }
+                    }
+                }
+                break;
+            case -90:
+                for ($x = 0; $x < $this->currentDimensions['width']; $x++) {
+                    for ($y = 0; $y < $this->currentDimensions['height']; $y++) {
+                        if (!imagecopy($this->workingImage, $this->oldImage, $y, $this->currentDimensions['width'] - $x - 1, $x, $y, 1, 1)) {
+                            return false;
+                        }
+                    }
+                }
+                break;
+            default:
+                return false;
+        }
+        $this->currentDimensions['width'] = imagesx($this->workingImage);
+        $this->currentDimensions['height'] = imagesy($this->workingImage);
+        $this->oldImage = $this->workingImage;
+        $this->newImage = $this->workingImage;
+        return true;
     }
     /**
-     * @param object|bool $gallery (optional)
-     * @return string
+     * Inverts working image, used by reflection function
+     * 
+     * @access	private
      */
-    function get_upload_abspath($gallery = FALSE)
+    function imageFlipVertical()
     {
-        // Base upload path
-        $retval = C_NextGen_Settings::get_instance()->gallerypath;
-        $fs = C_Fs::get_instance();
-        // If a gallery has been specified, then we'll
-        // append the slug
-        if ($gallery) {
-            $retval = $this->get_gallery_abspath($gallery);
-        }
-        // We need to make this an absolute path
-        if (strpos($retval, $fs->get_document_root('gallery')) !== 0) {
-            $retval = rtrim($fs->join_paths($fs->get_document_root('gallery'), $retval), "/\\");
+        $x_i = imagesx($this->workingImage);
+        $y_i = imagesy($this->workingImage);
+        for ($x = 0; $x < $x_i; $x++) {
+            for ($y = 0; $y < $y_i; $y++) {
+                imagecopy($this->workingImage, $this->workingImage, $x, $y_i - $y - 1, $x, $y, 1, 1);
+            }
         }
-        // Convert slashes
-        return $this->object->convert_slashes($retval);
     }
     /**
-     * Get the gallery path persisted in the database for the gallery
-     * @param int|object|C_Gallery $gallery
-     * @return string
+     * Converts hexidecimal color value to rgb values and returns as array/string
+     *
+     * @param string $hex
+     * @param bool $asString
+     * @return array|string
      */
-    function get_gallery_abspath($gallery)
+    function hex2rgb($hex, $asString = false)
     {
-        $retval = NULL;
-        $fs = C_Fs::get_instance();
-        // Get the gallery entity from the database
-        if ($gallery) {
-            if (is_numeric($gallery)) {
-                $gallery = $this->object->_gallery_mapper->find($gallery);
+        // strip off any leading #
+        if (0 === strpos($hex, '#')) {
+            $hex = substr($hex, 1);
+        } else {
+            if (0 === strpos($hex, '&H')) {
+                $hex = substr($hex, 2);
             }
         }
-        // It just doesn't exist
-        if (!$gallery || is_numeric($gallery)) {
-            return $retval;
-        }
-        // We we have a gallery, determine it's path
-        if ($gallery) {
-            if (isset($gallery->path)) {
-                $retval = $gallery->path;
-            } elseif (isset($gallery->slug)) {
-                $fs = C_Fs::get_instance();
-                $basepath = C_NextGen_Settings::get_instance()->gallerypath;
-                $retval = $fs->join_paths($basepath, sanitize_file_name(sanitize_title($gallery->slug)));
-            }
-        }
-        $root_type = defined('NGG_GALLERY_ROOT_TYPE') ? NGG_GALLERY_ROOT_TYPE : 'site';
-        if ($root_type == 'content') {
-            // This requires explanation: in case our content root ends with the same directory name
-            // that the gallery path begins with we remove the duplicate name from $retval. This is
-            // necessary because the default WP_CONTENT_DIR setting ends in /wp-content/ and
-            // NextGEN's default gallery path begins with /wp-content/. This also allows gallery
-            // paths to also be expressed as simply "/gallery-name/"
-            $exploded_root = explode(DIRECTORY_SEPARATOR, trim($fs->get_document_root('content'), '/\\'));
-            $exploded_gallery = explode(DIRECTORY_SEPARATOR, trim($retval, '/\\'));
-            $exploded_gallery = array_values($exploded_gallery);
-            $last_gallery_dirname = $exploded_gallery[0];
-            $last_root_dirname = end($exploded_root);
-            if ($last_root_dirname === $last_gallery_dirname) {
-                unset($exploded_gallery[0]);
-                $retval = implode(DIRECTORY_SEPARATOR, $exploded_gallery);
-            }
-        }
-        // Ensure that the path is absolute
-        if (strpos($retval, $fs->get_document_root('gallery')) !== 0) {
-            $retval = rtrim($fs->join_paths($fs->get_document_root('gallery'), $retval), "/\\");
-        }
-        return $this->object->convert_slashes(rtrim($retval, "/\\"));
+        // break into hex 3-tuple
+        $cutpoint = ceil(strlen($hex) / 2) - 1;
+        $rgb = explode(':', wordwrap($hex, $cutpoint, ':', $cutpoint), 3);
+        // convert each tuple to decimal
+        $rgb[0] = isset($rgb[0]) ? hexdec($rgb[0]) : 0;
+        $rgb[1] = isset($rgb[1]) ? hexdec($rgb[1]) : 0;
+        $rgb[2] = isset($rgb[2]) ? hexdec($rgb[2]) : 0;
+        return $asString ? "{$rgb[0]} {$rgb[1]} {$rgb[2]}" : $rgb;
     }
     /**
-     * Gets the absolute path where the image is stored. Can optionally return the path for a particular sized image.
-     * @param int|object $image
-     * @param string $size (optional) Default = full
-     * @param bool $check_existance (optional) Default = false
-     * @return string
+     * Based on the Watermark function by Marek Malcherek  
+     * http://www.malcherek.de
+     *
+     * @param string $color
+     * @param string $wmFont
+     * @param int $wmSize
+     * @param int $wmOpaque
      */
-    function get_image_abspath($image, $size = 'full', $check_existance = FALSE)
+    function watermarkCreateText($color = '000000', $wmFont, $wmSize = 10, $wmOpaque = 90)
     {
-        $retval = NULL;
-        $fs = C_Fs::get_instance();
-        // Ensure that we have a size
-        if (!$size) {
-            $size = 'full';
+        // set font path
+        $wmFontPath = NGGALLERY_ABSPATH . "fonts/" . $wmFont;
+        if (!is_readable($wmFontPath)) {
+            return;
         }
-        // If we have the id, get the actual image entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
+        // This function requires both the GD library and the FreeType library.
+        if (!function_exists('ImageTTFBBox')) {
+            return;
         }
-        // Ensure we have the image entity - user could have passed in an
-        // incorrect id
-        if (is_object($image)) {
-            if ($gallery_path = $this->object->get_gallery_abspath($image->galleryid)) {
-                $folder = $prefix = $size;
-                switch ($size) {
-                    # Images are stored in the associated gallery folder
-                    case 'full':
-                    case 'original':
-                    case 'image':
-                        $retval = $fs->join_paths($gallery_path, $image->filename);
-                        break;
-                    case 'backup':
-                        $retval = $fs->join_paths($gallery_path, $image->filename . '_backup');
-                        if ($check_existance && !@file_exists($retval)) {
-                            $retval = $fs->join_paths($gallery_path, $image->filename);
-                        }
-                        break;
-                    case 'thumbnails':
-                    case 'thumbnail':
-                    case 'thumb':
-                    case 'thumbs':
-                        $size = 'thumbnail';
-                        $folder = 'thumbs';
-                        $prefix = 'thumbs';
-                        // deliberately no break here
-                        // We assume any other size of image is stored in the a
-                        //subdirectory of the same name within the gallery folder
-                        // gallery folder, but with the size appended to the filename
-                    // deliberately no break here
-                    // We assume any other size of image is stored in the a
-                    //subdirectory of the same name within the gallery folder
-                    // gallery folder, but with the size appended to the filename
-                    default:
-                        $image_path = $fs->join_paths($gallery_path, $folder);
-                        // NGG 2.0 stores relative filenames in the meta data of
-                        // an image. It does this because it uses filenames
-                        // that follow conventional WordPress naming scheme.
-                        if (isset($image->meta_data) && isset($image->meta_data[$size]) && isset($image->meta_data[$size]['filename'])) {
-                            $image_path = $fs->join_paths($image_path, $image->meta_data[$size]['filename']);
-                        } else {
-                            $image_path = $fs->join_paths($image_path, "{$prefix}_{$image->filename}");
-                        }
-                        $retval = $image_path;
-                        break;
+        $words = preg_split('/ /', $this->watermarkText);
+        $lines = array();
+        $line = '';
+        $watermark_image_width = 0;
+        // attempt adding a new word until the width is too large; then start a new line and start again
+        foreach ($words as $word) {
+            // sanitize the text being input; imagettftext() can be sensitive
+            $TextSize = $this->ImageTTFBBoxDimensions($wmSize, 0, $this->correct_gd_unc_path($wmFontPath), $line . preg_replace('~^(&([a-zA-Z0-9]);)~', htmlentities('${1}'), mb_convert_encoding($word, "HTML-ENTITIES", "UTF-8")));
+            if ($watermark_image_width == 0) {
+                $watermark_image_width = $TextSize['width'];
+            }
+            if ($TextSize['width'] > $this->newDimensions['newWidth']) {
+                $lines[] = trim($line);
+                $line = '';
+            } else {
+                if ($TextSize['width'] > $watermark_image_width) {
+                    $watermark_image_width = $TextSize['width'];
                 }
             }
+            $line .= $word . ' ';
         }
-        // Check the existance of the file
-        if ($retval && $check_existance) {
-            if (!@file_exists($retval)) {
-                $retval = NULL;
-            }
+        $lines[] = trim($line);
+        // use this string to determine our largest possible line height
+        $line_dimensions = $this->ImageTTFBBoxDimensions($wmSize, 0, $this->correct_gd_unc_path($wmFontPath), 'MXQJALYmxqjabdfghjklpqry019`@$^&*(,!132');
+        $line_height = $line_dimensions['height'] * 1.05;
+        // Create an image to apply our text to
+        $this->workingImage = ImageCreateTrueColor($watermark_image_width, count($lines) * $line_height);
+        ImageSaveAlpha($this->workingImage, true);
+        ImageAlphaBlending($this->workingImage, false);
+        $bgText = imagecolorallocatealpha($this->workingImage, 255, 255, 255, 127);
+        imagefill($this->workingImage, 0, 0, $bgText);
+        $wmTransp = 127 - $wmOpaque * 1.27;
+        $rgb = $this->hex2rgb($color, false);
+        $TextColor = imagecolorallocatealpha($this->workingImage, $rgb[0], $rgb[1], $rgb[2], $wmTransp);
+        // Put text on the image, line-by-line
+        $y_pos = $wmSize;
+        foreach ($lines as $line) {
+            imagettftext($this->workingImage, $wmSize, 0, 0, $y_pos, $TextColor, $this->correct_gd_unc_path($wmFontPath), $line);
+            $y_pos += $line_height;
         }
-        return $retval ? rtrim($retval, "/\\") : $retval;
+        $this->watermarkImgPath = $this->workingImage;
+        return;
     }
     /**
-     * Gets the url of a particular-sized image
-     * @param int|object $image
-     * @param string $size
-     * @return string
+     * Returns a path that can be used with imagettftext() and ImageTTFBBox()
+     *
+     * imagettftext() and ImageTTFBBox() cannot load resources from Windows UNC paths
+     * and require they be mangled to be like //server\filename instead of \\server\filename
+     * @param string $path Absolute file path
+     * @return string $path Mangled absolute file path
      */
-    function get_image_url($image, $size = 'full', $check_existance = FALSE, $image_abspath = FALSE)
+    public function correct_gd_unc_path($path)
     {
-        $retval = NULL;
-        $fs = C_Fs::get_instance();
-        $router = C_Router::get_instance();
-        if (!$image_abspath) {
-            $image_abspath = $this->object->get_image_abspath($image, $size, $check_existance);
-        }
-        if ($image_abspath) {
-            // Use multibyte pathinfo() in case of UTF8 gallery or file names
-            $parts = M_I18n::mb_pathinfo($image_abspath);
-            $image_abspath = $parts['dirname'] . DIRECTORY_SEPARATOR . $parts['basename'];
-            $doc_root = $fs->get_document_root('gallery');
-            if ($doc_root != null) {
-                $doc_root = rtrim($doc_root, "/\\") . DIRECTORY_SEPARATOR;
-            }
-            // if docroot is "/" we would generate urls like /wp-contentpluginsnextgen-galleryetcetc
-            if ($doc_root !== '/') {
-                $request_uri = str_replace($doc_root, '', $image_abspath);
-            } else {
-                $request_uri = $image_abspath;
-            }
-            $request_uri = '/' . ltrim(str_replace("\\", '/', $request_uri), "/");
-            // Because like%@this.jpg is a valid directory and filename
-            $request_uri = explode('/', $request_uri);
-            foreach ($request_uri as $ndx => $segment) {
-                $request_uri[$ndx] = rawurlencode($segment);
-            }
-            $request_uri = implode('/', $request_uri);
-            $retval = $router->remove_url_segment('/index.php', $router->get_url($request_uri, FALSE, 'gallery'));
+        if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' && substr($path, 0, 2) === '\\\\') {
+            $path = ltrim($path, '\\\\');
+            $path = '//' . $path;
         }
-        return apply_filters('ngg_get_image_url', $retval, $image, $size);
+        return $path;
     }
     /**
-     * Uploads an image for a particular gallerys
-     * @param int|object|C_Gallery $gallery
-     * @param string|bool $filename (optional) Specifies the name of the file
-     * @param string|bool $data (optional) If specified, expects base64 encoded string of data
-     * @return C_Image
+     * Calculates the width & height dimensions of ImageTTFBBox().
+     *
+     * Note: ImageTTFBBox() is unreliable with large font sizes
+     * @param $wmSize
+     * @param $fontAngle
+     * @param $wmFontPath
+     * @param $text
+     * @return array
      */
-    function upload_image($gallery, $filename = FALSE, $data = FALSE)
+    function ImageTTFBBoxDimensions($wmSize, $fontAngle, $wmFontPath, $text)
     {
-        $retval = NULL;
-        // Ensure that we have the data present that we require
-        if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
-            //		$_FILES = Array(
-            //		 [file]	=>	Array (
-            //            [name] => Canada_landscape4.jpg
-            //            [type] => image/jpeg
-            //            [tmp_name] => /private/var/tmp/php6KO7Dc
-            //            [error] => 0
-            //            [size] => 64975
-            //         )
-            //
-            $file = $_FILES['file'];
-            if ($this->object->is_zip()) {
-                $retval = $this->object->upload_zip($gallery);
-            } else {
-                if ($this->is_image_file()) {
-                    $retval = $this->object->upload_base64_image($gallery, file_get_contents($file['tmp_name']), $filename ? $filename : (isset($file['name']) ? $file['name'] : FALSE));
-                } else {
-                    // Remove the non-valid (and potentially insecure) file from the PHP upload directory
-                    if (isset($_FILES['file']['tmp_name'])) {
-                        $filename = $_FILES['file']['tmp_name'];
-                        @unlink($filename);
-                    }
-                    throw new E_UploadException(__('Invalid image file. Acceptable formats: JPG, GIF, and PNG.', 'nggallery'));
-                }
-            }
-        } elseif ($data) {
-            $retval = $this->object->upload_base64_image($filename, $data);
-        } else {
-            throw new E_UploadException();
-        }
-        return $retval;
+        $box = @ImageTTFBBox($wmSize, $fontAngle, $this->correct_gd_unc_path($wmFontPath), $text);
+        $max_x = max(array($box[0], $box[2], $box[4], $box[6]));
+        $max_y = max(array($box[1], $box[3], $box[5], $box[7]));
+        $min_x = min(array($box[0], $box[2], $box[4], $box[6]));
+        $min_y = min(array($box[1], $box[3], $box[5], $box[7]));
+        return array("width" => $max_x - $min_x, "height" => $max_y - $min_y);
     }
-    function get_image_size_params($image, $size, $params = null, $skip_defaults = false)
+    function applyFilter($filterType)
     {
-        // Get the image entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
-        }
-        $params = apply_filters('ngg_get_image_size_params', $params, $size, $image);
-        // Ensure we have a valid image
-        if ($image) {
-            $settings = C_NextGen_Settings::get_instance();
-            if (!$skip_defaults) {
-                // Get default settings
-                if ($size == 'full') {
-                    if (!isset($params['quality'])) {
-                        $params['quality'] = $settings->imgQuality;
-                    }
-                } else {
-                    if (!isset($params['crop'])) {
-                        $params['crop'] = $settings->thumbfix;
-                    }
-                    if (!isset($params['quality'])) {
-                        $params['quality'] = $settings->thumbquality;
-                    }
-                }
-                // Not sure why this was here... commenting out for now, always require watermark parameters to be explicit
-                #				if (!isset($params['watermark'])) {
-                #					$params['watermark'] = $settings->wmType;
-                #				}
-            }
-            // width and height when omitted make generate_image_clone create a clone with original size, so try find defaults regardless of $skip_defaults
-            if (!isset($params['width']) || !isset($params['height'])) {
-                // First test if this is a "known" image size, i.e. if we store these sizes somewhere when users re-generate these sizes from the UI...this is required to be compatible with legacy
-                // try the 2 default built-in sizes, first thumbnail...
-                if ($size == 'thumbnail') {
-                    if (!isset($params['width'])) {
-                        $params['width'] = $settings->thumbwidth;
-                    }
-                    if (!isset($params['height'])) {
-                        $params['height'] = $settings->thumbheight;
-                    }
-                } else {
-                    if ($size == 'full') {
-                        if (!isset($params['width'])) {
-                            if ($settings->imgAutoResize) {
-                                $params['width'] = $settings->imgWidth;
-                            }
-                        }
-                        if (!isset($params['height'])) {
-                            if ($settings->imgAutoResize) {
-                                $params['height'] = $settings->imgHeight;
-                            }
-                        }
-                    } else {
-                        if (isset($image->meta_data) && isset($image->meta_data[$size])) {
-                            $dimensions = $image->meta_data[$size];
-                            if (!isset($params['width'])) {
-                                $params['width'] = $dimensions['width'];
-                            }
-                            if (!isset($params['height'])) {
-                                $params['height'] = $dimensions['height'];
-                            }
-                        }
-                    }
+        $args = func_get_args();
+        array_unshift($args, $this->newImage);
+        return call_user_func_array('imagefilter', $args);
+    }
+    /**
+     * Modfied Watermark function by Steve Peart 
+     * http://parasitehosting.com/
+     *
+     * @param string $relPOS
+     * @param int $xPOS
+     * @param int $yPOS
+     */
+    function watermarkImage($relPOS = 'botRight', $xPOS = 0, $yPOS = 0)
+    {
+        // if it's a resource ID take it as watermark text image
+        if (is_resource($this->watermarkImgPath)) {
+            $this->workingImage = $this->watermarkImgPath;
+        } else {
+            // (possibly) search for the file from the document root
+            if (!is_file($this->watermarkImgPath)) {
+                $fs = C_Fs::get_instance();
+                if (is_file($fs->join_paths($fs->get_document_root('content'), $this->watermarkImgPath))) {
+                    $this->watermarkImgPath = $fs->get_document_root('content') . $this->watermarkImgPath;
                 }
             }
-            if (!isset($params['crop_frame'])) {
-                $crop_frame_size_name = 'thumbnail';
-                if (isset($image->meta_data[$size]['crop_frame'])) {
-                    $crop_frame_size_name = $size;
-                }
-                if (isset($image->meta_data[$crop_frame_size_name]['crop_frame'])) {
-                    $params['crop_frame'] = $image->meta_data[$crop_frame_size_name]['crop_frame'];
-                    if (!isset($params['crop_frame']['final_width'])) {
-                        $params['crop_frame']['final_width'] = $image->meta_data[$crop_frame_size_name]['width'];
-                    }
-                    if (!isset($params['crop_frame']['final_height'])) {
-                        $params['crop_frame']['final_height'] = $image->meta_data[$crop_frame_size_name]['height'];
-                    }
-                }
-            } else {
-                if (!isset($params['crop_frame']['final_width'])) {
-                    $params['crop_frame']['final_width'] = $params['width'];
-                }
-                if (!isset($params['crop_frame']['final_height'])) {
-                    $params['crop_frame']['final_height'] = $params['height'];
-                }
+            // Would you really want to use anything other than a png?
+            $this->workingImage = @imagecreatefrompng($this->watermarkImgPath);
+            // if it's not a valid file die...
+            if (empty($this->workingImage) or !$this->workingImage) {
+                return;
             }
         }
-        return $params;
+        imagealphablending($this->workingImage, false);
+        imagesavealpha($this->workingImage, true);
+        $sourcefile_width = imageSX($this->oldImage);
+        $sourcefile_height = imageSY($this->oldImage);
+        $watermarkfile_width = imageSX($this->workingImage);
+        $watermarkfile_height = imageSY($this->workingImage);
+        switch (substr($relPOS, 0, 3)) {
+            case 'top':
+                $dest_y = 0 + $yPOS;
+                break;
+            case 'mid':
+                $dest_y = $sourcefile_height / 2 - $watermarkfile_height / 2;
+                break;
+            case 'bot':
+                $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS;
+                break;
+            default:
+                $dest_y = 0;
+                break;
+        }
+        switch (substr($relPOS, 3)) {
+            case 'Left':
+                $dest_x = 0 + $xPOS;
+                break;
+            case 'Center':
+                $dest_x = $sourcefile_width / 2 - $watermarkfile_width / 2;
+                break;
+            case 'Right':
+                $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS;
+                break;
+            default:
+                $dest_x = 0;
+                break;
+        }
+        // debug
+        // $this->errmsg = 'X '.$dest_x.' Y '.$dest_y;
+        // $this->showErrorImage();
+        // if a gif, we have to upsample it to a truecolor image
+        if ($this->format == 'GIF') {
+            $tempimage = imagecreatetruecolor($sourcefile_width, $sourcefile_height);
+            imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0, $sourcefile_width, $sourcefile_height);
+            $this->newImage = $tempimage;
+        }
+        $this->imagecopymerge_alpha($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0, $watermarkfile_width, $watermarkfile_height, 100);
     }
     /**
-     * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
-     * @param object|int $image Image ID or an image object
-     * @param string $size
-     * @param array $params
-     * @param bool $skip_defaults
-     * @return bool|array
+     * Wrapper to imagecopymerge() that allows PNG transparency
      */
-    function calculate_image_size_dimensions($image, $size, $params = null, $skip_defaults = false)
+    function imagecopymerge_alpha($destination_image, $source_image, $destination_x, $destination_y, $source_x, $source_y, $source_w, $source_h, $pct)
     {
-        $retval = FALSE;
-        // Get the image entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
-        }
-        // Ensure we have a valid image
-        if ($image) {
-            $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults);
-            // Get the image filename
-            $image_path = $this->object->get_original_abspath($image, 'original');
-            $clone_path = $this->object->get_image_abspath($image, $size);
-            $retval = $this->object->calculate_image_clone_dimensions($image_path, $clone_path, $params);
-        }
-        return $retval;
+        $cut = imagecreatetruecolor($source_w, $source_h);
+        imagecopy($cut, $destination_image, 0, 0, $destination_x, $destination_y, $source_w, $source_h);
+        imagecopy($cut, $source_image, 0, 0, $source_x, $source_y, $source_w, $source_h);
+        imagecopymerge($destination_image, $cut, $destination_x, $destination_y, 0, 0, $source_w, $source_h, $pct);
     }
     /**
-     * Generates a specific size for an image
-     * @param int|object|C_Image $image
-     * @param string $size
-     * @param array|null $params (optional)
-     * @param bool $skip_defaults (optional)
-     * @return bool|object
+     * Modfied imagecopyresampled function to save transparent images
+     * See : http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/
+     * @since 1.9.0
+     * 
+     * @param resource $dst_image
+     * @param resource $src_image
+     * @param int $dst_x
+     * @param int $dst_y
+     * @param int $src_x
+     * @param int $src_y
+     * @param int $dst_w
+     * @param int $dst_h
+     * @param int $src_w
+     * @param int $src_h
+     * @return bool
      */
-    function generate_image_size($image, $size, $params = null, $skip_defaults = false)
+    function imagecopyresampled(&$dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
     {
-        $retval = FALSE;
-        // Get the image entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
+        // Check if this image is PNG or GIF, then set if Transparent
+        if ($this->format == 'GIF' || $this->format == 'PNG') {
+            imagealphablending($dst_image, false);
+            imagesavealpha($dst_image, true);
+            $transparent = imagecolorallocatealpha($dst_image, 255, 255, 255, 127);
+            imagefilledrectangle($dst_image, 0, 0, $dst_w, $dst_h, $transparent);
         }
-        // Ensure we have a valid image
-        if ($image) {
-            $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults);
-            $settings = C_NextGen_Settings::get_instance();
-            // Get the image filename
-            $filename = $this->object->get_original_abspath($image, 'original');
-            $thumbnail = null;
-            if ($size == 'full' && $settings->imgBackup == 1) {
-                // XXX change this? 'full' should be the resized path and 'original' the _backup path
-                $backup_path = $this->object->get_backup_abspath($image);
-                if (!@file_exists($backup_path)) {
-                    @copy($filename, $backup_path);
-                }
-            }
-            // Generate the thumbnail using WordPress
-            $existing_image_abpath = $this->object->get_image_abspath($image, $size);
-            $existing_image_dir = dirname($existing_image_abpath);
-            // removing the old thumbnail is actually not needed as generate_image_clone() will replace it, leaving commented in as reminder in case there are issues in the future
-            if (@file_exists($existing_image_abpath)) {
-                //unlink($existing_image_abpath);
-            }
-            wp_mkdir_p($existing_image_dir);
-            $clone_path = $existing_image_abpath;
-            $thumbnail = $this->object->generate_image_clone($filename, $clone_path, $params);
-            // We successfully generated the thumbnail
-            if ($thumbnail != null) {
-                $clone_path = $thumbnail->fileName;
-                if (function_exists('getimagesize')) {
-                    $dimensions = getimagesize($clone_path);
-                } else {
-                    $dimensions = array($params['width'], $params['height']);
-                }
-                if (!isset($image->meta_data)) {
-                    $image->meta_data = array();
-                }
-                $size_meta = array('width' => $dimensions[0], 'height' => $dimensions[1], 'filename' => M_I18n::mb_basename($clone_path), 'generated' => microtime());
-                if (isset($params['crop_frame'])) {
-                    $size_meta['crop_frame'] = $params['crop_frame'];
-                }
-                $image->meta_data[$size] = $size_meta;
-                if ($size == 'full') {
-                    $image->meta_data['width'] = $size_meta['width'];
-                    $image->meta_data['height'] = $size_meta['height'];
-                }
-                $retval = $this->object->_image_mapper->save($image);
-                do_action('ngg_generated_image', $image, $size, $params);
-                if ($retval == 0) {
-                    $retval = false;
-                }
-                if ($retval) {
-                    $retval = $thumbnail;
-                }
-            } else {
-                // Something went wrong. Thumbnail generation failed!
-            }
-        }
-        return $retval;
+        imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
+        return true;
     }
+}
+/**
+ * Basic gallery storage methods; please consult the other available mixin.gallerystorage_base_(.*).php files before
+ * adding new methods to this class: new methods may be more appropriately defined in other mixins.
+ */
+class Mixin_GalleryStorage_Base extends Mixin
+{
     /**
-     * Generates a thumbnail for an image
-     * @param int|stdClass|C_Image $image
-     * @return bool
+     * Gets the id of a gallery, regardless of whether an integer
+     * or object was passed as an argument
+     * @param mixed $gallery_obj_or_id
+     * @return null|int
      */
-    function generate_thumbnail($image, $params = null, $skip_defaults = false)
+    function _get_gallery_id($gallery_obj_or_id)
     {
-        $sized_image = $this->object->generate_image_size($image, 'thumbnail', $params, $skip_defaults);
-        $retval = false;
-        if ($sized_image != null) {
-            $retval = true;
-            $sized_image->destruct();
+        $retval = NULL;
+        $gallery_key = $this->object->_gallery_mapper->get_primary_key_column();
+        if (is_object($gallery_obj_or_id)) {
+            if (isset($gallery_obj_or_id->{$gallery_key})) {
+                $retval = $gallery_obj_or_id->{$gallery_key};
+            }
+        } elseif (is_numeric($gallery_obj_or_id)) {
+            $retval = $gallery_obj_or_id;
         }
         return $retval;
     }
@@ -3734,152 +3442,6 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
         }
         return false;
     }
-    function _delete_gallery_directory($abspath)
-    {
-        // Remove all image files and purge all empty directories left over
-        $iterator = new DirectoryIterator($abspath);
-        // Only delete image files! Other files may be stored incorrectly but it's not our place to delete them
-        $removable_extensions = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif'));
-        foreach ($removable_extensions as $extension) {
-            $removable_extensions[] = $extension . '_backup';
-        }
-        foreach ($iterator as $file) {
-            if (in_array($file->getBasename(), array('.', '..'))) {
-                continue;
-            } elseif ($file->isFile() || $file->isLink()) {
-                $extension = strtolower(pathinfo($file->getPathname(), PATHINFO_EXTENSION));
-                if (in_array($extension, $removable_extensions, TRUE)) {
-                    @unlink($file->getPathname());
-                }
-            } elseif ($file->isDir()) {
-                $this->object->_delete_gallery_directory($file->getPathname());
-            }
-        }
-        // DO NOT remove directories that still have files in them. Note: '.' and '..' are included with getSize()
-        $empty = TRUE;
-        foreach ($iterator as $file) {
-            if (in_array($file->getBasename(), array('.', '..'))) {
-                continue;
-            }
-            $empty = FALSE;
-        }
-        if ($empty) {
-            @rmdir($iterator->getPath());
-        }
-    }
-    function delete_gallery($gallery)
-    {
-        $fs = C_Fs::get_instance();
-        $safe_dirs = array(DIRECTORY_SEPARATOR, $fs->get_document_root('plugins'), $fs->get_document_root('plugins_mu'), $fs->get_document_root('templates'), $fs->get_document_root('stylesheets'), $fs->get_document_root('content'), $fs->get_document_root('galleries'), $fs->get_document_root());
-        $abspath = $this->object->get_gallery_abspath($gallery);
-        if ($abspath && file_exists($abspath) && !in_array(stripslashes($abspath), $safe_dirs)) {
-            $this->object->_delete_gallery_directory($abspath);
-        }
-    }
-    function delete_image($image, $size = FALSE)
-    {
-        $retval = FALSE;
-        // Ensure that we have the image entity
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
-        }
-        if ($image) {
-            $image_id = $image->{$image->id_field};
-            do_action('ngg_delete_image', $image_id, $size);
-            // Delete only a particular image size
-            if ($size) {
-                $abspath = $this->object->get_image_abspath($image, $size);
-                if ($abspath && @file_exists($abspath)) {
-                    unlink($abspath);
-                }
-                if (isset($image->meta_data) && isset($image->meta_data[$size])) {
-                    unset($image->meta_data[$size]);
-                    $this->object->_image_mapper->save($image);
-                }
-            } else {
-                // Get the paths to fullsize and thumbnail files
-                $abspaths = array($this->object->get_full_abspath($image), $this->object->get_thumb_abspath($image), $this->object->get_backup_abspath($image));
-                if (isset($image->meta_data)) {
-                    foreach (array_keys($image->meta_data) as $size) {
-                        $abspaths[] = $this->object->get_image_abspath($image, $size);
-                    }
-                }
-                // Delete each image
-                foreach ($abspaths as $abspath) {
-                    if ($abspath && @file_exists($abspath)) {
-                        unlink($abspath);
-                    }
-                }
-                // Delete the entity
-                $this->object->_image_mapper->destroy($image);
-            }
-            $retval = TRUE;
-        }
-        return $retval;
-    }
-    /**
-     * Determines if the given NGG image id has been uploaded to the media library
-     * 
-     * @param integer $imageId
-     * @retval FALSE|int attachment_id
-     */
-    function is_in_media_library($imageId)
-    {
-        $retval = FALSE;
-        // Get the image
-        if (is_object($imageId)) {
-            $image = $imageId;
-            $imageId = $image->pid;
-        }
-        // Try to find an attachment for the given image_id
-        if ($imageId) {
-            $query = new WP_Query(array('post_type' => 'attachment', 'meta_key' => '_ngg_image_id', 'meta_value_num' => $imageId));
-            foreach ($query->get_posts() as $post) {
-                $retval = $post->ID;
-            }
-        }
-        return $retval;
-    }
-    /**
-     * Copies a NGG image to the media library and returns the attachment_id
-     * @param C_Image $image
-     * @retval FALSE|int attachment_id
-     */
-    function copy_to_media_library($image)
-    {
-        $retval = FALSE;
-        // Get the image
-        if (is_int($image)) {
-            $imageId = $image;
-            $mapper = C_Image_Mapper::get_instance();
-            $image = $mapper->find($imageId);
-        }
-        if ($image) {
-            $wordpress_upload_dir = wp_upload_dir();
-            // $wordpress_upload_dir['path'] is the full server path to wp-content/uploads/2017/05, for multisite works good as well
-            // $wordpress_upload_dir['url'] the absolute URL to the same folder, actually we do not need it, just to show the link to file
-            $i = 1;
-            // number of tries when the file with the same name is already exists
-            $image_abspath = C_Gallery_Storage::get_instance()->get_image_abspath($image, "full");
-            $new_file_path = $wordpress_upload_dir['path'] . '/' . $image->filename;
-            $new_file_mime = mime_content_type($image_abspath);
-            while (file_exists($new_file_path)) {
-                $i++;
-                $new_file_path = $wordpress_upload_dir['path'] . '/' . $i . '_' . $image->filename;
-            }
-            if (@copy($image_abspath, $new_file_path)) {
-                $upload_id = wp_insert_attachment(array('guid' => $new_file_path, 'post_mime_type' => $new_file_mime, 'post_title' => preg_replace('/\\.[^.]+$/', '', $image->alttext), 'post_content' => '', 'post_status' => 'inherit'), $new_file_path);
-                update_post_meta($upload_id, '_ngg_image_id', intval($image->pid));
-                // wp_generate_attachment_metadata() won't work if you do not include this file
-                require_once ABSPATH . 'wp-admin/includes/image.php';
-                $image_meta = wp_generate_attachment_metadata($upload_id, $new_file_path);
-                // Generate and save the attachment metas into the database
-                wp_update_attachment_metadata($upload_id, $image_meta);
-                $retval = $upload_id;
-            }
-        }
-        return $retval;
-    }
     /**
      * Sets a NGG image as a post thumbnail for the given post
      */
@@ -3912,1297 +3474,1962 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
         }
         return $retval;
     }
+    function convert_slashes($path)
+    {
+        $search = array('/', "\\");
+        $replace = array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR);
+        return str_replace($search, $replace, $path);
+    }
     /**
-     * Delete the given NGG image from the media library
+     * Empties the gallery cache directory of content
+     * @param object $gallery
      */
-    function delete_from_media_library($imageId)
+    function flush_cache($gallery)
     {
-        // Get the image
-        if (!is_int($imageId)) {
-            $image = $imageId;
-            $imageId = $image->pid;
-        }
-        if ($postId = $this->object->is_in_media_library($imageId)) {
-            wp_delete_post($postId);
-        }
+        $cache = C_Cache::get_instance();
+        $cache->flush_directory($this->object->get_cache_abspath($gallery));
     }
     /**
-     * Copies (or moves) images into another gallery
+     * Sanitizes a directory path, replacing whitespace with dashes.
      *
-     * @param array $images
-     * @param int|object $gallery
-     * @param boolean $db optionally only copy the image files
-     * @param boolean $move move the image instead of copying
-     * @return mixed NULL on failure, array|image-ids on success
+     * Taken from WP' sanitize_file_name() and modified to not act on file extensions.
+     *
+     * Removes special characters that are illegal in filenames on certain
+     * operating systems and special characters requiring special escaping
+     * to manipulate at the command line. Replaces spaces and consecutive
+     * dashes with a single dash. Trims period, dash and underscore from beginning
+     * and end of filename. It is not guaranteed that this function will return a
+     * filename that is allowed to be uploaded.
+     * @param string $dirname The directory name to be sanitized
+     * @return string The sanitized directory name
+     */
+    public function sanitize_directory_name($dirname)
+    {
+        $dirname_raw = $dirname;
+        $special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "\$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", "%", "+", chr(0));
+        $special_chars = apply_filters('sanitize_file_name_chars', $special_chars, $dirname_raw);
+        $dirname = preg_replace("#\\x{00a0}#siu", ' ', $dirname);
+        $dirname = str_replace($special_chars, '', $dirname);
+        $dirname = str_replace(array('%20', '+'), '-', $dirname);
+        $dirname = preg_replace('/[\\r\\n\\t -]+/', '-', $dirname);
+        $dirname = trim($dirname, '.-_');
+        return $dirname;
+    }
+}
+/**
+ * Provides methods to C_Gallery_Storage related to dynamic images, thumbnails, clones, etc
+ */
+class Mixin_GalleryStorage_Base_Dynamic extends Mixin
+{
+    /**
+     * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
+     * @param object|int $image Image ID or an image object
+     * @param string $size
+     * @param array $params
+     * @param bool $skip_defaults
+     * @return bool|array
      */
-    function copy_images($images, $gallery, $db = TRUE, $move = FALSE)
+    function calculate_image_size_dimensions($image, $size, $params = null, $skip_defaults = false)
     {
-        $new_image_pids = array();
-        // the return value
-        // legacy requires passing just a numeric ID
-        if (is_numeric($gallery)) {
-            $gallery = $this->object->_gallery_mapper->find($gallery);
+        $retval = FALSE;
+        // Get the image entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
         }
-        // move_images() is a wrapper to this function so we implement both features here
-        $func = $move ? 'rename' : 'copy';
-        // legacy allows for arrays of just the ID
-        if (!is_array($images)) {
-            $images = array($images);
+        // Ensure we have a valid image
+        if ($image) {
+            $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults);
+            // Get the image filename
+            $image_path = $this->object->get_original_abspath($image, 'original');
+            $clone_path = $this->object->get_image_abspath($image, $size);
+            $retval = $this->object->calculate_image_clone_dimensions($image_path, $clone_path, $params);
         }
-        // Ensure we have a valid gallery
-        $gallery_id = $this->object->_get_gallery_id($gallery);
-        if (!$gallery_id) {
-            return array();
-        }
-        $image_key = $this->object->_image_mapper->get_primary_key_column();
-        $gallery_abspath = $this->object->get_gallery_abspath($gallery);
-        // Check for folder permission
-        if (!is_dir($gallery_abspath) && !wp_mkdir_p($gallery_abspath)) {
-            echo sprintf(__('Unable to create directory %s.', 'nggallery'), esc_html($gallery_abspath));
-            return $new_image_pids;
-        }
-        if (!is_writable($gallery_abspath)) {
-            echo sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), esc_html($gallery_abspath));
-            return $new_image_pids;
-        }
-        $old_gallery_ids = array();
-        $image_pid_map = array();
-        foreach ($images as $image) {
-            if ($this->object->is_current_user_over_quota()) {
-                throw new E_NoSpaceAvailableException(__('Sorry, you have used your space allocation. Please delete some files to upload more files.', 'nggallery'));
-            }
-            // again legacy requires that it be able to pass just a numeric ID
-            if (is_numeric($image)) {
-                $image = $this->object->_image_mapper->find($image);
-            }
-            $old_gallery_ids[] = $image->galleryid;
-            $old_pid = $image->{$image_key};
-            // update the DB if requested
-            $new_image = clone $image;
-            $new_pid = $old_pid;
-            if ($db) {
-                unset($new_image->extras_post_id);
-                $new_image->galleryid = $gallery_id;
-                if (!$move) {
-                    $new_image->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($image->alttext), 'image');
-                    unset($new_image->{$image_key});
+        return $retval;
+    }
+    /**
+     * Generates a "clone" for an existing image, the clone can be altered using the $params array
+     * @param string $image_path
+     * @param string $clone_path
+     * @param array $params
+     * @return null|object
+     */
+    function generate_image_clone($image_path, $clone_path, $params)
+    {
+        $crop = isset($params['crop']) ? $params['crop'] : NULL;
+        $watermark = isset($params['watermark']) ? $params['watermark'] : NULL;
+        $reflection = isset($params['reflection']) ? $params['reflection'] : NULL;
+        $rotation = isset($params['rotation']) ? $params['rotation'] : NULL;
+        $flip = isset($params['flip']) ? $params['flip'] : NULL;
+        $destpath = NULL;
+        $thumbnail = NULL;
+        $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params);
+        // XXX this should maybe be removed and extra settings go into $params?
+        $settings = apply_filters('ngg_settings_during_image_generation', C_NextGen_Settings::get_instance()->to_array());
+        // Ensure we have a valid image
+        if ($image_path && @file_exists($image_path) && $result != null && !isset($result['error'])) {
+            $image_dir = dirname($image_path);
+            $clone_path = $result['clone_path'];
+            $clone_dir = $result['clone_directory'];
+            $clone_format = $result['clone_format'];
+            $format_list = $this->object->get_image_format_list();
+            // Ensure target directory exists, but only create 1 subdirectory
+            if (!@file_exists($clone_dir)) {
+                if (strtolower(realpath($image_dir)) != strtolower(realpath($clone_dir))) {
+                    if (strtolower(realpath($image_dir)) == strtolower(realpath(dirname($clone_dir)))) {
+                        wp_mkdir_p($clone_dir);
+                    }
                 }
-                $new_pid = $this->object->_image_mapper->save($new_image);
             }
-            if (!$new_pid) {
-                echo sprintf(__('Failed to copy database row for picture %s', 'nggallery'), $old_pid) . '<br />';
-                continue;
+            $method = $result['method'];
+            $width = $result['width'];
+            $height = $result['height'];
+            $quality = $result['quality'];
+            if ($quality == null) {
+                $quality = 100;
             }
-            // 'backup' is not included in get_image_sizes()
-            $sizes = $this->object->get_image_sizes();
-            $sizes[] = 'backup';
-            // Copy each image size
-            foreach ($sizes as $size) {
-                // if backups are off there's no backup file to copy
-                if (!C_NextGen_Settings::get_instance()->imgBackup && $size == 'backup') {
-                    continue;
+            if ($method == 'wordpress') {
+                $original = wp_get_image_editor($image_path);
+                $destpath = $clone_path;
+                if (!is_wp_error($original)) {
+                    $original->resize($width, $height, $crop);
+                    $original->set_quality($quality);
+                    $original->save($clone_path);
                 }
-                $orig_path = $this->object->get_image_abspath($image, $size, TRUE);
-                if (!$orig_path || !@file_exists($orig_path)) {
-                    echo sprintf(__('Failed to get image path for %s', 'nggallery'), esc_html(M_I18n::mb_basename($orig_path))) . '<br/>';
-                    continue;
+            } else {
+                if ($method == 'nextgen') {
+                    $destpath = $clone_path;
+                    $thumbnail = new C_NggLegacy_Thumbnail($image_path, true);
+                    if (!$thumbnail->error) {
+                        if ($crop) {
+                            $crop_area = $result['crop_area'];
+                            $crop_x = $crop_area['x'];
+                            $crop_y = $crop_area['y'];
+                            $crop_width = $crop_area['width'];
+                            $crop_height = $crop_area['height'];
+                            $thumbnail->crop($crop_x, $crop_y, $crop_width, $crop_height);
+                        }
+                        $thumbnail->resize($width, $height);
+                    } else {
+                        $thumbnail = NULL;
+                    }
                 }
-                $new_path = $this->object->get_image_abspath($new_image, $size, FALSE);
-                // Prevent duplicate filenames: check if the filename exists and begin appending '-#'
-                if (!ini_get('safe_mode') && @file_exists($new_path)) {
-                    // prevent get_image_abspath() from using the thumbnail filename in metadata
-                    unset($new_image->meta_data['thumbnail']['filename']);
-                    $file_exists = TRUE;
-                    $i = 0;
-                    do {
-                        $i++;
-                        $parts = explode('.', $image->filename);
-                        $extension = array_pop($parts);
-                        $tmp_filename = implode('.', $parts) . '-' . $i . '.' . $extension;
-                        $new_image->filename = $tmp_filename;
-                        $tmp_path = $this->object->get_image_abspath($new_image, $size, FALSE);
-                        if (!@file_exists($tmp_path)) {
-                            $file_exists = FALSE;
-                            $new_path = $tmp_path;
-                            if ($db) {
-                                $this->object->_image_mapper->save($new_image);
+            }
+            // We successfully generated the thumbnail
+            if (is_string($destpath) && (@file_exists($destpath) || $thumbnail != null)) {
+                if ($clone_format != null) {
+                    if (isset($format_list[$clone_format])) {
+                        $clone_format_extension = $format_list[$clone_format];
+                        $clone_format_extension_str = null;
+                        if ($clone_format_extension != null) {
+                            $clone_format_extension_str = '.' . $clone_format_extension;
+                        }
+                        $destpath_info = M_I18n::mb_pathinfo($destpath);
+                        $destpath_extension = $destpath_info['extension'];
+                        if (strtolower($destpath_extension) != strtolower($clone_format_extension)) {
+                            $destpath_dir = $destpath_info['dirname'];
+                            $destpath_basename = $destpath_info['filename'];
+                            $destpath_new = $destpath_dir . DIRECTORY_SEPARATOR . $destpath_basename . $clone_format_extension_str;
+                            if (@file_exists($destpath) && rename($destpath, $destpath_new) || $thumbnail != null) {
+                                $destpath = $destpath_new;
                             }
                         }
-                    } while ($file_exists == TRUE);
+                    }
+                }
+                if (is_null($thumbnail)) {
+                    $thumbnail = new C_NggLegacy_Thumbnail($destpath, true);
+                    if ($thumbnail->error) {
+                        $thumbnail = null;
+                        return null;
+                    }
+                } else {
+                    $thumbnail->fileName = $destpath;
+                }
+                // This is quite odd, when watermark equals int(0) it seems all statements below ($watermark == 'image') and ($watermark == 'text') both evaluate as true
+                // so we set it at null if it evaluates to any null-like value
+                if ($watermark == null) {
+                    $watermark = null;
+                }
+                if ($watermark == 1 || $watermark === true) {
+                    $watermark_setting_keys = array('wmFont', 'wmType', 'wmPos', 'wmXpos', 'wmYpos', 'wmPath', 'wmText', 'wmOpaque', 'wmFont', 'wmSize', 'wmColor');
+                    foreach ($watermark_setting_keys as $watermark_key) {
+                        if (!isset($params[$watermark_key])) {
+                            $params[$watermark_key] = $settings[$watermark_key];
+                        }
+                    }
+                    if (in_array(strval($params['wmType']), array('image', 'text'))) {
+                        $watermark = $params['wmType'];
+                    } else {
+                        $watermark = 'text';
+                    }
+                }
+                $watermark = strval($watermark);
+                if ($watermark == 'image') {
+                    $thumbnail->watermarkImgPath = $params['wmPath'];
+                    $thumbnail->watermarkImage($params['wmPos'], $params['wmXpos'], $params['wmYpos']);
+                } else {
+                    if ($watermark == 'text') {
+                        $thumbnail->watermarkText = $params['wmText'];
+                        $thumbnail->watermarkCreateText($params['wmColor'], $params['wmFont'], $params['wmSize'], $params['wmOpaque']);
+                        $thumbnail->watermarkImage($params['wmPos'], $params['wmXpos'], $params['wmYpos']);
+                    }
                 }
-                // Copy files
-                if (!@$func($orig_path, $new_path)) {
-                    echo sprintf(__('Failed to copy image %1$s to %2$s', 'nggallery'), esc_html($orig_path), esc_html($new_path)) . '<br/>';
-                    continue;
+                if ($rotation && in_array(abs($rotation), array(90, 180, 270))) {
+                    $thumbnail->rotateImageAngle($rotation);
+                    $remove_orientation_exif = TRUE;
+                } else {
+                    $remove_orientation_exif = FALSE;
                 }
-                // disabling: this is a bit too verbose
-                // if (!empty($tmp_path))
-                //     echo sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery.', 'nggallery'), $old_pid, esc_html($orig_path), $new_pid, esc_html($new_path)) . '<br />';
-                // else
-                //     echo sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s)', 'nggallery'), $old_pid, esc_html($orig_path), $new_pid, esc_html($new_path)) . '<br />';
-                // Copy tags
-                if ($db) {
-                    $tags = wp_get_object_terms($old_pid, 'ngg_tag', 'fields=ids');
-                    $tags = array_map('intval', $tags);
-                    wp_set_object_terms($new_pid, $tags, 'ngg_tag', true);
+                $flip = strtolower($flip);
+                if ($flip && in_array($flip, array('h', 'v', 'hv'))) {
+                    $flip_h = in_array($flip, array('h', 'hv'));
+                    $flip_v = in_array($flip, array('v', 'hv'));
+                    $thumbnail->flipImage($flip_h, $flip_v);
+                }
+                if ($reflection) {
+                    $thumbnail->createReflection(40, 40, 50, FALSE, '#a4a4a4');
                 }
+                if ($clone_format != null && isset($format_list[$clone_format])) {
+                    // Force format
+                    $thumbnail->format = strtoupper($format_list[$clone_format]);
+                }
+                $thumbnail = apply_filters('ngg_before_save_thumbnail', $thumbnail);
+                $exif_iptc = @C_Exif_Writer_Wrapper::read_metadata($image_path);
+                $thumbnail->save($destpath, $quality);
+                // We've just rotated the image however the EXIF metadata contains an Orientation tag. To prevent
+                // certain browsers from rotating our already-rotated image we reset the Orientation tag to the default.
+                if ($remove_orientation_exif && !empty($exif_iptc['exif'])) {
+                    $exif_iptc['exif'] = @C_Exif_Writer_Wrapper::reset_orientation($exif_iptc['exif']);
+                }
+                @C_Exif_Writer_Wrapper::write_metadata($destpath, $exif_iptc);
             }
-            $new_image_pids[] = $new_pid;
-            $image_pid_map[$old_pid] = $new_pid;
-        }
-        $old_gallery_ids = array_unique($old_gallery_ids);
-        if ($move) {
-            do_action('ngg_moved_images', $images, $old_gallery_ids, $gallery_id);
-        } else {
-            do_action('ngg_copied_images', $image_pid_map, $old_gallery_ids, $gallery_id);
-        }
-        $title = '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $gallery_id . '" >';
-        $title .= $gallery->title;
-        $title .= '</a>';
-        if ($move) {
-            $message = sprintf(__('Moved %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title);
-        } else {
-            $message = sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title);
         }
-        echo '<div class="updated fade" id="message"><p>' . $message . '</p></div>';
-        // echo '<hr/>' . sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title);
-        return $new_image_pids;
+        return $thumbnail;
     }
     /**
-     * Recover image from backup copy and reprocess it
-     *
-     * @param int|stdClass|C_Image $image
-     * @return bool|string result code
+     * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
+     * @param string $image_path
+     * @param string $clone_path
+     * @param array $params
+     * @return null|array
      */
-    function recover_image($image)
+    function calculate_image_clone_dimensions($image_path, $clone_path, $params)
     {
-        $retval = FALSE;
-        if (is_numeric($image)) {
-            $image = $this->object->_image_mapper->find($image);
-        }
-        if ($image) {
-            $full_abspath = $this->object->get_image_abspath($image);
-            $backup_abspath = $this->object->get_image_abspath($image, 'backup');
-            if ($backup_abspath != $full_abspath && @file_exists($backup_abspath)) {
-                if (is_writable($full_abspath) && is_writable(dirname($full_abspath))) {
-                    // Copy the backup
-                    if (@copy($backup_abspath, $full_abspath)) {
-                        // Re-create non-fullsize image sizes
-                        foreach ($this->object->get_image_sizes($image) as $named_size) {
-                            if ($named_size == 'full') {
-                                continue;
-                            }
-                            $this->object->generate_image_clone($backup_abspath, $this->object->get_image_abspath($image, $named_size), $this->object->get_image_size_params($image, $named_size));
-                        }
-                        do_action('ngg_recovered_image', $image);
-                        // Reimport all metadata
-                        $retval = $this->object->_image_mapper->reimport_metadata($image);
-                    }
-                }
-            }
+        $retval = null;
+        $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params);
+        if ($result != null) {
+            $retval = array('width' => $result['width'], 'height' => $result['height'], 'real_width' => $result['real_width'], 'real_height' => $result['real_height']);
         }
         return $retval;
     }
-}
-/**
- * Class C_NggLegacy_GalleryStorage_Driver
- * @mixin Mixin_NggLegacy_GalleryStorage_Driver
- */
-class C_NggLegacy_GalleryStorage_Driver extends C_GalleryStorage_Driver_Base
-{
-    function define($context = FALSE)
-    {
-        parent::define($context);
-        $this->add_mixin('Mixin_NggLegacy_GalleryStorage_Driver');
-    }
-}
-/**
- * gd.thumbnail.inc.php
- * 
- * @author 		Ian Selby (ian@gen-x-design.com)
- * @copyright 	Copyright 2006-2011
- * @version 	1.3.0 (based on 1.1.3)
- * @modded      by Alex Rabe
- * 
- */
-/**
- * PHP class for dynamically resizing, cropping, and rotating images for thumbnail purposes and either displaying them on-the-fly or saving them.
- *
- */
-class C_NggLegacy_Thumbnail
-{
-    /**
-     * Error message to display, if any
-     *
-     * @var string
-     */
-    var $errmsg;
-    /**
-     * Whether or not there is an error
-     *
-     * @var boolean
-     */
-    var $error;
-    /**
-     * Format of the image file
-     *
-     * @var string
-     */
-    var $format;
-    /**
-     * File name and path of the image file
-     *
-     * @var string
-     */
-    var $fileName;
-    /**
-     * Current dimensions of working image
-     *
-     * @var array
-     */
-    var $currentDimensions;
-    /**
-     * New dimensions of working image
-     *
-     * @var array
-     */
-    var $newDimensions;
     /**
-     * Image resource for newly manipulated image
-     *
-     * @var resource
-     * @access private
-     */
-    var $newImage;
-    /**
-     * Image resource for image before previous manipulation
-     *
-     * @var resource
-     * @access private
+     * Returns an array of properties of a resulting clone image if and when generated
+     * @param string $image_path
+     * @param string $clone_path
+     * @param array $params
+     * @return null|array
      */
-    var $oldImage;
-    /**
-     * Image resource for image being currently manipulated
-     *
-     * @var resource
-     * @access private
-     */
-    var $workingImage;
-    /**
-     * Percentage to resize image by
-     *
-     * @var int
-     * @access private
-     */
-    var $percent;
-    /**
-     * Maximum width of image during resize
-     *
-     * @var int
-     * @access private
-     */
-    var $maxWidth;
-    /**
-     * Maximum height of image during resize
-     *
-     * @var int
-     * @access private
-     */
-    var $maxHeight;
-    /**
-     * Image for Watermark
-     *
-     * @var string
-     * 
-     */
-    var $watermarkImgPath;
-    /**
-     * Text for Watermark
-     *
-     * @var string
-     * 
-     */
-    var $watermarkText;
-    /**
-     * Image Resource ID for Watermark
-     *
-     * @var string
-     * 
-     */
-    function __construct($fileName, $no_ErrorImage = false)
+    function calculate_image_clone_result($image_path, $clone_path, $params)
     {
-        //make sure the GD library is installed
-        if (!function_exists("gd_info")) {
-            echo 'You do not have the GD Library installed.  This class requires the GD library to function properly.' . "\n";
-            echo 'visit http://us2.php.net/manual/en/ref.image.php for more information';
-            throw new E_No_Image_Library_Exception();
-        }
-        //initialize variables
-        $this->errmsg = '';
-        $this->error = false;
-        $this->currentDimensions = array();
-        $this->newDimensions = array();
-        $this->fileName = $fileName;
-        $this->percent = 100;
-        $this->maxWidth = 0;
-        $this->maxHeight = 0;
-        $this->watermarkImgPath = '';
-        $this->watermarkText = '';
-        //check to see if file exists
-        if (!@file_exists($this->fileName)) {
-            $this->errmsg = 'File not found';
-            $this->error = true;
-        } elseif (!is_readable($this->fileName)) {
-            $this->errmsg = 'File is not readable';
-            $this->error = true;
-        }
-        $image_size = null;
-        //if there are no errors, determine the file format
-        if ($this->error == false) {
-            //	        set_time_limit(30);
-            @ini_set('memory_limit', -1);
-            $image_size = @getimagesize($this->fileName);
-            if (isset($image_size) && is_array($image_size)) {
-                $extensions = array('1' => 'GIF', '2' => 'JPG', '3' => 'PNG');
-                $extension = array_key_exists($image_size[2], $extensions) ? $extensions[$image_size[2]] : '';
-                if ($extension) {
-                    $this->format = $extension;
+        $width = isset($params['width']) ? $params['width'] : NULL;
+        $height = isset($params['height']) ? $params['height'] : NULL;
+        $quality = isset($params['quality']) ? $params['quality'] : NULL;
+        $type = isset($params['type']) ? $params['type'] : NULL;
+        $crop = isset($params['crop']) ? $params['crop'] : NULL;
+        $watermark = isset($params['watermark']) ? $params['watermark'] : NULL;
+        $rotation = isset($params['rotation']) ? $params['rotation'] : NULL;
+        $reflection = isset($params['reflection']) ? $params['reflection'] : NULL;
+        $crop_frame = isset($params['crop_frame']) ? $params['crop_frame'] : NULL;
+        $result = NULL;
+        // Ensure we have a valid image
+        if ($image_path && @file_exists($image_path)) {
+            // Ensure target directory exists, but only create 1 subdirectory
+            $image_dir = dirname($image_path);
+            $clone_dir = dirname($clone_path);
+            $image_extension = M_I18n::mb_pathinfo($image_path, PATHINFO_EXTENSION);
+            $image_extension_str = null;
+            $clone_extension = M_I18n::mb_pathinfo($clone_path, PATHINFO_EXTENSION);
+            $clone_extension_str = null;
+            if ($image_extension != null) {
+                $image_extension_str = '.' . $image_extension;
+            }
+            if ($clone_extension != null) {
+                $clone_extension_str = '.' . $clone_extension;
+            }
+            $image_basename = M_I18n::mb_basename($image_path);
+            $clone_basename = M_I18n::mb_basename($clone_path);
+            // We use a default suffix as passing in null as the suffix will make WordPress use a default
+            $clone_suffix = null;
+            $format_list = $this->object->get_image_format_list();
+            $clone_format = null;
+            // format is determined below and based on $type otherwise left to null
+            // suffix is only used to reconstruct paths for image_resize function
+            if (strpos($clone_basename, $image_basename) === 0) {
+                $clone_suffix = substr($clone_basename, strlen($image_basename));
+            }
+            if ($clone_suffix != null && $clone_suffix[0] == '-') {
+                // WordPress adds '-' on its own
+                $clone_suffix = substr($clone_suffix, 1);
+            }
+            // Get original image dimensions
+            $dimensions = getimagesize($image_path);
+            if ($width == null && $height == null) {
+                if ($dimensions != null) {
+                    if ($width == null) {
+                        $width = $dimensions[0];
+                    }
+                    if ($height == null) {
+                        $height = $dimensions[1];
+                    }
                 } else {
-                    $this->errmsg = 'Unknown file format';
-                    $this->error = true;
+                    // XXX Don't think there's any other option here but to fail miserably...use some hard-coded defaults maybe?
+                    return null;
                 }
-            } else {
-                $this->errmsg = 'File is not an image';
-                $this->error = true;
             }
-        }
-        // increase memory-limit if possible, GD needs this for large images
-        if (!extension_loaded('suhosin')) {
-            @ini_set('memory_limit', '512M');
-        }
-        if ($this->error == false) {
-            // Check memory consumption if file exists
-            $this->checkMemoryForImage($this->fileName);
-        }
-        //initialize resources if no errors
-        if ($this->error == false) {
-            $img_err = null;
-            switch ($this->format) {
-                case 'GIF':
-                    if (function_exists('ImageCreateFromGif')) {
-                        $this->oldImage = @ImageCreateFromGif($this->fileName);
-                    } else {
-                        $img_err = __('Support for GIF format is missing.', 'nggallery');
+            if ($dimensions != null) {
+                $dimensions_ratio = $dimensions[0] / $dimensions[1];
+                if ($width == null) {
+                    $width = (int) round($height * $dimensions_ratio);
+                    if ($width == $dimensions[0] - 1) {
+                        $width = $dimensions[0];
                     }
-                    break;
-                case 'JPG':
-                    if (function_exists('ImageCreateFromJpeg')) {
-                        $this->oldImage = @ImageCreateFromJpeg($this->fileName);
-                    } else {
-                        $img_err = __('Support for JPEG format is missing.', 'nggallery');
+                } else {
+                    if ($height == null) {
+                        $height = (int) round($width / $dimensions_ratio);
+                        if ($height == $dimensions[1] - 1) {
+                            $height = $dimensions[1];
+                        }
                     }
-                    break;
-                case 'PNG':
-                    if (function_exists('ImageCreateFromPng')) {
-                        $this->oldImage = @ImageCreateFromPng($this->fileName);
+                }
+                if ($width > $dimensions[0]) {
+                    $width = $dimensions[0];
+                }
+                if ($height > $dimensions[1]) {
+                    $height = $dimensions[1];
+                }
+                $image_format = $dimensions[2];
+                if ($type != null) {
+                    if (is_string($type)) {
+                        $type = strtolower($type);
+                        // Indexes in the $format_list array correspond to IMAGETYPE_XXX values appropriately
+                        if (($index = array_search($type, $format_list)) !== false) {
+                            $type = $index;
+                            if ($type != $image_format) {
+                                // Note: this only changes the FORMAT of the image but not the extension
+                                $clone_format = $type;
+                            }
+                        }
+                    }
+                }
+            }
+            if ($width == null || $height == null) {
+                // Something went wrong...
+                return null;
+            }
+            $result['clone_path'] = $clone_path;
+            $result['clone_directory'] = $clone_dir;
+            $result['clone_suffix'] = $clone_suffix;
+            $result['clone_format'] = $clone_format;
+            $result['base_width'] = $dimensions[0];
+            $result['base_height'] = $dimensions[1];
+            // image_resize() has limitations:
+            // - no easy crop frame support
+            // - fails if the dimensions are unchanged
+            // - doesn't support filename prefix, only suffix so names like thumbs_original_name.jpg for $clone_path are not supported
+            //   also suffix cannot be null as that will make WordPress use a default suffix...we could use an object that returns empty string from __toString() but for now just fallback to ngg generator
+            if (FALSE) {
+                // disabling the WordPress method for Iteration #6
+                //			if (($crop_frame == null || !$crop) && ($dimensions[0] != $width && $dimensions[1] != $height) && $clone_suffix != null)
+                $result['method'] = 'wordpress';
+                $new_dims = image_resize_dimensions($dimensions[0], $dimensions[1], $width, $height, $crop);
+                if ($new_dims) {
+                    list($dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) = $new_dims;
+                    $width = $dst_w;
+                    $height = $dst_h;
+                } else {
+                    $result['error'] = new WP_Error('error_getting_dimensions', __('Could not calculate resized image dimensions'));
+                }
+            } else {
+                $result['method'] = 'nextgen';
+                $original_width = $dimensions[0];
+                $original_height = $dimensions[1];
+                $aspect_ratio = $width / $height;
+                $orig_ratio_x = $original_width / $width;
+                $orig_ratio_y = $original_height / $height;
+                if ($crop) {
+                    $algo = 'shrink';
+                    // either 'adapt' or 'shrink'
+                    if ($crop_frame != null) {
+                        $crop_x = (int) round($crop_frame['x']);
+                        $crop_y = (int) round($crop_frame['y']);
+                        $crop_width = (int) round($crop_frame['width']);
+                        $crop_height = (int) round($crop_frame['height']);
+                        $crop_final_width = (int) round($crop_frame['final_width']);
+                        $crop_final_height = (int) round($crop_frame['final_height']);
+                        $crop_width_orig = $crop_width;
+                        $crop_height_orig = $crop_height;
+                        $crop_factor_x = $crop_width / $crop_final_width;
+                        $crop_factor_y = $crop_height / $crop_final_height;
+                        $crop_ratio_x = $crop_width / $width;
+                        $crop_ratio_y = $crop_height / $height;
+                        if ($algo == 'adapt') {
+                            // XXX not sure about this...don't use for now
+                            #							$crop_width = (int) round($width * $crop_factor_x);
+                            #							$crop_height = (int) round($height * $crop_factor_y);
+                        } else {
+                            if ($algo == 'shrink') {
+                                if ($crop_ratio_x < $crop_ratio_y) {
+                                    $crop_width = max($crop_width, $width);
+                                    $crop_height = (int) round($crop_width / $aspect_ratio);
+                                } else {
+                                    $crop_height = max($crop_height, $height);
+                                    $crop_width = (int) round($crop_height * $aspect_ratio);
+                                }
+                                if ($crop_width == $crop_width_orig - 1) {
+                                    $crop_width = $crop_width_orig;
+                                }
+                                if ($crop_height == $crop_height_orig - 1) {
+                                    $crop_height = $crop_height_orig;
+                                }
+                            }
+                        }
+                        $crop_diff_x = (int) round(($crop_width_orig - $crop_width) / 2);
+                        $crop_diff_y = (int) round(($crop_height_orig - $crop_height) / 2);
+                        $crop_x += $crop_diff_x;
+                        $crop_y += $crop_diff_y;
+                        $crop_max_x = $crop_x + $crop_width;
+                        $crop_max_y = $crop_y + $crop_height;
+                        // Check if we're overflowing borders
+                        //
+                        if ($crop_x < 0) {
+                            $crop_x = 0;
+                        } else {
+                            if ($crop_max_x > $original_width) {
+                                $crop_x -= $crop_max_x - $original_width;
+                            }
+                        }
+                        if ($crop_y < 0) {
+                            $crop_y = 0;
+                        } else {
+                            if ($crop_max_y > $original_height) {
+                                $crop_y -= $crop_max_y - $original_height;
+                            }
+                        }
                     } else {
-                        $img_err = __('Support for PNG format is missing.', 'nggallery');
+                        if ($orig_ratio_x < $orig_ratio_y) {
+                            $crop_width = $original_width;
+                            $crop_height = (int) round($height * $orig_ratio_x);
+                        } else {
+                            $crop_height = $original_height;
+                            $crop_width = (int) round($width * $orig_ratio_y);
+                        }
+                        if ($crop_width == $width - 1) {
+                            $crop_width = $width;
+                        }
+                        if ($crop_height == $height - 1) {
+                            $crop_height = $height;
+                        }
+                        $crop_x = (int) round(($original_width - $crop_width) / 2);
+                        $crop_y = (int) round(($original_height - $crop_height) / 2);
                     }
-                    break;
+                    $result['crop_area'] = array('x' => $crop_x, 'y' => $crop_y, 'width' => $crop_width, 'height' => $crop_height);
+                } else {
+                    // Just constraint dimensions to ensure there's no stretching or deformations
+                    list($width, $height) = wp_constrain_dimensions($original_width, $original_height, $width, $height);
+                }
             }
-            if (!$this->oldImage) {
-                if ($img_err == null) {
-                    $img_err = __('Check memory limit', 'nggallery');
+            $result['width'] = $width;
+            $result['height'] = $height;
+            $result['quality'] = $quality;
+            $real_width = $width;
+            $real_height = $height;
+            if ($rotation && in_array(abs($rotation), array(90, 270))) {
+                $real_width = $height;
+                $real_height = $width;
+            }
+            if ($reflection) {
+                // default for nextgen was 40%, this is used in generate_image_clone as well
+                $reflection_amount = 40;
+                // Note, round() would probably be best here but using the same code that C_NggLegacy_Thumbnail uses for compatibility
+                $reflection_height = intval($real_height * ($reflection_amount / 100));
+                $real_height = $real_height + $reflection_height;
+            }
+            $result['real_width'] = $real_width;
+            $result['real_height'] = $real_height;
+        }
+        return $result;
+    }
+    /**
+     * Generates a specific size for an image
+     * @param int|object|C_Image $image
+     * @param string $size
+     * @param array|null $params (optional)
+     * @param bool $skip_defaults (optional)
+     * @return bool|object
+     */
+    function generate_image_size($image, $size, $params = null, $skip_defaults = false)
+    {
+        $retval = FALSE;
+        // Get the image entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
+        }
+        // Ensure we have a valid image
+        if ($image) {
+            $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults);
+            $settings = C_NextGen_Settings::get_instance();
+            // Get the image filename
+            $filename = $this->object->get_original_abspath($image, 'original');
+            $thumbnail = null;
+            if ($size == 'full' && $settings->imgBackup == 1) {
+                // XXX change this? 'full' should be the resized path and 'original' the _backup path
+                $backup_path = $this->object->get_backup_abspath($image);
+                if (!@file_exists($backup_path)) {
+                    @copy($filename, $backup_path);
+                }
+            }
+            // Generate the thumbnail using WordPress
+            $existing_image_abpath = $this->object->get_image_abspath($image, $size);
+            $existing_image_dir = dirname($existing_image_abpath);
+            wp_mkdir_p($existing_image_dir);
+            $clone_path = $existing_image_abpath;
+            $thumbnail = $this->object->generate_image_clone($filename, $clone_path, $params);
+            // We successfully generated the thumbnail
+            if ($thumbnail != null) {
+                $clone_path = $thumbnail->fileName;
+                if (function_exists('getimagesize')) {
+                    $dimensions = getimagesize($clone_path);
+                } else {
+                    $dimensions = array($params['width'], $params['height']);
+                }
+                if (!isset($image->meta_data)) {
+                    $image->meta_data = array();
+                }
+                $size_meta = array('width' => $dimensions[0], 'height' => $dimensions[1], 'filename' => M_I18n::mb_basename($clone_path), 'generated' => microtime());
+                if (isset($params['crop_frame'])) {
+                    $size_meta['crop_frame'] = $params['crop_frame'];
+                }
+                $image->meta_data[$size] = $size_meta;
+                if ($size == 'full') {
+                    $image->meta_data['width'] = $size_meta['width'];
+                    $image->meta_data['height'] = $size_meta['height'];
+                }
+                $retval = $this->object->_image_mapper->save($image);
+                do_action('ngg_generated_image', $image, $size, $params);
+                if ($retval == 0) {
+                    $retval = false;
+                }
+                if ($retval) {
+                    $retval = $thumbnail;
                 }
-                $this->errmsg = sprintf(__('Create Image failed. %1$s', 'nggallery'), $img_err);
-                $this->error = true;
             } else {
-                $this->currentDimensions = array('width' => $image_size[0], 'height' => $image_size[1]);
-                $this->newImage = $this->oldImage;
+                // Something went wrong. Thumbnail generation failed!
             }
         }
-        if ($this->error == true) {
-            if (!$no_ErrorImage) {
-                $this->showErrorImage();
-            }
-            return;
+        return $retval;
+    }
+    function generate_resized_image($image, $save = TRUE)
+    {
+        $image_abspath = $this->object->get_image_abspath($image, 'full');
+        $generated = $this->object->generate_image_clone($image_abspath, $image_abspath, $this->object->get_image_size_params($image, 'full'));
+        if ($generated && $save) {
+            $this->object->update_image_dimension_metadata($image, $image_abspath);
         }
     }
-    /**
-     * Calculate the memory limit
-     * @param string $filename
-     *
-     */
-    function checkMemoryForImage($filename)
+    public function update_image_dimension_metadata($image, $image_abspath)
     {
-        $imageInfo = getimagesize($filename);
-        switch ($this->format) {
-            case 'GIF':
-                // measured factor 1 is better
-                $CHANNEL = 1;
-                break;
-            case 'JPG':
-                $CHANNEL = $imageInfo['channels'];
-                break;
-            case 'PNG':
-                // didn't get the channel for png
-                $CHANNEL = 3;
-                break;
+        // Ensure that fullsize dimensions are added to metadata array
+        $dimensions = getimagesize($image_abspath);
+        $full_meta = array('width' => $dimensions[0], 'height' => $dimensions[1], 'md5' => $this->object->get_image_checksum($image, 'full'));
+        if (!isset($image->meta_data) or is_string($image->meta_data) && strlen($image->meta_data) == 0 or is_bool($image->meta_data)) {
+            $image->meta_data = array();
         }
-        $bits = !empty($imageInfo['bits']) ? $imageInfo['bits'] : 32;
-        // imgInfo[bits] is not always available
-        return $this->checkMemoryForData($imageInfo[0], $imageInfo[1], $CHANNEL, $bits);
+        $image->meta_data = array_merge($image->meta_data, $full_meta);
+        $image->meta_data['full'] = $full_meta;
+        // Don't forget to append the 'full' entry in meta_data in the db
+        $this->object->_image_mapper->save($image);
     }
-    function checkMemoryForData($width, $height, $channels = null, $bits = null)
+    /**
+     * Most major browsers do not honor the Orientation meta found in EXIF. To prevent display issues we inspect
+     * the EXIF data and rotate the image so that the EXIF field is not necessary to display the image correctly.
+     * Note: generate_image_clone() will handle the removal of the Orientation tag inside the image EXIF.
+     * Note: This only handles single-dimension rotation; at the time this method was written there are no known
+     * camera manufacturers that both rotate and flip images.
+     * @param $image
+     * @param bool $save
+     */
+    public function correct_exif_rotation($image, $save = TRUE)
     {
-        $imageInfo = getimagesize($this->fileName);
-        if ($channels == null) {
-            switch ($this->format) {
-                case 'GIF':
-                    // measured factor 1 is better
-                    $channels = 1;
-                    break;
-                case 'JPG':
-                    $channels = $imageInfo['channels'];
-                    break;
-                case 'PNG':
-                    // didn't get the channel for png
-                    $channels = 3;
-                    break;
-            }
+        $image_abspath = $this->object->get_image_abspath($image, 'full');
+        // This method is necessary
+        if (!function_exists('exif_read_data')) {
+            return;
         }
-        if ($bits == null) {
-            $bits = !empty($imageInfo['bits']) ? $imageInfo['bits'] : 32;
+        // We only need to continue if the Orientation tag is set
+        $exif = @exif_read_data($image_abspath, 'exif');
+        if (empty($exif['Orientation']) || $exif['Orientation'] == 1) {
+            return;
         }
-        // imgInfo[bits] is not always available
-        if (function_exists('memory_get_usage') && ini_get('memory_limit')) {
-            $MB = 1048576;
-            // number of bytes in 1M
-            $K64 = 65536;
-            // number of bytes in 64K
-            $TWEAKFACTOR = 1.68;
-            // Or whatever works for you
-            $memoryNeeded = round((doubleval($width * $height * $bits * $channels) / 8 + $K64) * $TWEAKFACTOR);
-            $memoryNeeded = memory_get_usage() + $memoryNeeded;
-            // get memory limit
-            $memory_limit = ini_get('memory_limit');
-            // PHP docs : Note that to have no memory limit, set this directive to -1.
-            if ($memory_limit == -1) {
-                return true;
-            }
-            // Just check megabyte limits, not higher
-            if (strtolower(substr($memory_limit, -1)) == 'm') {
-                if ($memory_limit != '') {
-                    $memory_limit = intval(substr($memory_limit, 0, -1)) * 1024 * 1024;
-                }
-                if ($memoryNeeded > $memory_limit) {
-                    $memoryNeeded = round($memoryNeeded / 1024 / 1024, 2);
-                    $this->errmsg = 'Exceed Memory limit. Require : ' . $memoryNeeded . " MByte";
-                    $this->error = true;
-                    return false;
-                }
-            }
+        $degree = 0;
+        if ($exif['Orientation'] == 3) {
+            $degree = 180;
+        }
+        if ($exif['Orientation'] == 6) {
+            $degree = 90;
+        }
+        if ($exif['Orientation'] == 8) {
+            $degree = 270;
+        }
+        $parameters = array('rotation' => $degree);
+        $generated = $this->object->generate_image_clone($image_abspath, $image_abspath, $this->object->get_image_size_params($image, 'full', $parameters), $parameters);
+        if ($generated && $save) {
+            $this->object->update_image_dimension_metadata($image, $image_abspath);
         }
-        return true;
-    }
-    function __destruct()
-    {
-        $this->destruct();
     }
     /**
-     * Must be called to free up allocated memory after all manipulations are done
-     *
+     * Generates a thumbnail for an image
+     * @param int|stdClass|C_Image $image
+     * @return bool
      */
-    function destruct()
+    function generate_thumbnail($image, $params = null, $skip_defaults = false)
     {
-        if (is_resource($this->newImage)) {
-            @ImageDestroy($this->newImage);
-        }
-        if (is_resource($this->oldImage)) {
-            @ImageDestroy($this->oldImage);
-        }
-        if (is_resource($this->workingImage)) {
-            @ImageDestroy($this->workingImage);
+        $sized_image = $this->object->generate_image_size($image, 'thumbnail', $params, $skip_defaults);
+        $retval = false;
+        if ($sized_image != null) {
+            $retval = true;
+            $sized_image->destruct();
         }
+        return $retval;
     }
+}
+/**
+ * Provides getter methods to C_Gallery_Storage for determining absolute paths, URL, etc
+ */
+class Mixin_GalleryStorage_Base_Getters extends Mixin
+{
+    static $gallery_abspath_cache = array();
+    static $image_abspath_cache = array();
+    static $image_url_cache = array();
     /**
-     * Returns the current width of the image
-     *
-     * @return int
+     * Flushes the cache we use for path/url calculation for images
      */
-    function getCurrentWidth()
+    function flush_image_path_cache($image, $size)
     {
-        return $this->currentDimensions['width'];
+        $image = is_numeric($image) ? $image : $image->pid;
+        $key = strval($image) . $size;
+        unset(self::$image_abspath_cache[$key]);
+        unset(self::$image_url_cache[$key]);
     }
     /**
-     * Returns the current height of the image
-     *
-     * @return int
+     * Flushes the cache we use for path/url calculation for galleries
      */
-    function getCurrentHeight()
+    function flush_gallery_path_cache($gallery)
     {
-        return $this->currentDimensions['height'];
+        $gallery = is_numeric($gallery) ? $gallery : $gallery->gid;
+        unset(self::$gallery_abspath_cache[$gallery]);
     }
     /**
-     * Calculates new image width
-     *
-     * @param int $width
-     * @param int $height
-     * @return array
+     * Gets the id of an image, regardless of whether an integer
+     * or object was passed as an argument
+     * @param object|int $image_obj_or_id
+     * @return null|int
      */
-    function calcWidth($width, $height)
+    function _get_image_id($image_obj_or_id)
     {
-        $newWp = 100 * $this->maxWidth / $width;
-        $newHeight = $height * $newWp / 100;
-        if (intval($newHeight) == $this->maxHeight - 1) {
-            $newHeight = $this->maxHeight;
+        $retval = NULL;
+        $image_key = $this->object->_image_mapper->get_primary_key_column();
+        if (is_object($image_obj_or_id)) {
+            if (isset($image_obj_or_id->{$image_key})) {
+                $retval = $image_obj_or_id->{$image_key};
+            }
+        } elseif (is_numeric($image_obj_or_id)) {
+            $retval = $image_obj_or_id;
         }
-        return array('newWidth' => intval($this->maxWidth), 'newHeight' => intval($newHeight));
+        return $retval;
     }
     /**
-     * Calculates new image height
-     *
-     * @param int $width
-     * @param int $height
-     * @return array
+     * Gets the absolute path of the backup of an original image
+     * @param string $image
+     * @return null|string
      */
-    function calcHeight($width, $height)
+    function get_backup_abspath($image)
     {
-        $newHp = 100 * $this->maxHeight / $height;
-        $newWidth = $width * $newHp / 100;
-        if (intval($newWidth) == $this->maxWidth - 1) {
-            $newWidth = $this->maxWidth;
+        $retval = null;
+        if ($image_path = $this->object->get_image_abspath($image)) {
+            $retval = $image_path . '_backup';
         }
-        return array('newWidth' => intval($newWidth), 'newHeight' => intval($this->maxHeight));
+        return $retval;
+    }
+    function get_backup_dimensions($image)
+    {
+        return $this->object->get_image_dimensions($image, 'backup');
+    }
+    function get_backup_url($image)
+    {
+        return $this->object->get_image_url($image, 'backup');
     }
     /**
-     * Calculates new image size based on percentage
+     * Returns the absolute path to the cache directory of a gallery.
      *
-     * @param int $width
-     * @param int $height
+     * Without the gallery parameter the legacy (pre 2.0) shared directory is returned.
+     *
+     * @param int|object|false|C_Gallery $gallery (optional)
+     * @return string Absolute path to cache directory
+     */
+    function get_cache_abspath($gallery = FALSE)
+    {
+        return path_join($this->object->get_gallery_abspath($gallery), 'cache');
+    }
+    /**
+     * Gets the absolute path where the full-sized image is stored
+     * @param int|object $image
+     * @return null|string
+     */
+    function get_full_abspath($image)
+    {
+        return $this->object->get_image_abspath($image, 'full');
+    }
+    /**
+     * Alias to get_image_dimensions()
+     * @param int|object $image
      * @return array
      */
-    function calcPercent($width, $height, $percent = -1)
+    function get_full_dimensions($image)
     {
-        if ($percent == -1) {
-            $percent = $this->percent;
-        }
-        $newWidth = $width * $percent / 100;
-        $newHeight = $height * $percent / 100;
-        return array('newWidth' => intval($newWidth), 'newHeight' => intval($newHeight));
+        return $this->object->get_image_dimensions($image, 'full');
     }
     /**
-     * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight
+     * Alias to get_image_html()
+     * @param int|object $image
+     * @return string
+     */
+    function get_full_html($image)
+    {
+        return $this->object->get_image_html($image, 'full');
+    }
+    /**
+     * Alias for get_original_url()
      *
-     * @param int $width
-     * @param int $height
+     * @param int|stdClass|C_Image $image
+     * @return string
      */
-    function calcImageSize($width, $height)
+    function get_full_url($image)
     {
-        // $width and $height are the CURRENT image resolutions
-        $ratio_w = $this->maxWidth / $width;
-        $ratio_h = $this->maxHeight / $height;
-        if ($ratio_w >= $ratio_h) {
-            $width = $this->maxWidth;
-            $height = (int) round($height * $ratio_h, 0);
-        } else {
-            $height = $this->maxHeight;
-            $width = (int) round($width * $ratio_w, 0);
+        return $this->object->get_image_url($image, 'full');
+    }
+    function get_gallery_root()
+    {
+        return wp_normalize_path(NGG_GALLERY_ROOT_TYPE == 'content' ? WP_CONTENT_DIR : ABSPATH);
+    }
+    function _get_computed_gallery_abspath($gallery)
+    {
+        $retval = NULL;
+        $gallery_root = $this->get_gallery_root();
+        // Get the gallery entity from the database
+        if ($gallery) {
+            if (is_numeric($gallery)) {
+                $gallery = $this->object->_gallery_mapper->find($gallery);
+            }
         }
-        $this->newDimensions = array('newWidth' => $width, 'newHeight' => $height);
+        // It just doesn't exist
+        if (!$gallery) {
+            return $retval;
+        }
+        // We we have a gallery, determine it's path
+        if ($gallery) {
+            if (isset($gallery->path)) {
+                $retval = $gallery->path;
+            } elseif (isset($gallery->slug)) {
+                $basepath = wp_normalize_path(C_NextGen_Settings::get_instance()->gallerypath);
+                $retval = path_join($basepath, $this->object->sanitize_directory_name(sanitize_title($gallery->slug)));
+            }
+            // Normalize the gallery path. If the gallery path starts with /wp-content, and
+            // NGG_GALLERY_ROOT_TYPE is set to 'content', then we need to strip out the /wp-content
+            // from the start of the gallery path
+            if (NGG_GALLERY_ROOT_TYPE === 'content') {
+                $retval = preg_replace("#^/?wp-content#", "", $retval);
+            }
+            // Ensure that the path is absolute
+            if (strpos($retval, $gallery_root) !== 0) {
+                // path_join() behaves funny - if the second argument starts with a slash,
+                // it won't join the two paths together
+                $retval = preg_replace("#^/#", "", $retval);
+                $retval = path_join($gallery_root, $retval);
+            }
+            $retval = wp_normalize_path($retval);
+        }
+        return $retval;
     }
     /**
-     * Calculates new image size based percentage
-     *
-     * @param int $width
-     * @param int $height
+     * Get the abspath to the gallery folder for the given gallery
+     * The gallery may or may not already be persisted
+     * @param int|object|C_Gallery $gallery
+     * @return string
      */
-    function calcImageSizePercent($width, $height)
+    function get_gallery_abspath($gallery)
     {
-        if ($this->percent > 0) {
-            $this->newDimensions = $this->calcPercent($width, $height);
+        $gallery_id = is_numeric($gallery) ? $gallery : (is_object($gallery) && isset($gallery->gid) ? $gallery->gid : NULL);
+        if (!$gallery_id || !isset(self::$gallery_abspath_cache[$gallery_id])) {
+            self::$gallery_abspath_cache[$gallery_id] = $this->object->_get_computed_gallery_abspath($gallery);
         }
+        return self::$gallery_abspath_cache[$gallery_id];
     }
-    /**
-     * Displays error image
-     *
-     */
-    function showErrorImage()
+    function get_gallery_relpath($gallery)
     {
-        header('Content-type: image/png');
-        $errImg = ImageCreate(220, 25);
-        $bgColor = imagecolorallocate($errImg, 0, 0, 0);
-        $fgColor1 = imagecolorallocate($errImg, 255, 255, 255);
-        $fgColor2 = imagecolorallocate($errImg, 255, 0, 0);
-        imagestring($errImg, 3, 6, 6, 'Error:', $fgColor2);
-        imagestring($errImg, 3, 55, 6, $this->errmsg, $fgColor1);
-        imagepng($errImg);
-        imagedestroy($errImg);
+        return str_replace($this->object->get_gallery_root(), '', $this->get_gallery_abspath($gallery));
     }
     /**
-     * Resizes image to fixed Width x Height
-     * 
-     * @param int $Width
-     * @param int $Height
-     * @param int $deprecated Unused
+     * Gets the absolute path where the image is stored. Can optionally return the path for a particular sized image.
+     * @param int|object $image
+     * @param string $size (optional) Default = full
+     * @return string
      */
-    function resizeFix($Width = 0, $Height = 0, $deprecated = 3)
+    function _get_computed_image_abspath($image, $size = 'full', $check_existance = FALSE)
     {
-        if (!$this->checkMemoryForData($Width, $Height)) {
-            return;
+        $retval = NULL;
+        $fs = C_Fs::get_instance();
+        // If we have the id, get the actual image entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
         }
-        $this->newWidth = $Width;
-        $this->newHeight = $Height;
-        if (function_exists("ImageCreateTrueColor")) {
-            $this->workingImage = ImageCreateTrueColor($this->newWidth, $this->newHeight);
-        } else {
-            $this->workingImage = ImageCreate($this->newWidth, $this->newHeight);
+        // Ensure we have the image entity - user could have passed in an
+        // incorrect id
+        if (is_object($image)) {
+            if ($gallery_path = $this->object->get_gallery_abspath($image->galleryid)) {
+                $folder = $prefix = $size;
+                switch ($size) {
+                    # Images are stored in the associated gallery folder
+                    case 'full':
+                        $retval = path_join($gallery_path, $image->filename);
+                        break;
+                    case 'backup':
+                        $retval = path_join($gallery_path, $image->filename . '_backup');
+                        if (!@file_exists($retval)) {
+                            $retval = path_join($gallery_path, $image->filename);
+                        }
+                        break;
+                    case 'thumbnail':
+                        $size = 'thumbnail';
+                        $folder = 'thumbs';
+                        $prefix = 'thumbs';
+                        // deliberately no break here
+                    // deliberately no break here
+                    default:
+                        // NGG 2.0 stores relative filenames in the meta data of
+                        // an image. It does this because it uses filenames
+                        // that follow conventional WordPress naming scheme.
+                        $image_path = NULL;
+                        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
+                        if (isset($image->meta_data) && isset($image->meta_data[$size]) && isset($image->meta_data[$size]['filename'])) {
+                            if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
+                                $image_path = path_join($this->object->get_cache_abspath($image->galleryid), $image->meta_data[$size]['filename']);
+                            } else {
+                                $image_path = path_join($gallery_path, $folder);
+                                $image_path = path_join($image_path, $image->meta_data[$size]['filename']);
+                            }
+                        } else {
+                            if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
+                                $params = $dynthumbs->get_params_from_name($size, true);
+                                $image_path = path_join($this->object->get_cache_abspath($image->galleryid), $dynthumbs->get_image_name($image, $params));
+                                // Filename is not found in meta, nor dynamic
+                            } else {
+                                $image_path = path_join($gallery_path, $folder);
+                                $image_path = path_join($image_path, "{$prefix}_{$image->filename}");
+                            }
+                        }
+                        $retval = $image_path;
+                        break;
+                }
+            }
         }
-        //		ImageCopyResampled(
-        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newWidth, $this->newHeight, $this->currentDimensions['width'], $this->currentDimensions['height']);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $this->newWidth;
-        $this->currentDimensions['height'] = $this->newHeight;
+        if ($retval && $check_existance && !@file_exists($retval)) {
+            $retval = NULL;
+        }
+        return $retval;
     }
     /**
-     * Resizes image to maxWidth x maxHeight
-     *
-     * @param int $maxWidth
-     * @param int $maxHeight
-     * @param int $deprecated Unused
+     * Gets the absolute path where the image is stored. Can optionally return the path for a particular sized image.
+     * @param int|object $image
+     * @param string $size (optional) Default = full
+     * @param bool $check_existance (optional) Default = false
+     * @return string
      */
-    function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3)
+    function get_image_abspath($image, $size = 'full', $check_existance = FALSE)
     {
-        if (!$this->checkMemoryForData($maxWidth, $maxHeight)) {
-            return;
-        }
-        $this->maxWidth = $maxWidth;
-        $this->maxHeight = $maxHeight;
-        $this->calcImageSize($this->currentDimensions['width'], $this->currentDimensions['height']);
-        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
-            ImageDestroy($this->workingImage);
-            $this->workingImage = null;
+        $image_id = is_numeric($image) ? $image : $image->pid;
+        $size = $this->object->normalize_image_size_name($size);
+        $key = strval($image_id) . $size;
+        if ($check_existance || !isset(self::$image_abspath_cache[$key])) {
+            $retval = $this->object->_get_computed_image_abspath($image, $size, $check_existance);
+            self::$image_abspath_cache[$key] = $retval;
         }
-        if (function_exists("ImageCreateTrueColor")) {
-            $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
-        } else {
-            $this->workingImage = ImageCreate($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
+        $retval = self::$image_abspath_cache[$key];
+        return $retval;
+    }
+    function get_image_checksum($image, $size = 'full')
+    {
+        $retval = NULL;
+        if ($image_abspath = $this->get_image_abspath($image, $size, TRUE)) {
+            $retval = md5_file($image_abspath);
         }
-        //		ImageCopyResampled(
-        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newDimensions['newWidth'], $this->newDimensions['newHeight'], $this->currentDimensions['width'], $this->currentDimensions['height']);
-        ImageDestroy($this->oldImage);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $this->newDimensions['newWidth'];
-        $this->currentDimensions['height'] = $this->newDimensions['newHeight'];
+        return $retval;
     }
     /**
-     * Resizes the image by $percent percent
+     * Gets the dimensions for a particular-sized image
      *
-     * @param int $percent
+     * @param int|object $image
+     * @param string $size
+     * @return null|array
      */
-    function resizePercent($percent = 0)
+    function get_image_dimensions($image, $size = 'full')
     {
-        $dims = $this->calcPercent($this->currentDimensions['width'], $this->currentDimensions['height'], $percent);
-        if (!$this->checkMemoryForData($dims['newWidth'], $dims['newHeight'])) {
-            return;
+        $retval = NULL;
+        // If an image id was provided, get the entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
         }
-        $this->percent = $percent;
-        $this->calcImageSizePercent($this->currentDimensions['width'], $this->currentDimensions['height']);
-        if (function_exists("ImageCreateTrueColor")) {
-            $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
-        } else {
-            $this->workingImage = ImageCreate($this->newDimensions['newWidth'], $this->newDimensions['newHeight']);
+        // Ensure we have a valid image
+        if ($image) {
+            $size = $this->normalize_image_size_name($size);
+            if (!$size) {
+                $size = 'full';
+            }
+            // Image dimensions are stored in the $image->meta_data
+            // property for all implementations
+            if (isset($image->meta_data) && isset($image->meta_data[$size])) {
+                $retval = $image->meta_data[$size];
+            } else {
+                $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
+                $abspath = $this->object->get_image_abspath($image, $size, TRUE);
+                if ($abspath) {
+                    $dims = getimagesize($abspath);
+                    if ($dims) {
+                        $retval['width'] = $dims[0];
+                        $retval['height'] = $dims[1];
+                    }
+                } elseif ($size == 'backup') {
+                    $retval = $this->object->get_image_dimensions($image, 'full');
+                } else {
+                    if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
+                        $new_dims = $this->object->calculate_image_size_dimensions($image, $size);
+                        $retval = array('width' => $new_dims['real_width'], 'height' => $new_dims['real_height']);
+                    }
+                }
+            }
         }
-        $this->ImageCopyResampled($this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newDimensions['newWidth'], $this->newDimensions['newHeight'], $this->currentDimensions['width'], $this->currentDimensions['height']);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $this->newDimensions['newWidth'];
-        $this->currentDimensions['height'] = $this->newDimensions['newHeight'];
+        return $retval;
+    }
+    function get_image_format_list()
+    {
+        $format_list = array(IMAGETYPE_GIF => 'gif', IMAGETYPE_JPEG => 'jpg', IMAGETYPE_PNG => 'png');
+        return $format_list;
     }
     /**
-     * Crops the image from calculated center in a square of $cropSize pixels
-     *
-     * @param int $cropSize
+     * Gets the HTML for an image
+     * @param int|object $image
+     * @param string $size
+     * @param array $attributes (optional)
+     * @return string
      */
-    function cropFromCenter($cropSize)
+    function get_image_html($image, $size = 'full', $attributes = array())
     {
-        if ($cropSize > $this->currentDimensions['width']) {
-            $cropSize = $this->currentDimensions['width'];
+        $retval = "";
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
         }
-        if ($cropSize > $this->currentDimensions['height']) {
-            $cropSize = $this->currentDimensions['height'];
+        if ($image) {
+            // Set alt text if not already specified
+            if (!isset($attributes['alttext'])) {
+                $attributes['alt'] = esc_attr($image->alttext);
+            }
+            // Set the title if not already set
+            if (!isset($attributes['title'])) {
+                $attributes['title'] = esc_attr($image->alttext);
+            }
+            // Set the dimensions if not set already
+            if (!isset($attributes['width']) or !isset($attributes['height'])) {
+                $dimensions = $this->object->get_image_dimensions($image, $size);
+                if (!isset($attributes['width'])) {
+                    $attributes['width'] = $dimensions['width'];
+                }
+                if (!isset($attributes['height'])) {
+                    $attributes['height'] = $dimensions['height'];
+                }
+            }
+            // Set the url if not already specified
+            if (!isset($attributes['src'])) {
+                $attributes['src'] = $this->object->get_image_url($image, $size);
+            }
+            // Format attributes
+            $attribs = array();
+            foreach ($attributes as $attrib => $value) {
+                $attribs[] = "{$attrib}=\"{$value}\"";
+            }
+            $attribs = implode(" ", $attribs);
+            // Return HTML string
+            $retval = "<img {$attribs} />";
         }
-        $cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2);
-        $cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2);
-        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
-            ImageDestroy($this->workingImage);
-            $this->workingImage = null;
+        return $retval;
+    }
+    function _get_computed_image_url($image, $size = 'full')
+    {
+        $retval = NULL;
+        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
+        // Get the image abspath
+        $image_abspath = $this->object->get_image_abspath($image, $size);
+        if ($dynthumbs->is_size_dynamic($size) && !file_exists($image_abspath)) {
+            $params = array('watermark' => false, 'reflection' => false, 'crop' => true);
+            $result = $this->generate_image_size($image, $size, $params);
+            if ($result) {
+                $image_abspath = $this->object->get_image_abspath($image, $size);
+            }
+        }
+        // Assuming we have an abspath, we can translate that to a url
+        if ($image_abspath) {
+            // Replace the gallery root with the proper url segment
+            $gallery_root = preg_quote($this->get_gallery_root(), '#');
+            $image_uri = preg_replace("#^{$gallery_root}#", "", $image_abspath);
+            // Url encode each uri segment
+            $segments = explode("/", $image_uri);
+            $segments = array_map('rawurlencode', $segments);
+            $image_uri = preg_replace("#^/#", "", implode("/", $segments));
+            // Join gallery root and image uri
+            $gallery_root = trailingslashit(NGG_GALLERY_ROOT_TYPE == 'site' ? site_url() : WP_CONTENT_URL);
+            $gallery_root = is_ssl() ? str_replace('http:', 'https:', $gallery_root) : $gallery_root;
+            $retval = $gallery_root . $image_uri;
         }
-        if (function_exists("ImageCreateTrueColor")) {
-            $this->workingImage = ImageCreateTrueColor($cropSize, $cropSize);
-        } else {
-            $this->workingImage = ImageCreate($cropSize, $cropSize);
+        return $retval;
+    }
+    function normalize_image_size_name($size = 'full')
+    {
+        switch ($size) {
+            case 'full':
+            case 'original':
+            case 'image':
+            case 'orig':
+            case 'resized':
+                $size = 'full';
+                break;
+            case 'thumbnails':
+            case 'thumbnail':
+            case 'thumb':
+            case 'thumbs':
+                $size = 'thumbnail';
+                break;
         }
-        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $cropX, $cropY, $cropSize, $cropSize, $cropSize, $cropSize);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $cropSize;
-        $this->currentDimensions['height'] = $cropSize;
+        return $size;
     }
     /**
-     * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner.
-     *
-     * @param int $startX
-     * @param int $startY
-     * @param int $width
-     * @param int $height
+     * Gets the url of a particular-sized image
+     * @param int|object $image
+     * @param string $size
+     * @return string
      */
-    function crop($startX, $startY, $width, $height)
+    function get_image_url($image, $size = 'full')
     {
-        if (!$this->checkMemoryForData($width, $height)) {
-            return;
-        }
-        //make sure the cropped area is not greater than the size of the image
-        if ($width > $this->currentDimensions['width']) {
-            $width = $this->currentDimensions['width'];
-        }
-        if ($height > $this->currentDimensions['height']) {
-            $height = $this->currentDimensions['height'];
-        }
-        //make sure not starting outside the image
-        if ($startX + $width > $this->currentDimensions['width']) {
-            $startX = $this->currentDimensions['width'] - $width;
-        }
-        if ($startY + $height > $this->currentDimensions['height']) {
-            $startY = $this->currentDimensions['height'] - $height;
-        }
-        if ($startX < 0) {
-            $startX = 0;
-        }
-        if ($startY < 0) {
-            $startY = 0;
-        }
-        if ($this->workingImage != null && $this->workingImage != $this->oldImage) {
-            ImageDestroy($this->workingImage);
-            $this->workingImage = null;
-        }
-        if (function_exists("ImageCreateTrueColor")) {
-            $this->workingImage = ImageCreateTrueColor($width, $height);
-        } else {
-            $this->workingImage = ImageCreate($width, $height);
+        $retval = NULL;
+        $image_id = is_numeric($image) ? $image : $image->pid;
+        $key = strval($image_id) . $size;
+        if (!isset(self::$image_url_cache[$key])) {
+            self::$image_url_cache[$key] = $this->object->_get_computed_image_url($image, $size);
         }
-        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $startX, $startY, $width, $height, $width, $height);
-        ImageDestroy($this->oldImage);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $width;
-        $this->currentDimensions['height'] = $height;
+        $retval = self::$image_url_cache[$key];
+        return apply_filters('ngg_get_image_url', $retval, $image, $size);
     }
     /**
-     * Outputs the image to the screen, or saves to $name if supplied.  Quality of JPEG images can be controlled with the $quality variable
-     *
-     * @param int $quality
-     * @param string $name
+     * Returns the named sizes available for images
+     * @return array
      */
-    function show($quality = 100, $name = '')
+    function get_image_sizes($image = FALSE)
     {
-        switch ($this->format) {
-            case 'GIF':
-                if ($name != '') {
-                    @ImageGif($this->newImage, $name) or $this->error = true;
-                } else {
-                    header('Content-type: image/gif');
-                    ImageGif($this->newImage);
+        $retval = array('full', 'thumbnail');
+        if (is_numeric($image)) {
+            $image = C_Image_Mapper::get_instance()->find($image);
+        }
+        if ($image) {
+            if ($image->meta_data) {
+                $meta_data = is_object($image->meta_data) ? get_object_vars($image->meta_data) : $image->meta_data;
+                foreach ($meta_data as $key => $value) {
+                    if (is_array($value) && isset($value['width'])) {
+                        $retval[] = $key;
+                    }
                 }
-                break;
-            case 'JPG':
-                if ($name != '') {
-                    @ImageJpeg($this->newImage, $name, $quality) or $this->error = true;
+            }
+        }
+        return $retval;
+    }
+    function get_image_size_params($image, $size, $params = array(), $skip_defaults = false)
+    {
+        // Get the image entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
+        }
+        $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
+        if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) {
+            $named_params = $dynthumbs->get_params_from_name($size, true);
+            if (!$params) {
+                $params = array();
+            }
+            $params = array_merge($params, $named_params);
+        }
+        $params = apply_filters('ngg_get_image_size_params', $params, $size, $image);
+        // Ensure we have a valid image
+        if ($image) {
+            $settings = C_NextGen_Settings::get_instance();
+            if (!$skip_defaults) {
+                // Get default settings
+                if ($size == 'full') {
+                    if (!isset($params['quality'])) {
+                        $params['quality'] = $settings->imgQuality;
+                    }
                 } else {
-                    header('Content-type: image/jpeg');
-                    ImageJpeg($this->newImage, NULL, $quality);
+                    if (!isset($params['crop'])) {
+                        $params['crop'] = $settings->thumbfix;
+                    }
+                    if (!isset($params['quality'])) {
+                        $params['quality'] = $settings->thumbquality;
+                    }
                 }
-                break;
-            case 'PNG':
-                if ($name != '') {
-                    @ImagePng($this->newImage, $name) or $this->error = true;
+            }
+            // width and height when omitted make generate_image_clone create a clone with original size, so try find defaults regardless of $skip_defaults
+            if (!isset($params['width']) || !isset($params['height'])) {
+                // First test if this is a "known" image size, i.e. if we store these sizes somewhere when users re-generate these sizes from the UI...this is required to be compatible with legacy
+                // try the 2 default built-in sizes, first thumbnail...
+                if ($size == 'thumbnail') {
+                    if (!isset($params['width'])) {
+                        $params['width'] = $settings->thumbwidth;
+                    }
+                    if (!isset($params['height'])) {
+                        $params['height'] = $settings->thumbheight;
+                    }
                 } else {
-                    header('Content-type: image/png');
-                    ImagePng($this->newImage);
+                    if ($size == 'full') {
+                        if (!isset($params['width'])) {
+                            if ($settings->imgAutoResize) {
+                                $params['width'] = $settings->imgWidth;
+                            }
+                        }
+                        if (!isset($params['height'])) {
+                            if ($settings->imgAutoResize) {
+                                $params['height'] = $settings->imgHeight;
+                            }
+                        }
+                    } else {
+                        if (isset($image->meta_data) && isset($image->meta_data[$size])) {
+                            $dimensions = $image->meta_data[$size];
+                            if (!isset($params['width'])) {
+                                $params['width'] = $dimensions['width'];
+                            }
+                            if (!isset($params['height'])) {
+                                $params['height'] = $dimensions['height'];
+                            }
+                        }
+                    }
                 }
-                break;
+            }
+            if (!isset($params['crop_frame'])) {
+                $crop_frame_size_name = 'thumbnail';
+                if (isset($image->meta_data[$size]['crop_frame'])) {
+                    $crop_frame_size_name = $size;
+                }
+                if (isset($image->meta_data[$crop_frame_size_name]['crop_frame'])) {
+                    $params['crop_frame'] = $image->meta_data[$crop_frame_size_name]['crop_frame'];
+                    if (!isset($params['crop_frame']['final_width'])) {
+                        $params['crop_frame']['final_width'] = $image->meta_data[$crop_frame_size_name]['width'];
+                    }
+                    if (!isset($params['crop_frame']['final_height'])) {
+                        $params['crop_frame']['final_height'] = $image->meta_data[$crop_frame_size_name]['height'];
+                    }
+                }
+            } else {
+                if (!isset($params['crop_frame']['final_width'])) {
+                    $params['crop_frame']['final_width'] = $params['width'];
+                }
+                if (!isset($params['crop_frame']['final_height'])) {
+                    $params['crop_frame']['final_height'] = $params['height'];
+                }
+            }
         }
+        return $params;
     }
     /**
-     * Saves image as $name (can include file path), with quality of # percent if file is a jpeg
-     *
-     * @param string $name
-     * @param int $quality
-     * @return bool errorstate
+     * An alias for get_full_abspath()
+     * @param int|object $image
+     * @param bool $check_existance
+     * @return null|string
      */
-    function save($name, $quality = 100)
+    function get_original_abspath($image, $check_existance = FALSE)
     {
-        $this->show($quality, $name);
-        if ($this->error == true) {
-            $this->errmsg = 'Create Image failed. Check safe mode settings';
-            return false;
-        }
-        if (function_exists('do_action')) {
-            do_action('ngg_ajax_image_save', $name);
-        }
-        return true;
+        return $this->object->get_image_abspath($image, 'full', $check_existance);
     }
     /**
-     * Creates Apple-style reflection under image, optionally adding a border to main image
-     *
-     * @param int $percent
-     * @param int $reflection
-     * @param int $white
-     * @param bool $border
-     * @param string $borderColor
+     * Alias to get_image_dimensions()
+     * @param int|object $image
+     * @return array
      */
-    function createReflection($percent, $reflection, $white, $border = true, $borderColor = '#a4a4a4')
-    {
-        $width = $this->currentDimensions['width'];
-        $height = $this->currentDimensions['height'];
-        $reflectionHeight = intval($height * ($reflection / 100));
-        $newHeight = $height + $reflectionHeight;
-        $reflectedPart = $height * ($percent / 100);
-        $this->workingImage = ImageCreateTrueColor($width, $newHeight);
-        ImageAlphaBlending($this->workingImage, true);
-        $colorToPaint = ImageColorAllocateAlpha($this->workingImage, 255, 255, 255, 0);
-        ImageFilledRectangle($this->workingImage, 0, 0, $width, $newHeight, $colorToPaint);
-        imagecopyresampled($this->workingImage, $this->newImage, 0, 0, 0, $reflectedPart, $width, $reflectionHeight, $width, $height - $reflectedPart);
-        $this->imageFlipVertical();
-        imagecopy($this->workingImage, $this->newImage, 0, 0, 0, 0, $width, $height);
-        imagealphablending($this->workingImage, true);
-        for ($i = 0; $i < $reflectionHeight; $i++) {
-            $colorToPaint = imagecolorallocatealpha($this->workingImage, 255, 255, 255, ($i / $reflectionHeight * -1 + 1) * $white);
-            imagefilledrectangle($this->workingImage, 0, $height + $i, $width, $height + $i, $colorToPaint);
-        }
-        if ($border == true) {
-            $rgb = $this->hex2rgb($borderColor, false);
-            $colorToPaint = imagecolorallocate($this->workingImage, $rgb[0], $rgb[1], $rgb[2]);
-            imageline($this->workingImage, 0, 0, $width, 0, $colorToPaint);
-            //top line
-            imageline($this->workingImage, 0, $height, $width, $height, $colorToPaint);
-            //bottom line
-            imageline($this->workingImage, 0, 0, 0, $height, $colorToPaint);
-            //left line
-            imageline($this->workingImage, $width - 1, 0, $width - 1, $height, $colorToPaint);
-            //right line
-        }
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        $this->currentDimensions['width'] = $width;
-        $this->currentDimensions['height'] = $newHeight;
-    }
-    /**
-     * Flip an image.
-     *
-     * @param bool $horz flip the image in horizontal mode
-     * @param bool $vert flip the image in vertical mode
-     * @return true
+    function get_original_dimensions($image)
+    {
+        return $this->object->get_image_dimensions($image, 'full');
+    }
+    /**
+     * Alias to get_image_html()
+     * @param int|object $image
+     * @return string
      */
-    function flipImage($horz = false, $vert = false)
+    function get_original_html($image)
     {
-        $sx = $vert ? $this->currentDimensions['width'] - 1 : 0;
-        $sy = $horz ? $this->currentDimensions['height'] - 1 : 0;
-        $sw = $vert ? -$this->currentDimensions['width'] : $this->currentDimensions['width'];
-        $sh = $horz ? -$this->currentDimensions['height'] : $this->currentDimensions['height'];
-        $this->workingImage = imagecreatetruecolor($this->currentDimensions['width'], $this->currentDimensions['height']);
-        $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $sx, $sy, $this->currentDimensions['width'], $this->currentDimensions['height'], $sw, $sh);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        return true;
+        return $this->object->get_image_html($image, 'full');
     }
     /**
-     * Rotate an image clockwise or counter clockwise
-     *
-     * @param string $dir Either CW or CCW
-     * @return bool
+     * Gets the url to the original-sized image
+     * @param int|stdClass|C_Image $image
+     * @param bool $check_existance (optional)
+     * @return string
      */
-    function rotateImage($dir = 'CW')
+    function get_original_url($image, $check_existance = FALSE)
     {
-        $angle = $dir == 'CW' ? 90 : -90;
-        return $this->rotateImageAngle($angle);
+        return $this->object->get_image_url($image, 'full', $check_existance);
     }
     /**
-     * Rotate an image clockwise or counter clockwise
-     *
-     * @param int $angle Degrees to rotate the target image
-     * @return bool
+     * @param object|bool $gallery (optional)
+     * @return string
      */
-    function rotateImageAngle($angle = 90)
+    function get_upload_abspath($gallery = FALSE)
     {
-        if (function_exists('imagerotate')) {
-            $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0);
-            // imagerotate() rotates CCW
-            $this->currentDimensions['width'] = imagesx($this->workingImage);
-            $this->currentDimensions['height'] = imagesy($this->workingImage);
-            $this->oldImage = $this->workingImage;
-            $this->newImage = $this->workingImage;
-            return true;
+        // Base upload path
+        $retval = C_NextGen_Settings::get_instance()->gallerypath;
+        $fs = C_Fs::get_instance();
+        // If a gallery has been specified, then we'll
+        // append the slug
+        if ($gallery) {
+            $retval = $this->get_gallery_abspath($gallery);
         }
-        $this->workingImage = imagecreatetruecolor($this->currentDimensions['height'], $this->currentDimensions['width']);
-        imagealphablending($this->workingImage, false);
-        imagesavealpha($this->workingImage, true);
-        switch ($angle) {
-            case 90:
-                for ($x = 0; $x < $this->currentDimensions['width']; $x++) {
-                    for ($y = 0; $y < $this->currentDimensions['height']; $y++) {
-                        if (!imagecopy($this->workingImage, $this->oldImage, $this->currentDimensions['height'] - $y - 1, $x, $x, $y, 1, 1)) {
-                            return false;
-                        }
-                    }
-                }
-                break;
-            case -90:
-                for ($x = 0; $x < $this->currentDimensions['width']; $x++) {
-                    for ($y = 0; $y < $this->currentDimensions['height']; $y++) {
-                        if (!imagecopy($this->workingImage, $this->oldImage, $y, $this->currentDimensions['width'] - $x - 1, $x, $y, 1, 1)) {
-                            return false;
-                        }
-                    }
-                }
-                break;
-            default:
-                return false;
+        // We need to make this an absolute path
+        if (strpos($retval, $fs->get_document_root('gallery')) !== 0) {
+            $retval = rtrim($fs->join_paths($fs->get_document_root('gallery'), $retval), "/\\");
         }
-        $this->currentDimensions['width'] = imagesx($this->workingImage);
-        $this->currentDimensions['height'] = imagesy($this->workingImage);
-        $this->oldImage = $this->workingImage;
-        $this->newImage = $this->workingImage;
-        return true;
+        // Convert slashes
+        return wp_normalize_path($retval);
     }
     /**
-     * Inverts working image, used by reflection function
-     * 
-     * @access	private
+     * Gets the upload path, optionally for a particular gallery
+     * @param int|C_Gallery|object|false $gallery (optional)
+     * @return string
      */
-    function imageFlipVertical()
+    function get_upload_relpath($gallery = FALSE)
     {
-        $x_i = imagesx($this->workingImage);
-        $y_i = imagesy($this->workingImage);
-        for ($x = 0; $x < $x_i; $x++) {
-            for ($y = 0; $y < $y_i; $y++) {
-                imagecopy($this->workingImage, $this->workingImage, $x, $y_i - $y - 1, $x, $y, 1, 1);
-            }
-        }
+        $fs = C_Fs::get_instance();
+        $retval = str_replace($fs->get_document_root('gallery'), '', $this->object->get_upload_abspath($gallery));
+        return '/' . wp_normalize_path(ltrim($retval, "/"));
     }
+}
+/**
+ * Provides the basic methods of gallery management to C_Gallery_Storage
+ */
+class Mixin_GalleryStorage_Base_Management extends Mixin
+{
     /**
-     * Converts hexidecimal color value to rgb values and returns as array/string
+     * Set correct file permissions (taken from wp core). Should be called
+     * after writing any file
      *
-     * @param string $hex
-     * @param bool $asString
-     * @return array|string
+     * @class nggAdmin
+     * @param string $filename
+     * @return bool $result
      */
-    function hex2rgb($hex, $asString = false)
+    function _chmod($filename = '')
     {
-        // strip off any leading #
-        if (0 === strpos($hex, '#')) {
-            $hex = substr($hex, 1);
-        } else {
-            if (0 === strpos($hex, '&H')) {
-                $hex = substr($hex, 2);
+        $stat = @stat(dirname($filename));
+        $perms = $stat['mode'] & 0666;
+        // Remove execute bits for files
+        if (@chmod($filename, $perms)) {
+            return TRUE;
+        }
+        return FALSE;
+    }
+    function _delete_gallery_directory($abspath)
+    {
+        // Remove all image files and purge all empty directories left over
+        $iterator = new DirectoryIterator($abspath);
+        // Only delete image files! Other files may be stored incorrectly but it's not our place to delete them
+        $removable_extensions = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif'));
+        foreach ($removable_extensions as $extension) {
+            $removable_extensions[] = $extension . '_backup';
+        }
+        foreach ($iterator as $file) {
+            if (in_array($file->getBasename(), array('.', '..'))) {
+                continue;
+            } elseif ($file->isFile() || $file->isLink()) {
+                $extension = strtolower(pathinfo($file->getPathname(), PATHINFO_EXTENSION));
+                if (in_array($extension, $removable_extensions, TRUE)) {
+                    @unlink($file->getPathname());
+                }
+            } elseif ($file->isDir()) {
+                $this->object->_delete_gallery_directory($file->getPathname());
             }
         }
-        // break into hex 3-tuple
-        $cutpoint = ceil(strlen($hex) / 2) - 1;
-        $rgb = explode(':', wordwrap($hex, $cutpoint, ':', $cutpoint), 3);
-        // convert each tuple to decimal
-        $rgb[0] = isset($rgb[0]) ? hexdec($rgb[0]) : 0;
-        $rgb[1] = isset($rgb[1]) ? hexdec($rgb[1]) : 0;
-        $rgb[2] = isset($rgb[2]) ? hexdec($rgb[2]) : 0;
-        return $asString ? "{$rgb[0]} {$rgb[1]} {$rgb[2]}" : $rgb;
+        // DO NOT remove directories that still have files in them. Note: '.' and '..' are included with getSize()
+        $empty = TRUE;
+        foreach ($iterator as $file) {
+            if (in_array($file->getBasename(), array('.', '..'))) {
+                continue;
+            }
+            $empty = FALSE;
+        }
+        if ($empty) {
+            @rmdir($iterator->getPath());
+        }
     }
     /**
-     * Based on the Watermark function by Marek Malcherek  
-     * http://www.malcherek.de
+     * Backs up an image file
      *
-     * @param string $color
-     * @param string $wmFont
-     * @param int $wmSize
-     * @param int $wmOpaque
+     * @param int|object $image
+     * @return bool
      */
-    function watermarkCreateText($color = '000000', $wmFont, $wmSize = 10, $wmOpaque = 90)
+    function backup_image($image, $save = TRUE)
     {
-        // set font path
-        $wmFontPath = NGGALLERY_ABSPATH . "fonts/" . $wmFont;
-        if (!is_readable($wmFontPath)) {
-            return;
-        }
-        // This function requires both the GD library and the FreeType library.
-        if (!function_exists('ImageTTFBBox')) {
-            return;
-        }
-        $words = preg_split('/ /', $this->watermarkText);
-        $lines = array();
-        $line = '';
-        $watermark_image_width = 0;
-        // attempt adding a new word until the width is too large; then start a new line and start again
-        foreach ($words as $word) {
-            // sanitize the text being input; imagettftext() can be sensitive
-            $TextSize = $this->ImageTTFBBoxDimensions($wmSize, 0, $this->correct_gd_unc_path($wmFontPath), $line . preg_replace('~^(&([a-zA-Z0-9]);)~', htmlentities('${1}'), mb_convert_encoding($word, "HTML-ENTITIES", "UTF-8")));
-            if ($watermark_image_width == 0) {
-                $watermark_image_width = $TextSize['width'];
-            }
-            if ($TextSize['width'] > $this->newDimensions['newWidth']) {
-                $lines[] = trim($line);
-                $line = '';
-            } else {
-                if ($TextSize['width'] > $watermark_image_width) {
-                    $watermark_image_width = $TextSize['width'];
+        $retval = FALSE;
+        $image_path = $this->object->get_image_abspath($image);
+        if ($image_path && @file_exists($image_path)) {
+            $retval = copy($image_path, $this->object->get_backup_abspath($image));
+            // Store the dimensions of the image
+            if (function_exists('getimagesize')) {
+                $mapper = C_Image_Mapper::get_instance();
+                if (!is_object($image)) {
+                    $image = $mapper->find($image);
+                }
+                if ($image) {
+                    if (!property_exists($image, 'meta_data')) {
+                        $image->meta_data = array();
+                    }
+                    $dimensions = getimagesize($image_path);
+                    $image->meta_data['backup'] = array('filename' => basename($image_path), 'width' => $dimensions[0], 'height' => $dimensions[1], 'generated' => microtime());
+                    if ($save) {
+                        $mapper->save($image);
+                    }
                 }
             }
-            $line .= $word . ' ';
         }
-        $lines[] = trim($line);
-        // use this string to determine our largest possible line height
-        $line_dimensions = $this->ImageTTFBBoxDimensions($wmSize, 0, $this->correct_gd_unc_path($wmFontPath), 'MXQJALYmxqjabdfghjklpqry019`@$^&*(,!132');
-        $line_height = $line_dimensions['height'] * 1.05;
-        // Create an image to apply our text to
-        $this->workingImage = ImageCreateTrueColor($watermark_image_width, count($lines) * $line_height);
-        ImageSaveAlpha($this->workingImage, true);
-        ImageAlphaBlending($this->workingImage, false);
-        $bgText = imagecolorallocatealpha($this->workingImage, 255, 255, 255, 127);
-        imagefill($this->workingImage, 0, 0, $bgText);
-        $wmTransp = 127 - $wmOpaque * 1.27;
-        $rgb = $this->hex2rgb($color, false);
-        $TextColor = imagecolorallocatealpha($this->workingImage, $rgb[0], $rgb[1], $rgb[2], $wmTransp);
-        // Put text on the image, line-by-line
-        $y_pos = $wmSize;
-        foreach ($lines as $line) {
-            imagettftext($this->workingImage, $wmSize, 0, 0, $y_pos, $TextColor, $this->correct_gd_unc_path($wmFontPath), $line);
-            $y_pos += $line_height;
+        return $retval;
+    }
+    function copy_images($images, $dst_gallery)
+    {
+        $retval = array();
+        // Ensure that the image ids we have are valid
+        $image_mapper = C_Image_Mapper::get_instance();
+        foreach ($images as $image) {
+            if (is_numeric($image)) {
+                $image = $image_mapper->find($image);
+            }
+            if ($image_abspath = $this->object->get_image_abspath($image)) {
+                // Import the image
+                $new_image_id = $this->object->import_image_file($dst_gallery, $image_abspath, $image->filename);
+                if ($new_image_id) {
+                    // Copy the properties of the old image
+                    foreach (get_object_vars($image) as $key => $value) {
+                        if (in_array($key, array('pid', 'galleryid', 'meta_data', 'filename', 'sortorder', 'extras_post_id'))) {
+                            continue;
+                        }
+                        $new_image = $image_mapper->find($new_image_id);
+                        $new_image->{$key} = $value;
+                        $image_mapper->save($new_image);
+                    }
+                    // Copy tags
+                    $tags = wp_get_object_terms($image->pid, 'ngg_tag', 'fields=ids');
+                    $tags = array_map('intval', $tags);
+                    wp_set_object_terms($new_image_id, $tags, 'ngg_tag', true);
+                    // Mark as done
+                    $retval[] = $new_image_id;
+                }
+            }
         }
-        $this->watermarkImgPath = $this->workingImage;
-        return;
+        return $retval;
     }
     /**
-     * Returns a path that can be used with imagettftext() and ImageTTFBBox()
-     *
-     * imagettftext() and ImageTTFBBox() cannot load resources from Windows UNC paths
-     * and require they be mangled to be like //server\filename instead of \\server\filename
-     * @param string $path Absolute file path
-     * @return string $path Mangled absolute file path
+     * Moves images from to another gallery
+     * @param array $images
+     * @param int|object $gallery
+     * @param boolean $db optionally only move the image files, not the db entries
+     * @return boolean
      */
-    public function correct_gd_unc_path($path)
+    function move_images($images, $gallery)
     {
-        if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' && substr($path, 0, 2) === '\\\\') {
-            $path = ltrim($path, '\\\\');
-            $path = '//' . $path;
+        $retval = $this->object->copy_images($images, $gallery, TRUE);
+        if ($images) {
+            foreach ($images as $image_id) {
+                $this->object->delete_image($image_id);
+            }
         }
-        return $path;
+        return $retval;
     }
-    /**
-     * Calculates the width & height dimensions of ImageTTFBBox().
-     *
-     * Note: ImageTTFBBox() is unreliable with large font sizes
-     * @param $wmSize
-     * @param $fontAngle
-     * @param $wmFontPath
-     * @param $text
-     * @return array
-     */
-    function ImageTTFBBoxDimensions($wmSize, $fontAngle, $wmFontPath, $text)
+    function delete_directory($abspath)
     {
-        $box = @ImageTTFBBox($wmSize, $fontAngle, $this->correct_gd_unc_path($wmFontPath), $text);
-        $max_x = max(array($box[0], $box[2], $box[4], $box[6]));
-        $max_y = max(array($box[1], $box[3], $box[5], $box[7]));
-        $min_x = min(array($box[0], $box[2], $box[4], $box[6]));
-        $min_y = min(array($box[1], $box[3], $box[5], $box[7]));
-        return array("width" => $max_x - $min_x, "height" => $max_y - $min_y);
+        $retval = FALSE;
+        if (@file_exists($abspath)) {
+            $files = scandir($abspath);
+            array_shift($files);
+            array_shift($files);
+            foreach ($files as $file) {
+                $file_abspath = implode(DIRECTORY_SEPARATOR, array(rtrim($abspath, "/\\"), $file));
+                if (is_dir($file_abspath)) {
+                    $this->object->delete_directory($file_abspath);
+                } else {
+                    unlink($file_abspath);
+                }
+            }
+            rmdir($abspath);
+            $retval = @file_exists($abspath);
+        }
+        return $retval;
     }
-    function applyFilter($filterType)
+    function delete_gallery($gallery)
     {
-        $args = func_get_args();
-        array_unshift($args, $this->newImage);
-        return call_user_func_array('imagefilter', $args);
+        $fs = C_Fs::get_instance();
+        $safe_dirs = array(DIRECTORY_SEPARATOR, $fs->get_document_root('plugins'), $fs->get_document_root('plugins_mu'), $fs->get_document_root('templates'), $fs->get_document_root('stylesheets'), $fs->get_document_root('content'), $fs->get_document_root('galleries'), $fs->get_document_root());
+        $abspath = $this->object->get_gallery_abspath($gallery);
+        if ($abspath && file_exists($abspath) && !in_array(stripslashes($abspath), $safe_dirs)) {
+            $this->object->_delete_gallery_directory($abspath);
+        }
+    }
+    function delete_image($image, $size = FALSE)
+    {
+        $retval = FALSE;
+        // Ensure that we have the image entity
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
+        }
+        if ($image) {
+            $image_id = $image->{$image->id_field};
+            do_action('ngg_delete_image', $image_id, $size);
+            // Delete only a particular image size
+            if ($size) {
+                $abspath = $this->object->get_image_abspath($image, $size);
+                if ($abspath && @file_exists($abspath)) {
+                    @unlink($abspath);
+                }
+                if (isset($image->meta_data) && isset($image->meta_data[$size])) {
+                    unset($image->meta_data[$size]);
+                    $this->object->_image_mapper->save($image);
+                }
+            } else {
+                foreach ($this->get_image_sizes($image) as $named_size) {
+                    $image_abspath = $this->object->get_image_abspath($image, $named_size);
+                    @unlink($image_abspath);
+                }
+                // Delete the entity
+                $this->object->_image_mapper->destroy($image);
+            }
+            $retval = TRUE;
+        }
+        return $retval;
     }
     /**
-     * Modfied Watermark function by Steve Peart 
-     * http://parasitehosting.com/
+     * Recover image from backup copy and reprocess it
      *
-     * @param string $relPOS
-     * @param int $xPOS
-     * @param int $yPOS
+     * @param int|stdClass|C_Image $image
+     * @return bool|string result code
      */
-    function watermarkImage($relPOS = 'botRight', $xPOS = 0, $yPOS = 0)
+    function recover_image($image)
     {
-        // if it's a resource ID take it as watermark text image
-        if (is_resource($this->watermarkImgPath)) {
-            $this->workingImage = $this->watermarkImgPath;
-        } else {
-            // (possibly) search for the file from the document root
-            if (!is_file($this->watermarkImgPath)) {
-                $fs = C_Fs::get_instance();
-                if (is_file($fs->join_paths($fs->get_document_root('content'), $this->watermarkImgPath))) {
-                    $this->watermarkImgPath = $fs->get_document_root('content') . $this->watermarkImgPath;
+        $retval = FALSE;
+        if (is_numeric($image)) {
+            $image = $this->object->_image_mapper->find($image);
+        }
+        if ($image) {
+            $full_abspath = $this->object->get_image_abspath($image);
+            $backup_abspath = $this->object->get_image_abspath($image, 'backup');
+            if ($backup_abspath != $full_abspath && @file_exists($backup_abspath)) {
+                if (is_writable($full_abspath) && is_writable(dirname($full_abspath))) {
+                    // Copy the backup
+                    if (@copy($backup_abspath, $full_abspath)) {
+                        // Backup images are not altered at all; we must re-correct the EXIF/Orientation tag
+                        $this->object->correct_exif_rotation($image, TRUE);
+                        // Re-create non-fullsize image sizes
+                        foreach ($this->object->get_image_sizes($image) as $named_size) {
+                            if ($named_size == 'full') {
+                                continue;
+                            }
+                            $this->object->generate_image_clone($full_abspath, $this->object->get_image_abspath($image, $named_size), $this->object->get_image_size_params($image, $named_size));
+                        }
+                        do_action('ngg_recovered_image', $image);
+                        // Reimport all metadata
+                        $retval = $this->object->_image_mapper->reimport_metadata($image);
+                    }
                 }
             }
-            // Would you really want to use anything other than a png?
-            $this->workingImage = @imagecreatefrompng($this->watermarkImgPath);
-            // if it's not a valid file die...
-            if (empty($this->workingImage) or !$this->workingImage) {
-                return;
-            }
-        }
-        imagealphablending($this->workingImage, false);
-        imagesavealpha($this->workingImage, true);
-        $sourcefile_width = imageSX($this->oldImage);
-        $sourcefile_height = imageSY($this->oldImage);
-        $watermarkfile_width = imageSX($this->workingImage);
-        $watermarkfile_height = imageSY($this->workingImage);
-        switch (substr($relPOS, 0, 3)) {
-            case 'top':
-                $dest_y = 0 + $yPOS;
-                break;
-            case 'mid':
-                $dest_y = $sourcefile_height / 2 - $watermarkfile_height / 2;
-                break;
-            case 'bot':
-                $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS;
-                break;
-            default:
-                $dest_y = 0;
-                break;
-        }
-        switch (substr($relPOS, 3)) {
-            case 'Left':
-                $dest_x = 0 + $xPOS;
-                break;
-            case 'Center':
-                $dest_x = $sourcefile_width / 2 - $watermarkfile_width / 2;
-                break;
-            case 'Right':
-                $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS;
-                break;
-            default:
-                $dest_x = 0;
-                break;
-        }
-        // debug
-        // $this->errmsg = 'X '.$dest_x.' Y '.$dest_y;
-        // $this->showErrorImage();
-        // if a gif, we have to upsample it to a truecolor image
-        if ($this->format == 'GIF') {
-            $tempimage = imagecreatetruecolor($sourcefile_width, $sourcefile_height);
-            imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0, $sourcefile_width, $sourcefile_height);
-            $this->newImage = $tempimage;
         }
-        $this->imagecopymerge_alpha($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0, $watermarkfile_width, $watermarkfile_height, 100);
+        return $retval;
     }
+}
+/**
+ * This class contains methods C_Gallery_Storage needs to interact with (like say, importing from) the WP Media Library
+ */
+class Mixin_GalleryStorage_Base_MediaLibrary extends Mixin
+{
     /**
-     * Wrapper to imagecopymerge() that allows PNG transparency
+     * Copies a NGG image to the media library and returns the attachment_id
+     * @param C_Image $image
+     * @retval FALSE|int attachment_id
      */
-    function imagecopymerge_alpha($destination_image, $source_image, $destination_x, $destination_y, $source_x, $source_y, $source_w, $source_h, $pct)
+    function copy_to_media_library($image)
     {
-        $cut = imagecreatetruecolor($source_w, $source_h);
-        imagecopy($cut, $destination_image, 0, 0, $destination_x, $destination_y, $source_w, $source_h);
-        imagecopy($cut, $source_image, 0, 0, $source_x, $source_y, $source_w, $source_h);
-        imagecopymerge($destination_image, $cut, $destination_x, $destination_y, 0, 0, $source_w, $source_h, $pct);
+        $retval = FALSE;
+        // Get the image
+        if (is_int($image)) {
+            $imageId = $image;
+            $mapper = C_Image_Mapper::get_instance();
+            $image = $mapper->find($imageId);
+        }
+        if ($image) {
+            $wordpress_upload_dir = wp_upload_dir();
+            // $wordpress_upload_dir['path'] is the full server path to wp-content/uploads/2017/05, for multisite works good as well
+            // $wordpress_upload_dir['url'] the absolute URL to the same folder, actually we do not need it, just to show the link to file
+            $i = 1;
+            // number of tries when the file with the same name is already exists
+            $image_abspath = C_Gallery_Storage::get_instance()->get_image_abspath($image, "full");
+            $new_file_path = $wordpress_upload_dir['path'] . '/' . $image->filename;
+            $new_file_mime = mime_content_type($image_abspath);
+            while (file_exists($new_file_path)) {
+                $i++;
+                $new_file_path = $wordpress_upload_dir['path'] . '/' . $i . '_' . $image->filename;
+            }
+            if (@copy($image_abspath, $new_file_path)) {
+                $upload_id = wp_insert_attachment(array('guid' => $new_file_path, 'post_mime_type' => $new_file_mime, 'post_title' => preg_replace('/\\.[^.]+$/', '', $image->alttext), 'post_content' => '', 'post_status' => 'inherit'), $new_file_path);
+                update_post_meta($upload_id, '_ngg_image_id', intval($image->pid));
+                // wp_generate_attachment_metadata() won't work if you do not include this file
+                require_once ABSPATH . 'wp-admin/includes/image.php';
+                $image_meta = wp_generate_attachment_metadata($upload_id, $new_file_path);
+                // Generate and save the attachment metas into the database
+                wp_update_attachment_metadata($upload_id, $image_meta);
+                $retval = $upload_id;
+            }
+        }
+        return $retval;
     }
     /**
-     * Modfied imagecopyresampled function to save transparent images
-     * See : http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/
-     * @since 1.9.0
-     * 
-     * @param resource $dst_image
-     * @param resource $src_image
-     * @param int $dst_x
-     * @param int $dst_y
-     * @param int $src_x
-     * @param int $src_y
-     * @param int $dst_w
-     * @param int $dst_h
-     * @param int $src_w
-     * @param int $src_h
-     * @return bool
+     * Delete the given NGG image from the media library
+     */
+    function delete_from_media_library($imageId)
+    {
+        // Get the image
+        if (!is_int($imageId)) {
+            $image = $imageId;
+            $imageId = $image->pid;
+        }
+        if ($postId = $this->object->is_in_media_library($imageId)) {
+            wp_delete_post($postId);
+        }
+    }
+    /**
+     * Determines if the given NGG image id has been uploaded to the media library
+     *
+     * @param integer $imageId
+     * @retval FALSE|int attachment_id
      */
-    function imagecopyresampled(&$dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
+    function is_in_media_library($imageId)
     {
-        // Check if this image is PNG or GIF, then set if Transparent
-        if ($this->format == 'GIF' || $this->format == 'PNG') {
-            imagealphablending($dst_image, false);
-            imagesavealpha($dst_image, true);
-            $transparent = imagecolorallocatealpha($dst_image, 255, 255, 255, 127);
-            imagefilledrectangle($dst_image, 0, 0, $dst_w, $dst_h, $transparent);
+        $retval = FALSE;
+        // Get the image
+        if (is_object($imageId)) {
+            $image = $imageId;
+            $imageId = $image->pid;
         }
-        imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
-        return true;
+        // Try to find an attachment for the given image_id
+        if ($imageId) {
+            $query = new WP_Query(array('post_type' => 'attachment', 'meta_key' => '_ngg_image_id', 'meta_value_num' => $imageId));
+            foreach ($query->get_posts() as $post) {
+                $retval = $post->ID;
+            }
+        }
+        return $retval;
     }
 }
-class Mixin_WordPress_GalleryStorage_Driver extends Mixin
+/**
+ * Provides upload-related methods used by C_Gallery_Storage
+ */
+class Mixin_GalleryStorage_Base_Upload extends Mixin
 {
     /**
-     * Returns the named sizes available for images
-     * @global array $_wp_additional_image_sizese
-     * @return array
+     * @param string $abspath
+     * @param int $gallery_id
+     * @param bool $create_new_gallerypath
+     * @param null|string $gallery_title
+     * @param array[string] $filenames
+     * @return array|bool FALSE on failure
      */
-    function get_image_sizes()
+    function import_gallery_from_fs($abspath, $gallery_id = NULL, $create_new_gallerypath = TRUE, $gallery_title = NULL, $filenames = array())
+    {
+        if (@(!file_exists($abspath))) {
+            return FALSE;
+        }
+        $fs = C_Fs::get_instance();
+        // Ensure that this folder has images
+        $i = 0;
+        $files = array();
+        foreach (scandir($abspath) as $file) {
+            if ($file == '.' || $file == '..') {
+                continue;
+            }
+            $file_abspath = $fs->join_paths($abspath, $file);
+            // The first directory is considered valid
+            if (is_dir($file_abspath) && $i === 0) {
+                $files[] = $file_abspath;
+            } elseif ($this->is_image_file($file_abspath)) {
+                if ($filenames && array_search($file_abspath, $filenames) !== FALSE) {
+                    $files[] = $file_abspath;
+                } else {
+                    if (!$filenames) {
+                        $files[] = $file_abspath;
+                    }
+                }
+            }
+        }
+        if (empty($files)) {
+            return FALSE;
+        }
+        // Get needed utilities
+        $gallery_mapper = C_Gallery_Mapper::get_instance();
+        // Sometimes users try importing a directory, which actually has all images under another directory
+        if (is_dir($files[0])) {
+            return $this->object->import_gallery_from_fs($files[0], $gallery_id, $create_new_gallerypath, $gallery_title, $filenames);
+        }
+        // If no gallery has been specified, then use the directory name as the gallery name
+        if (!$gallery_id) {
+            // Create the gallery
+            $gallery = $gallery_mapper->create(array('title' => $gallery_title ? $gallery_title : M_I18n::mb_basename($abspath)));
+            if (!$create_new_gallerypath) {
+                $gallery_root = $fs->get_document_root('gallery');
+                $gallery->path = str_ireplace($gallery_root, '', $abspath);
+            }
+            // Save the gallery
+            if ($gallery->save()) {
+                $gallery_id = $gallery->id();
+            }
+        }
+        // Ensure that we have a gallery id
+        if ($gallery_id) {
+            $retval = array('gallery_id' => $gallery_id, 'image_ids' => array());
+            foreach ($files as $file_abspath) {
+                $basename = pathinfo($file_abspath, PATHINFO_BASENAME);
+                if ($image_id = $this->import_image_file($gallery_id, $file_abspath, $basename, FALSE, FALSE, FALSE)) {
+                    $retval['image_ids'][] = $image_id;
+                }
+            }
+            // Add the gallery name to the result
+            if (!isset($gallery)) {
+                $gallery = $gallery_mapper->find($gallery_id);
+            }
+            $retval['gallery_name'] = $gallery->title;
+            return $retval;
+        }
+        return FALSE;
+    }
+    function is_current_user_over_quota()
     {
-        global $_wp_additional_image_sizes;
-        $_wp_additional_image_sizes[] = 'full';
-        return $_wp_additional_image_sizes;
+        $retval = FALSE;
+        $settings = C_NextGen_Settings::get_instance();
+        if (is_multisite() && $settings->get('wpmuQuotaCheck')) {
+            require_once ABSPATH . 'wp-admin/includes/ms.php';
+            $retval = upload_is_user_over_quota(FALSE);
+        }
+        return $retval;
     }
     /**
-     * Gets the upload path for new images in this gallery
-     * This will always be the date-based directory
-     * @param bool|int|object $gallery
-     * @return bool|string
+     * @param string? $filename
+     * @return bool
      */
-    function get_upload_abspath($gallery = FALSE)
+    function is_image_file($filename = NULL)
+    {
+        $retval = FALSE;
+        if (!$filename && isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
+            $filename = $_FILES['file']['tmp_name'];
+        }
+        $valid_types = array('image/gif', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png');
+        // If we can, we'll verify the mime type
+        if (function_exists('exif_imagetype')) {
+            if (($image_type = @exif_imagetype($filename)) !== FALSE) {
+                $retval = in_array(image_type_to_mime_type($image_type), $valid_types);
+            }
+        } else {
+            $file_info = @getimagesize($filename);
+            if (isset($file_info[2])) {
+                $retval = in_array(image_type_to_mime_type($file_info[2]), $valid_types);
+            }
+        }
+        return $retval;
+    }
+    function is_zip()
     {
-        // Gallery is used for this driver, as the upload path is
-        // the same, regardless of what gallery is used
         $retval = FALSE;
-        $dir = wp_upload_dir(time());
-        if ($dir) {
-            $retval = $dir['path'];
+        if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
+            $file_info = $_FILES['file'];
+            if (isset($file_info['type'])) {
+                $type = $file_info['type'];
+                $type_parts = explode('/', $type);
+                if (strtolower($type_parts[0]) == 'application') {
+                    $spec = $type_parts[1];
+                    $spec_parts = explode('-', $spec);
+                    $spec_parts = array_map('strtolower', $spec_parts);
+                    if (in_array($spec, array('zip', 'octet-stream')) || in_array('zip', $spec_parts)) {
+                        $retval = true;
+                    }
+                }
+            }
         }
         return $retval;
     }
+    function maybe_base64_decode($data)
+    {
+        $decoded = base64_decode($data);
+        if ($decoded === FALSE) {
+            return $data;
+        } else {
+            if (base64_encode($decoded) == $data) {
+                return base64_decode($data);
+            }
+        }
+        return $data;
+    }
+    function get_unique_abspath($file_abspath)
+    {
+        $filename = basename($file_abspath);
+        $dir_abspath = dirname($file_abspath);
+        $num = 1;
+        $pattern = path_join($dir_abspath, "*_{$filename}");
+        if ($found = glob($pattern)) {
+            natsort($found);
+            $last = array_pop($found);
+            $last = basename($last);
+            if (preg_match("/^(\\d+)_/", $last, $match)) {
+                $num = intval($match[1]) + 1;
+            }
+        }
+        return path_join($dir_abspath, "{$num}_{$filename}");
+    }
+    function sanitize_filename_for_db($filename = NULL)
+    {
+        $filename = $filename ? $filename : uniqid('nextgen-gallery');
+        $filename = preg_replace("#^/#", "", $filename);
+        $filename = sanitize_file_name($filename);
+        if (preg_match("/\\-(png|jpg|gif|jpeg)\$/i", $filename, $match)) {
+            $filename = str_replace($match[0], '.' . $match[1], $filename);
+        }
+        return $filename;
+    }
+    function import_image_file($dst_gallery, $image_abspath, $filename = NULL, $image = FALSE, $override = FALSE, $move = FALSE)
+    {
+        $image_abspath = wp_normalize_path($image_abspath);
+        if ($this->object->is_current_user_over_quota()) {
+            $message = sprintf(__('Sorry, you have used your space allocation. Please delete some files to upload more files.', 'nggallery'));
+            throw new E_NoSpaceAvailableException($message);
+        }
+        // Do we have a gallery to import to?
+        if ($dst_gallery) {
+            // Get the gallery abspath. This is where we will put the image files
+            $gallery_abspath = $this->object->get_gallery_abspath($dst_gallery);
+            // If we can't write to the directory, then there's no point in continuing
+            if (!@file_exists($gallery_abspath)) {
+                @wp_mkdir_p($gallery_abspath);
+            }
+            if (!is_writable($gallery_abspath)) {
+                throw new E_InsufficientWriteAccessException(FALSE, $gallery_abspath, FALSE);
+            }
+            // Sanitize the filename for storing in the DB
+            $filename = $this->sanitize_filename_for_db($filename);
+            // Ensure that the filename is valid
+            if (!preg_match("/(png|jpeg|jpg|gif)\$/i", $filename)) {
+                throw new E_UploadException(__('Invalid image file. Acceptable formats: JPG, GIF, and PNG.', 'nggallery'));
+            }
+            // Compute the destination folder
+            $new_image_abspath = path_join($gallery_abspath, $filename);
+            // Are the src and dst the same? If so, we don't have to copy or move files
+            if ($image_abspath != $new_image_abspath) {
+                // If we're not to override, ensure that the filename is unique
+                if (!$override && @file_exists($new_image_abspath)) {
+                    $new_image_abspath = $this->object->get_unique_abspath($new_image_abspath);
+                    $filename = $this->sanitize_filename_for_db(basename($new_image_abspath));
+                }
+                // Try storing the file
+                $copied = copy($image_abspath, $new_image_abspath);
+                if ($copied && $move) {
+                    unlink($image_abspath);
+                }
+                // Ensure that we're not vulerable to CVE-2017-2416 exploit
+                if (($dimensions = getimagesize($new_image_abspath)) !== FALSE) {
+                    if (isset($dimensions[0]) && intval($dimensions[0]) > 30000 || isset($dimensions[1]) && intval($dimensions[1]) > 30000) {
+                        unlink($new_image_abspath);
+                        throw new E_UploadException(__('Image file too large. Maximum image dimensions supported are 30k x 30k.'));
+                    }
+                }
+            }
+            // Save the image in the DB
+            $image_mapper = C_Image_Mapper::get_instance();
+            $image_mapper->_use_cache = FALSE;
+            if ($image) {
+                if (is_numeric($image)) {
+                    $image = $image_mapper->find($image);
+                }
+            }
+            if (!$image) {
+                $image = $image_mapper->create();
+            }
+            $image->alttext = preg_replace("#\\.\\w{2,4}\$#", "", $filename);
+            $image->galleryid = is_numeric($dst_gallery) ? $dst_gallery : $dst_gallery->gid;
+            $image->filename = $filename;
+            $image->image_slug = nggdb::get_unique_slug(sanitize_title_with_dashes($image->alttext), 'image');
+            $image_id = $image_mapper->save($image);
+            if (!$image_id) {
+                $exception = '';
+                foreach ($image->get_errors() as $field => $errors) {
+                    foreach ($errors as $error) {
+                        if (!empty($exception)) {
+                            $exception .= "<br/>";
+                        }
+                        $exception .= __(sprintf("Error while uploading %s: %s", $filename, $error), 'nextgen-gallery');
+                    }
+                }
+                throw new E_UploadException($exception);
+            }
+            // Important: do not remove this line. The image mapper's save() routine imports metadata
+            // meaning we must re-acquire a new $image object after saving it above; if we do not our
+            // existing $image object will lose any metadata retrieved during said save() method.
+            $image = $image_mapper->find($image_id);
+            $image_mapper->_use_cache = TRUE;
+            $settings = C_NextGen_Settings::get_instance();
+            // Backup the image
+            if ($settings->get('imgBackup', FALSE)) {
+                $this->object->backup_image($image, TRUE);
+            }
+            // Most browsers do not honor EXIF's Orientation header: rotate the image to prevent display issues
+            $this->object->correct_exif_rotation($image, TRUE);
+            // Create resized version of image
+            if ($settings->get('imgAutoResize', FALSE)) {
+                $this->object->generate_resized_image($image, TRUE);
+            }
+            // Generate a thumbnail for the image
+            $this->object->generate_thumbnail($image);
+            // Set gallery preview image if missing
+            C_Gallery_Mapper::get_instance()->set_preview_image($dst_gallery, $image_id, TRUE);
+            // Notify other plugins that an image has been added
+            do_action('ngg_added_new_image', $image);
+            // delete dirsize after adding new images
+            delete_transient('dirsize_cache');
+            // Seems redundant to above hook. Maintaining for legacy purposes
+            do_action('ngg_after_new_images_added', is_numeric($dst_gallery) ? $dst_gallery : $dst_gallery->gid, array($image_id));
+            return $image_id;
+        } else {
+            throw new E_EntityNotFoundException();
+        }
+        return NULL;
+    }
     /**
-     * Will always return the same as get_upload_abspath(), as WordPress storage is not organized by gallery but by date
-     * @param int|object $gallery
-     * @return string
+     * Uploads base64 file to a gallery
+     * @param int|stdClass|C_Gallery $gallery
+     * @param $data base64-encoded string of data representing the image
+     * @param string|false (optional) $filename specifies the name of the file
+     * @param int|false $image_id (optional)
+     * @param bool $override (optional)
+     * @return C_Image
      */
-    function get_gallery_abspath($gallery = FALSE)
+    function upload_base64_image($gallery, $data, $filename = FALSE, $image_id = FALSE, $override = FALSE, $move = FALSE)
     {
-        return $this->object->get_upload_abspath();
+        try {
+            $temp_abspath = tempnam(sys_get_temp_dir(), '');
+            // Try writing the image
+            $fp = fopen($temp_abspath, 'wb');
+            fwrite($fp, $this->maybe_base64_decode($data));
+            fclose($fp);
+        } catch (E_UploadException $ex) {
+            throw $ex;
+        }
+        return $this->object->import_image_file($gallery, $temp_abspath, $filename, $image_id, $override, $move);
     }
     /**
-     * Gets the url of a particular sized image
-     * @param int|object $image
-     * @param string $size
-     * @return string
+     * Uploads an image for a particular gallery
+     * @param int|object|C_Gallery $gallery
+     * @param string|bool $filename (optional) Specifies the name of the file
+     * @param string|bool $data (optional) If specified, expects base64 encoded string of data
+     * @return C_Image
      */
-    function get_image_url($image = FALSE, $size = 'full')
+    function upload_image($gallery, $filename = FALSE, $data = FALSE)
     {
         $retval = NULL;
-        $image_key = C_Displayed_Gallery_Mapper::get_instance()->get_primary_key_column();
-        if ($image && ($image_id = $this->object->_get_image_id($image))) {
-            $parts = wp_get_attachment_image_src($image->{$image_key});
-            if ($parts) {
-                $retval = $parts['url'];
+        // Ensure that we have the data present that we require
+        if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
+            //		$_FILES = Array(
+            //		 [file]	=>	Array (
+            //            [name] => Canada_landscape4.jpg
+            //            [type] => image/jpeg
+            //            [tmp_name] => /private/var/tmp/php6KO7Dc
+            //            [error] => 0
+            //            [size] => 64975
+            //         )
+            //
+            $file = $_FILES['file'];
+            if ($this->object->is_zip()) {
+                $retval = $this->object->upload_zip($gallery);
+            } else {
+                if ($this->is_image_file()) {
+                    $retval = $this->object->import_image_file($gallery, $file['tmp_name'], $filename ? $filename : (isset($file['name']) ? $file['name'] : FALSE), FALSE, FALSE, TRUE);
+                } else {
+                    // Remove the non-valid (and potentially insecure) file from the PHP upload directory
+                    if (isset($_FILES['file']['tmp_name'])) {
+                        $filename = $_FILES['file']['tmp_name'];
+                        @unlink($filename);
+                    }
+                    throw new E_UploadException(__('Invalid image file. Acceptable formats: JPG, GIF, and PNG.', 'nggallery'));
+                }
             }
+        } elseif ($data) {
+            $retval = $this->object->upload_base64_image($gallery, $data, $filename);
+        } else {
+            throw new E_UploadException();
         }
-        return apply_filters('ngg_get_image_url', $retval, $image, $size);
+        return $retval;
     }
-}
-/**
- * Class C_WordPress_GalleryStorage_Driver
- * @mixin Mixin_WordPress_GalleryStorage_Driver
- */
-class C_WordPress_GalleryStorage_Driver extends C_GalleryStorage_Driver_Base
-{
-    function define($context = FALSE)
+    function upload_zip($gallery_id)
     {
-        parent::define($context);
-        $this->add_mixin('Mixin_WordPress_GalleryStorage_Driver');
+        $memory_limit = intval(ini_get('memory_limit'));
+        if (!extension_loaded('suhosin') && $memory_limit < 256) {
+            @ini_set('memory_limit', '256M');
+        }
+        $retval = FALSE;
+        if ($this->object->is_zip()) {
+            $fs = C_Fs::get_instance();
+            // Uses the WordPress ZIP abstraction API
+            include_once $fs->join_paths(ABSPATH, 'wp-admin', 'includes', 'file.php');
+            WP_Filesystem(FALSE, get_temp_dir(), TRUE);
+            // Ensure that we truly have the gallery id
+            $gallery_id = $this->_get_gallery_id($gallery_id);
+            $zipfile = $_FILES['file']['tmp_name'];
+            $dest_path = implode(DIRECTORY_SEPARATOR, array(rtrim(get_temp_dir(), "/\\"), 'unpacked-' . M_I18n::mb_basename($zipfile)));
+            wp_mkdir_p($dest_path);
+            if (unzip_file($zipfile, $dest_path) === TRUE) {
+                $dest_dir = $dest_path . DIRECTORY_SEPARATOR;
+                $files = glob($dest_dir . '*');
+                $size = 0;
+                foreach ($files as $file) {
+                    if (is_file($dest_dir . $file)) {
+                        $size += filesize($dest_dir . $file);
+                    }
+                }
+                if ($size == 0) {
+                    $this->object->delete_directory($dest_path);
+                    $destination = wp_upload_dir();
+                    $destination_path = $destination['basedir'];
+                    $dest_path = implode(DIRECTORY_SEPARATOR, array(rtrim($destination_path, "/\\"), 'unpacked-' . M_I18n::mb_basename($zipfile)));
+                    wp_mkdir_p($dest_path);
+                    if (unzip_file($zipfile, $dest_path) === TRUE) {
+                        $retval = $this->object->import_gallery_from_fs($dest_path, $gallery_id);
+                    }
+                } else {
+                    $retval = $this->object->import_gallery_from_fs($dest_path, $gallery_id);
+                }
+            }
+            $this->object->delete_directory($dest_path);
+        }
+        if (!extension_loaded('suhosin')) {
+            @ini_set('memory_limit', $memory_limit . 'M');
+        }
+        return $retval;
     }
 }
 /**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/class.exif_writer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/class.exif_writer.php
index f0a39173b..b4fe6e10c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/class.exif_writer.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/class.exif_writer.php
@@ -16,6 +16,8 @@ use lsolesen\pel\PelJpeg;
 use lsolesen\pel\PelTiff;
 use lsolesen\pel\PelExif;
 use lsolesen\pel\PelIfd;
+use lsolesen\pel\PelTag;
+use lsolesen\pel\PelEntryShort;
 
 use lsolesen\pel\PelInvalidArgumentException;
 use lsolesen\pel\PelIfdException;
@@ -208,6 +210,33 @@ class C_Exif_Writer
     static public function is_jpeg_file($filename)
     {
         $extension = M_I18n::mb_pathinfo($filename, PATHINFO_EXTENSION);
-        return in_array(strtolower($extension), array('jpeg', 'jpg')) ? TRUE : FALSE;
+        return in_array(strtolower($extension), array('jpeg', 'jpg', 'jpeg_backup', 'jpg_backup')) ? TRUE : FALSE;
+    }
+
+    /**
+     * Sets the EXIF' Orientation field to 1 aka Default or "TopLeft"
+     *
+     * This method is necessary to prevent images rotated by NextGen to appear even further rotated.
+     * @param array $exif
+     * @return array
+     */
+    static public function reset_orientation($exif = array())
+    {
+        $tiff = $exif->getTiff();
+        if (empty($tiff))
+            return $exif;
+
+        $ifd0 = $tiff->getIfd();
+        if (empty($ifd0))
+            return $exif;
+
+        $orientation = $ifd0->getEntry(PelTag::ORIENTATION);
+        if (empty($orientation))
+            return $exif;
+
+        $orientation = new PelEntryShort(PelTag::ORIENTATION, 1);
+        $ifd0->addEntry($orientation);
+
+        return $exif;
     }
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php
index 020652b20..832cc7a19 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php
@@ -23,10 +23,10 @@ class M_Gallery_Display extends C_Base_Module
 			'photocrati-nextgen_gallery_display',
 			'Gallery Display',
 			'Provides the ability to display gallery of images',
-			'3.1.4.2',
+			'3.1.19',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
-      'Imagely',
-      'https://www.imagely.com'
+            'Imagely',
+            'https://www.imagely.com'
 		);
 
 		C_Photocrati_Installer::add_handler($this->module_id, 'C_Display_Type_Installer');
@@ -511,7 +511,20 @@ class C_Display_Type_Installer
 	function get_registry()
 	{
 		return C_Component_Registry::get_instance();
-	}
+    }
+    
+    function delete_duplicates($name)
+    {
+        $mapper				= C_Display_Type_Mapper::get_instance();
+        $results =          $mapper->find_all(array('name = %s', $name));
+        if (count($results) > 0) {
+            $kept = array_pop($results); // the last should be the latest
+            foreach ($results as $display_type) {
+                $mapper->destroy($display_type);
+            }
+        }
+        $mapper->flush_query_cache();
+    }
 
 	/**
 	 * Installs a display type
@@ -520,24 +533,24 @@ class C_Display_Type_Installer
 	 */
 	function install_display_type($name, $properties=array())
 	{
+        $this->delete_duplicates($name);
+
 		// Try to find the existing entity. If it doesn't exist, we'll create
 		$fs					= C_Fs::get_instance();
-		$mapper				= C_Display_Type_Mapper::get_instance();
-		$display_type		= $mapper->find_by_name($name);
+        $mapper				= C_Display_Type_Mapper::get_instance();
+        $display_type		= $mapper->find_by_name($name);
+        $mapper->flush_query_cache();
 		if (!$display_type)	$display_type = new stdClass;
 
 		// Update the properties of the display type
 		$properties['name'] = $name;
 		$properties['installed_at_version'] = NGG_PLUGIN_VERSION;
 		foreach ($properties as $key=>$val) {
-			if ($key == 'preview_image_relpath') {
-				$val = $fs->find_static_abspath($val, FALSE, TRUE);
-			}
 			$display_type->$key = $val;
 		}
 
 		// Save the entity
-		$retval = $mapper->save($display_type);
+        $retval = $mapper->save($display_type);
 		return $retval;
 	}
 
@@ -565,7 +578,16 @@ class C_Display_Type_Installer
 	 */
 	function install($reset=FALSE)
 	{
-		// Display types are registered in other modules
+        // Note: NGG Display types are registered in other modules
+
+        // Force Pro display types to register themselves
+        if (class_exists('C_NextGen_Pro_Installer')) {
+            $pro_installer = new C_NextGen_Pro_Installer();
+            $pro_installer->install_display_types();
+        } elseif (class_exists('C_NextGen_Plus_Installer')) {
+            $plus_installer = new C_NextGen_Plus_Installer();
+            $plus_installer->install_display_types();
+        }
 	}
 
 	/**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css
index 31f02f1b2..e09ee918c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css
@@ -53,4 +53,10 @@
 
 .entity_errors ul li {
     list-style-type: disc;
+}
+
+.ngg_field_ecommerce_enabled_ssl_warning {
+    font-size: 13px;
+    line-height: 1.4;
+    color: red;
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.min.css
index 685d7d221..adbeb8336 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.min.css
@@ -1 +1 @@
-.gallery_page_ngg_display_settings table{height:100%}.gallery_page_ngg_display_settings table tr{height:28px}.gallery_page_ngg_display_settings table tr td:first-child{vertical-align:top;padding-right:7px;padding-top:5px}.gallery_page_ngg_display_settings textarea{height:60px}.gallery_page_ngg_display_settings input[type=text],.gallery_page_ngg_display_settings textarea{width:155px}.gallery_page_ngg_display_settings input[type=number]{text-align:center}.gallery_page_ngg_display_settings select{width:155px;text-align:center}.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_unit,.gallery_page_ngg_display_settings select.nextgen_settings_field_width_and_unit{text-align:center;width:75px}.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_height{width:65px}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}
\ No newline at end of file
+.gallery_page_ngg_display_settings table{height:100%}.gallery_page_ngg_display_settings table tr{height:28px}.gallery_page_ngg_display_settings table tr td:first-child{vertical-align:top;padding-right:7px;padding-top:5px}.gallery_page_ngg_display_settings textarea{height:60px}.gallery_page_ngg_display_settings input[type=text],.gallery_page_ngg_display_settings textarea{width:155px}.gallery_page_ngg_display_settings input[type=number]{text-align:center}.gallery_page_ngg_display_settings select{width:155px;text-align:center}.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_unit,.gallery_page_ngg_display_settings select.nextgen_settings_field_width_and_unit{text-align:center;width:75px}.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_height{width:65px}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}.ngg_field_ecommerce_enabled_ssl_warning{font-size:13px;line-height:1.4;color:red}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php
index 8bd53895b..e597f5258 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php
@@ -23,7 +23,7 @@ class M_NextGen_Other_Options extends C_Base_Module
 			'photocrati-nextgen_other_options',
 			'Other Options',
 			'NextGEN Gallery Others Options Page',
-			'3.1.6',
+			'3.1.19',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php
index aa86fc307..441ad2dbb 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php
@@ -282,7 +282,7 @@ class A_Lightbox_Manager_Form extends Mixin
             $selected = 'fancybox';
         }
         // Render container tab
-        return $this->render_partial('photocrati-nextgen_other_options#lightbox_library_tab', array('lightbox_library_label' => __('What effect would you like to use?', 'nggallery'), 'libs' => C_Lightbox_Library_Manager::get_instance()->get_all(), 'selected' => $selected, 'sub_fields' => $sub_fields, 'lightbox_global' => $this->object->get_model()->thumbEffectContext), TRUE);
+        return $this->render_partial('photocrati-nextgen_other_options#lightbox_library_tab', array('lightbox_library_label' => __('What lightbox would you like to use?', 'nggallery'), 'libs' => C_Lightbox_Library_Manager::get_instance()->get_all(), 'selected' => $selected, 'sub_fields' => $sub_fields, 'lightbox_global' => $this->object->get_model()->thumbEffectContext), TRUE);
     }
     function save_action()
     {
@@ -423,21 +423,13 @@ class A_Reset_Form extends Mixin
         if (defined('NGG_PRO_PLUGIN_VERSION') || defined('NEXTGEN_GALLERY_PRO_VERSION')) {
             C_Photocrati_Installer::uninstall('photocrati-nextgen-pro');
         }
+        if (defined('NGG_PLUS_PLUGIN_VERSION')) {
+            C_Photocrati_Installer::uninstall('photocrati-nextgen-plus');
+        }
         C_Photocrati_Installer::uninstall('photocrati-nextgen');
         // removes all ngg_options entry in wp_options
         $settings->reset();
         $settings->destroy();
-        // clear NextGEN's capabilities from the roles system
-        $capabilities = array("NextGEN Gallery overview", "NextGEN Use TinyMCE", "NextGEN Upload images", "NextGEN Manage gallery", "NextGEN Manage others gallery", "NextGEN Manage tags", "NextGEN Edit album", "NextGEN Change style", "NextGEN Change options", "NextGEN Attach Interface");
-        $roles = array("subscriber", "contributor", "author", "editor", "administrator");
-        foreach ($roles as $role) {
-            $role = get_role($role);
-            foreach ($capabilities as $capability) {
-                if (!is_null($role)) {
-                    $role->remove_cap($capability);
-                }
-            }
-        }
         // Some installations of NextGen that upgraded from 1.9x to 2.0x have duplicates installed,
         // so for now (as of 2.0.21) we explicitly remove all display types and lightboxes from the
         // db as a way of fixing this.
@@ -445,8 +437,8 @@ class A_Reset_Form extends Mixin
         $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->posts} WHERE post_type = %s", 'lightbox_library'));
         // the installation will run on the next page load; so make our own request before reloading the browser
         wp_remote_get(admin_url('plugins.php'), array('timeout' => 180, 'blocking' => true, 'sslverify' => false));
-        header('Location: ' . get_admin_url());
-        throw new E_Clean_Exit();
+        wp_redirect(get_admin_url());
+        exit;
     }
 }
 /**
@@ -554,9 +546,7 @@ class A_Stylesheet_Ajax_Actions extends Mixin
      */
     function _authorized_for_stylesheet_action()
     {
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
-        return $sec_actor->is_allowed('nextgen_edit_style');
+        return M_Security::is_allowed('nextgen_edit_style');
     }
 }
 /**
@@ -603,24 +593,18 @@ class A_Watermarking_Ajax_Actions extends Mixin
      */
     function get_watermark_preview_url_action()
     {
-        $security = $this->get_registry()->get_utility('I_Security_Manager');
-        $sec_actor = $security->get_current_actor();
-        if ($sec_actor->is_allowed('nextgen_edit_settings')) {
+        if (M_Security::is_allowed('nextgen_edit_settings')) {
             $settings = C_NextGen_Settings::get_instance();
             $imagegen = C_Dynamic_Thumbnails_Manager::get_instance();
             $mapper = C_Image_Mapper::get_instance();
             $image = $mapper->find_first();
             $storage = C_Gallery_Storage::get_instance();
-            $sizeinfo = array('quality' => 100, 'height' => 250, 'crop' => FALSE, 'watermark' => TRUE);
+            $watermark_options = $this->param('watermark_options');
+            $sizeinfo = array('quality' => 100, 'height' => 250, 'crop' => false, 'watermark' => true, 'wmFont' => trim(esc_sql($watermark_options['wmFont'])), 'wmType' => trim(esc_sql($watermark_options['wmType'])), 'wmPos' => trim(esc_sql($watermark_options['wmPos'])), 'wmXpos' => intval(trim($watermark_options['wmXpos'])), 'wmYpos' => intval(trim($watermark_options['wmYpos'])), 'wmPath' => trim(esc_sql($watermark_options['wmPath'])), 'wmText' => trim(esc_sql($watermark_options['wmText'])), 'wmOpaque' => intval(trim($watermark_options['wmOpaque'])), 'wmFont' => trim(esc_sql($watermark_options['wmFont'])), 'wmSize' => intval(trim($watermark_options['wmSize'])), 'wmColor' => trim(esc_sql($watermark_options['wmColor'])));
             $size = $imagegen->get_size_name($sizeinfo);
+            $storage->generate_image_size($image, $size, $sizeinfo);
+            $storage->flush_image_path_cache($image, $size);
             $thumbnail_url = $storage->get_image_url($image, $size);
-            // Temporarily update the watermark options. Generate a new image based on these settings
-            if ($watermark_options = $this->param('watermark_options')) {
-                $settings->set('wmFont', trim($watermark_options['wmFont']));
-                $storage->generate_image_size($image, $size);
-                $thumbnail_url = $storage->get_image_url($image, $size);
-                $settings->load();
-            }
             return array('thumbnail_url' => $thumbnail_url);
         } else {
             return array('thumbnail_url' => '', 'error' => 'You are not allowed to perform this operation');
@@ -712,7 +696,14 @@ class A_Watermarks_Form extends Mixin
         $storage = C_Gallery_Storage::get_instance();
         $image = C_Image_Mapper::get_instance()->find_first();
         $imagegen = C_Dynamic_Thumbnails_Manager::get_instance();
-        $size = $imagegen->get_size_name(array('height' => 250, 'crop' => FALSE, 'watermark' => TRUE));
+        $settings = C_NextGen_Settings::get_instance();
+        $watermark_setting_keys = array('wmFont', 'wmType', 'wmPos', 'wmXpos', 'wmYpos', 'wmPath', 'wmText', 'wmOpaque', 'wmFont', 'wmSize', 'wmColor');
+        $watermark_options = array();
+        foreach ($watermark_setting_keys as $watermark_setting_key) {
+            $watermark_options[$watermark_setting_key] = $settings->get($watermark_setting_key);
+        }
+        $sizeinfo = array('quality' => 100, 'height' => 250, 'crop' => false, 'watermark' => true, 'wmFont' => trim(esc_sql($watermark_options['wmFont'])), 'wmType' => trim(esc_sql($watermark_options['wmType'])), 'wmPos' => trim(esc_sql($watermark_options['wmPos'])), 'wmXpos' => trim(intval($watermark_options['wmXpos'])), 'wmYpos' => trim(intval($watermark_options['wmYpos'])), 'wmPath' => trim(esc_sql($watermark_options['wmPath'])), 'wmText' => trim(esc_sql($watermark_options['wmText'])), 'wmOpaque' => intval(trim($watermark_options['wmOpaque'])), 'wmFont' => trim(esc_sql($watermark_options['wmFont'])), 'wmSize' => trim(intval($watermark_options['wmSize'])), 'wmColor' => trim(esc_sql($watermark_options['wmColor'])));
+        $size = $imagegen->get_size_name($sizeinfo);
         $url = $image ? $storage->get_image_url($image, $size) : NULL;
         $abspath = $image ? $storage->get_image_abspath($image, $size) : NULL;
         return array('url' => $url, 'abspath' => $abspath);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php
index 8c8a1b282..b772dcace 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php
@@ -29,7 +29,7 @@
     <?php if ( !defined('NGG_PRO_PLUGIN_VERSION') && !defined('NGG_PLUS_PLUGIN_VERSION') && !is_multisite() ) { ?>
         <tr>
             <td colspan="2" class="ngg_options_promo">
-                <?php esc_html_e('Want a stunning lightbox with color options, image comments, social sharing, full screen, and more? Get the ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/pro-lightbox-demo/?utm_source=ngg&utm_medium=ngguser&utm_campaign=pro_lightbox" target="_blank"><?php esc_html_e('NextGEN Pro Lightbox!', 'nggallery'); ?></a>
+                <?php esc_html_e('Want more lightbox options? Get the ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/pro-lightbox-demo/?utm_source=ngg&utm_medium=ngguser&utm_campaign=pro_lightbox" target="_blank"><?php esc_html_e('NextGEN Pro Lightbox!', 'nggallery'); ?></a>
             </td>
         </tr>
     <?php } ?>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php
index b335e584a..297df47f6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php
@@ -21,7 +21,7 @@ class M_NextGen_Pro_Upgrade extends C_Base_Module
             'photocrati-nextgen_pro_upgrade',
             'NextGEN Pro Page',
             'NextGEN Gallery Pro Upgrade Page',
-            '3.0.0',
+            '3.1.19',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php
index e5eb875be..447f03797 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php
@@ -48,7 +48,7 @@ class A_NextGen_Pro_Upgrade_Controller extends Mixin
     function get_i18n_strings()
     {
         $i18n = new stdClass();
-        $i18n->plus_title = __('Setting a New Standard for WordPress Galleries', 'nggallery');
+        $i18n->plus_title = __('Create Stunning Galleries with NextGEN Pro', 'nggallery');
         $i18n->pro_title = __('Sell Photos + Adobe Lightroom', 'nggallery');
         $i18n->plus_desc_first = __('Introducing the most powerful gallery system ever made for WordPress. Watch our 30 second video, or click below to learn more about NextGEN premium extensions and support.', 'nggallery');
         $i18n->pro_desc = __('You\'re awesome! You\'ve already got NextGEN Plus. But why not go all the way? With NextGEN Pro, you can sell print and digital downloads, provide proofing galleries for clients, manage galleries directly from Adobe Lightroom, and more.', 'nggallery');
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css
index 99173ff07..bee81bf66 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css
@@ -29,12 +29,13 @@
     min-height: auto;
     margin: 30px 0;
     max-width: none;
-    color: #999;
+    color: black;
     width: 35%;
     float: left;
     max-width: 400px;
     box-sizing: border-box;
     font-size: 22px;
+    font-weight: 300;
 }
 
 #nextgen_pro_upgrade_page p span {
@@ -71,25 +72,12 @@
 
 #nextgen_pro_upgrade_page a.button-primary {
     font-size: 15px;
-    height: 2.8em;
-    line-height: 1.6em;
     line-height: 50px;
     height: 50px !important;
     padding: 0 30px !important;
-    /*from video redesign*/
     font-size: 14px;
-    background-color: #9fbb1a;
-    border: none;
-    box-shadow: none;
-    text-transform: uppercase;
-    height: 50px;
-    width: 300px;
     max-width: 100%;
-    padding: 12px 22px;
-    text-shadow: none;
-    text-align: center;
     margin: 40px 0;
-    font-weight: bold;
 }
 
 @media (max-width: 1150px) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.min.css
index cac9a35e5..fda0c5cc7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.min.css
@@ -1 +1 @@
-#ngg_page_content #nextgen_pro_upgrade_page .ngg_page_content_main{padding:20px 40px 200px}.gallery_page_ngg_pro_upgrade #update-nag,.gallery_page_ngg_pro_upgrade .update-nag{display:none}#nextgen_pro_upgrade_page{max-width:none}#nextgen_pro_upgrade_page .about-wrap .about-text{min-height:auto}#nextgen_pro_upgrade_page img{width:600px;max-width:100%}#nextgen_pro_upgrade_page h1{margin:40px 0 20px}#nextgen_pro_upgrade_page p{min-height:auto;margin:30px 0;color:#999;width:35%;float:left;max-width:400px;box-sizing:border-box;font-size:22px}#nextgen_pro_upgrade_page p span{font-family:Brush Script MT;color:#d5d5d5;font-size:34px;text-align:right;width:100%;margin-top:60px;display:none}#nextgen_pro_upgrade_page.nextgen_plus p span{margin-top:30px}#nextgen_pro_upgrade_page .feature-section{float:left;width:60%;margin-top:15px;box-sizing:border-box;margin-left:30px;padding:0;border:1px solid #eee;box-shadow:0 0 4px 2px rgba(0,0,0,.05)}#nextgen_pro_upgrade_page iframe{height:370px;width:650px;max-width:100%}#nextgen_pro_upgrade_page a.button-primary{line-height:1.6em;line-height:50px;height:50px!important;padding:0 30px!important;font-size:14px;background-color:#9fbb1a;border:none;box-shadow:none;text-transform:uppercase;width:300px;max-width:100%;text-shadow:none;text-align:center;margin:40px 0;font-weight:700}@media (max-width:1150px){#nextgen_pro_upgrade_page p span{display:none}#nextgen_pro_upgrade_page p{width:100%;max-width:100%;float:none}#nextgen_pro_upgrade_page .feature-section{float:none;width:100%;margin-left:0}#nextgen_pro_upgrade_page a.button-primary{margin:40px 0}}
\ No newline at end of file
+#ngg_page_content #nextgen_pro_upgrade_page .ngg_page_content_main{padding:20px 40px 200px}.gallery_page_ngg_pro_upgrade #update-nag,.gallery_page_ngg_pro_upgrade .update-nag{display:none}#nextgen_pro_upgrade_page{max-width:none}#nextgen_pro_upgrade_page .about-wrap .about-text{min-height:auto}#nextgen_pro_upgrade_page img{width:600px;max-width:100%}#nextgen_pro_upgrade_page h1{margin:40px 0 20px}#nextgen_pro_upgrade_page p{min-height:auto;margin:30px 0;color:#000;width:35%;float:left;max-width:400px;box-sizing:border-box;font-size:22px;font-weight:300}#nextgen_pro_upgrade_page p span{font-family:Brush Script MT;color:#d5d5d5;font-size:34px;text-align:right;width:100%;margin-top:60px;display:none}#nextgen_pro_upgrade_page.nextgen_plus p span{margin-top:30px}#nextgen_pro_upgrade_page .feature-section{float:left;width:60%;margin-top:15px;box-sizing:border-box;margin-left:30px;padding:0;border:1px solid #eee;box-shadow:0 0 4px 2px rgba(0,0,0,.05)}#nextgen_pro_upgrade_page iframe{height:370px;width:650px;max-width:100%}#nextgen_pro_upgrade_page a.button-primary{line-height:50px;height:50px!important;padding:0 30px!important;font-size:14px;max-width:100%;margin:40px 0}@media (max-width:1150px){#nextgen_pro_upgrade_page p span{display:none}#nextgen_pro_upgrade_page p{width:100%;max-width:100%;float:none}#nextgen_pro_upgrade_page .feature-section{float:none;width:100%;margin-left:0}#nextgen_pro_upgrade_page a.button-primary{margin:40px 0}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/plus.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/plus.php
index 41545aa64..f2fa73a57 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/plus.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/plus.php
@@ -17,7 +17,7 @@ if ($action_status['message']!='') : ?>
                 <span><?php esc_html_e($i18n->video); ?></span>
             </p>
             <div class="feature-section">
-                <iframe src="https://www.youtube.com/embed/zmA-b_jiXN0" frameborder="0" allowfullscreen></iframe>
+                <iframe src="https://www.youtube.com/embed/ePnYGQX0Lf8" frameborder="0" allowfullscreen></iframe>
             </div>
         </div>
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/pro.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/pro.php
index dd0d8c456..f035d282b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/pro.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/pro.php
@@ -20,7 +20,7 @@ if ($action_status['message']!='') : ?>
                 <span><?php esc_html_e($i18n->video); ?></span>
             </p>
             <div class="feature-section">
-                <iframe src="https://www.youtube.com/embed/zmA-b_jiXN0" frameborder="0" allowfullscreen></iframe>
+                <iframe src="https://www.youtube.com/embed/ePnYGQX0Lf8" frameborder="0" allowfullscreen></iframe>
             </div>
 		    
 		</div> <!-- /#ngg_page_content_main -->
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php
index 2d69ecdc4..ace59848a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php
@@ -18,7 +18,7 @@ class M_NextGen_Settings extends C_Base_Module
 			'photocrati-nextgen_settings',
 			'NextGEN Gallery Settings',
 			'Provides central management for NextGEN Gallery settings',
-			'3.1.6',
+			'3.1.8',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
@@ -53,10 +53,9 @@ class C_NextGen_Settings_Installer
 			'wpmuImportFolder' => FALSE,
 			'wpmuZipUpload'    => FALSE,
 			'wpmuQuotaCheck'   => FALSE,
-			'datamapper_driver'     => 'custom_table_datamapper',
-			'gallerystorage_driver' => 'ngglegacy_gallery_storage',
-			'maximum_entity_count'  => 500,
-			'router_param_slug'     => 'nggallery'
+			'datamapper_driver'    => 'custom_table_datamapper',
+			'maximum_entity_count' => 500,
+			'router_param_slug'    => 'nggallery'
 		);
 
 		$this->_local_settings = array(
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php
index 01ae873c6..909f5b55d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php
@@ -21,7 +21,7 @@ class M_NextGen_XmlRpc extends C_Base_Module
 			'photocrati-nextgen_xmlrpc',
 			'NextGEN Gallery XML-RPC',
 			'Provides an XML-RPC API for NextGEN Gallery',
-			'3.0.0',
+			'3.1.16',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php
index c160e86b6..efb5336cb 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php
@@ -135,7 +135,6 @@ class A_NextGen_API_Ajax extends Mixin
         $response = array();
         if ($user_obj != null && !is_a($user_obj, 'WP_Error')) {
             wp_set_current_user($user_obj->ID);
-            $security = $this->get_registry()->get_utility('I_Security_Manager');
             $app_config = $this->object->param('app_config');
             $task_list = $this->object->param('task_list');
             $extra_data = $this->object->param('extra_data');
@@ -167,7 +166,7 @@ class A_NextGen_API_Ajax extends Mixin
                     $task_auth = false;
                     switch ($task_type) {
                         case 'gallery_add':
-                            $task_auth = $security->is_allowed('nextgen_edit_gallery');
+                            $task_auth = M_Security::is_allowed('nextgen_edit_gallery');
                             break;
                         case 'gallery_remove':
                         case 'gallery_edit':
@@ -179,20 +178,19 @@ class A_NextGen_API_Ajax extends Mixin
                                 $gallery = $gallery_mapper->find($query_id);
                             }
                             if ($gallery != null) {
-                                $actor = $security->get_current_actor();
-                                $task_auth = $actor->get_entity_id() == $gallery->author || $actor->is_allowed('nextgen_edit_gallery_unowned');
+                                $task_auth = wp_get_current_user()->ID == $gallery->author || M_Security::is_allowed('nextgen_edit_gallery_unowned');
                             } else {
-                                $task_auth = $security->is_allowed('nextgen_edit_gallery');
+                                $task_auth = M_Security::is_allowed('nextgen_edit_gallery');
                             }
                             break;
                         case 'album_add':
-                            $task_auth = $security->is_allowed('nextgen_edit_album');
+                            $task_auth = M_Security::is_allowed('nextgen_edit_album');
                             break;
                         case 'album_remove':
-                            $task_auth = $security->is_allowed('nextgen_edit_album');
+                            $task_auth = M_Security::is_allowed('nextgen_edit_album');
                             break;
                         case 'album_edit':
-                            $task_auth = $security->is_allowed('nextgen_edit_album');
+                            $task_auth = M_Security::is_allowed('nextgen_edit_album');
                             break;
                         case 'image_list_move':
                             break;
@@ -865,7 +863,7 @@ class C_NextGen_API extends C_Component
                                                         $ngg_image = $storage->upload_base64_image($gallery, $image_data, $image_filename, $image_id, true);
                                                         if ($ngg_image != null) {
                                                             $image_status = 'done';
-                                                            $image_id = $ngg_image->{$ngg_image->id_field};
+                                                            $image_id = is_int($ngg_image) ? $ngg_image : $ngg_image->{$ngg_image->id_field};
                                                         }
                                                     } catch (E_NoSpaceAvailableException $e) {
                                                         $image_error = __('No space available for image (%1$s).', 'nggallery');
@@ -1303,6 +1301,7 @@ class C_NextGen_API_XMLRPC extends C_Component
                     try {
                         $image = $storage->upload_base64_image($gallery, $data['bits'], $data['name'], $data['image_id'], $data['override']);
                         if ($image) {
+                            $image = is_int($image) ? C_Image_Mapper::get_instance()->find($image, TRUE) : $image;
                             $storage = C_Gallery_Storage::get_instance();
                             $image->imageURL = $storage->get_image_url($image);
                             $image->thumbURL = $storage->get_thumb_url($image);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php
index 7a91f1976..5116814c2 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php
@@ -354,7 +354,7 @@ class nggAdminPanel{
 
 		switch ($_GET['page']) {
 			case NGGFOLDER :
-				wp_add_inline_style( 'nggadmin', file_get_contents(C_Fs::get_instance()->find_static_abspath('photocrati-nextgen-legacy#overview.css') ) );		
+				wp_add_inline_style('nggadmin', file_get_contents(M_Static_Assets::get_static_abspath('photocrati-nextgen-legacy#overview.css')));
 			case "nggallery-about" :
 				wp_enqueue_style( 'nggadmin' );
                 //TODO:Remove after WP 3.3 release
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php
index 5839184d1..1766cc85d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php
@@ -523,7 +523,7 @@ function ngg_confirm_delete_album(form) {
 						<?php } ?>
 					<?php } else { ?>
 						<?php if (nggGallery::current_user_can('NextGEN Add/Delete album')) { ?>
-                            <span><?php esc_html_e('Add new album', 'nggallery'); ?>&nbsp;</span>
+                            <span class="ngg_new_album"><?php esc_html_e('Add new album', 'nggallery'); ?>&nbsp;</span>
                             <input class="search-input" id="newalbum" name="newalbum" type="text" value="" />
                             <input class="button-primary action" type="submit" name="add" value="<?php esc_attr_e('Add', 'nggallery'); ?>"/>
 						<?php } ?>
@@ -540,7 +540,7 @@ function ngg_confirm_delete_album(form) {
 			| <a href="#" title="<?php esc_attr_e('Maximize the widget content','nggallery'); ?>" id="all_max"><?php esc_html_e('Maximize', 'nggallery'); ?></a>
 			| <a href="#" title="<?php esc_attr_e('Minimize the widget content','nggallery'); ?>" id="all_min"><?php esc_html_e('Minimize', 'nggallery'); ?></a>
 			</div>
-			<?php esc_html_e('After you create and select an album, you can drag and drop a gallery or another album into your new album below','nggallery'); ?>
+			<?php esc_html_e('After you create and select an album, you can drag and drop a gallery or another album into your new album below.','nggallery'); ?>
 		</div>
 
 		<br class="clear" />
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css
index 655629fd6..f80c83d63 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css
@@ -47,16 +47,20 @@
 
 #ngg_page_content .ngg_overview .ngg_page_content_main h2 {
 	text-align: left;
-    font-size: 28px;
-    font-weight: 500;
-    color: #444;
-    margin: 20px 0;
+    font-size: 22px;
+    font-weight: 400;
+    color: black;
+    margin: 20px 0 20px;
+    text-transform: uppercase;
+    letter-spacing: 2px;
 }
 
 #ngg_page_content .ngg_overview .ngg_page_content_main .about-text {
-	font-size: 18px;
+	font-size: 17px;
 	max-width: none;
 	margin: 20px 0;
+	color: black;
+	font-weight: 400;
 }
 
 #ngg-gallery-wizard {
@@ -69,17 +73,18 @@
     line-height: 80px;
     color: #fff;
     font-size: 14px;
-    background: rgba(93, 134, 167, 0.18);
     margin-right: 0;
-    padding: 0 40px;
-    border-left: 1px solid #566b7c;
-    color: #a7b8c6;
+    color: black;
+    font-weight: 400;
+    letter-spacing: .5px;
 }
 
-#ngg-gallery-wizard a {
-	font-weight: bold;
-	text-decoration: none;
-	margin-left: 20px;
+#ngg_page_content #ngg-gallery-wizard a {
+    font-weight: bold;
+    text-decoration: none;
+    margin-left: 20px;
+    height: 50px !important;
+    line-height: 50px;
 }
 
 .warning {
@@ -126,7 +131,14 @@
 }
 
 .toplevel_page_nextgen-gallery .feature-video iframe {
-    box-shadow: 0 0 50px 25px rgba(0,0,0,.03);
+    box-shadow: 0 0 8px 4px rgba(0,0,0,.03);
+    width: 800px;
+    height: 450px;
+    max-width: 100%;
+}
+
+div[data-id="welcome-link"] .about-text {
+	margin: 0 0 40px !important;
 }
 
 div[data-id="pro-link"] .feature-section {
@@ -147,12 +159,9 @@ div[data-id="pro-link"] .feature-section iframe {
 }
 
 #ngg_page_content .button-primary.ngg-pro-upgrade {
-	text-transform: uppercase;
     height: 50px !important;
     padding: 0 40px !important;
     line-height: 50px;
-    font-weight: 600;
-    letter-spacing: .5px;
 }
 
 div[data-id="videos-link"] .feature-section,
@@ -230,7 +239,7 @@ a.switch-expert {
 .ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content .notice, 
 .ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated, 
 .ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.error {
-    margin: -10px 0 40px 0;
+    margin: 10px 0 40px 0;
 }
 
 .ngg_admin_notice ul {
@@ -268,6 +277,9 @@ a.switch-expert {
     float: left;
     margin: 0;
     line-height: 50px;
+    text-transform: uppercase;
+    font-size: 16px;
+    letter-spacing: 1.5px;
 }
 
 #gallerydiv span.toggle-indicator {
@@ -304,6 +316,17 @@ a.switch-expert {
 }
 #ngg_page_content .ngg_manage_galleries .search-box {
     margin-bottom: 10px;
+    float: none;
+    position: relative;
+    left: 470px;
+    top: 47px;
+    margin-top: -40px;
+    width: 360px;
+}
+#ngg_page_content #editgalleries .displaying-num {
+    margin-right: 7px !important;
+    font-size: 14px;
+    letter-spacing: 1px;
 }
 #ngg_page_content .ngg_manage_galleries .tablenav.bottom {
     margin: 15px 0 0;
@@ -325,17 +348,38 @@ a.switch-expert {
     width: 50px !important;
 }
 
+#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages {
+    margin-top: 0;
+}
+
+#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages {
+    margin-top: 6px;
+}
+
 #ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages a,
 #ngg_page_content .ngg_manage_images .tablenav .tablenav-pages a {
-    background: #9fbb1a;
+    background: black;
     border: none;
     color: #fff !important;
     margin: 0 2px;
+    text-decoration: none;
+    font-size: 20px;
+    padding: 4px;
+    line-height: 20px;
+    padding: 2px 8px 6px 8px;
 }
 
 #ngg_page_content .ngg_manage_images .tablenav input,
 #ngg_page_content .ngg_manage_images .tablenav select {
     width: auto;
+    margin-top: 0;
+}
+
+#ngg_page_content .ngg_manage_images .tablenav input.current-page,
+#ngg_page_content #ngg-manage-images-items-per-page {
+    padding: 4px !important;
+    text-align-last: center;
+    background-image: none;
 }
 
 
@@ -346,11 +390,7 @@ a.switch-expert {
 
 #ngg_page_content .ngg_manage_galleries table thead,
 #ngg_page_content .ngg_manage_galleries table tfoot {
-	background-color: #38576f;
-}
-
-#ngg_page_content .ngg_manage_galleries table tfoot {
-    background-color: #38576f;
+	background-color: black;
 }
 
 #ngg_page_content .ngg_manage_galleries table thead th, 
@@ -381,7 +421,9 @@ a.switch-expert {
 }
 
 .ngg_manage_galleries td.title {
-    font-weight: bold;
+    text-transform: uppercase;
+    font-weight: 400;
+    font-size: 13px !important;
 }
 
 .ngg_manage_galleries th#author {
@@ -393,7 +435,7 @@ a.switch-expert {
 }
 
 #ngg_page_content .ngg_manage_galleries table tr.alternate  {
-	background-color: rgb(247, 248, 243);
+	background-color: #f7f7f7;
 }
 
 #ngg_page_content .ngg_manage_galleries th a {
@@ -443,13 +485,11 @@ table#ngg-listimages {
 
 #ngg-listimages thead,
 #ngg-listimages tfoot {
-	background: #f5f5f5;
-	background-color: #38576f;
+	background: black;
 }
 
 #ngg-listimages tfoot {
-	background: #f5f5f5;
-	background-color: #38576f;
+	background: black;
 }
 
 
@@ -459,7 +499,7 @@ table#ngg-listimages {
 }
 
 #ngg-listimages tr.alternate {
-	background-color: rgb(247, 248, 243);
+	background-color: #f7f7f7;
 }
 
 #ngg-listimages td {
@@ -552,7 +592,6 @@ table#ngg-listimages {
 
 #ngg-listimages .column-7 select {
 	font-size: 12px;
-	height: 25px !important;
 }
 
 #ngg-listimages .row-actions {
@@ -590,9 +629,9 @@ table#ngg-listimages {
 .gallery_page_nggallery-manage-gallery .ui-dialog {
     border: none;
     padding: 0;
-    width: 80% !important;
+    max-width: 95% !important;
     z-index: 10000 !important;
-    left: 10% !important;
+    margin: 0 auto !important;
 }
 
 .gallery_page_nggallery-manage-album .ui-dialog {
@@ -621,6 +660,8 @@ table#ngg-listimages {
     line-height: 35px;
     width: auto !important;
     margin-right: 10px;
+    text-transform: uppercase;
+    letter-spacing: 1px;
 }
 
 .gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button:hover,
@@ -636,10 +677,16 @@ table#ngg-listimages {
 
 .gallery_page_nggallery-manage-gallery .ui-dialog-titlebar,
 .gallery_page_nggallery-manage-album .ui-dialog-titlebar{
-    background: #143650;
+    background: black;
     padding: 10px;
 }
 
+.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar .ui-dialog-title,
+.gallery_page_nggallery-manage-album .ui-dialog-titlebar .ui-dialog-title {
+	text-transform: uppercase;
+	letter-spacing: 1px;
+}
+
 .gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button,
 .gallery_page_nggallery-manage-album .ui-dialog-titlebar button {
     background: #fff !important;
@@ -791,16 +838,6 @@ div .progressbar span {
 
 /* SETTINGS FOR ALBUM PAGE */
 
-/* Quick fix to ensure js-filled album container is tall enough to contain content */
-/*#ngg_page_content .ngg_manage_albums  .ngg_page_content_main {
-	min-height: 2000px;
-}*/
-
-
-.gallery_page_nggallery-manage-album #ngg_page_content .wrap {
-    background: #f1f1f1;
-}
-
 .gallery_page_nggallery-manage-album .wrap>h2:first-child {
 	display:none;
 }
@@ -813,34 +850,32 @@ div .progressbar span {
     margin-bottom: 35px;
 }
 
-.ngg_manage_albums {
-    color: #777;
-}
-
 .ngg_manage_albums .widget {
 	box-sizing: border-box;
     border: 1px solid #eee;
     padding: 10px 10px 20px;
-    background: rgb(247, 248, 243);
     width: 32%;
     margin: 0 1% 0 0;
     float: left;
-}
-
-.ngg_manage_albums .target-album {
-    width: 39%;
-}
-
-.ngg_manage_albums .widget.widget-right {
-	width: 29%;
+    box-shadow: 0 0 4px 2px rgba(0 0 4px 2px rgba(0,0,0,.02));
 }
 
 .container {
 	margin-top: 10px;
 }
 
+.ngg_manage_albums .container {
+	margin-top: 30px;
+}
+
 .ngg_select_album {
 	margin: 0 50px 0 2px;
+	vertical-align: middle;
+}
+
+#newalbum,
+.ngg_new_album {
+    vertical-align: middle;
 }
 
 .albumnav select[name="act_album"] {
@@ -855,7 +890,8 @@ div .progressbar span {
 	box-shadow: none;
 	background: transparent;
 	border: none;
-	margin-bottom: 5px;
+	margin: -10px -10px 20px -10px;
+    background: #f7f7f7;
 }
 
 div .groupItem
@@ -876,14 +912,11 @@ div .innerhandle {
 {
 	background-color:#9fbb1a;
 	color: #FFFFFF;
-	font-weight:bold;
+	font-weight:400;
 	line-height: 28px;
 	height: 28px;
 	padding: 0 5px;
-	-moz-border-radius: 3px;
-	-khtml-border-radius: 3px;
-	-webkit-border-radius: 3px;
-	border-radius: 3px;
+	border-radius: 0;
 	height: 40px;
 	padding: 0 10px;
 	line-height: 40px;
@@ -891,7 +924,7 @@ div .innerhandle {
 
 #ngg_page_content .groupItem .album_obj
 {
-	background-color: #38576f;
+	background-color: black;
 }
 
 #ngg_page_content .groupItem .item_top a
@@ -955,6 +988,8 @@ div.widget-top h3 {
 	margin: 0;
 	padding: 5px 12px;
 	font-size: 13px;
+	letter-spacing: .5px;
+	text-transform: uppercase;
 }
 
 div.widget-top {
@@ -1092,17 +1127,17 @@ DIV that shows the image as you drag it
 	}
 }
 
+@media (max-width: 1420px) {
+	#ngg_page_content .ngg_manage_galleries .search-box {
+	    position: static;
+	}
+}
+
 @media (max-width: 1080px) {
 	#ngg-gallery-wizard > span {
         display: none;
     }
-}
-
-@media (max-width: 1024px) {
-	/* Manage Galleries */ 
-	.ngg_manage_galleries .search-form {
-	    display: none;
-	}
+    /* Manage Galleries */ 
 	.ngg_manage_galleries .tablenav.bottom {
 	    display: none;
 	}
@@ -1110,7 +1145,9 @@ DIV that shows the image as you drag it
         margin-bottom: 8px;
     }
     .ngg_manage_images #gallery_fields td:nth-of-type(odd) {
-        background: rgb(247, 248, 243);
+	    background: #f7f7f7;
+	    padding-left: 10px;
+	    font-weight: bold;
     }
     .ngg_manage_images #gallery_fields,
     .ngg_manage_images #gallery_fields tbody,
@@ -1121,9 +1158,6 @@ DIV that shows the image as you drag it
     	box-sizing: border-box;
     }
     .ngg_manage_images #gallery_fields td {
-        /*display: block;
-        width: 100%;*/
-        /*box-sizing: border-box;*/
         padding: 10px 5px;
         border: 1px solid rgb(247, 248, 243);
         margin: 0;
@@ -1217,14 +1251,12 @@ DIV that shows the image as you drag it
 	#ngg-listimages td.column-3 {
 		width: 55%;
 		max-width: 300px;
-		/*height: 150px;*/
 		float: left;
 		box-sizing: border-box;
 		padding-bottom: 10px !important;
 	}
 	#ngg-listimages td.column-4 {
 		width: 40% !important;
-		/*height: 150px;*/
 		float: left;
 		box-sizing: border-box;
 	}
@@ -1258,6 +1290,14 @@ DIV that shows the image as you drag it
 	#ngg-gallery-wizard {
         display: none;
     }
+    #ngg_page_content .ngg_manage_galleries .tablenav.top > div {
+	    display: block;
+	    width: 100%;
+	}
+	#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages {
+	    margin-top: 20px;
+	    margin-bottom: 28px !important;
+	}
 }
 
 @media (max-width: 737px) {
@@ -1289,7 +1329,7 @@ DIV that shows the image as you drag it
 	}
 	.ngg_manage_albums .target-album,
 	.ngg_manage_albums .widget.widget-right {
-	    width: 32%;
+	    width: 32% !important;
 	    margin: .5% !important;
 	    padding: 5px 5px 10px;
 	}
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css
index a15081355..1c4de4147 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css
@@ -1 +1 @@
-#iframely h2.title,.gallery_page_nggallery-manage-gallery #ngg_page_content>.wrap>h2{display:none}#gallerydiv span.toggle-indicator:hover,.show_details,div#poststuff #gallerydiv{cursor:pointer}.toplevel_page_nextgen-gallery #ngg_page_content{width:98%}.toplevel_page_nextgen-gallery #ngg_page_content .about-wrap.ngg_overview{width:100%}.toplevel_page_nextgen-gallery #ngg_page_content .ngg_page_content_main{padding-right:40px!important}#newversion{border-color:#CCC;border-style:solid;border-width:1px;margin-right:7px;margin-top:10px;padding:2px}.ngg-dashboard-widget ul.settings span{padding-left:10px;color:#2583AD;font-weight:700}.ngg-overview .postbox .handlediv{float:right;height:24px;width:24px}#ngg_page_content .ngg_overview .ngg_page_content_header h2{padding-top:2px}#ngg_page_content .ngg_overview .ngg_page_content_main h2{text-align:left;font-size:28px;font-weight:500;color:#444;margin:20px 0}#ngg_page_content .ngg_overview .ngg_page_content_main .about-text{font-size:18px;max-width:none;margin:20px 0}#ngg-gallery-wizard{min-height:auto;position:absolute;top:0;right:0;text-align:right;margin:0;line-height:80px;font-size:14px;background:rgba(93,134,167,.18);padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6}#ngg-gallery-wizard a{font-weight:700;text-decoration:none;margin-left:20px}.warning{color:#9F6000;background-color:#FEEFB3;border:1px solid;margin:5px 0;padding:5px}#donator_message,#wm-preview{border-style:solid;border-width:1px}#donator_message{background-color:#BDE5F8;border-color:#00529B;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;margin:5px 15px 2px;padding:0 .6em}#wm-preview h3,.wm-table tr{background:0 #F9F9F9}#donator_message p{line-height:1;margin:.5em 0;padding:2px 2px 10px}#donator_message span{padding-top:10px;float:right}#plugin_check img{float:right}#plugin_check p.message{font-size:90%;color:#666}.toplevel_page_nextgen-gallery .feature-video iframe{box-shadow:0 0 50px 25px rgba(0,0,0,.03)}div[data-id=pro-link] .feature-section{position:relative;margin:40px 0;padding-bottom:56.25%}div[data-id=pro-link] .feature-section iframe{max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%}#ngg_page_content .button-primary.ngg-pro-upgrade{text-transform:uppercase;height:50px!important;padding:0 40px!important;line-height:50px;font-weight:600;letter-spacing:.5px}div[data-id=videos-link] .feature-section,div[data-id=videos-link] .feature-section .col,div[data-id=genesis-link] .feature-section,div[data-id=genesis-link] .feature-section .col{padding:0;margin:0}.ngg-admin .ui-dialog{max-width:100%}.ngg-options th{width:22%}a.switch-expert{text-decoration:none}#wm-preview{float:right;font-size:90%;width:35%;border-color:#EBEBEB #ccc #ccc #ebebeb;margin-bottom:10px;margin-left:10px;margin-right:8px;padding:2px}#wm-preview h3{font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 5px}.wm-table td,.wm-table th{border-bottom:8px solid #FFF;padding:10px}#wm-position{width:100%;margin-left:40px}.wm-table{border-collapse:collapse;margin-top:1em;width:60%;clear:none}.wm-table td{line-height:20px;margin-bottom:9px}.wm-table th{text-align:left}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content .notice,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.error,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated{margin:-10px 0 40px}.ngg_admin_notice ul{list-style:circle inside;margin:0;padding:0}.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main{padding-top:30px}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated#message{margin-bottom:35px}#ngg_page_content .ngg_manage_galleries .tablenav{margin:0 0 30px}#ngg_page_content .ngg_manage_images .handlediv{float:none;width:100%;height:50px}#gallerydiv h3,#gallerydiv span.toggle-indicator{display:inline-block;float:left;line-height:50px}#gallerydiv h3{height:50px;margin:0}#gallerydiv span.toggle-indicator:before{font-size:24px;margin:12px 20px 0 10px}#gallerydiv h3:active,#gallerydiv h3:focus,#gallerydiv span.toggle-indicator:active,#gallerydiv span.toggle-indicator:focus{outline:0;border:none;-moz-outline-style:none}#ngg_page_content .ngg_manage_images .tablenav{margin:50px 0 30px}#ngg_page_content .ngg_manage_galleries .search-box,#ngg_page_content .ngg_manage_galleries .tablenav.top>div,#ngg_page_content .ngg_manage_images .tablenav.top>div{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .tablenav.bottom{margin:15px 0 0}#ngg_page_content .ngg_manage_images .tablenav.bottom{margin:25px 0 0}.ngg-admin #ngg_page_content .ngg_manage_images td{vertical-align:top}#ngg_page_content .ngg_manage_galleries .tablenav input{height:28px;width:50px;padding:0 3px}#ngg_page_content .ngg_manage_galleries .tablenav input.current-page{width:50px!important}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages a,#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages a{background:#9fbb1a;border:none;color:#fff!important;margin:0 2px}#ngg_page_content .ngg_manage_images .tablenav input,#ngg_page_content .ngg_manage_images .tablenav select{width:auto}#ngg_page_content .ngg_manage_galleries table{box-shadow:none;border:1px solid rgba(159,187,26,.08)!important}#ngg_page_content .ngg_manage_galleries table tfoot,#ngg_page_content .ngg_manage_galleries table thead{background-color:#38576f}#ngg_page_content .ngg_manage_galleries table tfoot td,#ngg_page_content .ngg_manage_galleries table tfoot th,#ngg_page_content .ngg_manage_galleries table thead td,#ngg_page_content .ngg_manage_galleries table thead th{background-color:transparent;border:none}#ngg_page_content .ngg_manage_galleries table td,#ngg_page_content .ngg_manage_galleries table th{padding:12px 10px;font-size:14px}#ngg_page_content .ngg_manage_galleries table th{font-weight:700!important;color:#fff}.ngg_manage_galleries th#id{width:33px}.ngg_manage_galleries th#title{min-width:140px}.ngg_manage_galleries td.title{font-weight:700}.ngg_manage_galleries th#author{min-width:80px}.ngg_manage_galleries th#page_id{min-width:60px}#ngg_page_content .ngg_manage_galleries table tr.alternate{background-color:#f7f8f3}#ngg_page_content .ngg_manage_galleries th a{padding:0!important;color:#fff}div#poststuff{min-width:auto}p#ngg-inlinebutton{float:right;margin:0;position:relative;top:-25pt}#gallery_fields{width:100%}#gallery_fields td{padding:5px;min-width:105px}#gallery_fields tr td:nth-of-type(2){padding-right:60px}#gallery_fields input[type=text],#gallery_fields select,#gallery_fields textarea{min-width:220px;width:99%;color:#888}table#ngg-listimages{border:1px solid #f7f7f7}#ngg-listimages tfoot,#ngg-listimages thead{background:#38576f}#ngg-listimages.widefat thead th,.ngg-admin #ngg_page_content .widefat tfoot th{padding:12px 10px!important}#ngg-listimages tr.alternate{background-color:#f7f8f3}#ngg-listimages td{padding:15px 5px!important}#ngg-listimages .iedit,#ngg-listimages .iedit td,#ngg-listimages th{border:none}#ngg-listimages .iedit td,#ngg-listimages th{padding:15px 5px}#ngg-listimages th{font-size:12px;font-weight:700}#ngg-listimages .column select{width:100%!important}#ngg-listimages .column-1 input{margin:0 0 0 8px}#ngg-listimages .column-1{width:24px}#ngg-listimages .column-2{width:30px}#ngg-listimages .column-3{min-width:80px;width:15%}#ngg-listimages .column-3 .thumb{max-height:100%;max-width:100%}#ngg-listimages .column-4{width:15%;max-width:220px;font-size:12px}#ngg-listimages .column-4 .meta,#ngg-listimages .column-4 label{font-size:10px;color:#888}#ngg-listimages .column-4 label input[type=checkbox]{margin:-2px 4px 0 0}#ngg-listimages .column-5 input[type=text],#ngg-listimages .column-5 textarea,#ngg-listimages .column-6 textarea{width:100%;padding:3px 5px;font-size:12px;color:#888;border:1px solid #eee;margin:1px 0;box-shadow:none}#ngg-listimages .column-5 input[type=text]{height:25px}#ngg-listimages .column-5 textarea{height:70px}#ngg-listimages .column-6 textarea{height:97px}#ngg-listimages .column-7 select{font-size:12px;height:25px!important}#ngg-listimages .row-actions{padding:0 0 6px 4px;margin-bottom:-2px;position:relative;bottom:4px;left:0;right:0}#ngg-listimages .row_actions,#ngg-listimages .row_actions td{border-top:none;padding:0!important}#ngg-listimages .row-actions a{font-size:12px}#ngg-listimages ul.imagify-datas-list .big{color:#9fbb1a}#ngg-listimages .imagify-datas-more-action a{background:#9fbb1a;color:#fff}.gallery_page_nggallery-manage-gallery .ui-dialog{border:none;padding:0;width:80%!important;z-index:10000!important;left:10%!important}.gallery_page_nggallery-manage-album .ui-dialog{border:none;padding:0;z-index:10000!important;width:650px!important;max-width:98%!important}.gallery_page_nggallery-manage-album .ui-dialog .button-primary,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button,.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery .ui-dialog button{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important;margin-right:10px}.gallery_page_nggallery-manage-album .ui-dialog .button-primary:hover,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery .ui-dialog button:hover .gallery_page_nggallery-manage-gallery .ui-dialog .button-primary:hover{background-color:#A9C524!important}.gallery_page_nggallery-manage-album .ui-dialog-titlebar,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar{background:#143650;padding:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button{background:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:24px!important;width:24px!important;padding:0!important;line-height:1;float:none;margin-right:0;border-radius:50%;top:17px;right:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:hover{background:#fff!important}.gallery_page_nggallery-manage-album .ui-dialog .ngg-overlay-dialog,.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 20px;box-sizing:border-box;width:100%!important}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog table{border:none}.gallery_page_nggallery-manage-album .ngg-overlay-dialog #ngg-overlay-dialog-main,.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #ngg-overlay-dialog-main{width:70%;padding:20px 20px 0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog td small{display:block;text-align:center;width:200px;margin:0 auto 20px}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom{text-align:center;padding:30px 0 0}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom input[type=button]{float:none;margin-right:0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #thumbMsg{color:#693;font-size:11px;width:100%;display:inline-block;height:35px;line-height:35px;margin:10px 0}.gallery_page_nggallery-manage-gallery .ui-dialog form{margin-top:30px;margin-left:30px}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:focus{border:1px solid #b4b9be;box-shadow:none}.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{color:#9fbb1a}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:checked:before{background:#9fbb1a;width:14px;height:14px;margin:0}div .progressborder{border:1px solid #DDD;display:block;height:30px;background-color:#464646;width:100%;margin-top:15px;margin-bottom:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar{border:none;display:block;height:30px;background-color:#9fbb1a;width:0%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar span{display:inline;position:absolute;color:#fff;font-weight:700;padding:5px 0 0 5px}.show_details{height:16px;line-height:20px;overflow:hidden;min-width:8em;padding:3px}.show_details span{border-bottom:1px solid #999;white-space:pre}.show_details:hover{height:auto;overflow:visible;border:1px solid #999}.gallery_page_nggallery-manage-album #ngg_page_content .wrap{background:#f1f1f1}.gallery_page_nggallery-manage-album .wrap>h2:first-child{display:none}.gallery_page_nggallery-manage-album #ngg_page_content div.updated{margin:0 0 15px}.gallery_page_nggallery-manage-album #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_albums{color:#777}.ngg_manage_albums .widget{box-sizing:border-box;border:1px solid #eee;padding:10px 10px 20px;background:#f7f8f3;width:32%;margin:0 1% 0 0;float:left}.ngg_manage_albums .target-album{width:39%}.ngg_manage_albums .widget.widget-right{width:29%}.container{margin-top:10px}.ngg_select_album{margin:0 50px 0 2px}.albumnav select[name=act_album]{width:150px}#editalbum select[name=pageid]{width:95%}#ngg_page_content .ngg_manage_albums .widget-top{box-shadow:none;background:0 0;border:none;margin-bottom:5px}div .groupItem{cursor:move;padding:2px;line-height:1.5;width:100%;margin:0;box-sizing:border-box}div .innerhandle{background-color:#FBFBFB}.groupItem .item_top{background-color:#9fbb1a;color:#FFF;font-weight:700;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;height:40px;padding:0 10px;line-height:40px}#ngg_page_content .groupItem .album_obj{background-color:#38576f}#ngg_page_content .groupItem .item_top a{color:#FFF;float:right;text-decoration:none}.groupItem .item_top a:hover{color:#FFF}.itemContent{border-color:#DFDFDF;border-style:none solid solid;border-width:0 1px 1px;padding:2px 0 20px 2px}.itemContent p{border:0;margin:0;padding:0}.inlinepicture{float:left;display:inline;margin:0;padding:0 3px 1px}.inlinepicture img{margin:3px;max-height:60px}.sort_placeholder{border:1px dashed #bba!important;margin:5px;background:#F9F9F9}.widget-holder{min-height:400px;padding-top:1px}.target{background-color:transparent}div.widget-top h3{text-align:center;line-height:25px;margin:0;padding:5px 12px;font-size:13px}div.widget-top{text-shadow:0 1px 0 #FFF;background-repeat:repeat-x;background-position:0 0;font-size:13px}.ui-autocomplete-start{background-position:99% center}#ngg_page_content .ngg_gallery_sort .tablenav{margin:15px 0}#ngg_page_content .ngg_gallery_sort ul.subsubsub{margin:10px 0 15px}#ngg_page_content .ngg_gallery_sort .imageBox_theImage{width:auto}#sortGallery{position:relative}p#sortButton{margin:0;position:absolute;right:0;top:0}.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left;overflow:hidden;text-overflow:ellipsis;padding:5px}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto 2px}.imageBox_label{text-align:center;font-family:arial;font-size:11px;padding-top:2px;margin:0 auto}#insertionMarker{height:150px;width:6px;position:absolute}#insertionMarkerLine{width:6px;height:145px}#insertionMarker img{float:left}#dragDropContent{opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:10;display:none}.error_inline{background:0 #FFEBE8;border:1px solid #C00;margin:5px auto;padding:10px}.ngg-list{font-size:11px;margin-left:15px;list-style-position:inside;list-style-type:disc}#ngg-manage-images-items-per-page-label{float:right;line-height:35px;margin-right:5px}#ngg-manage-images-items-per-page{float:right;margin-right:30px}@media (max-width:1200px){div[data-id=details-link] .two-col .col{width:100%;min-width:100%}}@media (max-width:1080px){#ngg-gallery-wizard>span{display:none}}@media (max-width:1024px){.ngg_manage_galleries .search-form,.ngg_manage_galleries .tablenav.bottom{display:none}.ngg_manage_images #gallery_fields td:nth-of-type(even){margin-bottom:8px}.ngg_manage_images #gallery_fields td:nth-of-type(odd){background:#f7f8f3}.ngg_manage_images #gallery_fields,.ngg_manage_images #gallery_fields tbody,.ngg_manage_images #gallery_fields td,.ngg_manage_images #gallery_fields tr{display:block;width:100%;box-sizing:border-box}.ngg_manage_images #gallery_fields td{padding:10px 5px;border:1px solid #f7f8f3;margin:0}}@media (max-width:900px){.ngg_manage_galleries tfoot{display:none}.ngg_manage_galleries .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}.ngg_manage_galleries td.author,.ngg_manage_galleries td.id,.ngg_manage_galleries td.page_id,.ngg_manage_galleries th#author,.ngg_manage_galleries th#id,.ngg_manage_galleries th#page_id{display:none!important}#ngg-listimages td.column.column-2,#ngg-listimages td.column.column-6,#ngg-listimages td.column.column-8,#ngg-listimages tfoot,#ngg-listimages thead .column-1,#ngg-listimages thead .column-2,#ngg-listimages thead .column-4,#ngg-listimages thead .column-5,#ngg-listimages thead .column-6,#ngg-listimages thead .column-7,#ngg-listimages thead .column-8{display:none}#ngg-listimages .column-3{min-width:200px}table#ngg-listimages,table#ngg-listimages thead{display:block}#ngg-listimages .iedit td{padding-bottom:30px!important}}@media (max-width:800px){table#ngg-listimages,table#ngg-listimages tbody,table#ngg-listimages td,table#ngg-listimages tr{display:block}table#ngg-listimages tr{padding:10px 5px!important}#ngg-listimages thead,#ngg-listimages thead th{display:block;width:100%;box-sizing:border-box}#ngg-listimages .row_actions td:first-of-type,#ngg-listimages tfoot{display:none}#ngg-listimages .row_actions{display:none;display:block;clear:both;padding:0 8px 10px!important;border-bottom:1px solid #c1c97c}#ngg-listimages td.column-3,.ngg-listimages tr.iedit td{padding-bottom:10px!important;float:left;box-sizing:border-box}.ngg-listimages tr.iedit td{display:block!important}#ngg-manage-images-items-per-page,#ngg-manage-images-items-per-page-label,.ngg_manage_images .tablenav.bottom .displaying-num{display:none}#ngg-listimages td.column-1,#ngg-listimages td.column-2{width:10%!important;height:150px;float:left;box-sizing:border-box;display:none}#ngg-listimages td.column-3{width:55%;max-width:300px}#ngg-listimages td.column-4{width:40%!important;float:left;box-sizing:border-box}#ngg-listimages td.column-5,#ngg-listimages td.column-6,#ngg-listimages td.column-7{padding:0 5px!important}#ngg-listimages td.column-6{margin-top:-5px;margin-bottom:-8px}.ngg-listimages td.column-7{padding-bottom:15px}#ngg-listimages .column-6 textarea{height:60px}}@media (max-width:782px){#ngg-gallery-wizard{display:none}}@media (max-width:737px){.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{font-size:22px}.ngg-overlay-dialog input[type=radio]{height:16px;width:16px}#ngg-gallery-wizard{display:none}}@media (max-width:640px){.ngg_manage_galleries td.description,.ngg_manage_galleries th#description{display:none!important}.ngg_manage_albums .tablenav .actions{width:100%;float:none}.ngg_manage_albums .tablenav span{display:block}.ngg_manage_albums .target-album,.ngg_manage_albums .widget.widget-right{width:32%;margin:.5%!important;padding:5px 5px 10px}.groupItem .item_top{height:auto!important;line-height:1.5;padding:8px;font-size:12px}#ngg_page_content .groupItem .item_top a{display:none}.ngg_manage_albums div[style="float:right;"]{float:none!important}.gallery_page_nggallery-manage-gallery .ui-dialog{width:95%!important;left:2.5%!important}.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 10px}.ngg-overlay-dialog td{display:block;width:100%!important;padding:0!important}.ngg-overlay-dialog input[type=radio]{margin:2px 5px;height:16px;width:16px}}
\ No newline at end of file
+#iframely h2.title,.gallery_page_nggallery-manage-gallery #ngg_page_content>.wrap>h2{display:none}#gallerydiv span.toggle-indicator:hover,.show_details,div#poststuff #gallerydiv{cursor:pointer}.toplevel_page_nextgen-gallery #ngg_page_content{width:98%}.toplevel_page_nextgen-gallery #ngg_page_content .about-wrap.ngg_overview{width:100%}.toplevel_page_nextgen-gallery #ngg_page_content .ngg_page_content_main{padding-right:40px!important}#newversion{border-color:#CCC;border-style:solid;border-width:1px;margin-right:7px;margin-top:10px;padding:2px}.ngg-dashboard-widget ul.settings span{padding-left:10px;color:#2583AD;font-weight:700}.ngg-overview .postbox .handlediv{float:right;height:24px;width:24px}#ngg_page_content .ngg_overview .ngg_page_content_header h2{padding-top:2px}#ngg_page_content .ngg_overview .ngg_page_content_main h2{text-align:left;font-size:22px;font-weight:400;color:#000;margin:20px 0;text-transform:uppercase;letter-spacing:2px}#ngg_page_content .ngg_overview .ngg_page_content_main .about-text{font-size:17px;max-width:none;margin:20px 0;color:#000;font-weight:400}#ngg-gallery-wizard{min-height:auto;position:absolute;top:0;right:0;text-align:right;margin:0;line-height:80px;font-size:14px;color:#000;font-weight:400;letter-spacing:.5px}#ngg_page_content #ngg-gallery-wizard a{font-weight:700;text-decoration:none;margin-left:20px;height:50px!important;line-height:50px}.warning{color:#9F6000;background-color:#FEEFB3;border:1px solid;margin:5px 0;padding:5px}#donator_message,#wm-preview{border-style:solid;border-width:1px}#donator_message{background-color:#BDE5F8;border-color:#00529B;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;margin:5px 15px 2px;padding:0 .6em}#wm-preview h3,.wm-table tr{background:0 #F9F9F9}#donator_message p{line-height:1;margin:.5em 0;padding:2px 2px 10px}#donator_message span{padding-top:10px;float:right}#plugin_check img{float:right}#plugin_check p.message{font-size:90%;color:#666}.toplevel_page_nextgen-gallery .feature-video iframe{box-shadow:0 0 8px 4px rgba(0,0,0,.03);width:800px;height:450px;max-width:100%}div[data-id=welcome-link] .about-text{margin:0 0 40px!important}div[data-id=pro-link] .feature-section{position:relative;margin:40px 0;padding-bottom:56.25%}div[data-id=pro-link] .feature-section iframe{max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%}#ngg_page_content .button-primary.ngg-pro-upgrade{height:50px!important;padding:0 40px!important;line-height:50px}div[data-id=videos-link] .feature-section,div[data-id=videos-link] .feature-section .col,div[data-id=genesis-link] .feature-section,div[data-id=genesis-link] .feature-section .col{padding:0;margin:0}.ngg-admin .ui-dialog{max-width:100%}.ngg-options th{width:22%}a.switch-expert{text-decoration:none}#wm-preview{float:right;font-size:90%;width:35%;border-color:#EBEBEB #ccc #ccc #ebebeb;margin-bottom:10px;margin-left:10px;margin-right:8px;padding:2px}#wm-preview h3{font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 5px}.wm-table td,.wm-table th{border-bottom:8px solid #FFF;padding:10px}#wm-position{width:100%;margin-left:40px}.wm-table{border-collapse:collapse;margin-top:1em;width:60%;clear:none}.wm-table td{line-height:20px;margin-bottom:9px}.wm-table th{text-align:left}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content .notice,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.error,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated{margin:10px 0 40px}.ngg_admin_notice ul{list-style:circle inside;margin:0;padding:0}.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main{padding-top:30px}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated#message{margin-bottom:35px}#ngg_page_content .ngg_manage_galleries .tablenav{margin:0 0 30px}#ngg_page_content .ngg_manage_images .handlediv{float:none;width:100%;height:50px}#gallerydiv h3,#gallerydiv span.toggle-indicator{display:inline-block;float:left;line-height:50px}#gallerydiv h3{height:50px;margin:0;text-transform:uppercase;font-size:16px;letter-spacing:1.5px}#gallerydiv span.toggle-indicator:before{font-size:24px;margin:12px 20px 0 10px}#gallerydiv h3:active,#gallerydiv h3:focus,#gallerydiv span.toggle-indicator:active,#gallerydiv span.toggle-indicator:focus{outline:0;border:none;-moz-outline-style:none}#ngg_page_content .ngg_manage_images .tablenav{margin:50px 0 30px}#ngg_page_content .ngg_manage_galleries .tablenav.top>div,#ngg_page_content .ngg_manage_images .tablenav.top>div{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .search-box{margin-bottom:10px;float:none;position:relative;left:470px;top:47px;margin-top:-40px;width:360px}#ngg_page_content #editgalleries .displaying-num{margin-right:7px!important;font-size:14px;letter-spacing:1px}#ngg_page_content .ngg_manage_galleries .tablenav.bottom{margin:15px 0 0}#ngg_page_content .ngg_manage_images .tablenav.bottom{margin:25px 0 0}.ngg-admin #ngg_page_content .ngg_manage_images td{vertical-align:top}#newalbum,.ngg_new_album,.ngg_select_album{vertical-align:middle}#ngg_page_content .ngg_manage_galleries .tablenav input{height:28px;width:50px;padding:0 3px}#ngg_page_content .ngg_manage_galleries .tablenav input.current-page{width:50px!important}#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages{margin-top:0}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages{margin-top:6px}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages a,#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages a{background:#000;border:none;color:#fff!important;margin:0 2px;text-decoration:none;font-size:20px;line-height:20px;padding:2px 8px 6px}#ngg_page_content .ngg_manage_images .tablenav input,#ngg_page_content .ngg_manage_images .tablenav select{width:auto;margin-top:0}#ngg_page_content #ngg-manage-images-items-per-page,#ngg_page_content .ngg_manage_images .tablenav input.current-page{padding:4px!important;text-align-last:center;background-image:none}#ngg_page_content .ngg_manage_galleries table{box-shadow:none;border:1px solid rgba(159,187,26,.08)!important}#ngg_page_content .ngg_manage_galleries table tfoot,#ngg_page_content .ngg_manage_galleries table thead{background-color:#000}#ngg_page_content .ngg_manage_galleries table tfoot td,#ngg_page_content .ngg_manage_galleries table tfoot th,#ngg_page_content .ngg_manage_galleries table thead td,#ngg_page_content .ngg_manage_galleries table thead th{background-color:transparent;border:none}#ngg_page_content .ngg_manage_galleries table td,#ngg_page_content .ngg_manage_galleries table th{padding:12px 10px;font-size:14px}#ngg_page_content .ngg_manage_galleries table th{font-weight:700!important;color:#fff}.ngg_manage_galleries th#id{width:33px}.ngg_manage_galleries th#title{min-width:140px}.ngg_manage_galleries td.title{text-transform:uppercase;font-weight:400;font-size:13px!important}.ngg_manage_galleries th#author{min-width:80px}.ngg_manage_galleries th#page_id{min-width:60px}#ngg_page_content .ngg_manage_galleries table tr.alternate{background-color:#f7f7f7}#ngg_page_content .ngg_manage_galleries th a{padding:0!important;color:#fff}div#poststuff{min-width:auto}p#ngg-inlinebutton{float:right;margin:0;position:relative;top:-25pt}#gallery_fields{width:100%}#gallery_fields td{padding:5px;min-width:105px}#gallery_fields tr td:nth-of-type(2){padding-right:60px}#gallery_fields input[type=text],#gallery_fields select,#gallery_fields textarea{min-width:220px;width:99%;color:#888}table#ngg-listimages{border:1px solid #f7f7f7}#ngg-listimages tfoot,#ngg-listimages thead{background:#000}#ngg-listimages.widefat thead th,.ngg-admin #ngg_page_content .widefat tfoot th{padding:12px 10px!important}#ngg-listimages tr.alternate{background-color:#f7f7f7}#ngg-listimages td{padding:15px 5px!important}#ngg-listimages .iedit,#ngg-listimages .iedit td,#ngg-listimages th{border:none}#ngg-listimages .iedit td,#ngg-listimages th{padding:15px 5px}#ngg-listimages th{font-size:12px;font-weight:700}#ngg-listimages .column select{width:100%!important}#ngg-listimages .column-1 input{margin:0 0 0 8px}#ngg-listimages .column-1{width:24px}#ngg-listimages .column-2{width:30px}#ngg-listimages .column-3{min-width:80px;width:15%}#ngg-listimages .column-3 .thumb{max-height:100%;max-width:100%}#ngg-listimages .column-4{width:15%;max-width:220px;font-size:12px}#ngg-listimages .column-4 .meta,#ngg-listimages .column-4 label{font-size:10px;color:#888}#ngg-listimages .column-7 select,#ngg-listimages .row-actions a{font-size:12px}#ngg-listimages .column-4 label input[type=checkbox]{margin:-2px 4px 0 0}#ngg-listimages .column-5 input[type=text],#ngg-listimages .column-5 textarea,#ngg-listimages .column-6 textarea{width:100%;padding:3px 5px;font-size:12px;color:#888;border:1px solid #eee;margin:1px 0;box-shadow:none}#ngg-listimages .column-5 input[type=text]{height:25px}#ngg-listimages .column-5 textarea{height:70px}#ngg-listimages .column-6 textarea{height:97px}#ngg-listimages .row-actions{padding:0 0 6px 4px;margin-bottom:-2px;position:relative;bottom:4px;left:0;right:0}#ngg-listimages .row_actions,#ngg-listimages .row_actions td{border-top:none;padding:0!important}#ngg-listimages ul.imagify-datas-list .big{color:#9fbb1a}#ngg-listimages .imagify-datas-more-action a{background:#9fbb1a;color:#fff}.gallery_page_nggallery-manage-gallery .ui-dialog{border:none;padding:0;max-width:95%!important;z-index:10000!important;margin:0 auto!important}.gallery_page_nggallery-manage-album .ui-dialog{border:none;padding:0;z-index:10000!important;width:650px!important;max-width:98%!important}.gallery_page_nggallery-manage-album .ui-dialog .button-primary,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button,.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery .ui-dialog button{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important;margin-right:10px;text-transform:uppercase;letter-spacing:1px}.gallery_page_nggallery-manage-album .ui-dialog .button-primary:hover,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery .ui-dialog button:hover .gallery_page_nggallery-manage-gallery .ui-dialog .button-primary:hover{background-color:#A9C524!important}.gallery_page_nggallery-manage-album .ui-dialog-titlebar,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar{background:#000;padding:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar .ui-dialog-title,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar .ui-dialog-title{text-transform:uppercase;letter-spacing:1px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button{background:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:24px!important;width:24px!important;padding:0!important;line-height:1;float:none;margin-right:0;border-radius:50%;top:17px;right:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:hover{background:#fff!important}.gallery_page_nggallery-manage-album .ui-dialog .ngg-overlay-dialog,.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 20px;box-sizing:border-box;width:100%!important}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog table{border:none}.gallery_page_nggallery-manage-album .ngg-overlay-dialog #ngg-overlay-dialog-main,.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #ngg-overlay-dialog-main{width:70%;padding:20px 20px 0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog td small{display:block;text-align:center;width:200px;margin:0 auto 20px}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom{text-align:center;padding:30px 0 0}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom input[type=button]{float:none;margin-right:0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #thumbMsg{color:#693;font-size:11px;width:100%;display:inline-block;height:35px;line-height:35px;margin:10px 0}.gallery_page_nggallery-manage-gallery .ui-dialog form{margin-top:30px;margin-left:30px}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:focus{border:1px solid #b4b9be;box-shadow:none}.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{color:#9fbb1a}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:checked:before{background:#9fbb1a;width:14px;height:14px;margin:0}div .progressborder{border:1px solid #DDD;display:block;height:30px;background-color:#464646;width:100%;margin-top:15px;margin-bottom:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar{border:none;display:block;height:30px;background-color:#9fbb1a;width:0%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar span{display:inline;position:absolute;color:#fff;font-weight:700;padding:5px 0 0 5px}.show_details{height:16px;line-height:20px;overflow:hidden;min-width:8em;padding:3px}.show_details span{border-bottom:1px solid #999;white-space:pre}.show_details:hover{height:auto;overflow:visible;border:1px solid #999}.gallery_page_nggallery-manage-album .wrap>h2:first-child{display:none}.gallery_page_nggallery-manage-album #ngg_page_content div.updated{margin:0 0 15px}.gallery_page_nggallery-manage-album #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_albums .widget{box-sizing:border-box;border:1px solid #eee;padding:10px 10px 20px;width:32%;margin:0 1% 0 0;float:left;box-shadow:0 0 4px 2px rgba(0 0 4px 2px rgba(0,0,0,.02))}.container{margin-top:10px}.ngg_manage_albums .container{margin-top:30px}.ngg_select_album{margin:0 50px 0 2px}.albumnav select[name=act_album]{width:150px}#editalbum select[name=pageid]{width:95%}#ngg_page_content .ngg_manage_albums .widget-top{box-shadow:none;border:none;margin:-10px -10px 20px;background:#f7f7f7}div .groupItem{cursor:move;padding:2px;line-height:1.5;width:100%;margin:0;box-sizing:border-box}div .innerhandle{background-color:#FBFBFB}.groupItem .item_top{background-color:#9fbb1a;color:#FFF;font-weight:400;border-radius:0;height:40px;padding:0 10px;line-height:40px}#ngg_page_content .groupItem .album_obj{background-color:#000}#ngg_page_content .groupItem .item_top a{color:#FFF;float:right;text-decoration:none}.groupItem .item_top a:hover{color:#FFF}.itemContent{border-color:#DFDFDF;border-style:none solid solid;border-width:0 1px 1px;padding:2px 0 20px 2px}.itemContent p{border:0;margin:0;padding:0}.inlinepicture{float:left;display:inline;margin:0;padding:0 3px 1px}.inlinepicture img{margin:3px;max-height:60px}.sort_placeholder{border:1px dashed #bba!important;margin:5px;background:#F9F9F9}.widget-holder{min-height:400px;padding-top:1px}.target{background-color:transparent}div.widget-top h3{text-align:center;line-height:25px;margin:0;padding:5px 12px;font-size:13px;letter-spacing:.5px;text-transform:uppercase}div.widget-top{text-shadow:0 1px 0 #FFF;background-repeat:repeat-x;background-position:0 0;font-size:13px}.ui-autocomplete-start{background-position:99% center}#ngg_page_content .ngg_gallery_sort .tablenav{margin:15px 0}#ngg_page_content .ngg_gallery_sort ul.subsubsub{margin:10px 0 15px}#ngg_page_content .ngg_gallery_sort .imageBox_theImage{width:auto}#sortGallery{position:relative}p#sortButton{margin:0;position:absolute;right:0;top:0}.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left;overflow:hidden;text-overflow:ellipsis;padding:5px}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto 2px}.imageBox_label{text-align:center;font-family:arial;font-size:11px;padding-top:2px;margin:0 auto}#insertionMarker{height:150px;width:6px;position:absolute}#insertionMarkerLine{width:6px;height:145px}#insertionMarker img{float:left}#dragDropContent{opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:10;display:none}.error_inline{background:0 #FFEBE8;border:1px solid #C00;margin:5px auto;padding:10px}.ngg-list{font-size:11px;margin-left:15px;list-style-position:inside;list-style-type:disc}#ngg-manage-images-items-per-page-label{float:right;line-height:35px;margin-right:5px}#ngg-manage-images-items-per-page{float:right;margin-right:30px}@media (max-width:1200px){div[data-id=details-link] .two-col .col{width:100%;min-width:100%}}@media (max-width:1420px){#ngg_page_content .ngg_manage_galleries .search-box{position:static}}@media (max-width:1080px){#ngg-gallery-wizard>span,.ngg_manage_galleries .tablenav.bottom{display:none}.ngg_manage_images #gallery_fields td:nth-of-type(even){margin-bottom:8px}.ngg_manage_images #gallery_fields td:nth-of-type(odd){background:#f7f7f7;padding-left:10px;font-weight:700}.ngg_manage_images #gallery_fields,.ngg_manage_images #gallery_fields tbody,.ngg_manage_images #gallery_fields td,.ngg_manage_images #gallery_fields tr{display:block;width:100%;box-sizing:border-box}.ngg_manage_images #gallery_fields td{padding:10px 5px;border:1px solid #f7f8f3;margin:0}}@media (max-width:900px){.ngg_manage_galleries tfoot{display:none}.ngg_manage_galleries .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}.ngg_manage_galleries td.author,.ngg_manage_galleries td.id,.ngg_manage_galleries td.page_id,.ngg_manage_galleries th#author,.ngg_manage_galleries th#id,.ngg_manage_galleries th#page_id{display:none!important}#ngg-listimages td.column.column-2,#ngg-listimages td.column.column-6,#ngg-listimages td.column.column-8,#ngg-listimages tfoot,#ngg-listimages thead .column-1,#ngg-listimages thead .column-2,#ngg-listimages thead .column-4,#ngg-listimages thead .column-5,#ngg-listimages thead .column-6,#ngg-listimages thead .column-7,#ngg-listimages thead .column-8{display:none}#ngg-listimages .column-3{min-width:200px}table#ngg-listimages,table#ngg-listimages thead{display:block}#ngg-listimages .iedit td{padding-bottom:30px!important}}@media (max-width:800px){table#ngg-listimages,table#ngg-listimages tbody,table#ngg-listimages td,table#ngg-listimages tr{display:block}table#ngg-listimages tr{padding:10px 5px!important}#ngg-listimages thead,#ngg-listimages thead th{display:block;width:100%;box-sizing:border-box}#ngg-listimages .row_actions td:first-of-type,#ngg-listimages tfoot{display:none}#ngg-listimages .row_actions{display:none;display:block;clear:both;padding:0 8px 10px!important;border-bottom:1px solid #c1c97c}#ngg-listimages td.column-3,.ngg-listimages tr.iedit td{padding-bottom:10px!important;float:left;box-sizing:border-box}.ngg-listimages tr.iedit td{display:block!important}#ngg-manage-images-items-per-page,#ngg-manage-images-items-per-page-label,.ngg_manage_images .tablenav.bottom .displaying-num{display:none}#ngg-listimages td.column-1,#ngg-listimages td.column-2{width:10%!important;height:150px;float:left;box-sizing:border-box;display:none}#ngg-listimages td.column-3{width:55%;max-width:300px}#ngg-listimages td.column-4{width:40%!important;float:left;box-sizing:border-box}#ngg-listimages td.column-5,#ngg-listimages td.column-6,#ngg-listimages td.column-7{padding:0 5px!important}#ngg-listimages td.column-6{margin-top:-5px;margin-bottom:-8px}.ngg-listimages td.column-7{padding-bottom:15px}#ngg-listimages .column-6 textarea{height:60px}}@media (max-width:782px){#ngg-gallery-wizard{display:none}#ngg_page_content .ngg_manage_galleries .tablenav.top>div{display:block;width:100%}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages{margin-top:20px;margin-bottom:28px!important}}@media (max-width:737px){.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{font-size:22px}.ngg-overlay-dialog input[type=radio]{height:16px;width:16px}#ngg-gallery-wizard{display:none}}@media (max-width:640px){.ngg_manage_galleries td.description,.ngg_manage_galleries th#description{display:none!important}.ngg_manage_albums .tablenav .actions{width:100%;float:none}.ngg_manage_albums .tablenav span{display:block}.ngg_manage_albums .target-album,.ngg_manage_albums .widget.widget-right{width:32%!important;margin:.5%!important;padding:5px 5px 10px}.groupItem .item_top{height:auto!important;line-height:1.5;padding:8px;font-size:12px}#ngg_page_content .groupItem .item_top a{display:none}.ngg_manage_albums div[style="float:right;"]{float:none!important}.gallery_page_nggallery-manage-gallery .ui-dialog{width:95%!important;left:2.5%!important}.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 10px}.ngg-overlay-dialog td{display:block;width:100%!important;padding:0!important}.ngg-overlay-dialog input[type=radio]{margin:2px 5px;height:16px;width:16px}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css
index a846e0b6f..7a1a00675 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css
@@ -1,7 +1,3 @@
-.gallery_page_nggallery-tags #ngg_page_content .wrap {
-    background: #f1f1f1;
-}
-
 .gallery_page_nggallery-tags .wrap>h2:first-child {
 	display:none;
 }
@@ -29,7 +25,7 @@
 	width: 280px;
 	vertical-align: top;
 	padding: 20px !important;
-	background: rgb(247, 248, 243);;
+	background: #f7f7f7;
 }
 
 .ngg_wrap .list_tags #search{
@@ -40,6 +36,14 @@
 	margin: 25px 0 20px;
 }
 
+#ngg_page_content .list_tags .navigation .button-primary {
+    width: 48% !important;
+    text-align: center;
+    margin: 0.5%;
+    font-size: 9px;
+    padding: 0 !important;
+}
+
 .ngg_wrap .forms_manage {
 	vertical-align: top;
 	padding-left: 30px;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.min.css
index d90c2c7e4..7a12614fe 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.min.css
@@ -1 +1 @@
-.gallery_page_nggallery-tags #ngg_page_content .wrap{background:#f1f1f1}.gallery_page_nggallery-tags .wrap>h2:first-child{display:none}.gallery_page_nggallery-tags #ngg_page_content div.updated{margin:0 0 15px}.gallery_page_nggallery-tags #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_tags,.ngg_manage_tags label{color:#666}.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px}.ngg_wrap .list_tags{width:280px;vertical-align:top;padding:20px!important;background:#f7f8f3}.ngg_wrap .list_tags #search{width:200px}.ngg_wrap .list_tags .navigation{margin:25px 0 20px}.ngg_wrap .forms_manage{vertical-align:top;padding-left:30px}.ngg_wrap .forms_manage h3{margin-bottom:5px;margin-top:30px}.ngg_wrap .forms_manage td{padding:0}.ngg_wrap .forms_manage td p{margin-bottom:20px}.ngg_wrap .forms_manage .form-table{margin-top:0}.ngg_wrap .forms_manage .form-table td,.ngg_wrap .forms_manage .form-table th{vertical-align:middle;padding:0}.ngg_wrap .sort_order h3{margin:30px 0 10px}.ngg_wrap #ajax_area_tagslist ul{list-style:square;margin:10px 0 10px 20px;padding:0}.ngg_wrap #ajax_area_tagslist ul li{margin:0;padding:0;line-height:1.4}.ngg_wrap #ajax_area_tagslist ul li span{cursor:pointer}@media (max-width:640px){.ngg_wrap .forms_manage,.ngg_wrap .list_tags{width:100%;display:block;box-sizing:border-box}.ngg_wrap .forms_manage{padding:20px}.ngg_wrap .list_tags #search{width:200px;width:100%}}
\ No newline at end of file
+.gallery_page_nggallery-tags .wrap>h2:first-child{display:none}.gallery_page_nggallery-tags #ngg_page_content div.updated{margin:0 0 15px}.gallery_page_nggallery-tags #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_tags,.ngg_manage_tags label{color:#666}.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px}.ngg_wrap .list_tags{width:280px;vertical-align:top;padding:20px!important;background:#f7f7f7}.ngg_wrap .list_tags #search{width:200px}.ngg_wrap .list_tags .navigation{margin:25px 0 20px}#ngg_page_content .list_tags .navigation .button-primary{width:48%!important;text-align:center;margin:.5%;font-size:9px;padding:0!important}.ngg_wrap .forms_manage{vertical-align:top;padding-left:30px}.ngg_wrap .forms_manage h3{margin-bottom:5px;margin-top:30px}.ngg_wrap .forms_manage td{padding:0}.ngg_wrap .forms_manage td p{margin-bottom:20px}.ngg_wrap .forms_manage .form-table{margin-top:0}.ngg_wrap .forms_manage .form-table td,.ngg_wrap .forms_manage .form-table th{vertical-align:middle;padding:0}.ngg_wrap .sort_order h3{margin:30px 0 10px}.ngg_wrap #ajax_area_tagslist ul{list-style:square;margin:10px 0 10px 20px;padding:0}.ngg_wrap #ajax_area_tagslist ul li{margin:0;padding:0;line-height:1.4}.ngg_wrap #ajax_area_tagslist ul li span{cursor:pointer}@media (max-width:640px){.ngg_wrap .forms_manage,.ngg_wrap .list_tags{width:100%;display:block;box-sizing:border-box}.ngg_wrap .forms_manage{padding:20px}.ngg_wrap .list_tags #search{width:200px;width:100%}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php
index 38061612c..c31a3eb90 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php
@@ -142,7 +142,7 @@ if ($thumbnail_crop_frame != null)
 					
 					jQuery('#thumbMsg').html("<?php _e('Thumbnail updated', 'nggallery') ?>");
 					jQuery('#thumbMsg').css({'display':'block'});
-					setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500);
+					setTimeout(function(){ jQuery('#thumbMsg').html(''); }, 1500);
 			},
 		  error: function() {
 		  			jQuery('#thumbMsg').html("<?php _e('Error updating thumbnail', 'nggallery') ?>");
@@ -177,8 +177,8 @@ if ($thumbnail_crop_frame != null)
 	</tr>
 </table>
 <div id="ngg-overlay-dialog-bottom">
+    <div id="thumbMsg"></div>
 	<input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="updateThumb()" class="button-secondary" />
-	<div id="thumbMsg" ></div>
 </div>
 
 <script type="text/javascript">
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php
index 1c68b917d..1af3dc1df 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php
@@ -31,7 +31,7 @@ class nggAdmin{
         wp_get_current_user();
 
         //cleanup pathname
-        $name = sanitize_file_name( sanitize_title($title)  );
+        $name = $storage->sanitize_directory_name( sanitize_title($title)  );
         $name = apply_filters('ngg_gallery_name', $name);
         $txt = '';
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/imagely_icon.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/imagely_icon.png
index 1422c73352f3699ea24b6ac825987abb6f973a38..385361ad5f84eee7e85e5b3a13c03e523bc6ad02 100644
GIT binary patch
delta 6993
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
C!-dlT

delta 9814
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

diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php
index eb7e4adb2..08693b9bf 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php
@@ -10,31 +10,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
  */
 function nggallery_install($installer)
 {
+   	global $wpdb;
 
-   	global $wpdb , $wp_roles, $wp_version;
-
-	// Set the capabilities for the administrator
-	$role = get_role('administrator');
-	// We need this role, no other chance
-	if ( empty($role) ) {
-		update_option( "ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery") );
-		return;
-	}
-
-	$role->add_cap('NextGEN Gallery overview');
-	$role->add_cap('NextGEN Use TinyMCE');
-	$role->add_cap('NextGEN Upload images');
-	$role->add_cap('NextGEN Manage gallery');
-	$role->add_cap('NextGEN Manage tags');
-	$role->add_cap('NextGEN Manage others gallery');
-	$role->add_cap('NextGEN Edit album');
-	$role->add_cap('NextGEN Change style');
-	$role->add_cap('NextGEN Change options');
-	$role->add_cap('NextGEN Attach Interface');
-
-   	$nggpictures					= $wpdb->prefix . 'ngg_pictures';
-	$nggallery						= $wpdb->prefix . 'ngg_gallery';
-	$nggalbum						= $wpdb->prefix . 'ngg_album';
+   	$nggpictures = $wpdb->prefix . 'ngg_pictures';
+	$nggallery   = $wpdb->prefix . 'ngg_gallery';
+	$nggalbum    = $wpdb->prefix . 'ngg_album';
 
 	// Create pictures table
 	$sql = "CREATE TABLE " . $nggpictures . " (
@@ -95,7 +75,6 @@ function nggallery_install($installer)
 
 	// if all is passed , save the DBVERSION
 	add_option("ngg_db_version", NGG_DBVERSION);
-
 }
 
 /**
@@ -115,4 +94,4 @@ function ngg_remove_capability($capability){
 			$role->remove_cap($capability) ;
 	}
 
-}
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php
index 1f43bb9fe..0617852b1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php
@@ -6,6 +6,8 @@ function nggallery_picturelist($controller) {
 // *** show picture list
 	global $wpdb, $nggdb, $user_ID, $ngg;
 
+	$settings = C_NextGen_Settings::get_instance();
+
 	$action_status = array('message' => '', 'status' => 'ok');
 
 	// Look if its a search result
@@ -58,10 +60,11 @@ function nggallery_picturelist($controller) {
 		$total_number_of_images = count($image_mapper->select($image_mapper->get_primary_key_column())->
 			where(array("galleryid = %d", $act_gid))->run_query(FALSE, FALSE, TRUE));
 
-		$picturelist = $image_mapper->select()->
-			where(array("galleryid = %d", $act_gid))->
-			order_by($ngg->options['galSort'], $ngg->options['galSortDir'])->
-			limit($items_per_page, $start)->run_query();
+		$image_mapper->select()->where(array("galleryid = %d", $act_gid));
+		if (($galSort = $settings->get('galSort', FALSE)) && ($galSortDir = $settings->get('galSortDir', FALSE))) {
+			$image_mapper->order_by($galSort, $galSortDir);
+		}
+		$picturelist = $image_mapper->limit($items_per_page, $start)->run_query();
 
 		// get the current author
         $act_author_user = get_userdata((int)$gallery->author);
@@ -158,6 +161,11 @@ jQuery(function (){
 	    var height = ( results ) ? results[1] : 500;
 		var container = window;
 
+		var screen_width = window.innerWidth - 120;
+		var screen_height = window.innerHeight - 200;
+		width = (width > screen_width) ? screen_width : width;
+		height = (height > screen_height) ? screen_height : height;
+
       if (window.parent) {
       	container = window.parent;
       }
@@ -370,7 +378,7 @@ jQuery(document).ready( function($) {
 								<?php if ( wpmu_enable_function('wpmuImportFolder') && nggGallery::current_user_can( 'NextGEN Import image folder' ) ) : ?>
 								<input type="submit" class="button-primary" name="scanfolder" value="<?php _e("Scan Folder for new images",'nggallery'); ?> " />
 								<?php endif; ?>
-								<input type="submit" class="button-primary action" name="updatepictures" value="<?php _e("Save Changes",'nggallery'); ?>" />
+								<input type="submit" class="button-primary action ngg_save_gallery_changes" name="updatepictures" value="<?php _e("Save Changes",'nggallery'); ?>" />
 							</div>
 
 						</div>
@@ -440,7 +448,7 @@ jQuery(document).ready( function($) {
 				</select>
 				<input class="button-primary" type="submit" name="showThickbox" value="<?php _e('Apply', 'nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" />
 
-				<?php if (($ngg->options['galSort'] == "sortorder") && (!$is_search) ) { ?>
+				<?php if (($settings->galSort == "sortorder") && (!$is_search) ) { ?>
 					<input class="button-primary" type="submit" name="sortGallery" value="<?php _e('Sort gallery', 'nggallery');?>" />
 				<?php } ?>
 
@@ -465,10 +473,10 @@ jQuery(document).ready( function($) {
 
 						$thumbsize 	= '';
 						$storage = C_Gallery_Storage::get_instance();
-					    $gallery_mapper = C_Gallery_Mapper::get_instance();
+						$gallery_mapper = C_Gallery_Mapper::get_instance();
 
-						if ($ngg->options['thumbfix'])
-							$thumbsize = 'width="' . $ngg->options['thumbwidth'] . '" height="' . $ngg->options['thumbheight'] . '"';
+						if ($settings->thumbfix)
+							$thumbsize = 'width="' . $settings->thumbwidth . '" height="' . $settings->thumbheight . '"';
 
 						foreach($picturelist as $picture) {
 
@@ -582,7 +590,7 @@ jQuery(document).ready( function($) {
 					<strong><?php _e('Resize Images to', 'nggallery'); ?>:</strong>
 				</td>
 				<td>
-					<input type="text" size="5" name="imgWidth" value="<?php echo $ngg->options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg->options['imgHeight']; ?>" />
+					<input type="text" size="5" name="imgWidth" value="<?php echo $settings->imgWidth ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $settings->imgHeight; ?>" />
 					<br /><small><?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></small>
 				</td>
 			</tr>
@@ -614,7 +622,7 @@ jQuery(document).ready( function($) {
 			</tr>
 			<tr valign="top">
 				<th align="left"><?php _e('Set fix dimension','nggallery') ?></th>
-				<td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg->options['thumbfix']); ?> />
+				<td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $settings->thumbfix); ?> />
 				<br /><small><?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></small></td>
 			</tr>
 		  	<tr>
@@ -631,7 +639,21 @@ jQuery(document).ready( function($) {
 
 	<script type="text/javascript">
 	/* <![CDATA[ */
-	jQuery(document).ready(function(){columns.init('nggallery-manage-images');});
+	jQuery(document).ready(function($){
+		columns.init('nggallery-manage-images');
+
+		// Ensure that thumb preview images are always up-to-date
+		$('#ngg-listimages img.thumb').each(function(){
+			var $this 		= $(this);
+			var src 		= $this.attr('src');
+			var matchData 	= src.match(/\?i=(\d+)$/)
+			if (matchData) {
+				var i 	= parseInt(matchData[1])+1
+				src		= src.replace(matchData[0], "?i="+i.toString())
+				$this.attr('src', src);
+			}
+		})
+	});
 	/* ]]> */
 	</script>
 	<?php
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php
index 5d7384bb6..8c5ab916c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php
@@ -621,7 +621,6 @@ class nggManageGallery {
 					break;
 			}
 		}
-
 		if (isset ($_POST['addgallery']) && isset ($_POST['galleryname'])){
 
 			check_admin_referer('ngg_addgallery');
@@ -630,12 +629,20 @@ class nggManageGallery {
 				wp_die(__('Cheatin&#8217; uh?', 'nggallery'));
 
 			// get the default path for a new gallery
-			$defaultpath = $ngg->options['gallerypath'];
 			$newgallery = $_POST['galleryname'];
-			if ( !empty($newgallery) )
-				nggAdmin::create_gallery($newgallery, $defaultpath);
+			if (!empty($newgallery))
+			{
+				$gallery_mapper = C_Gallery_Mapper::get_instance();
+				$gallery = $gallery_mapper->create(array('title' => $newgallery));
+				if ($gallery->save() && !isset($_REQUEST['attach_to_post']))
+				{
+					$url = admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $gallery->gid;
+					$message = sprintf(__('Gallery successfully created. <a href="%s" target="_blank">Manage gallery</a>', 'nggallery'), $url);
+					nggGallery::show_message($message, 'gallery_created_msg');
+				}
+			}
 
-            do_action( 'ngg_update_addgallery_page' );
+			do_action( 'ngg_update_addgallery_page' );
 		}
 
 		if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_ResizeImages']))  {
@@ -949,14 +956,11 @@ class nggManageGallery {
 	function can_user_manage_gallery()
 	{
 		$retval 	= FALSE;
-		$registry	= C_Component_Registry::get_instance();
-		$security	= $registry->get_utility('I_Security_Manager');
-		$actor		= $security->get_current_actor();
 
-		if ($this->gallery && $actor->get_entity_id()== $this->gallery->author) {
+		if ($this->gallery && wp_get_current_user()->ID == $this->gallery->author) {
 			$retval = TRUE;
 		}
-		elseif($actor->is_allowed('nextgen_edit_gallery_unowned')) {
+		elseif(M_Security::is_allowed('nextgen_edit_gallery_unowned')) {
 			$retval = TRUE;
 		}
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php
index 163b54d02..1459f4c9d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php
@@ -211,7 +211,7 @@ function nggallery_admin_overview()
                 </div>
 
                 <div class="headline-feature feature-video">
-                    <iframe width="1050" height="590" src="https://www.youtube.com/embed/mNEnY23i9DE?rel=0" frameborder="0" allowfullscreen></iframe>
+                    <iframe width="1050" height="590" src="https://www.youtube.com/embed/4Phvmm3etnw?rel=0" frameborder="0" allowfullscreen></iframe>
                 </div>
 
             </div>
@@ -222,7 +222,7 @@ function nggallery_admin_overview()
                 </p>
 
                 <div class="headline-feature feature-video">
-                    <iframe width="1280" height="720" src="https://www.youtube.com/embed/c664fvAZ1nI?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
+                    <iframe width="1280" height="720" src="https://www.youtube.com/embed/4Phvmm3etnw?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
                 </div>
 
                 <div class="feature-section two-col">
@@ -262,7 +262,7 @@ function nggallery_admin_overview()
                 <p class="about-text"><span style="font-weight: bold;"><?php _e( 'The most powerful gallery system ever built for WordPress. ', 'nggallery' ); ?></span><br><?php _e( 'Gorgeous new gallery displays, image protection, full screen lightbox, commenting and social sharing for individual images, proofing, ecommerce, digital downloads, and more.', 'nggallery' ); ?></p>
                 <p class="about-text"><a href='https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ngpro' target='_blank' class="button-primary ngg-pro-upgrade"><?php _e( 'Get NextGEN Pro Now', 'nggallery' ); ?></a></p>
                 <div class="feature-section">
-                    <iframe src="https://www.youtube.com/embed/zmA-b_jiXN0" frameborder="0" allowfullscreen></iframe>
+                    <iframe src="https://www.youtube.com/embed/ePnYGQX0Lf8" frameborder="0" allowfullscreen></iframe>
                 </div>
 
             </div>
@@ -370,6 +370,8 @@ function nggallery_admin_overview()
                         <h3><?php _e( 'David Beckstead' ); ?></h3>
                         <p><?php _e( 'Named one of the Top 10 Wedding Photographers in the World by American Photo magazine, David is a celebrated photographer and educator. He is also a mountain man with a enviable lifestyle: from his base in rural Washington, he travels all over the world teaching workshops, while sharing lessons with 16,000 photographers in the Abstract Canvas Facebook group.', 'nggallery' ); ?></p>
                     </div>
+                    <div class="col"></div>
+                    <div class="col"></div>
                 </div>
 
             </div>
@@ -403,7 +405,7 @@ function nggallery_admin_overview()
             
             <div data-id="freedoms-link">
 
-                <p class="about-description"><?php printf( __( 'NextGEN Gallery is Free and open source software, built by a small but dedicated team as well as community code contributions. It comes with awesome rights courtesy of its <a href="%s" target="_blank">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
+                <p class="about-text"><?php printf( __( 'NextGEN Gallery is Free and open source software, built by a small but dedicated team as well as community code contributions. It comes with awesome rights courtesy of its <a href="%s" target="_blank">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
 
                 <ol start="0">
                     <li><p><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></p></li>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php
index f91949c4b..e2b89dbcd 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php
@@ -27,24 +27,10 @@ $id = (int) $_GET['id'];
 $picture = nggdb::find_image($id);
 
 include_once( nggGallery::graphic_library() );
-$ngg_options = get_option('ngg_options');
-
-$thumb = new ngg_Thumbnail($picture->imagePath, TRUE);
-$thumb->resize(450,350);
-
-// we need the new dimension
-$resizedPreviewInfo = $thumb->newDimensions;
-$thumb->destruct();
 
 // Generate a url to a preview image
-$storage            = C_Gallery_Storage::get_instance();
-$thumbnail_manager  = C_Dynamic_Thumbnails_Manager::get_instance();
-$dynamic_size       = $thumbnail_manager->get_size_name(array(
-	'width'     =>  300,
-	'height'    =>  300,
-));
-//$preview_image		= trailingslashit( home_url() ) . 'index.php?callback=image&amp;pid=' . $picture->pid . '&amp;width=350&amp;height=350';
-$preview_image      = $storage->get_image_url($id, $dynamic_size);
+$storage       = C_Gallery_Storage::get_instance();
+$preview_image = $storage->get_image_url($id, 'full');
 ?>
 
 <script type='text/javascript'>
@@ -78,6 +64,7 @@ $preview_image      = $storage->get_image_url($id, $dynamic_size);
 		
 		var d = new Date();
 		newUrl = jQuery("#imageToEdit").attr("src") + "?" + d.getTime();
+
 		jQuery("#imageToEdit").attr("src" , newUrl);
 							
 	}
@@ -86,7 +73,11 @@ $preview_image      = $storage->get_image_url($id, $dynamic_size);
 <table align="center">
 	<tr>
 		<td valign="middle" align="center" id="ngg-overlay-dialog-main">
-			<img src="<?php echo nextgen_esc_url( $preview_image ); ?>" alt="" id="imageToEdit" />	
+			<img src="<?php echo nextgen_esc_url( $preview_image ); ?>"
+                 alt=""
+                 id="imageToEdit"
+                 style="max-width: 450px;
+                        max-height: 350px;"/>
 		</td>
 		<td>
 			<input type="radio" name="ra" value="cw" /><?php esc_html_e('90&deg; clockwise', 'nggallery'); ?><br />
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php
index ea55fa79c..5f785d0c7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php
@@ -23,7 +23,7 @@ class M_NggLegacy extends C_Base_Module
 			'photocrati-nextgen-legacy',
 			'NextGEN Legacy',
 			'Embeds the original version of NextGEN 1.9.3 by Alex Rabe',
-			'3.1.6',
+			'3.2.1',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
@@ -93,14 +93,16 @@ class C_NggLegacy_Installer
         }
 
 		// now remove the capability
-		ngg_remove_capability("NextGEN Gallery overview");
-		ngg_remove_capability("NextGEN Use TinyMCE");
-		ngg_remove_capability("NextGEN Upload images");
-		ngg_remove_capability("NextGEN Manage gallery");
-		ngg_remove_capability("NextGEN Edit album");
-		ngg_remove_capability("NextGEN Change style");
-		ngg_remove_capability("NextGEN Change options");
-		ngg_remove_capability("NextGEN Attach Interface");
+        ngg_remove_capability("NextGEN Attach Interface");
+        ngg_remove_capability("NextGEN Change options");
+        ngg_remove_capability("NextGEN Change style");
+        ngg_remove_capability("NextGEN Edit album");
+        ngg_remove_capability("NextGEN Gallery overview");
+        ngg_remove_capability("NextGEN Manage gallery");
+        ngg_remove_capability("NextGEN Upload images");
+        ngg_remove_capability("NextGEN Use TinyMCE");
+        ngg_remove_capability('NextGEN Manage others gallery');
+        ngg_remove_capability('NextGEN Manage tags');
 
 		$this->remove_transients();
 	}
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.css
index ba8e79f58..e290c4d5c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.css
@@ -30,22 +30,34 @@
     margin: 1em;
 }
 
-.feature-video iframe,
-.feature-video object,
-.feature-video embed {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
+#ngg_page_content .feature-video iframe,
+#ngg_page_content .feature-video object,
+#ngg_page_content .feature-video embed {
+    max-width: 100%;
 }
 
 .ngg-theme-image {
     box-shadow: 0 0 8px #888888;
 }
 
+@media only screen and (max-width: 1200px) {
+    #ngg_page_content .feature-video iframe,
+    #ngg_page_content .feature-video object,
+    #ngg_page_content .feature-video embed {
+        height: 400px;
+    }
+}
+
 @media only screen and (max-width: 700px) {
     #ngg-server-settings:nth-of-type(2) {
         margin-left: 0;
     }
+}
+
+@media only screen and (max-width: 500px) {
+    #ngg_page_content .feature-video iframe,
+    #ngg_page_content .feature-video object,
+    #ngg_page_content .feature-video embed {
+        height: 300px;
+    }
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.min.css
index 74ab3df06..822613900 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/overview.min.css
@@ -1 +1 @@
-.toplevel_page_nextgen-gallery .wp-badge{border:none;background:url(https://www.imagely.com/wp-content/uploads/2016/06/on-white-icon.png) no-repeat;background-size:140px 140px;box-shadow:none}.ngg-tab{display:none}.ngg-tab.active{display:block}#ngg-server-settings{float:left}#ngg-server-settings p{margin:0 0 .5em}#ngg-server-settings:nth-of-type(2){margin-left:20px}.about-text.centered{text-align:center;margin:1em}.feature-video embed,.feature-video iframe,.feature-video object{position:absolute;top:0;left:0;width:100%;height:100%}.ngg-theme-image{box-shadow:0 0 8px #888}@media only screen and (max-width:700px){#ngg-server-settings:nth-of-type(2){margin-left:0}}
\ No newline at end of file
+.toplevel_page_nextgen-gallery .wp-badge{border:none;background:url(https://www.imagely.com/wp-content/uploads/2016/06/on-white-icon.png) no-repeat;background-size:140px 140px;box-shadow:none}.ngg-tab{display:none}.ngg-tab.active{display:block}#ngg-server-settings{float:left}#ngg-server-settings p{margin:0 0 .5em}#ngg-server-settings:nth-of-type(2){margin-left:20px}.about-text.centered{text-align:center;margin:1em}#ngg_page_content .feature-video embed,#ngg_page_content .feature-video iframe,#ngg_page_content .feature-video object{max-width:100%}.ngg-theme-image{box-shadow:0 0 8px #888}@media only screen and (max-width:1200px){#ngg_page_content .feature-video embed,#ngg_page_content .feature-video iframe,#ngg_page_content .feature-video object{height:400px}}@media only screen and (max-width:700px){#ngg-server-settings:nth-of-type(2){margin-left:0}}@media only screen and (max-width:500px){#ngg_page_content .feature-video embed,#ngg_page_content .feature-video iframe,#ngg_page_content .feature-video object{height:300px}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php
index 638a94d94..5a98bd336 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php
@@ -15,7 +15,7 @@ class M_Router extends C_Base_Module
 			'photocrati-router',
 			'Router for Pope',
 			'Provides routing capabilities for Pope modules',
-			'3.0.0',
+			'3.1.7.1',
 			'https://www.imagely.com',
 			'Imagely',
 			'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php
index dd5656808..a5fe11c3b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php
@@ -149,13 +149,7 @@ class Mixin_Router extends Mixin
      */
     function get_static_url($path, $module = FALSE)
     {
-        $fs = C_Fs::get_instance();
-        $path = $fs->find_abspath($path, $module);
-        $base_url = $this->object->get_base_url(TRUE);
-        $base_url = $this->object->remove_url_segment('/index.php', $base_url);
-        $path = str_replace($fs->get_document_root('plugins'), $base_url, $path);
-        // adjust for possible windows hosts
-        return str_replace("\\", '/', $path);
+        return M_Static_Assets::get_static_url($path, $module);
     }
     /**
      * Gets the routed url
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php
index 267ffa842..ff63a48fd 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php
@@ -14,27 +14,117 @@ class M_Security extends C_Base_Module
 			'photocrati-security',
 			'Security',
 			'Provides utilities to check for credentials and security',
-			'3.0.0',
+			'3.1.8',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
 		);
+	}
+
+	static function get_mapped_cap($capability_name) 
+	{
+		switch ($capability_name)
+		{
+			case 'nextgen_edit_settings':
+			{
+				$capability_name = 'NextGEN Change options';
+				
+				break;
+			}
+			case 'nextgen_edit_style':
+			{
+				$capability_name = 'NextGEN Change style';
+				
+				break;
+			}
+			case 'nextgen_edit_display_settings':
+			{
+				$capability_name = 'NextGEN Change options';
+				
+				break;
+			}
+			case 'nextgen_edit_displayed_gallery':
+			{
+				$capability_name = 'NextGEN Attach Interface';
+				
+				break;
+			}
+			case 'nextgen_edit_gallery':
+			{
+				$capability_name = 'NextGEN Manage gallery';
+				
+				break;
+			}
+			case 'nextgen_edit_gallery_unowned':
+			{
+				$capability_name = 'NextGEN Manage others gallery';
+				
+				break;
+			}
+			case 'nextgen_upload_image':
+			case 'nextgen_upload_images':
+			{
+				$capability_name = 'NextGEN Upload images';
+				
+				break;
+			}
+			case 'nextgen_edit_album_settings':
+			{
+				$capability_name = 'NextGEN Edit album settings';
 
-		if (isset($GLOBALS['_COOKIE_NG_COPY'])) {
-			$_COOKIE = $GLOBALS['_COOKIE_NG_COPY'];
+				break;
+			}
+
+			case 'nextgen_edit_album':
+			{
+				$capability_name = 'NextGEN Edit album';
+
+				break;
+			}
 		}
+
+		return $capability_name;
 	}
 
+	// TODO: Remove this function once Photocrati Pro 5.0.6 is out of circulation. 
+	// Its the only thing which uses the security manager any more
+	function _register_utilities()
+	{
+		$this->get_registry()->add_utility('I_Security_Manager', 'C_WordPress_Security_Manager');
+	}
+
+	// TODO: Remove this function once Photocrati Pro 5.0.6 is out of circulation. 
+	// Its the only thing which uses the security manager any more
 	function _register_adapters()
 	{
 		$this->get_registry()->add_adapter('I_Component_Factory', 'A_Security_Factory');
 	}
 
-	function _register_utilities()
+	static function create_nonce($cap=-1)
 	{
-		$this->get_registry()->add_utility('I_Security_Manager', 'C_WordPress_Security_Manager');
+		return wp_create_nonce(self::get_mapped_cap($cap));
+	}
+
+	static function verify_nonce($nonce, $cap=-1)
+	{
+		return wp_verify_nonce($nonce, self::get_mapped_cap($cap));
+	}
+
+	static function is_allowed($capability_name, $user=FALSE)
+	{
+		$capability_name = self::get_mapped_cap($capability_name);
+
+		if (!$user) {
+			if (function_exists('wp_get_current_user')) $user = wp_get_current_user();
+		} else if (is_numeric($user)) {
+			$user = WP_User($user);
+		}
+
+		return $user && $user->has_cap($capability_name);
 	}
 
+
+
     function get_type_list()
     {
         return array(
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/module.static_assets.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/module.static_assets.php
new file mode 100644
index 000000000..518162b58
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/module.static_assets.php
@@ -0,0 +1,118 @@
+<?php
+class M_Static_Assets extends C_Base_Module
+{
+    function define($id = 'pope-module',
+                    $name = 'Pope Module',
+                    $description = '',
+                    $version = '',
+                    $uri = '',
+                    $author = '',
+                    $author_uri = '',
+                    $context = FALSE)
+    {
+        parent::define(
+            'photocrati-static_assets',
+            'Static Assets',
+            'Provides a means of finding static assets',
+            '3.1.8',
+            'https://www.imagely.com',
+            'Imagely',
+            'https://www.imagely.com'
+        );
+    }
+
+    static function get_static_url($filename, $module=FALSE)
+    {
+        $retval = self::get_static_abspath($filename, $module);
+        $retval = str_replace(wp_normalize_path(WP_PLUGIN_DIR), WP_PLUGIN_URL, $retval);
+        $retval = is_ssl() ? str_replace('http:', 'https:', $retval) : $retval;
+        
+        return $retval;
+    }
+
+    static function get_static_abspath($filename, $module=FALSE)
+    {
+        static $cache = array();
+        $key = $filename.strval($module);
+        if (!isset($cache[$key])) {
+            $cache[$key] = self::get_computed_static_abspath($filename, $module);
+        }
+        return $cache[$key];
+    }
+
+    static function get_computed_static_abspath($filename, $module=FALSE)
+    {
+        $retval = '';
+        
+        if (strpos($filename, '#') !== FALSE) {
+            $parts = explode("#", $filename);
+            if (count($parts) === 2) {
+                $filename   = $parts[1];
+                $module     = $parts[0];    
+            }
+            else $filename = $parts[0];
+        }
+        $filename = self::trim_preceding_slash($filename);
+
+        if (!$module) die(sprintf(
+            "get_static_abspath requires a path and module. Received %s and %s",
+            $filename,
+            strval($module))
+        );
+
+        $module_dir = wp_normalize_path(C_Component_Registry::get_instance()->get_module_dir($module));
+        $static_dir = self::trim_preceding_slash(C_NextGen_Settings::get_instance()->mvc_static_dir);
+
+        $override_dir = wp_normalize_path(self::get_static_override_dir($module));
+        $override = path_join(
+            $override_dir,
+            $filename
+        );
+
+        if (!@stream_resolve_include_path($override)) {
+            $retval = path_join(
+                path_join($module_dir, $static_dir),
+                $filename
+            );
+        }
+
+        // Adjust for windows paths
+        return wp_normalize_path($retval);
+    }
+
+    static function trim_preceding_slash($str)
+    {
+        return preg_replace("#^/{1,2}#", "", $str, 1);
+    }
+
+    /**
+     * @param string $module_id
+     *
+     * @return string $dir
+     */
+    static function get_static_override_dir($module_id = NULL)
+    {
+        $dir = path_join(WP_CONTENT_DIR, 'ngg');
+        if (!@file_exists($dir))
+            wp_mkdir_p($dir);
+
+        $dir = path_join($dir, 'modules');
+        if (!@file_exists($dir))
+            wp_mkdir_p($dir);
+
+        if ($module_id)
+        {
+            $dir = path_join($dir, $module_id);
+            if (!@file_exists($dir))
+                wp_mkdir_p($dir);
+
+            $dir = path_join($dir, 'static');
+            if (!@file_exists($dir))
+                wp_mkdir_p($dir);
+        }
+
+        return $dir;
+    }
+}
+
+new M_Static_Assets;
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/package.module.static_assets.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/package.module.static_assets.php
new file mode 100644
index 000000000..b3d9bbc7f
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/static_assets/package.module.static_assets.php
@@ -0,0 +1 @@
+<?php
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php
index 806ce6f5a..3d53a4207 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php
@@ -16,7 +16,7 @@ class M_Third_Party_Compat extends C_Base_Module
             'photocrati-third_party_compat',
             'Third Party Compatibility',
             "Adds Third party compatibility hacks, adjustments, and modifications",
-            '3.1.4.2',
+            '3.1.11.1',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -91,6 +91,12 @@ class M_Third_Party_Compat extends C_Base_Module
             if (!defined('NGG_DISABLE_FILTER_THE_CONTENT')) define('NGG_DISABLE_FILTER_THE_CONTENT', TRUE);
             if (!defined('NGG_DISABLE_RESOURCE_MANAGER'))   define('NGG_DISABLE_RESOURCE_MANAGER', TRUE);
         }
+
+        // Elementor's graphical builder is broken by our resource manager
+        if (defined('ELEMENTOR_VERSION'))
+        {
+            if (!defined('NGG_DISABLE_RESOURCE_MANAGER')) define('NGG_DISABLE_RESOURCE_MANAGER', TRUE);
+        }
     }
 
     function _register_adapters()
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php
index d23b01cc4..aeacf8d9d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php
@@ -18,7 +18,7 @@ class M_WordPress_Routing extends C_Base_Module
 			'photocrati-wordpress_routing',
 			'WordPress Routing',
 			"Integrates the MVC module's routing implementation with WordPress",
-			'3.1.0',
+			'3.1.8',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/package.module.wordpress_routing.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/package.module.wordpress_routing.php
index 66381380e..45857d85b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/package.module.wordpress_routing.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/package.module.wordpress_routing.php
@@ -6,17 +6,29 @@
  */
 class A_WordPress_Base_Url extends Mixin
 {
-    function _add_index_dot_php_to_url($url)
+    static $_lookups = array();
+    function initialize()
     {
-        if (strpos($url, '/index.php') === FALSE) {
-            $pattern = get_option('permalink_structure');
-            if (!$pattern or strpos($pattern, '/index.php') !== FALSE) {
-                $url = $this->object->join_paths($url, '/index.php');
-            }
-        }
-        return $url;
+        register_shutdown_function(array(&$this, 'cache_lookups'));
+        self::$_lookups = C_Photocrati_Transient_Manager::fetch($this->_get_cache_key(), array());
     }
-    function get_base_url($site_url = FALSE)
+    function _get_cache_key()
+    {
+        return C_Photocrati_Transient_Manager::create_key('WordPress-Router', 'get_base_url');
+    }
+    function cache_lookups()
+    {
+        C_Photocrati_Transient_Manager::update($this->_get_cache_key(), self::$_lookups);
+    }
+    function has_cached_base_url($type = FALSE)
+    {
+        return isset(self::$_lookups[$type]);
+    }
+    function get_cached_base_url($type = FALSE)
+    {
+        return self::$_lookups[$type];
+    }
+    function get_computed_base_url($site_url = FALSE)
     {
         $retval = NULL;
         $add_index_dot_php = TRUE;
@@ -50,7 +62,7 @@ class A_WordPress_Base_Url extends Mixin
             }
             $retval = set_url_scheme($retval, $scheme);
         } elseif (in_array($site_url, array('gallery', 'galleries'), TRUE)) {
-            $root_type = defined('NGG_GALLERY_ROOT_TYPE') ? NGG_GALLERY_ROOT_TYPE : 'site';
+            $root_type = NGG_GALLERY_ROOT_TYPE;
             $add_index_dot_php = FALSE;
             if ($root_type === 'content') {
                 $retval = content_url();
@@ -68,6 +80,23 @@ class A_WordPress_Base_Url extends Mixin
         }
         return $retval;
     }
+    function _add_index_dot_php_to_url($url)
+    {
+        if (strpos($url, '/index.php') === FALSE) {
+            $pattern = get_option('permalink_structure');
+            if (!$pattern or strpos($pattern, '/index.php') !== FALSE) {
+                $url = $this->object->join_paths($url, '/index.php');
+            }
+        }
+        return $url;
+    }
+    function get_base_url($type = FALSE)
+    {
+        if ($this->has_cached_base_url($type)) {
+            return $this->get_cached_base_url($type);
+        }
+        return $this->get_computed_base_url($type);
+    }
 }
 /**
  * Class A_WordPress_Router
@@ -88,7 +117,7 @@ class A_WordPress_Router extends Mixin
             // If so, then we do NOT need /index.php as part of the url
             $base_url = $this->object->get_base_url();
             $filename = str_replace($base_url, C_Fs::get_instance()->get_document_root(), $retval);
-            if ($retval && @file_exists($filename) && $retval != $base_url) {
+            if ($retval && $retval != $base_url && @file_exists($filename)) {
                 // Remove index.php from the url
                 $retval = $this->object->remove_url_segment('/index.php', $retval);
                 // Static urls don't end with a slash
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php
index 8f4c40bba..aee4826fe 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php
@@ -31,10 +31,10 @@ class P_Photocrati_NextGen extends C_Base_Product
 		'photocrati-dynamic_thumbnails'         =>  'always',
 		'photocrati-nextgen_admin'              =>  'always',
 		'photocrati-nextgen_gallery_display'    =>  'always',
-		'photocrati-frame_communication'        =>  'always',
+		'photocrati-frame_communication'        =>  'backend',
 		'photocrati-attach_to_post'             =>  'always',
-		'photocrati-nextgen_addgallery_page'    =>  'always',
-		'photocrati-nextgen_other_options'      =>  'always',
+		'photocrati-nextgen_addgallery_page'    =>  'backend',
+		'photocrati-nextgen_other_options'      =>  'backend',
 		'photocrati-nextgen_pagination'         =>  'always',
 
 		// Front-end only
@@ -72,10 +72,13 @@ class P_Photocrati_NextGen extends C_Base_Product
 				case 'always':
 					$retval[] = $module_name;
 					break;
-				case 'backend':
-					if (is_admin())
-						$retval[] = $module_name;
+
+				// Hack. If this is a photocrati ajax request, is_admin() will evaluate to false. But
+				// we probably want to load the module if the ajax request is initiated from a wp-admin page
+				case ($condition == 'backend' && (is_admin() || strpos($_SERVER['REQUEST_URI'], 'ajax') !== FALSE || isset($_REQUEST['photocrati_ajax']))):
+					$retval[] = $module_name;					
 					break;
+
 				case 'frontend':
 					if (!is_admin())
 						$retval[] = $module_name;
diff --git a/wp-content/plugins/nextgen-gallery/readme.txt b/wp-content/plugins/nextgen-gallery/readme.txt
index 7796ffa15..9c1ba0cd7 100644
--- a/wp-content/plugins/nextgen-gallery/readme.txt
+++ b/wp-content/plugins/nextgen-gallery/readme.txt
@@ -2,11 +2,11 @@
 Contributors: photocrati, imagely
 Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
 Requires at least: 4.0.0
-Stable tag: 3.1.6
-Tested up to: 5.0.2
+Stable tag: 3.2.2
+Tested up to: 5.2
 License: GPLv2
 
-The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 24 million downloads.
+The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 25 million downloads.
 
 == Description ==
 
@@ -16,19 +16,20 @@ NextGEN Gallery has been the industry's standard **WordPress gallery plugin** si
 
 On the back end, NextGEN offers a complete WordPress gallery management system with the ability to batch upload photos, import meta data, add/delete/rearrange/sort photos, edit thumbnails, group galleries into albums, and more.
 
-On the front end, the free version of NextGEN provides two main gallery styles (slideshows and thumbnail galleries) and two album styles (compact and extended), all of which come with a wide array of options for controlling size, style, timing, transitions, controls, lightbox effects, and more. Learn more about <a href="https://www.imagely.com/wordpress-gallery-plugin/" target="_blank">NextGEN WordPress Gallery Plugin features.</a>
+On the front end, the free version of NextGEN provides three main gallery styles (slideshow, thumbnail, and imagebrowser galleries) and two album styles (compact and extended), all of which come with a wide array of options for controlling size, style, timing, transitions, controls, lightbox effects, and more. Learn more about <a href="https://www.imagely.com/wordpress-gallery-plugin/" target="_blank">NextGEN WordPress Gallery Plugin features.</a>
 
-https://www.youtube.com/embed/mNEnY23i9DE
+https://www.youtube.com/embed/4Phvmm3etnw
 
 **NEXTGEN GALLERY DEMOS**<br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-thumbnail-gallery/" target="_blank">Basic Thumbnail Gallery</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-slideshow-gallery/" target="_blank">Basic Slideshow Gallery</a><br>
+*<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-imagebrowser-gallery/" target="_blank">Basic Imagebrowser Gallery</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-compact-album/" target="_blank">Basic Compact Album</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-extended-album/" target="_blank">Basic List Album</a><br>
 
 **INTRODUCING NEXTGEN GALLERY PRO.** NextGEN Plus and NextGEN Pro are premium WordPress gallery plugin extensions for NextGEN Gallery that add new photo gallery displays, lightboxes, ecommerce, proofing, and pro support. Learn more about <a href="https://www.imagely.com/wordpress-gallery-plugin/" target="_blank">NextGEN Plus and NextGEN Pro photo plugin features.</a>
 
-https://www.youtube.com/embed/zmA-b_jiXN0
+https://www.youtube.com/embed/ePnYGQX0Lf8
 
 **NEXTGEN PRO DEMOS**<br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-mosaic-gallery/" target="_blank">Pro Mosaic Gallery</a><br>
@@ -46,7 +47,7 @@ https://www.youtube.com/embed/zmA-b_jiXN0
 
 = About Imagely =
 
-NextGEN Gallery is maintained by Imagely. We're the WordPress photography experts. In addition to NextGEN Gallery, NextGEN Plus, and NextGEN Pro, we also make WordPress themes for photographers, provide turnkey websites for photographers, and run the WordPress Photography Podcast.
+NextGEN Gallery is a WordPress gallery plugin maintained by Imagely. We're the WordPress photography experts. In addition to NextGEN Gallery, NextGEN Plus, and NextGEN Pro, we also make WordPress themes for photographers, provide turnkey websites for photographers, and run the WordPress Photography Podcast.
 
 Learn more or connect with us:<br>
 *<a href="https://www.imagely.com/" target="_blank">Imagely Website</a><br>
@@ -65,33 +66,28 @@ Imagely 2016-2019
 Photocrati Media 2012-2016<br>
 Alex Rabe 2007-2011
 
-This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+This program is free software released under the terms of the GNU General Public License.
 
 == Installation ==
 
 INSTALLATION: The easiest way to start uploading your photos is to login to you WordPress dashboard, go to Plugins > Add New, search for NextGEN Gallery, and click to install the plugin. You can also download the plugin zip file from this page and upload it from the Plugins > Add New > Upload page.
 
-HOW TO USE: Just go to a page or post and click the NextGEN Gallery icon or the Add Gallery button. From our Insert Gallery Window, you can create, manage, customize, and display your WordPress photo galleries. You can also manage your photo galleries and gallery settings from the central options area under the "Gallery" tab on your dashboard menu.
+HOW TO USE: Just go to a page or post and add a NextGEN Gallery block. Within the block, click the Add Gallery button to open our Insert Gallery Window, where you can create, manage, customize, and display your WordPress photo galleries. You can also manage your photo galleries and gallery settings from the central options area under the "Gallery" tab on your dashboard menu.
 
 DOCUMENTATION: See <a href="https://www.imagely.com/docs/nextgen-gallery/" target="_blank">NextGEN Gallery Documentation</a>.
 
 That's it ... have fun! For more information, feel free to visit the official website for the NextGEN Gallery <a href="https://www.imagely.com/wordpress-gallery-plugin" target="_blank">WordPress Gallery Plugin</a>.
 
-https://www.youtube.com/watch?v=qwNr5ZNGavo
-
 == Screenshots ==
 
 1. Thumbnail Gallery
 2. Slideshow Gallery
-3. Manage Gallery Page
-4. Insert Gallery Window
-5. Gallery Settings Page
+3. Imagebrowser Gallery
+4. Manage Gallery Page
+5. Insert Gallery Window
+6. Gallery Settings Page
 
-== Shortcode ==
+== Shortcodes ==
 
 NextGEN Gallery offers an easy-to-use Insert Gallery Window, which means you never need to work with shortcodes again when inserting and manageing galleries - if you would prefer not too.
 
@@ -123,7 +119,7 @@ Nope, we use no flash elements.
 
 = Are the galleries mobile friendly? =
 
-Yes, we've put a lot of work into this and, NextGEN Galleries are compatible with Android, iOS. All photo galleries are also responsive, so galleries look good on diverse screen sizes. NextGEN Pro also includes a full screen, responsive Pro Lightbox with mobile gesture support. It's great for viewing photos on mobile devices.
+Yes, we've put a lot of work into this and, NextGEN Galleries are compatible with phones and tablets, inluding Android and iOS operating systems. All photo galleries are also responsive, so galleries look good on diverse screen sizes. NextGEN Pro also includes a full screen, responsive Pro Lightbox with mobile gesture support. It's great for viewing photos on mobile devices.
 
 
 = What is the difference between a gallery and an album? =
@@ -183,6 +179,54 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 == Changelog ==
 
+= V3.2.2 - 05.09.2019 =
+* Changed: Updated video Links
+* Changed: Branding updates in Readme.txt file
+
+= V3.2.1 - 05.08.2019 =
+* Fixed:   Missing settings after Reset with NextGEN Plus
+* Fixed:   Small styling issues with WordPress 5.2
+
+= V3.2.0 - 05.07.2019 =
+* NEW:     Branding update
+* NEW:     API methods for detecting NextGEN provided pages and custom post types
+* Fixed:   Missing menus after Reset
+* Fixed:   Ajax pagination with Simplelightbox
+* Fixed:   Datamapper query cache not purged after saving an entity
+* Fixed:   Gallery folder not created when using Manage Galleries -> New Gallery
+* Fixed:   Notifications not appearing on all Nextgen-provided pages
+* Fixed:   Gallery wizard conflicting with NextGEN Pro ecommerce wizard
+* Fixed:   Upgrade to pro button
+* Fixed:   NGG activation transient not given a time-to-live value
+
+= V3.1.17 - 04.02.2019 =
+* Fixed:   Preview images for display types giving get_static_abspath error
+* Fixed:   Compatibility with the Imagely Lightroom plugin
+
+= V3.1.14 - 03.26.2019 =
+* Changed: Restored original behavior of ngg_after_new_images_added hook
+* Changed: Images with EXIF rotation metadata are now rotated automatically at upload
+* Changed: Moved confirmation message presented after editing a thumbnail
+* Fixed:   Ability to import zips of images
+* Fixed:   Gallery folder not created on filesystem after adding new gallery
+* Fixed:   IGW not working with Gutenberg / Block Editor
+* Fixed:   Compatibility with EWWW Image Optimizer
+* Fixed:   Compatibility with Elementor
+* Fixed:   Compatibility with Imagify
+* Fixed:   NextGen 3.1.11 passed an incorrect path to load_plugin_textdomain()
+* Fixed:   Simplelightbox initialization was opening more than once for certain images
+
+= V3.1.11 - 03.020.2019 =
+* NEW:     Many performance enhancements
+* Fixed:   Broken Overview page on WordPress 5.1
+* Fixed:   Problem with notices not being dismissible
+* Fixed:   Recover images from backup generating errors
+* Fixed:   Manage Tags the only menu option after activating
+* Fixed:   Compatibility with environments which don't have mime_content_type function
+
+= V3.1.7 - 02.26.2019 =
+* Changed: Upgraded Freemius SDK to latest release
+
 = V3.1.6 - 01.16.2019 =
 * NEW:     Option to control caching duration of random widget galleries
 * Secured: DB record serialization
-- 
GitLab