diff --git a/wp-content/plugins/nextgen-gallery/changelog.txt b/wp-content/plugins/nextgen-gallery/changelog.txt
index d024d52c5497c40b2fecbad1ce6bb5cb3b34c442..af5c6076d8e524f5e9c935da370743164fe10066 100644
--- a/wp-content/plugins/nextgen-gallery/changelog.txt
+++ b/wp-content/plugins/nextgen-gallery/changelog.txt
@@ -1,11 +1,48 @@
 NextGEN Gallery
 by Imagely
 
-= V2.2.33 - 12.24.2017
-* Fixed:   Certain image attributes were not being validated correctly
-
-= V2.2.30 - 12.13.2017
+= V3.0.1 - 05.17.2018 =
+* Fixed:   Prevent caching of display_tab.js which can break the IGW
+
+= V3.0.0 - 05.16.2018 =
+* NEW: 	   Complete redesign of NextGEN Gallery backend interface
+* Changed: Image descriptions may now include <img> elements with src, alt, title, id, class, name, rel, and style
+* Changed: Upgraded Select2 to latest release (4.0.5)
+* Changed: Updated link href to 'image delete' & 'recover' links
+* Fixed:   Gutenberg compatibility
+* Fixed:   Removed use of screen_icon() from plugin
+* Fixed:   Color selection widget keeping unsaved values between page refreshes
+
+= V2.2.54 - 02.28.2018 =
+* Fixed:   Conflict with Gutenberg editor
+* Fixed:   Manage Albums' "Not linked" option wasn't selectable
+* Fixed:   Manage Galleries gallery path field was having extraneous slashes added on IIS servers
+
+= V2.2.50 - 02.20.2018 =
+* Secured: Gallery paths and the ability to manage tags
+* Kudos:   ElevenPaths (Telefonica cibersecurity Unit)
+
+= V2.2.46 - 02.15.2018 =
+* Fixed:   Broken Manage Albums page
+
+= V2.2.45 - 02.14.2018 =
+* NEW:     Partner page for Imagify image optimization
+* Secured: Image property escaping case-sensitive
+* Secured: Vulnerable to CVE-2017-2416 buffer overflows
+* Kudos:   Zhouyuan Yang of Fortinet's FortiGuard Labs
+* Fixed:   Incorrect CSS class format used in form generator text field
+* Fixed:   Clean exit in FastCGI environments
+* Fixed:   Use of deprecated functions in gallery plugin
+
+= V2.2.33 - 12.24.2017 =
+* Secured: Certain image attributes were not being validated correctly
+
+= V2.2.30 - 12.13.2017 =
 * Fixed:   Segfaults on PHP 7.2, 7.1.12, and 7.0.26.
+* Fixed:   WordPress gallery plugin wizards initialized too early.
+* Fixed:   ImageBrowser display types generating warnings on PHP 7.2
+* Fixed:   Widgets causing WSOD on PHP 7.2
+* Fixed:   Removed create_function() calls (deprecated in PHP 7.2)
 
 = V2.2.18 - 12.04.2017 =
 * NEW:     Include PHP 7.2.0 in the warning created by NextGen Gallery 2.2.16
@@ -17,7 +54,7 @@ by Imagely
 * NEW:     Display an admin warning and disable NextGen Gallery when PHP 7.1.12 or 7.0.26 are in use
 
 = V2.2.14 - 09.18.2017 =
-* NEW:     EXIF and IPTC metadata are copied to new images when generating thumbnails, watermarks, or new sizes
+* NEW:     EXIF and IPTC metadata are copied to new images and photos when generating thumbnails, watermarks, or new sizes
 * Fixed:   Metadata is read and preserved when "Resized images after upload" feature is enabled
 
 = V2.2.12 - 08.01.2017 =
@@ -44,12 +81,12 @@ by Imagely
 * Fixed:   Thumbnail editing links missing when locale uses RTL language such as Hebrew
 * Fixed:   Roles and Capabilities discrepancy with displaying NextGEN Gallery UI elements
 * Fixed:   Fancybox lightbox effect not compatible with Pro Mosaic galleries
-* Fixed:   Basic Tagcloud does not honor display type setting when editing in IGW
+* Fixed:   Basic Tagcloud does not honor display type setting when editing in Insert Gallery Window
 * Fixed:   Basic Tagcloud allows selection of Pro display types when NGG Pro is disabled
 * Fixed:   Limit display types available in "Display galleries as" setting for albums
 * Fixed:   Special characters in `show_slideshow_text` parameter causing inserted display to not be editable.
 * Fixed:   NGG Basic Slideshow not honoring transition effect setting
-* Fixed:   Image tags that are no longer should be removed
+* Fixed:   Image tags that are no longer should be removed from WordPress gallery plugin
 * Fixed:   Spacing preserved when our shortcodes are placed with other content
 * Fixed:   Breadcrumbs in albums when slug is shared between gallery and album
 * Fixed:   get_unique_slug() creating invalid SQL query when gallery name contains quote characters
@@ -68,8 +105,8 @@ by Imagely
 
 = V2.2.1 - 03.13.2017 =
 * NEW:      Template mechanism for all display types
-* NEW:      Review notices
-* Changed:  Updated branding to Imagely
+* NEW:      WordPress gallery plugin review notices
+* Changed:  Updated WordPress gallery plugin branding to Imagely
 * Changed:  Added the ability to click on a gallery title and have it open direct to Pro Lightbox
 * Fixed:    Problems with activation after initial installation
 * Fixed:    Don't display legacy shortcodes after creating new galleries
@@ -97,10 +134,10 @@ by Imagely
 
 = V2.1.61 - 12.14.2016 =
 * NEW:     Gallery creation wizard for new users
-* Fixed:   Shortcodes in widgets not getting substituted in Divi
+* Fixed:   Shortcodes in WordPress gallery plugin widgets not getting substituted in Divi
 * Fixed:   Ensure that NGG placeholder text doesn't get styled incorrectly by other themes
 * Fixed:   Various thickbox issues on custom post type pages
-* Fixed:   Hide IGW placeholder images in Yoast feed
+* Fixed:   Hide Insert Gallery placeholder images in Yoast feed
 
 = V2.1.60 - 11.22.2016 =
 * Secured: Ensure that only .css files can be edited using Styles tab
@@ -109,7 +146,7 @@ by Imagely
 * Secured: Ability to customize CSS Styles
 * Changed: readme.txt improvements
 * Fixed:   Compatibility with WordPress 4.7.0
-* Fixed:   IGW-inserted tagclouds are incorrect
+* Fixed:   Insert Gallery Window-inserted tagclouds are incorrect
 
 = V2.1.57 - 11.14.2016 =
 * Secured: Custom Styles may only be written to specific directories
@@ -141,17 +178,17 @@ by Imagely
 * Fixed:   Import folder 'gallery title' field wasn't being used for new gallery titles
 * Fixed:   Settings reset will now redirect to /wp-admin/ to avoid potential activation-related errors
 * Fixed:   Table columns cache becomes out of date between versions
-* Fixed:   Various issues with shortcodes when used in widgets
+* Fixed:   Various issues with WordPress gallery plugin shortcodes when used in widgets
 * Fixed:   Warnings caused by calls to non-existent module package files
 * Fixed:   nextgen_admin's jquery-ui breaking Elegant Themes admin pages
 
 = V2.1.50 - 08.30-2016 =
 * NEW:     Added the ability to open galleries within albums using a lightbox
 * Changed: Increased freemius opt-in to 100%
-* Changed: Tamara Lackey's biography on the overview page
-* Fixed:   Images not responsive for all display types
+* Changed: Tamara Lackey's biography on the WordPress gallery plugin overview page
+* Fixed:   Images and photos not responsive for all display types
 * Fixed:   Compatibility with the Imagely Lightroom plugin
-* Fixed:   Removed Pope tests folder
+* Fixed:   Removed Pope tests folder from WordPress gallery plugin
 * Fixed:   Maximum function nesting level fatal error when displaying two or more albums
 * Fixed:   Ensure Insert Gallery Window background stays white
 * Fixed:   PHP warning for C_NGG_Lightbox class using incompatible constructor
@@ -162,8 +199,8 @@ by Imagely
 * NEW:     Added notice for deprecating PHP 5.2
 * NEW:     Option to display child gallery and album descriptions when viewing albums
 * Changed: ATP preview images are smaller with tighter margins to show more images
-* Changed: Content of Upgrade to Pro page
-* Changed: New NextGEN Overview page
+* Changed: Content of WordPress gallery plugin Upgrade to Pro page
+* Changed: New Gallery plugin Overview page
 * Changed: Replicate gallery name sanitation of NG legacy for gallery paths
 * Fixed:   Resolved all found PHP warnings/notices/deprecations and strict errors
 * Fixed:   Compatibility on Windows servers with network mounted document roots
@@ -180,18 +217,18 @@ by Imagely
 
 = V2.1.44 - 06.22.2016 =
 * NEW:     "Add Gallery" button added next to "Add Media" button on Create/Edit Post screen
-* NEW:     IGW placeholder images are watermarked
+* NEW:     Insert Gallery placeholder images are watermarked
 * NEW:     Added API for communicating with Lightroom plugin
 * NEW:     Gulp build system
 * NEW:     Added "ngg_igw_placeholder_line_2_settings" and "ngg_igw_placeholder_line_1_settings" filters
 * NEW:     Added "ngg_settings_during_image_generation" filter to adjust image generation
 * NEW:     Added "ngg_before_save_thumbnail" filter for image manipulation abilities
 * NEW:     Added the ability to apply GD filters during image generation
-* NEW:     Integrated with WordPress SEO sitemaps to show include NGG images in image counts
-* Changed: Links to manage a gallery after it's been created don't appear in the IGW
+* NEW:     Integrated with WordPress SEO sitemaps to show include NGG images and photos in image counts
+* Changed: Links to manage a gallery after it's been created don't appear in the Insert Gallery Window
 * Fixed:   Freemius code shouldn't be minified
 * Fixed:   When a datamapper entity is saved, it's corresponding cache should be cleared
-* Fixed:   IGW placeholder images aren't used by WordPress SEO's OpenGraph analysis
+* Fixed:   Insert Gallery Window placeholder images aren't used by WordPress SEO's OpenGraph analysis
 
 = V2.1.43 - 05.25.2016 =
 * NEW:     Added Freemius integration
@@ -202,7 +239,7 @@ by Imagely
 * Changed: Updated "Roots" relative url support to re-branded "Soil" relative url
 * Changed: Updated branding so all publicly visible instances of "Photocrati" are now "Imagely"
 * Changed: Upgraded FontAwesome to 4.6.1
-* Fixed:   Album breadcrumbs when used with legacy templates
+* Fixed:   Album breadcrumbs when used with WordPress gallery plugin legacy templates
 * Fixed:   Compatibility with added WP role objects without a remove_cap() method
 * Fixed:   Default watermark setting causing images to be watermarked by text even though "image" is shown chosen on "Other Options"
 * Fixed:   Navigating to albums with UTF8 characters in their name
@@ -252,7 +289,7 @@ by Imagely
 * NEW:     Added text domain and domain path to plugin header
 * NEW:     Add the ability to specify gallery title with import_gallery_from_fs() method
 * NEW:     Swedish (sv_SE) translation (thanks Anders O Johansson)
-* Changed: Updated FontAwesome to version 4.5
+* Changed: Updated plugin's FontAwesome to version 4.5
 * Changed: Handle for bundled version select2 is now called 'ngg_select2'
 * Fixed:   Removed redundant translatable strings (thanks Rene Wolf)
 * Fixed:   Loading non-WOFF fonts on IIS servers
@@ -279,14 +316,14 @@ by Imagely
 * Secured: Limit the ability to browse folders outside of NGG_IMPORT_ROOT
 
 = V2.1.7 - 08.12.2015 =
-* Changed: "Flush image cache" now removes images from the database w/o a gallery
+* Changed: "Flush image cache" now removes images and photos from the database w/o a gallery
 * Changed: "Show Meta" popup: parse date_format through date_i18n()
 * Changed: Made Add Gallery/Images notifications a link to the gallery
 * Changed: No longer cache displayed galleries as transients
 * Changed: Updated widgets to use PHP5 parent::__construct() over $this->WP_Widget()
 * Fixed:   C_NextGen_Metadata->get_EXIF() was bugged with imagebrowser-exif template
-* Fixed:   Cornerstone/X compatibility
-* Fixed:   Recovering images was 'generating' from backup instead of copying
+* Fixed:   Cornerstone/X compatibility with WordPress gallery plugin
+* Fixed:   Recovering images and photos was 'generating' from backup instead of copying
 * Fixed:   Setting post thumbnail more than once on a page/post
 * Fixed:   Permanently hide display types from ATP without an active POPE module
 
@@ -294,7 +331,7 @@ by Imagely
 * NEW:     Ability to import from Media Library
 * NEW:     Added filter 'ngg_datamapper_table_name'
 * NEW:     Added filter `ngg_legacy_template_directories` for legacy template locator (thanks Ross McKay)
-* NEW:     Pagination available onManage Images page
+* NEW:     Pagination available on Manage Images page
 * NEW:     Added filter ngg_manage_images_items_per_page_array to control pagination options
 * NEW:     Added filters 'ngg_load_frontend_logic' and 'ngg_get_modules_to_load'
 * NEW:     Added filter 'ngg_add_page_shortcode' to control Manage Galleries > 'Create new page' content
@@ -313,8 +350,8 @@ by Imagely
 * Fixed:   Adjusted album-compact template to always include p.ngg-album-gallery-image-counter
 * Fixed:   Replaced empty gallery rendering in is_feed() with a link
 * Fixed:   Removed default settings for imagerotator, which is no longer supported
-* Fixed:   Optimized scanning of images when importing a gallery
-* Fixed:   When a gallery is deleted, ensure that DB and filesystem are purged
+* Fixed:   Optimized scanning of images when importing a photo gallery
+* Fixed:   When a photo gallery is deleted, ensure that DB and filesystem are purged
 * Fixed:   Removed Insert Gallery Window box shadow
 * Fixed:   Ensure that file_exists() calls are prefixed with @
 
@@ -331,7 +368,7 @@ by Imagely
 * NEW:     The ability to set template in widgets
 * Changed: Default thumbnail dimensions set to 240x160
 * Changed: Product now adheres to Pope 0.12 and provides get_modules_to_load()
-* Changed: Updated translations
+* Changed: Updated gallery plugin translations
 * Changed: Removed link to capsman plugin in Roles accordion
 * Changed: Taxnomies now use internationalized strings
 * Changed: Image date/time meta data fields are stored as UNIX timestamps
@@ -347,12 +384,12 @@ by Imagely
 * Fixed:   Image filenames substituting spaces for + which is only proper in the query string
 * Fixed:   Insert Gallery Window not working with nested levels of gzip compression
 * Fixed:   Imagebrowser as lightbox effect not working with pagination
-* Fixed:   Compatibility with MultiVerso Advanced File Sharing
+* Fixed:   Plugin compatibility with MultiVerso Advanced File Sharing
 * Fixed:   "Add page" button not displaying on the next immediate page load
 * Fixed:   Double-escaping of non-latin characters
 * Fixed:   Imagebrowser pagination with custom templates
 * Fixed:   Custom CSS is enqueued late to ensure it's one of the last stylesheets loaded
-* Fixed:   Fixed watermarking PNG images
+* Fixed:   Fixed watermarking PNG images and photos
 * Fixed:   Using the "Import Metadata" bulk action overwrites existing data
 * Fixed:   Seconds were not retained from CaptureTime EXIF field
 * Fixed:   Conflicts created by our TinyMCE plugin
@@ -378,10 +415,10 @@ by Imagely
 * Changed: Use a more reliable means of excluding Pro/Plus modules from using minified static resources
 * Fixed:   Imagebrowser pagination with custom templates
 * Fixed:   Custom CSS is enqueued late to ensure it's one of the last stylesheets loaded
-* Fixed:   Fixed watermarking PNG images
+* Fixed:   Fixed watermarking PNG images and photos
 * Fixed:   Using the "Import Metadata" bulk action overwrites existing data
 * Fixed:   Seconds were not retained from CaptureTime EXIF field
-* Fixed:   Conflicts created by our TinyMCE plugin
+* Fixed:   Conflicts created by WordPress gallery plugin TinyMCE plugin
 * Fixed:   Image mapper setting gid to gallery name, not the unique ID
 * Fixed:   Restored nggdb->get_random_images(), nggdb->search_for_file, and nggdb->find_all_albums()
 * Fixed:   Allow gallery slug as parameter to nggdb::get_gallery()
@@ -389,7 +426,7 @@ by Imagely
 * Fixed:   Custom template images not being given their full effect code attributes
 
 = V2.0.76 - 02.24.2015 =
-* Fixed:   Compatibility checks for very old versions of NextGEN Pro
+* Fixed:   Compatibility checks for very old versions of NextGEN Pro plugin
 * Fixed:   Zero-byte downloads in WooCommerce and WPE-Commerce
 * Fixed:   Invalid URL being enqueued if a custom lightbox is selected with no URL provided
 * Fixed:   Restored a method to nggAdmin to fix compatibility with NextGen Public Uploader
@@ -408,9 +445,9 @@ by Imagely
 * NEW:     Uses Pope 2.0, benefiting from the new caching capabilities
 * NEW:     NextGEN Gallery's functionality is disabled if NextGEN Pro is incompatible
 * NEW:     Added ngg_effect_code filter
-* Changed: Updated FontAwesome to 4.3.0
-* Changed: Updated select2 to 3.5.2
-* Changed: Removed PicLens / CoolIris integration
+* Changed: Updated plugin's FontAwesome to 4.3.0
+* Changed: Updated plugin's  select2 to 3.5.2
+* Changed: Removed PicLens / CoolIris integration from WordPress gallery plugin
 * Changed: Removed JSON API. Please use XML-RPC API instead
 * Changed: For performance reasons, we cache FS & url lookups/calculations
 * Changed: Greatly reduced the # of sql queries, and eliminated anything redundant
@@ -437,7 +474,7 @@ by Imagely
 * Fixed:   Don't run Resource Manager on wp-login.php or wp-sign.php
 * Fixed:   TinyMCE Image Editor conflict with Insert Gallery Window placeholder images
 * Fixed:   Fix Shutter positioning when admin bar is displayed
-* Fixed:   Allow deselection of a legacy template
+* Fixed:   Allow deselection of a WordPress gallery plugin legacy template
 * Fixed:   Prevent conflicts when using imagebrowser as a lightbox effect
 * Fixed:   Pagination not working for slideshows using thumbnail integration
 
@@ -461,7 +498,7 @@ by Imagely
 
 = V2.0.66.26 - 08.18.2014 =
 * NEW:     Added fault tolerance to bulk action AJAX requests
-* Changed: Moved some settings from DB to in-memory
+* Changed: Moved some WordPress gallery plugin settings from DB to in-memory
 * Fixed:   Compatibility with BuddyPress plugin in multisite environments
 * Fixed:   Ability to find static resources outside of WP_PLUGIN_DIR
 * Fixed:   Autoupdate conflict with Photocrati Theme
@@ -469,7 +506,7 @@ by Imagely
 * Fixed:   Issue with settings manager in multisite enviroments
 
 = V2.0.66.17 - 08.08.2014 =
-* NEW:	   Added french translations
+* NEW:	   Added French translations
 * Secured: XSS vulnerability in jQuery Plupload Queue (thanks Codevigilant Team)
 * Secured: XSS vulnerability in thumbnail/slideshow integration links
 * Secured: XSS vulnerability on Manage Albums page
@@ -531,7 +568,7 @@ by Imagely
 * Fixed:   Removed redundant roles form in multisite environments
 * Fixed:   Insert Gallery Window support for multisite environments
 * Fixed:   Incorrect handling of NextGEN Styles in multisite environments
-* Fixed:   Not honouring NGG_IMPORT_ROOT constant
+* Fixed:   WordPress gallery plugin not honouring NGG_IMPORT_ROOT constant
 * Fixed:   Fixed inability to edit gallery properties using XMLRPC's edit_gallery method
 * Fixed:   Alignment issues in Basic Compact Albums caused by subalbums not displaying image 'counter'
 * Fixed:   Display setting forms compatibility issue with WordPress 3.9
@@ -561,7 +598,7 @@ by Imagely
 * Fixed:   Removed code causing jQuery compatibility issues in WP Admin
 * Fixed:   Allow third-parties to override jQuery with Google's CDN
 * Fixed:   When resetting the 'jquery' handle, ensure that jquery-migrate is a dependency
-* Fixed:   Silenced many PHP warnings
+* Fixed:   Silenced many PHP warnings in gallery plugin
 * Fixed:   Datamapper->count() not returning the correct count
 * Fixed:   Compatibility with Gravity Forms
 
@@ -571,7 +608,7 @@ by Imagely
 * Fixed:   Compatibility with Peekaboo theme
 
 = V2.0.57 - 03.05.2014 =
-* NEW:     Re-introduced the Reset button
+* NEW:     Re-introduced the Reset button to WordPress gallery plugin
 * NEW:     Tooltip added for Page Link to functionality
 * NEW:     Displayed Gallery Triggers moved from NextGEN Pro to NextGEN Gallery (not in use)
 * NEW:     Added NGG_Store, a client-side persistence layer (not in use)
@@ -585,8 +622,8 @@ by Imagely
 * Changed: Default path for NEW multisite installations to wp-content/uploads/sites/%BLOG_ID%/nggallery/
 * Fixed:   Ability to upload ZIP files on Windows hosts
 * Fixed:   Support for filenames with non-ASCII characters
-* Fixed:   Dynamic updates in the Attach to Post interface (interframe communication)
-* Fixed:   Attach to Post interface freezing in IE11
+* Fixed:   Dynamic updates in the Insert Gallery interface (interframe communication)
+* Fixed:   WordPress gallery plugin insert interface freezing in IE11
 * Fixed:   Path issues on Windows Servers
 * Fixed:   Module installer integrity
 * Fixed:   Database query performance. No more joins to the WP options table
@@ -597,7 +634,7 @@ by Imagely
 * Fixed:   Corrupted MediaRSS feeds
 * Fixed:   Padding on Gallery Settings and Other Options pages
 * Fixed:   Routing issues on subdirectory installs
-* Fixed:   Importing galleries using the Attach to Post Interface
+* Fixed:   Importing galleries using the Insert Gallery Interface
 * Fixed:   Gallery path calculations on Windows web servers
 * Fixed:   Sub-album urls not processed correctly
 * Fixed:   Apply maximum entity count to existing displayed galleries
@@ -606,15 +643,15 @@ by Imagely
 * Fixed:   PHP warning about HTMLDocument when displaying a SinglePic
 * Fixed:   Sanitization of gallery title
 * Fixed:   Home URL now used instead of Site URL in MediaRSS feed
-* Fixed:   Attach to Post interface broken when WPML is installed
-* Fixed:   Attach to Post interface instructing browser to cache the page
+* Fixed:   Insert Gallery interface broken when WPML is installed
+* Fixed:   Insert Gallery interface instructing browser to cache the page
 * Fixed:   Watermarking not working in low-memory environments
 * Fixed:   Maximum images limit not being applied for galleries already created.
 * Fixed:   Double forward slashes in static urls
 * Fixed:   Don't sleep when checking if the installer is running
 * Fixed:   Don't enforce Pope interface contracts
 * Fixed:   Remove custom table extra records from wp_options table
-* Fixed:   Scan folder for new images not working
+* Fixed:   Scan folder for new images and photos not working
 * Fixed:   Incorrect page permalink used for "Page Link To" functionality
 * Fixed:   Pagination broken when Basic Thumbnail gallery on the same page as Basic Album
 * Fixed:   parse_url() warnings generated for PHP 5.3.3 and earlier
@@ -623,7 +660,7 @@ by Imagely
 * Fixed:   Third-party incompatibilities caused by the Photocrati Resource Manager
 * Fixed:   Compatibility with the Flattr plugin
 * Fixed:   Compatibility with the Weaver II theme
-* Fixed:   Interface tweaks for WordPress 3.8
+* Fixed:   Gallery plugin interface tweaks for WordPress 3.8
 
 = V2.0.40 - 11.26.2013 =
 * NEW:     Added the ability to apply lightbox effects to non-NGG images
@@ -631,27 +668,27 @@ by Imagely
 * NEW:     Added NEXTGEN_GALLERY_IMPORT_ROOT constant. Define and set to TRUE to browse from a custom directory
 * NEW:     Added NGG_DEBUG constant. Define and set to TRUE to display helpful messages for debugging
 * NEW:     Each custom table record will have an associated custom post record for expansion
-* NEW:     Display helpful error messages when there's a problem uploading images
+* NEW:     Display helpful error messages when there's a problem uploading images and photos
 * NEW:     Add data-(src|thumbnail|image-id|title|description) attribute to gallery image anchors
 * NEW:     Variant support for displayed gallery sources. Random images is limited to 5 variations
 * Fixed:   Excessive creation of transients for random galleries
-* Fixed:   Many issues prohibiting the ability to upload images
+* Fixed:   Issues prohibiting the ability to upload images and photos
 * Fixed:   Compatibility with NextGEN Gallery Export Plugin for Adobe Lightroom (thanks Vladimir!)
-* Fixed:   Sorting in the Attach to Post interface
+* Fixed:   Sorting in the Insert Gallery interface
 * Fixed:   HTML allowed in gallery/album descriptions
 * Fixed:   Requests for galleries within albums that have numeric names are broken
 * Fixed:   Call to a non-member function get() on WP_Query
-* Fixed:   Ability to sort by Image ID in the Attach to Post interface
-* Fixed:   Isolate the Attach to Post from implicit third-party script inclusion
+* Fixed:   Ability to sort by Image ID in the Insert Gallery interface
+* Fixed:   Isolate the Insert Gallery Window from implicit third-party script inclusion
 * Fixed:   Check for the existance of thumbnails when generating urls, and if missing, generate new ones
 * Fixed:   Compatibility with NextGEN Facebook OpenGraph+ plugin
-* Fixed:   Various XML-RPC issues
+* Fixed:   Various XML-RPC issues in WordPress gallery plugin
 * Fixed:   Widgets stylesheet not included
 * Fixed:   Issue with color not being pre-selected when previewing Watermark
 * Fixed:   E_NOTICE emitted when cleaning up cached image files
 * Fixed:   E_NOTICE emitted when viewing display type settings
 * Fixed:   Typo adjusting pcre.backtrack_limit for shortcodes
-* Fixed:   Content within the tabs of the Attach to Post interface cut-off
+* Fixed:   Content within the tabs of the Insert Gallery interface cut-off
 * Fixed:   Routing problem which would cause conflicts with different display types on the same page
 * Fixed:   Broken Dynamic CSS links on GoDaddy
 * Fixed:   Ability to use HTML in gallery/album descriptions
@@ -671,9 +708,9 @@ by Imagely
 * Fixed:   Tagclouds not working in multisite instances
 * Fixed:   Load widgets.css when a widget is being used
 * Fixed:   Installer should remove all instances of the component factory
-* Fixed:   Widget settings interface not intuitive
-* Fixed:   Inability to upload images in some Windows host environments
-* Fixed:   Sorting images/galleries using the Attach To Post interface
+* Fixed:   WordPress gallery plugin widget settings interface not intuitive
+* Fixed:   Inability to upload images and photos in some Windows host environments
+* Fixed:   Sorting images/galleries using the Insert Gallery interface
 * Fixed:   Fix detection of HTTPS (pull request by Leonhardt Wille)
 * Fixed:   Compilation errors of regular expressions
 * Fixed:   Pro galleries wouldn't display in environments using PHP 5.3.3 or less
@@ -700,7 +737,7 @@ by Imagely
 = V2.0.30 - 09.25.2013 =
 * NEW:     Restored the ability to use imagebrowser display type instead of a lightbox effect
 * Changed: Displayed galleries are no longer rendered in RSS feeds
-* Changed: Removed "Plugin Check" widget from overview page
+* Changed: Removed "Plugin Check" widget from WordPress gallery plugin overview page
 * Fixed:   Silence PHP warnings/errors in an output buffer for AJAX actions
 * Fixed:   Compatibility issue with WordPress SEO and broken site maps (and large error_logs)
 * Fixed:   Compatibility issue with AJAX Event Calendar (and possibly others)
@@ -710,7 +747,7 @@ by Imagely
 * Fixed:   Ensure that image meta is imported on creation
 * Fixed:   Ensure that transients are removed when an external object cache is used
 * Fixed:   Don't load pluggable.php. This will fix plugin conflicts
-* Fixed:   In Attach to Post interface, galleries created in one tab weren't showing in another
+* Fixed:   In Insert Gallery interface, galleries created in one tab weren't showing in another
 * Fixed:   Don't output frame events cookie for XML-RPC requests
 
 = V2.0.27 - 09.18.2013 =
@@ -727,7 +764,7 @@ by Imagely
 * NEW:     WP-Cron job to periodically clean-up displayed gallery transients
 * NEW:     Added "excluded_container_ids" as parameter for ngg_images shortcode
 * Fixed:   Lightbox effect is honoured by all display types
-* Fixed:   Highslide displays images from the correct displayed galleries
+* Fixed:   Highslide displays images and photos from the correct displayed galleries
 * Fixed:   Ensure that sub-albums display correctly when the word "album" is part of a slug
 * Fixed:   Ensure that sub-albums display correctly when numerical slugs are used
 * Fixed:   Related images heading only added when Related Images functionality is enabled
@@ -740,15 +777,15 @@ by Imagely
 
 = V2.0.21 - 09.09.2013 =
 * NEW:	   Multisite support
-* Changed: Default image quality set to 100 for generated images
+* Changed: Default image quality set to 100 for generated images and photos
 * Changed: Removed dependence on simplehtmldom library
 * Fixed:   Related images functionality works as it did in 1.9.x
 * Fixed:   Don't compress inline JavaScript in post/page content
 * Fixed:   Click-to-advance slideshow behavior for slideshows
 * Fixed:   Security warnings from VaultPress
 * Fixed:   View as Slideshow link works with AJAX pagination
-* Fixed:   Broken links on Overview page
-* Fixed:   Backup images option
+* Fixed:   Broken links on WordPress gallery plugin Overview page
+* Fixed:   WordPress gallery plugin Backup images option
 * Fixed:   Stylesheet url generated correctly for Windows hosts
 * Fixed:   Compatibility with NextGen Custom Fields plugin
 * Fixed:   Compatibility with Adsense Explosion plugin
@@ -774,13 +811,13 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed: Removed "Reset & Uninstall" tab, for now
 * Fixed:   Compatibility with W3 Total Cache. Please flush cache after updating.
 * Fixed:   Conflicts with Photocrati Theme Galleries
-* Fixed:   Blank Attach to Post interface window
+* Fixed:   Blank Insert Gallery interface window
 * Fixed:   Fixed ability to change Lightbox Effect settings
 * Fixed:   Implemented techniques to ensure WP_Query variables aren't overwritten
 * Fixed:   Enqueuing AJAX JS libraries twice in wp-admin
 * Fixed:   Encoding issues
 * Fixed:   PHP warnings caused by accessing unserialized data as array
-* Fixed:   Fixed installer issues
+* Fixed:   Fixed WordPress gallery plugin installer issues
 
 = V2.0.7 - 08.09.2013 =
 * NEW:     New resource manager that fixes many plugin and theme incompatibilities
@@ -801,7 +838,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Fixed:   Restore nggShowGallery and nggShowSlideshow as wrappers to new API
 * Fixed:   Always use domain as specified by WordPress Site URL
 * Fixed:   Use WordPress Home URL over Site URL when appropriate
-* Fixed:   Numerous pagination issues
+* Fixed:   Numerous WordPress gallery plugin pagination issues
 * Fixed:   Adjusted our forms to comply with WordPress Firewalls
 * Fixed:   Correct use of select2 DOM selector for maximum compatibility
 * Fixed:   Path and URL calculations for Windows and UNIX environments
@@ -821,20 +858,20 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW:     Galleries are now mobile friendly and responsive, which is most noticeable with a responsive theme.
 * NEW:     Streamlined functionality for displaying galleries based on tags.
 * NEW:     Architecture based on Pope Framework (http://bitbucket.org/photocrati/pope-framework)
-* NEW:     New shortcode, “ngg_images”, and corresponding Attach to Post interface
+* NEW:     New shortcode, “ngg_images”, and corresponding Insert Gallery interface
 * NEW:     Galleries have now global and instance settings
 * NEW:     Support for FastCGI environments
 * Changed: Replaces shortcodes with placeholder images, however still supports legacy shortcodes.
-* Changed: Introduced new Growl-like notifications
-* Changed: The container and it’s images are centered for slideshows
+* Changed: Introduced new Growl-like notifications for WordPress gallery plugin
+* Changed: The container and its images are centered for photo slideshows
 * Changed: NextGEN styles now override vs replace default styles
 * Changed: NextGEN legacy templates have been deprecated (but still function)
 * FIXED:   The ability to use NextGEN image as a Featured Image.
-* FIXED:   Many bugs and annoyances, such as PHP warnings, errors, etc.
+* FIXED:   Misc PHP warnings, errors, in gallery plugin
 
 = V1.9.13 - 06.11.2013 =
 * NEW:     Slideshows are now centered to their content area     
-* Secured: Ensure that only logged in users can upload images
+* Secured: Ensure that only logged in users can upload images via plugin
 * Fixed:   Import date is preserved are no longer Jan 1 1970
 * Fixed:   Removed mention of upgrade.php, which no longer exists
 
@@ -848,7 +885,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed: Database schema is automatically updated when out-of-date
 * Fixed:   Empty drop-down for "Page Link To"
 * Fixed:   Alphabetical image sorting
-* Fixed:   Compatibility with Arjuna X theme
+* Fixed:   Compatibility between gallery plugin and Arjuna X theme
 * Fixed:   “Creating default object from empty value” on album page
 * Fixed:   Compatibility issues with PHP 5.4 on album page
 * Fixed:   E_DEPRECATED warning when using get_userdatabylogin() function
@@ -881,7 +918,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed: Using JQuery UI for the image sorting interface (thanks Tomás Soler)
 * Bugfix:  Image uploads work in WP 3.2 when using Safari
 * Bugfix:  Adjusted TinyMCE window to use built-in JavaScript libraries
-* Bugfix:  Removed Photocrati acquisition announcement
+* Bugfix:  Removed Photocrati acquisition announcement from WordPress gallery plugin
 * Bugfix:  Fixed incorrect usage of ImageJpeg() function
 * Bugfix:  Switched from "template_redirect" to "wp_enqueue_script" hook to load scripts and styles
 
@@ -897,8 +934,8 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Secured: Use WordPress-bundled JavaScript libraries for swfobject and swfupload instead of bundling our own
 * Bugfix: Adjusted thickbox effect styling to ensure that the lightbox is always displayed in the foreground
 * Bugfix: Fixed compatibility issues with Contact Form 7 and other plugins by following WordPress Plugin conventions
-* Bugfix: Fixed network-wide activation in WordPress 3.4
-* Bugfix: Plugin is no longer dependent on it's folder name
+* Bugfix: Fixed network-wide gallery plugin activation in WordPress 3.4
+* Bugfix: Gallery plugin is no longer dependent on its folder name
 
 = V1.9.3 - 26.02.2012 =
 * Bugfix : Ensure to set the slug for "all" albums
@@ -914,7 +951,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Increase z-index for twenty eleven theme
 * Bugfix : Support non latin chars in tagcloud
 * Bugfix : Allow other tinymce intance
-* Bugfix : Better support for WPML translation
+* Bugfix : Better gallery plugin upport for WPML translation
 
 = V1.9.1 - 10.12.2011 =
 * Bugfix : Security hardness for untrusted filenames/meta data (THX to Brian St. Pierre)
@@ -929,12 +966,12 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Added client side resize feature (only with WordPress 3.3)
 * NEW : Support for gallery templates in album shortcodes [ album id=x template="name" gallery="templatename" ]
 * NEW : Added new hook ngg_delete_picture
-* Changed : Updated to jQuery Cycle Version 2.9995
+* Changed : Updated gallery plugin to jQuery Cycle Version 2.9995
 * Changed : Always cache the single pictures, remove option
 * Bugfix : Couldn't use bulk operation for search results
 * Bugfix : Bugfix for Edit thumbnails under IE 8 + 9
 * Bugfix : Allow empty altext in ngg.editImage
-* Bugfix : Various PHP notice fixes
+* Bugfix : Various PHP notice fixes in gallery plugin
 * Bugfix : Resize fix for Shutter effect and mobile Browser
 * Bugfix : FTP Import missing slug field into database
 * Bugfix : Check also EXIF field "DateTimeOriginal" for timestamp
@@ -955,7 +992,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V1.8.1 - 18.06.2011 =
 * Bugfix : Special case for pagination, instead of showing page-1, we show the clean url
-* Bugfix : Various PHP notice fixes
+* Bugfix : Various PHP notice fixes in gallery plugin
 * Bugfix : Typo in rewrite rules
 * Bugfix : Flush rewrite rules during upgrade later
 
@@ -991,7 +1028,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V1.7.1 - 13.12.2010 =
 * Changed : Disable upgrade for PHP4 user
-* Changed : Disable colorpicker for option page
+* Changed : Disable colorpicker for WordPress gallery plugin option page
 * Bugfix : Compat fix for upgrade
 
 = V1.7.0 - 11.12.2010 =
@@ -1000,7 +1037,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding Autocomplete field to TinyMCE Popup and Album page
 * NEW : More methods for XMLRPC interface
 * Changed : New hooks for gallery table (THX to Alexander Schneider)
-* Changed : Introduce jQuery dialog as new UI element
+* Changed : Introduce jQuery dialog as new UI element for WordPress gallery plugin
 * Changed : Call TinyMCE window via admin-ajax
 * Bugfix : Better support for SSL blogs
 * Bugfix : Install/Upgrade failed when table prefix contain captial letters
@@ -1017,7 +1054,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Slideshow script failed in IE7, load script now in header
 * Bugfix : Load slideshow widget always
 * Changed : New admin notice for database upgrade
-* Changed : Rework crop feature for featured images
+* Changed : Rework crop feature of WordPress gallery plugin for featured images
 * Changed : Use site_url() instead get_option ('siteurl'), required for SSL support
 
 = V1.6.1 - 08.09.2010 =
@@ -1034,7 +1071,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed : Reorder tabs for upload
 * Changed : New menu icon and screen icon (THX to Ben Dunkle)
 * Changed : Load frontend libs always
-* Changed : Rework of overview page
+* Changed : Rework of WordPress gallery plugin overview page
 * Bugfix : Security bugfix for Zip-Upload (THX to Dominic Szablewski)
 * Bugfix : Allow JPG, PNG, GIF extension
 * Bugfix : New German translation (THX to Martin Kramarz)
@@ -1046,7 +1083,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding more hooks for custom fields plugin
 
 = V1.5.4 - 14.06.2010 =
-* Bugfix : No resize of smaller images
+* Bugfix : No resize of smaller images or photos
 * Bugfix : Compat issues for Post Thumbnails under WP3.0
 * Bugfix : Esc_URL in Media RSS
 
@@ -1075,7 +1112,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding various new capabilities for user roles
 * NEW : Auto downloader for translation file
 * Changed : Rename query var from slideshow to callback for compat reason with other plugin
-* Changed : Convert widget function to new WP structure
+* Changed : Convert WordPress gallery plugin widget function to new WP structure
 * Changed : Include lookup for tags into the backend search
 * Changed : Restructure addgallery and settings page to enable custom tabs
 * Bugfix : Select album preview from gallery preview pics instead random list
@@ -1119,7 +1156,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Added : New filter hook 'ngg_render_template' to render templates with a other plugin
 * Changed : Added option to link an album with a page id
 * Changed : Support templates for child themes, use STYLESHEETPATH instead TEMPLATEPATH (THX to Prollius)
-* Changed : Rework of Media RSS Widget
+* Changed : Rework of WordPress gallery plugin Media RSS Widget
 * Bugfix : Check capability to create a new page
 * Bugfix : Fix double call of filter name , changed to ngg_picturelist_object (THX to Prollius)
 * Bugfix : Check for a deleted gallery in a album
@@ -1139,7 +1176,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V1.3.3 - 11.06.2009 =
 * Changed : Load Thickbox images via wp_footer()
-* Bugfix  : Widget setting couldnot be saved
+* Bugfix  : Widget setting could not be saved
 
 = V1.3.2 - 10.06.2009 =
 * Changed  : Resize maximum to 1280 x 1280 with nggshow (THX to onezero)
@@ -1155,8 +1192,8 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Check for array before foreach in album missing
 
 = V1.3.0 - 07.06.2009 =
-* NEW : Subalbum support
-* NEW : Search for images in the admin tab
+* NEW : Subalbum support for WordPress gallery plugin
+* NEW : Search for images and photos in the admin tab
 * NEW : Add new gallery also in manage tab
 * NEW : AJAX support for Imagebrowser and gallery navigation (THX to Anty)
 * NEW : Added zip upload via URL (THX to Juan Jose Galvez)
@@ -1166,26 +1203,26 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed : Meta tag added via wp_head hook (THX to Viper)
 * Bugfix : Correct various PHP notice messages
 * Bugfix : Typo fix in custom fields for ngg_gal_ImageBrowser
-* Bugfix : Avoid upload of images in gallery without correct capability
+* Bugfix : Avoid upload of images and photos in gallery without correct capability
 
 = V1.2.1 - 22.03.2009 =
 * NEW : Support for IE8 Web Slices in widgets
 * NEW : Add filter ngg_image_object
 * Changed : Descending order in add gallery menu
-* Bugfix : Exclude option didnT work for multi pages
+* Bugfix : Exclude option didn't work for multi pages
 * Bugfix : Check for correct capability in manage gallery
 
 = V1.2.0 - 09.03.2009 =
 * NEW : Support for image tag cloud with shortcode [tagcloud]
 * NEW : Adding shortcode [recent max="7" template="filename" /] & [random max="7" template="filename" /] to show the most recent/random pictures (THX to Bernhard)
-* NEW : Crop thumbnails manually (THX to Simone Fumagalli)
+* NEW : Crop photo thumbnails manually (THX to Simone Fumagalli)
 * NEW : Support for i18n with polyglot or qtrans plugin (THX to Boris Glumpler)
 * NEW : Canonical meta link support
 * Added : SWFUpload V2.2.0 B5
 * Added : New memory limit check in upload screen
-* Bugfix : Language typo fixes
+* Bugfix : Language typo fixes for WordPress gallery plugin
 * Bugfix : Admin Pagination fix
-* Bugfix : Typo fix in widgets
+* Bugfix : Typo fix in WordPress gallery plugin widgets
 * Bugfix : Init column script after document is ready
 * Bugfix : htmlspecialchars() instead htmlentities() for links in the a href title description
 * Bugfix : Upgrade routine didn't add sortorder to correct table (THX to Uwe)
@@ -1207,7 +1244,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : All albums code couldn't use the slideshow, query is empty for 0
 * Bugfix : Htmlentities() for links in the a href title description
 * Bugfix : Clean up mode for singlepic
-* Bugfix : Typo in widget settings
+* Bugfix : Typo in WordPress gallery plugin widget settings
 
 = V1.0.2 - 19.12.2008 =
 * Added : Option to enable/disable the MediaRSS Feed
@@ -1233,15 +1270,15 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding some rewrite rules for the Blog title for a better SEO (Will be continued...)
 * NEW : Added ImageMagick support (currently a bit experimental) (THX to Frederic de Ranter)
 * NEW : Automatic unistall via register_uninstall_hook()
-* NEW : Added a presort option to sort easier the images
-* NEW : Lookup for a nggallery.css in the theme folder
+* NEW : Added a presort option to sort images and photos
+* NEW : Look for a nggallery.css in the theme folder
 * NEW : Added Date/Time field to database and import it from EXIF, new sort option
 * NEW : Multi Widgets to show links to Media RSS feeds (THX to Vincent Prat)
 * NEW : PicLens support for galleries (THX to Vincent Prat)
-* NEW : Copy/Move images between galleries (THX to Vincent Prat)
+* NEW : Copy/Move images and photos between galleries (THX to Vincent Prat)
 * NEW : Media RSS feeds (either for galleries, albums or global) (THX to Vincent Prat)
-* NEW : Image tag management (THX to Vincent Prat)
-* NEW : Convert all shortcodes to WP shortcodes API
+* NEW : Image and photo tag management (THX to Vincent Prat)
+* NEW : Convert all WordPress gallery plugin shortcodes to WP shortcodes API
 * NEW : AJAX based thumbnail generator
 * NEW : Create output via template files, more flexible and support for multiple templates
 * NEW : Extended role system. Each gallery has now a author
@@ -1277,7 +1314,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V0.97 - 10.07.2008 =
 * Changed : Get new path contstant from WP2.6
-* Changed : Minor updates for WP2.6
+* Changed : Minor WordPress gallery plugin updates for WP2.6
 * Changed : Added new filters (THX to Vincent Prat)
 * Removed : Revert singlepic wrapper, breaks validation
 
@@ -1285,7 +1322,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed : Use postbox for gallery settings
 * Added : New filter function to add custom columns
 * Bugfix : Fixed width for Thickbox in Manage gallery
-* Bugfix : fixed width for media upload select box
+* Bugfix : Fixed width for media upload select box
 * Bugfix : Remove P tag in singlepic regex
 * Bugfix : Correct format of shutter speed
 * Bugfix : Album name in Short code not useable
@@ -1299,13 +1336,13 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 = V0.94 - 20.04.2008 =
 * Added : New filter option ngg_create_gallery_link
 * Changed : Reduce amount of DB queries in albums (Big THX to Alexandr Kindras)
-* Changed : Revert wpautop priority change. Doesn't good for other plugins
+* Changed : Revert wpautop priority change (issues with other plugins)
 
 = V0.93 - 12.04.2008 =
 * Added : Select Full-Size or Singlepic in Media Upload
 * Added : Check for minimum 8 MB Memory
 * Changed : Priority from wpautop must be before gallery
-* Bugfix : Added Screencolor to Widgets
+* Bugfix : Added Screencolor to WordPress gallery plugin Widgets
 * Bugfix : Clean CSS class in setup.php
 * Bugfix : Change PHP short tag (Thx to Archedition)
 * Bugfix : Remove tab.png from CSS (Thx to Frisco)
@@ -1321,13 +1358,13 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Changed : Add DIV "ngg-singlepic-wrapper" for SingelPic (THX to Travel-Junkie)
 * Changed : Increase Tweakfactor for Memory Check
 * Bugfix : Use admin.css only on NextGEN pages (THX tp Oliver)
-* Bugfix : Updates widgets (V1.21) for ImageRotator 3.15
+* Bugfix : Updates WordPress gallery plugin widgets (V1.21) for ImageRotator 3.15
 * Bugfix : Change order of rewrite rules for WP 2.5
 * Bugfix : Include Dashboard CSS also for page "nextgen-gallery"
 
 = V0.90 - 18.03.2008 =
-* NEW : Sort order for images
-* NEW : Updated style for Wp 2.5
+* NEW : Sort order for images and photos
+* NEW : Updated WordPress gallery plugin style for Wp 2.5
 * NEW : Media upload tab integration for WP 2.5
 * Added   : Change wp shortcode filter
 * Added   : TinyMCE V3 Button for WordPress 2.5
@@ -1348,7 +1385,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V0.83 - 14.02.2008 =
 * Changed : New Interfaces.js from WP Core 2.5, for sortable bug under IE7
-* Changed : Update to jQuery V1.2.2, deregister older version from WP
+* Changed : Update WordPress gallery plugin to jQuery V1.2.2, deregister older version from WP
 * Changed : Add ini_set 128MB for memory-limit
 * Bugfix : SWFUpload Cookie Post_Params are overwritten , no upload possible
 * Bugfix : WPMU options are not saved after installation
@@ -1369,18 +1406,18 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 = V0.80 - 02.02.2008 =
 * NEW : SWFUpload integrated : Show upload progress and select multiple files in the file browser dialog.
 * NEW : Progress bar for resize, watermark and thumbnail operation
-* NEW : Import Meta data from images
-* NEW : Show Meta data information
+* NEW : Import Meta data from images and photos
+* NEW : Show Meta data information for photos
 * NEW : Cache option for SinglePic
-* NEW : Permalink support
+* NEW : Permalink support for WordPress gallery plugin
 * NEW : Custom fields support - Change the settings for each post/page
 * Changed : Up to 10 Widgets, exclude galleries from random/recent images.
 * Changed : Refactor permission check for Safe-Mode Check and mkdir/chmod
 * Changed : Admin CSS in new folder/file for better structure
-* Changed : Clean up folder structure
+* Changed : Clean up folder structure of WordPress gallery plugin
 * Changed : Clean up code in manage.php, functions.php
 * Changed : Moved several functions into nggAdmin Class (functions.php)
-* Changed : Update to jQuery V1.1.4 (v1.2.1 causes problems with interface.js)
+* Changed : Updated WordPress gallery plugin to jQuery V1.1.4 (v1.2.1 causes problems with interface.js)
 * Changed : Hide used galleries in album admin page
 * Changed : Remove float in singlepic code and added class ngg-left , ngg-right (THX to Nathan Sylvain)
 * Changed : Edit style setting (added new class .desc , THX to Sebastian)
@@ -1411,7 +1448,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V0.73 - 20.10.2007 =
 * Added : Support for Shutter Reloaded
-* Update to jQuery Tabs 2.7.4
+* Changed : Updated WordPress gallery plugin to jQuery Tabs 2.7.4
 * Changed : Remove $_SERVER['REQUEST_URI'] for IIS compatibility
 * Bugfix : Option Sildeshow didn't jump to overview
 
@@ -1433,7 +1470,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Label in roles are wrong (THX to Joern)
 
 = V0.70 - 06.09.2007 =
-* NEW : Add role manager page and capabilities
+* NEW : Add role manager page and capabilities to WordPress gallery plugin
 * NEW : Show gallery with [tags=list of tags]
 * NEW : Show album with [albumtags=list of tags]
 * NEW : Tag system for all images
@@ -1446,7 +1483,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Added  : Minimize/Maximize option for albums
 * Added  : Deregister jQuery V1.1.2 for WP2.2 (to use V1.1.3.1)
 * Added  : Integrate wp_nonce_field at all admin pages
-* Changed : Update to Thickbox 3.1 + mods for NextGEN gallery
+* Changed : Update WordPress gallery plugin to Thickbox 3.1 + mods
 * Changed : Moved "clear:both" into class "ngg-clear" (THX to Gero)
 * Changed : Switched from jQuery Interface to jQuery Tabs from Klaus Hartl
 * Remove : Remove option for singlepic link
@@ -1458,7 +1495,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Show title/alt in jQuery plugin (THX to Gregory Green)
 * Bugfix : i18n support for Gallery tab
 * Bugfix : Reduce memory-needs for plugin
-* Bugfix : Typo/spelling correction
+* Bugfix : Typo/spelling correction in WordPress gallery plugin
 * Bugfix : Removed myGallery author from contribute list
 
 = V0.64 - 31.07.2007 =
@@ -1480,7 +1517,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V0.62 - 06.07.2007 =
 * NEW : Import for myGallery
-* Added : Updated to jQuery 1.1.3.1
+* Added : Updated WordPress gallery plugin to jQuery 1.1.3.1
 * Bugfix : Check for memory_limit setting, otherwise pass the test
 * Bugfix : Thumbcode not insert for nggDisplayRandomImages and nggDisplayRecentImages
 
@@ -1492,10 +1529,10 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Tag [imagebrowser=id] for a Inline Gallery Browser
 * NEW : Show gallery without Subpages
 * NEW : Manage gallery : Function "Add a new page"
-* NEW : Manage gallery : Show/Hide thumbnails
+* NEW : Manage gallery : Show/Hide thumbnails for WordPress gallery plugin
 * Added : Slideshow option : Watermark / Background music
 * Added : Check for memory limit
-* Added : Show actual memory usage in overview
+* Added : Show actual memory usage in WordPress gallery plugin overview
 * Added : Include function check in widget
 * Added : Latest Sidebar widget from KeViN
 * Added : Check for capability during installation
@@ -1521,7 +1558,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Sidebar widget contain now Slideshow, recent images and random images
 * Added : New Option for Imagerotator 3.8 (Slow zoom effect)
 * Added : Option for CDATA wrapper (not working proper)
-* Added : Option for Thickbox Loading Image
+* Added : Option for Thickbox Loading Image for WordPress gallery plugin
 * Added : CSS file for dKret2 (THK to Joern)
 * Added : Better file permission check
 * Changed : Fixed ratio create better thumbnails in portrait mode
@@ -1548,7 +1585,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 = V0.41 - 17.05.2007 =
 * NEW : Sidebar widget from KeViN
 * Update : Better album management for more galleries
-* Update : Thickbox v3 integrated
+* Update : Thickbox v3 integrated into WordPress gallery plugin
 * Added : Float selection for singlepic
 * Added : CSS class for widget
 * Added : CSS file for K2 theme
@@ -1564,7 +1601,7 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Umlauts are now handled correctly
 
 = V0.40 - 29.04.2007 =
-* NEW : TinyMCE Button integration
+* NEW : TinyMCE Button integration for WordPress gallery plugin
 * Removed : CSS Style : remove width/height in album
 
 = V0.39 - 28.04.2007 =
@@ -1599,11 +1636,11 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V0.34 - 24.04.2007 =
 * Added : Add fix ration setting
-* Added : Add language file file
+* Added : Add language file
 * Bugfix : Change link in Album to get_bloginfo('wpurl')
 * Bugfix : Album CSS file not loaded
 
 = V0.33 - 23.04.2007 =
-* NEW : Overview Page
+* NEW : Overview Page for WordPress gallery plugin
 * NEW : Core function
-* NEW : Slideshow
+* NEW : Slideshow for WordPress gallery plugin
diff --git a/wp-content/plugins/nextgen-gallery/composer.json b/wp-content/plugins/nextgen-gallery/composer.json
index 7e3217015b01a4ff0ff78e0c15e5b671a6d463e8..6cd31e62df5ffa5ef519b4949f8c434801caabd6 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 16.5 million downloads.",
+    "description": "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 21 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/account.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/account.min.css
index 4861a02f9b8ed7a01173c896adf749b463a8af2a..fa18eb0182fa515f3bd600aa7b9910f2c6da4465 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/account.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/account.min.css
@@ -1 +1 @@
-#fs_account .fs-header-actions li form,.fs-key-value-table form{display:inline-block}#fs_addons td:last-child,#fs_addons th:last-child,.fs-key-value-table tr td.fs-right,.fs-key-value-table tr td:first-child{text-align:right}#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{color:#0073AA;font-size:16px;background:0 0}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}.fs-key-value-table input[type=text]{width:100%;font-weight:700}label.fs-tag{color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:700}#fs_addons th,#fs_billing_address span{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
\ No newline at end of file
+#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #f1f1f1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{color:#0073aa;font-size:16px;background:0 0}.fs-key-value-table input[type=text]{width:100%;font-weight:700}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:700}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/add-ons.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/add-ons.min.css
index 5a6606883af1eccd44fae64369799615ec645b1a..b3c6676298ae21f7a7c0f3878c92257bd784a2a6 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/add-ons.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/add-ons.min.css
@@ -1 +1 @@
-#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner ul{-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:700}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px;border-top:1px solid #eee;margin:0 0 10px;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0;background:#adff2f;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);box-shadow:1px 1px 1px rgba(0,0,0,.3);text-transform:uppercase;font-size:.9em;font-weight:700}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button{position:absolute;top:112px;right:10px}@media screen and (min-width:960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title{color:#29abe1}}#TB_window,#TB_window iframe{width:772px!important}#plugin-information #section-description b,#plugin-information #section-description blockquote,#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description i,#plugin-information #section-description li,#plugin-information #section-description ol,#plugin-information #section-description p,#plugin-information #section-description ul{clear:none}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px!important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-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);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:#adff2f;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid #006400;padding:2px;text-align:center;font-size:.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:700;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount,#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency{text-align:center;display:block;font-weight:700;margin-bottom:10px;text-transform:uppercase;background:#F3F3F3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:#adff2f}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:400;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}@media screen and (max-width:961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
\ No newline at end of file
+#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner ul{-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,.15s;-o-transition:all,.15s;-ms-transition:all,.15s;-webkit-transition:all,.15s;transition:all,.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:700}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0;background:#adff2f;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.3);box-shadow:1px 1px 1px rgba(0,0,0,.3);text-transform:uppercase;font-size:.9em;font-weight:700}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button{position:absolute;top:112px;right:10px}@media screen and (min-width:960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title{color:#29abe1}}#TB_window,#TB_window iframe{width:772px!important}#plugin-information #section-description b,#plugin-information #section-description blockquote,#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description i,#plugin-information #section-description li,#plugin-information #section-description ol,#plugin-information #section-description p,#plugin-information #section-description ul{clear:none}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px!important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-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);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:#adff2f;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid #006400;padding:2px;text-align:center;font-size:.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:700;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount,#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency{text-align:center;display:block;font-weight:700;margin-bottom:10px;text-transform:uppercase;background:#f3f3f3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:#adff2f}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:400;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}@media screen and (max-width:961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
\ No newline at end of file
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 b8cccdb6fc6a66e11523a1ec3b660ef7348d28a7..cf30094a000ecf601d0a39addca5260f3b077f91 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 @@
-.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}.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;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)}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@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}
\ No newline at end of file
+.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}.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;box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95}.fs-secure-notice:hover{opacity:1}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@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}
\ 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 4bfe6b8580eb28c233946cf0909ffb04af8fec84..466bec353d6786335147e52247a10ec2180c5786 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,96 @@
 #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 .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}.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}.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 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: #143650;
+	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: 3px;
+}
+
+#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: 3px;
+}
+
+#fs_connect .fs-permissions a:hover,
+#fs_connect .fs-terms a:hover {
+	color: #fff;
+}
+
+
+
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 0351a06e6c34b24490096e1079b99a6d3f0085dc..3b37eb6eaac9387a56df6186492914d56b4cde3a 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 .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-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}#fs_connect .fs-terms a{text-decoration:none}.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}.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);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 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 .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 .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 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-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}#fs_connect .fs-terms a{text-decoration:none}.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}.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 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:#143650;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:3px}#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:3px}#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/deactivation-feedback.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/deactivation-feedback.min.css
index 85dfd738e550679cc605e7e79889f6721bde0bb6..121dd059b86ff87dd07ea87c46a6c74f65f0d9bb 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/deactivation-feedback.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/deactivation-feedback.min.css
@@ -1 +1 @@
-.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}@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 .fs-modal-dialog li.reason{margin-bottom:10px}.fs-modal .fs-modal-dialog li.reason .internal-message,.fs-modal .fs-modal-dialog li.reason .reason-input{margin-left:29px}.fs-modal .fs-modal-dialog li.reason label{display:table}.fs-modal .fs-modal-dialog li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}#the-list .deactivate>.fs-slug,.fs-modal .fs-modal-panel:not(.active){display:none}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body h2{font-size:20px}.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 .internal-message,.fs-modal .reason-input{margin:3px 0 3px 22px}.fs-modal .internal-message input,.fs-modal .internal-message textarea,.fs-modal .reason-input input,.fs-modal .reason-input textarea{width:100%}.fs-modal li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}body.has-fs-modal{overflow:hidden}
\ No newline at end of file
+.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}@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 .fs-modal-dialog li.reason{margin-bottom:10px}.fs-modal .fs-modal-dialog li.reason .internal-message,.fs-modal .fs-modal-dialog li.reason .reason-input{margin-left:29px}.fs-modal .fs-modal-dialog li.reason label{display:table}.fs-modal .fs-modal-dialog li.reason label>span{display:table-cell;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-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body h2{font-size:20px}.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:not(.active){display:none}.fs-modal .internal-message,.fs-modal .reason-input{margin:3px 0 3px 22px}.fs-modal .internal-message input,.fs-modal .internal-message textarea,.fs-modal .reason-input input,.fs-modal .reason-input textarea{width:100%}.fs-modal li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}body.has-fs-modal{overflow:hidden}#the-list .deactivate>.fs-slug{display:none}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/debug.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/debug.min.css
index dde05bb5ce7ecfc2e5fbe87ef85ef2504137201e..d563d3771e738fcda0200461765c72caa8ad218f 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/debug.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/debug.min.css
@@ -1 +1 @@
-.switch,.switch span{display:inline-block}.switch{position:relative;font-size:1.6em;font-weight:700;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,.8);height:18px;padding:6px 6px 5px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:#ececec;box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);cursor:pointer}.switch span{width:35px;text-transform:uppercase}.switch span.on{color:#6bc406}.switch .toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.3);border-radius:4px;background:#fff;background:-moz-linear-gradient(top,#ececec 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ececec),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ececec 0,#fff 100%);background:-o-linear-gradient(top,#ececec 0,#fff 100%);background:-ms-linear-gradient(top,#ececec 0,#fff 100%);background:linear-gradient(top,#ececec 0,#fff 100%);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5);z-index:999;-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-ms-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.switch.on .toggle{left:2%}.switch.off .toggle{left:54%}.switch.round{padding:0 20px;border-radius:40px}.switch.round .toggle{border-radius:40px;width:14px;height:14px}.switch.round.on .toggle{left:3%;background:#6bc406}.switch.round.off .toggle{left:58%}.switch-label{font-size:20px;line-height:31px;margin:0 5px}
\ No newline at end of file
+.switch{position:relative;display:inline-block;font-size:1.6em;font-weight:700;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:#ececec;box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);cursor:pointer}.switch span{display:inline-block;width:35px;text-transform:uppercase}.switch span.on{color:#6bc406}.switch .toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.3);border-radius:4px;background:#fff;background:-moz-linear-gradient(top,#ececec 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ececec),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ececec 0,#fff 100%);background:-o-linear-gradient(top,#ececec 0,#fff 100%);background:-ms-linear-gradient(top,#ececec 0,#fff 100%);background:linear-gradient(top,#ececec 0,#fff 100%);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5);z-index:999;-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-ms-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.switch.on .toggle{left:2%}.switch.off .toggle{left:54%}.switch.round{padding:0 20px;border-radius:40px}.switch.round .toggle{border-radius:40px;width:14px;height:14px}.switch.round.on .toggle{left:3%;background:#6bc406}.switch.round.off .toggle{left:58%}.switch-label{font-size:20px;line-height:31px;margin:0 5px}
\ 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 44b3dbb9e97eb47666c80806c6fbe9e595d467bb..cf1309eec578a33f67b6a42bea8be82d74b54f0a 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,42 @@
 .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-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-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%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .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}
+
+/* Customizations for NextGEN Gallery */
+
+.fs-modal .fs-modal-header {
+	background: #143650;
+	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: 3px;
+}
+
+.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: 3px;
+}
\ 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 e0aa16f5ce285119a7ed46ac4c4333b0c802800b..6b2cd4408f28403b093cac2650fbaf852da0e6e9 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 @@
-.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}.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,.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{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-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}}.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-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .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}
\ No newline at end of file
+.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}@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-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 .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{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 .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-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .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-modal .fs-modal-header{background:#143650;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:3px}.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:3px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/license-activation.min.css b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/license-activation.min.css
index 0b1874fec450ac5fa669334a58a2edc51ae05176..7c3564e895be9b0b0204c446f75b52c06a484290 100644
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/license-activation.min.css
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/css/admin/license-activation.min.css
@@ -1 +1 @@
-.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}@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-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body .license-activation-message{margin:0;display:none}.fs-modal .fs-modal-body input.license_key{width:100%}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.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:not(.active){display:none}body.has-fs-modal{overflow:hidden}
\ No newline at end of file
+.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}@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-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body .license-activation-message{margin:0;display:none}.fs-modal .fs-modal-body input.license_key{width:100%}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.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:not(.active){display:none}body.has-fs-modal{overflow:hidden}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/img/icon.png b/wp-content/plugins/nextgen-gallery/freemius/assets/img/icon.png
index 31ea456182b1aef1c7d847ad750d2f2d0fc8267d..2cef0cae5026801384bf570e89bc9674d9e1537c 100644
Binary files a/wp-content/plugins/nextgen-gallery/freemius/assets/img/icon.png and b/wp-content/plugins/nextgen-gallery/freemius/assets/img/icon.png differ
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 31ea456182b1aef1c7d847ad750d2f2d0fc8267d..2cef0cae5026801384bf570e89bc9674d9e1537c 100644
Binary files a/wp-content/plugins/nextgen-gallery/freemius/assets/img/nextgen-gallery.png and b/wp-content/plugins/nextgen-gallery/freemius/assets/img/nextgen-gallery.png differ
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/js/jquery.ba-postmessage.min.js b/wp-content/plugins/nextgen-gallery/freemius/assets/js/jquery.ba-postmessage.min.js
index 9a64dfcf27a2341e17588e97829c520cb74eb8b6..39e7d8d2a041d65d320f5fdaefd71b124dc12bdf 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/js/jquery.ba-postmessage.min.js
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/js/jquery.ba-postmessage.min.js
@@ -1 +1 @@
-!function(e){"$:nomunge";var n,t,a,r,o=1,i=this,s=!1,c="postMessage",u="addEventListener",p=i[c]&&!e.browser.opera;e[c]=function(n,t,a){t&&(n="string"==typeof n?n:e.param(n),a=a||parent,p?a[c](n,t.replace(/([^:]+:\/\/[^\/]+).*/,"$1")):t&&(a.location=t.replace(/#.*$/,"")+"#"+ +new Date+o++ +"&"+n))},e.receiveMessage=r=function(o,c,v){p?(o&&(a&&r(),a=function(n){return"string"==typeof c&&n.origin!==c||e.isFunction(c)&&c(n.origin)===s?s:void o(n)}),i[u]?i[o?u:"removeEventListener"]("message",a,s):i[o?"attachEvent":"detachEvent"]("onmessage",a)):(n&&clearInterval(n),n=null,o&&(v="number"==typeof c?c:"number"==typeof v?v:100,n=setInterval(function(){var e=document.location.hash,n=/^#?\d+&/;e!==t&&n.test(e)&&(t=e,o({data:e.replace(n,"")}))},v)))}}(jQuery);
\ No newline at end of file
+!function(e){"$:nomunge";var t,n,a,r,s=1,o=this,i=o.postMessage&&!e.browser.opera;e.postMessage=function(t,n,a){n&&(t="string"==typeof t?t:e.param(t),a=a||parent,i?a.postMessage(t,n.replace(/([^:]+:\/\/[^\/]+).*/,"$1")):n&&(a.location=n.replace(/#.*$/,"")+"#"+ +new Date+s+++"&"+t))},e.receiveMessage=r=function(s,c,p){i?(s&&(a&&r(),a=function(t){if("string"==typeof c&&t.origin!==c||e.isFunction(c)&&!1===c(t.origin))return!1;s(t)}),o.addEventListener?o[s?"addEventListener":"removeEventListener"]("message",a,!1):o[s?"attachEvent":"detachEvent"]("onmessage",a)):(t&&clearInterval(t),t=null,s&&(p="number"==typeof c?c:"number"==typeof p?p:100,t=setInterval(function(){var e=document.location.hash,t=/^#?\d+&/;e!==n&&t.test(e)&&(n=e,s({data:e.replace(t,"")}))},p)))}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/js/nojquery.ba-postmessage.min.js b/wp-content/plugins/nextgen-gallery/freemius/assets/js/nojquery.ba-postmessage.min.js
index 55cea2aa848cc77619c31ca7dadc31093b331a5d..88058d27b37251bc653dc7c970d1b05fce21f12f 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/js/nojquery.ba-postmessage.min.js
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/js/nojquery.ba-postmessage.min.js
@@ -1 +1 @@
-function NoJQueryPostMessageMixin(n,e){var t,i,o,s,a,r=1;return window.postMessage?(window.addEventListener?(t=function(n){window.addEventListener("message",n,!1)},i=function(n){window.removeEventListener("message",n,!1)}):(t=function(n){window.attachEvent("onmessage",n)},i=function(n){window.detachEvent("onmessage",n)}),this[n]=function(n,e,t){e&&t.postMessage(n,e.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))},this[e]=function(n,e,s){return o&&(i(o),o=null),!!n&&void(o=t(function(t){switch(Object.prototype.toString.call(e)){case"[object String]":if(e!==t.origin)return!1;break;case"[object Function]":if(e(t.origin))return!1}n(t)}))}):(this[n]=function(n,e,t){e&&(t.location=e.replace(/#.*$/,"")+"#"+ +new Date+r++ +"&"+n)},this[e]=function(n,e,t){s&&(clearInterval(s),s=null),n&&(t="number"==typeof e?e:"number"==typeof t?t:100,s=setInterval(function(){var e=document.location.hash,t=/^#?\d+&/;e!==a&&t.test(e)&&(a=e,n({data:e.replace(t,"")}))},t))}),this}
\ No newline at end of file
+function NoJQueryPostMessageMixin(n,e){var t,i,o,s,a,r=1;return window.postMessage?(window.addEventListener?(t=function(n){window.addEventListener("message",n,!1)},i=function(n){window.removeEventListener("message",n,!1)}):(t=function(n){window.attachEvent("onmessage",n)},i=function(n){window.detachEvent("onmessage",n)}),this[n]=function(n,e,t){e&&t.postMessage(n,e.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))},this[e]=function(n,e,s){if(o&&(i(o),o=null),!n)return!1;o=t(function(t){switch(Object.prototype.toString.call(e)){case"[object String]":if(e!==t.origin)return!1;break;case"[object Function]":if(e(t.origin))return!1}n(t)})}):(this[n]=function(n,e,t){e&&(t.location=e.replace(/#.*$/,"")+"#"+ +new Date+r+++"&"+n)},this[e]=function(n,e,t){s&&(clearInterval(s),s=null),n&&(t="number"==typeof e?e:"number"==typeof t?t:100,s=setInterval(function(){var e=document.location.hash,t=/^#?\d+&/;e!==a&&t.test(e)&&(a=e,n({data:e.replace(t,"")}))},t))}),this}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/freemius/assets/js/postmessage.min.js b/wp-content/plugins/nextgen-gallery/freemius/assets/js/postmessage.min.js
index 107dfb2ca2c3d4e0a302b7ef3ddda653560acf3b..a69ff855adb1fcd702ca5da8d9e07fdb11900576 100755
--- a/wp-content/plugins/nextgen-gallery/freemius/assets/js/postmessage.min.js
+++ b/wp-content/plugins/nextgen-gallery/freemius/assets/js/postmessage.min.js
@@ -1 +1 @@
-!function(t,e){var s=this;s.FS=s.FS||{},s.FS.PostMessage=function(){var s,n=!1,o=new NoJQueryPostMessageMixin("postMessage","receiveMessage"),i={},r=decodeURIComponent(document.location.hash.replace(/^#/,"")),a=r.substring(0,r.indexOf("/","https://"===r.substring(0,"https://".length)?8:7)),c=function(){o.receiveMessage(function(t){var e=JSON.parse(t.data);if(i[e.type])for(var s=0;s<i[e.type].length;s++)i[e.type][s](e.data)},s)},u=""!==r,p=t(window),g=t("html");return{init:function(t,e){s=t,c(),FS.PostMessage.receiveOnce("forward",function(t){window.location=t.url}),e=e||[],e.length>0&&p.on("scroll",function(){for(var t=0;t<e.length;t++)FS.PostMessage.postScroll(e[t])})},init_child:function(){this.init(a),n=!0,t(window).bind("load",function(){FS.PostMessage.postHeight(),FS.PostMessage.post("loaded")})},hasParent:function(){return u},postHeight:function(e,s){e=e||0,s=s||"#wrap_section",this.post("height",{height:e+t(s).outerHeight(!0)})},postScroll:function(t){this.post("scroll",{top:p.scrollTop(),height:p.height()-parseFloat(g.css("paddingTop"))-parseFloat(g.css("marginTop"))},t)},post:function(t,e,s){console.debug("PostMessage.post",t),s?o.postMessage(JSON.stringify({type:t,data:e}),s.src,s.contentWindow):o.postMessage(JSON.stringify({type:t,data:e}),r,window.parent)},receive:function(t,s){console.debug("PostMessage.receive",t),e===i[t]&&(i[t]=[]),i[t].push(s)},receiveOnce:function(t,e){this.is_set(t)||this.receive(t,e)},is_set:function(t){return e!=i[t]},parent_url:function(){return r},parent_subdomain:function(){return a}}}()}(jQuery);
\ No newline at end of file
+!function(t,e){var s=this;s.FS=s.FS||{},s.FS.PostMessage=function(){var e,s=!1,n=new NoJQueryPostMessageMixin("postMessage","receiveMessage"),o={},i=decodeURIComponent(document.location.hash.replace(/^#/,"")),r=i.substring(0,i.indexOf("/","https://"===i.substring(0,"https://".length)?8:7)),a=function(){n.receiveMessage(function(t){var e=JSON.parse(t.data);if(o[e.type])for(var s=0;s<o[e.type].length;s++)o[e.type][s](e.data)},e)},c=""!==i,u=t(window),p=t("html");return{init:function(t,s){e=t,a(),FS.PostMessage.receiveOnce("forward",function(t){window.location=t.url}),s=s||[],s.length>0&&u.on("scroll",function(){for(var t=0;t<s.length;t++)FS.PostMessage.postScroll(s[t])})},init_child:function(){this.init(r),s=!0,t(window).bind("load",function(){FS.PostMessage.postHeight(),FS.PostMessage.post("loaded")})},hasParent:function(){return c},postHeight:function(e,s){e=e||0,s=s||"#wrap_section",this.post("height",{height:e+t(s).outerHeight(!0)})},postScroll:function(t){this.post("scroll",{top:u.scrollTop(),height:u.height()-parseFloat(p.css("paddingTop"))-parseFloat(p.css("marginTop"))},t)},post:function(t,e,s){console.debug("PostMessage.post",t),s?n.postMessage(JSON.stringify({type:t,data:e}),s.src,s.contentWindow):n.postMessage(JSON.stringify({type:t,data:e}),i,window.parent)},receive:function(t,e){console.debug("PostMessage.receive",t),void 0===o[t]&&(o[t]=[]),o[t].push(e)},receiveOnce:function(t,e){this.is_set(t)||this.receive(t,e)},is_set:function(t){return void 0!=o[t]},parent_url:function(){return i},parent_subdomain:function(){return r}}}()}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/nggallery.php b/wp-content/plugins/nextgen-gallery/nggallery.php
index 9d177cb055a2e772ad1dd8fdfaae5b0d880b4966..dfef57d94cab880e63bc26c2b5247e41c97a720a 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 18 million downloads.
- * Version: 2.2.33
+ * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 21 million downloads.
+ * Version: 3.0.1
  * Author: Imagely
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
  * Author URI: https://www.imagely.com
@@ -85,14 +85,25 @@ class C_NextGEN_Bootstrap
 
 	static function shutdown($exception=NULL)
 	{
-		if (is_null($exception)) {
-			throw new E_Clean_Exit;
-		}
+		if (is_null($exception))
+		{
+            $name = php_sapi_name();
+            if (FALSE === strpos($name, 'cgi')
+            &&  version_compare(PHP_VERSION, '5.3.3') >= 0)
+            {
+                $status = session_status();
+                if (in_array($status, array(PHP_SESSION_DISABLED, PHP_SESSION_NONE), TRUE))
+                    session_write_close();
+                fastcgi_finish_request();
+            }
+            else {
+                throw new E_Clean_Exit;
+            }
+        }
 		elseif (!($exception instanceof E_Clean_Exit)) {
 			ob_end_clean();
 			self::print_exception($exception);
 		}
-
 	}
 
 	static function print_exception($exception)
@@ -148,15 +159,6 @@ class C_NextGEN_Bootstrap
 
 	function __construct()
 	{
-		// PHP versions 7.1.12, 7.0.26, and the 7.2-RC come with a bug that NextGen Gallery cannot workaround
-		// see: https://bugs.php.net/bug.php?id=75573
-		// Additionally 7.2.0 has an issue with NextGen's activation
-//		if (PHP_VERSION_ID === 70112 ||  PHP_VERSION_ID === 70026)
-//	   	{
-//			add_action('admin_notices', array($this, 'php_version_incompatible'));
-//			return;
-//		}
-
 		set_exception_handler(__CLASS__.'::shutdown');
 
 		// We only load the plugin if we're outside of the activation request, loaded in an iframe
@@ -661,7 +663,7 @@ 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', '2.2.33');
+		define('NGG_PLUGIN_VERSION', '3.0.1');
 
 		if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
 			define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php
index 6c8c55b94e020e04e9b839ee7b752a3e331b2c8e..338809dffcec2b023766d1ae2f8888b6c47787ce 100644
--- a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php
+++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php
@@ -174,6 +174,8 @@ class C_NextGen_Shortcode_Manager
 	{
 		$regex = str_replace('%d', '(\d+)', $this->_placeholder_text);
 
+		if ($this->is_rest_request()) ob_start();
+
 		if (preg_match_all("/{$regex}/m", $content, $matches, PREG_SET_ORDER)) {
 			foreach ($matches as $match) {
 				$placeholder = array_shift($match);
@@ -182,16 +184,21 @@ class C_NextGen_Shortcode_Manager
 			}
 		}
 
+		if ($this->is_rest_request()) ob_end_clean();
+
         return $content;
 	}
 
 	function execute_found_shortcode($found_id)
 	{
+		$retval = '';
 		$details 	= $this->_found[$found_id];
 		if (isset($this->_shortcodes[$details['shortcode']])) {
-			return call_user_func($this->_shortcodes[$details['shortcode']], $details['params'], $details['inner_content']);
+			$retval = call_user_func($this->_shortcodes[$details['shortcode']], $details['params'], $details['inner_content']);
 		}
-		return "Invalid shortcode";
+		else $retval =  "Invalid shortcode";
+
+		return $retval;
 	}
 
 	/**
@@ -225,22 +232,30 @@ class C_NextGen_Shortcode_Manager
 			remove_shortcode($shortcode);
 	}
 
+	function is_rest_request()
+	{
+		return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
+	}
+
 	function __call($method, $args)
 	{
+		$retval = '';
 		$params = array_shift($args);
-		$inner_content = array_shift($args);
+		$retval = $inner_content = array_shift($args);
 		$parts = explode('____', $method);
 		$shortcode = array_shift($parts);
 		if (doing_filter('the_content') && !doing_filter('widget_text')) {
-			return $this->replace_with_placeholder($shortcode, $params, $inner_content);
+			$retval =  $this->replace_with_placeholder($shortcode, $params, $inner_content);
 		}
 
 		// For widgets, don't use placeholders
 		else {
 			$callback = $this->_shortcodes[$shortcode];
-			return call_user_func($callback, $params, $inner_content);
+			$retval = call_user_func($callback, $params, $inner_content);
 		}
 
+		return $retval;
+
 	}
 
 	function replace_with_placeholder($shortcode, $params=array(), $inner_content='')
diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php
index 6e855e97d1e5d1d0cf8e7e0324acb6e949e49ddf..3e88d9ac81aac75784ef9f944cdec4baf476681d 100644
--- a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php
+++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php
@@ -67,10 +67,16 @@ class C_Photocrati_Resource_Manager
 		elseif ((isset($_SERVER['PATH_INFO']) && strpos($_SERVER['PATH_INFO'], 'nextgen-pro-lightbox-gallery') !== FALSE) OR strpos($_SERVER['REQUEST_URI'], 'nextgen-pro-lightbox-gallery') !== FALSE) {
 			$retval = FALSE;
 		}
+		else if ($this->is_rest_request()) $retval = FALSE;
 
 		return $retval;
 	}
 
+	function is_rest_request()
+	{
+		return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
+	}
+
 	/**
 	 * Start the output buffers
 	 */
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 2c2b0858e036b0be0f174e83ee7832e56d305a3d..af44ddfb3e8427c20b83fdb72798b61860cfacaa 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',
-            '0.10',
+            '3.0.0',
             '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 c76ae9dd60e88baa86b48cce7ae1fef6c772c002..d08ca7327c1943f0140e6aa400e834335a822d2b 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
@@ -11,9 +11,10 @@ class C_Ajax_Controller extends C_MVC_Controller
         parent::define($context);
         $this->implement('I_Ajax_Controller');
     }
-    function index_action()
+    function index_action($return = FALSE)
     {
         $retval = NULL;
+        define('DOING_AJAX', TRUE);
         // Inform the MVC framework what type of content we're returning
         $this->set_content_type('json');
         // Start an output buffer to avoid displaying any PHP warnings/errors
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 177e095519dead887c6a8b920c8fbd221edf2c5f..cd69669afddf097746af06809ee6a861390393b4 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
@@ -25,10 +25,10 @@ class M_Attach_To_Post extends C_Base_Module
 			'photocrati-attach_to_post',
 			'Attach To Post',
 			'Provides the "Attach to Post" interface for displaying galleries and albums',
-			'0.18',
-            'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
-            'Imagely',
-            'https://www.imagely.com',
+			'3.0.1',
+			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
+			'Imagely',
+			'https://www.imagely.com',
 		    $context
 		);
 
@@ -105,17 +105,16 @@ class M_Attach_To_Post extends C_Base_Module
 		return (strpos($_SERVER['REQUEST_URI'], 'attach_to_post') !== FALSE OR (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'attach_to_post') !== FALSE) OR array_key_exists('attach_to_post', $_REQUEST));
 	}
 
+	function disable_resource_manager($retval)
+	{
+		if (isset($_REQUEST[NGG_ATTACH_TO_POST_SLUG])) $retval = FALSE;
+		return $retval;
+	}
+
 
 	function _register_hooks()
 	{
-        add_action('ngg_routes',                      array(&$this, 'define_routes'), 2);
-
-        // We use two hooks here because we need it to execute for both the post-new.php
-        // page and ATP interface
-        add_action('plugins_loaded',        array($this, 'fix_ie11'), 1);
-        add_action('admin_init',            array($this, 'fix_ie11'), PHP_INT_MAX-1);
-        add_action('admin_enqueue_scripts', array($this, 'fix_ie11'), 1);
-        add_action('admin_enqueue_scripts', array($this, 'fix_ie11'), PHP_INT_MAX-1);
+        add_action('ngg_routes', array($this, 'define_routes'), 2);
 
         add_filter('wpseo_opengraph_image',   array($this, 'hide_preview_image_from_yoast'));
         add_filter('wpseo_twitter_image',     array($this, 'hide_preview_image_from_yoast'));
@@ -131,6 +130,8 @@ class M_Attach_To_Post extends C_Base_Module
 
 		// Admin-only hooks
 		if (is_admin()) {
+			add_filter('run_ngg_resource_manager', array(&$this, 'disable_resource_manager'));
+
 			add_action(
 				'admin_enqueue_scripts',
 				array(&$this, 'enqueue_static_resources'),
@@ -265,11 +266,11 @@ class M_Attach_To_Post extends C_Base_Module
             return;
 
 		$router = C_Router::get_instance();
-		$button_url = $router->get_static_url('photocrati-attach_to_post#atp_button.png');
+		$button_url = $router->get_static_url('photocrati-attach_to_post#igw_button.png');
 		$label		= __('Add Gallery', 'nggallery');
 		$igw_url    = admin_url('/?'.NGG_ATTACH_TO_POST_SLUG.'=1&KeepThis=true&TB_iframe=true&height=600&width=1000');
 
-		echo sprintf('<a href="%s" data-editor="content" class="button ngg-add-gallery thickbox" id="ngg-media-button" class="button" ><img src="%s" style="padding:0; margin-top:-3px;">%s</a>', $igw_url, $button_url, $label);
+		echo sprintf('<a href="%s" data-editor="content" class="button ngg-add-gallery thickbox" id="ngg-media-button" class="button" ><img src="%s" style="padding:0 4px 0 0; margin-left: -2px; margin-top:-3px; max-width: 20px;">%s</a>', $igw_url, $button_url, $label);
 	}
 
 	/**
@@ -304,19 +305,6 @@ class M_Attach_To_Post extends C_Base_Module
         $app->route('/',				'I_Attach_To_Post_Controller#index');
     }
 
-    /**
-     * WordPress sets the X-UA-Compatible header to IE=edge. Unfortunately, this causes problems with Plupload,
-     * so we have the send this header
-     */
-    function fix_ie11()
-    {
-        if ((array_search('attach_to_post', array_keys($_REQUEST)) !== FALSE OR strpos($_SERVER['REQUEST_URI'], NGG_ATTACH_TO_POST_SLUG) !== FALSE OR strpos($_SERVER['REQUEST_URI'], 'wp-admin/post.php') !== FALSE OR strpos($_SERVER['REQUEST_URI'], 'wp-admin/post-new.php') !== FALSE)) {
-            if (!headers_sent()) {
-                header('X-UA-Compatible: IE=EmulateIE10');
-            }
-        }
-    }
-
 	/**
      * Substitutes the gallery placeholder content with the gallery type frontend
      * view, returns a list of static resources that need to be loaded
@@ -353,7 +341,6 @@ class M_Attach_To_Post extends C_Base_Module
 		return $content;
     }
 
-
 	/**
 	 * Enqueues static resources required by the Attach to Post interface
 	 */
@@ -365,6 +352,10 @@ class M_Attach_To_Post extends C_Base_Module
 		if (preg_match("/\/wp-admin\/(post|post-new)\.php$/", $_SERVER['SCRIPT_NAME'])) {
 			$this->_enqueue_tinymce_resources();
 
+			wp_enqueue_script('nextgen_admin_js');
+			wp_enqueue_style('nextgen_admin_css');
+			wp_enqueue_script('frame_event_publisher');
+
 			M_Gallery_Display::enqueue_fontawesome();
 
 			wp_register_script(
@@ -392,12 +383,14 @@ class M_Attach_To_Post extends C_Base_Module
 				'edit'				=>	__('Click to edit', 'nggallery'),
 				'remove'			=>	__('Click to remove', 'nggallery'),
 			));
+
 		}
 
 		elseif (isset($_REQUEST['attach_to_post']) OR
 		  (isset($_REQUEST['page']) && strpos($_REQUEST['page'], 'nggallery') !== FALSE)) {
 			wp_enqueue_script('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.js'), FALSE, NGG_SCRIPT_VERSION);
 			wp_enqueue_style('iframely',  $router->get_static_url('photocrati-attach_to_post#iframely.css'), FALSE, NGG_SCRIPT_VERSION);
+			wp_enqueue_script('nextgen_admin_js_atp', $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'), FALSE, NGG_SCRIPT_VERSION);
 		}
 	}
 
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 7c7cb083349eb32e17409cfb5ee7df03958f9eed..9cefb85a587c620213cd0d1aa9e62155d8ed539e 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
@@ -250,46 +250,11 @@ class C_Attach_Controller extends C_NextGen_Admin_Page_Controller
     {
         parent::initialize();
         $this->_load_displayed_gallery();
-        $this->_marked_scripts = array();
-        if (did_action('wp_print_scripts')) {
-            $this->_handle_scripts();
-        } else {
-            add_action('wp_print_scripts', array($this, '_handle_scripts'), 9999);
+        if (!has_action('wp_print_scripts', array(&$this, 'filter_scripts'))) {
+            add_action('wp_print_scripts', array(&$this, 'filter_scripts'));
         }
-    }
-    function get_script_dependencies($handle)
-    {
-        $retval = array();
-        global $wp_scripts;
-        if (($index = array_search($handle, $wp_scripts->registered)) !== FALSE) {
-            $registered_script = $wp_scripts->registered[$index];
-            if ($registered_script->deps) {
-                foreach ($registered_script->deps as $dep) {
-                    $retval[] = $dep;
-                    $retval = array_merge($retval, $this->get_script_dependencies($handle));
-                }
-            }
-        }
-        return $retval;
-    }
-    function get_marked_scripts()
-    {
-        $retval = $this->_marked_scripts;
-        foreach ($this->_marked_scripts as $handle) {
-            $retval = array_merge($retval, $this->get_script_dependencies($handle));
-        }
-        return array_unique($retval);
-    }
-    function _handle_scripts()
-    {
-        if (M_Attach_To_Post::is_atp_url()) {
-            global $wp_scripts;
-            $marked_scripts = $this->get_marked_scripts();
-            foreach ($wp_scripts->queue as $handle) {
-                if (array_search($handle, $marked_scripts) === FALSE) {
-                    wp_dequeue_script($handle);
-                }
-            }
+        if (!has_action('wp_print_scripts', array(&$this, 'filter_styles'))) {
+            add_action('wp_print_scripts', array(&$this, 'filter_styles'));
         }
     }
 }
@@ -315,9 +280,155 @@ class Mixin_Attach_To_Post extends Mixin
             $this->object->_displayed_gallery = $mapper->create();
         }
     }
+    /**
+     * Gets all dependencies for a particular resource that has been registered using wp_register_style/wp_register_script
+     * @param $handle
+     * @param $type
+     *
+     * @return array
+     */
+    function get_resource_dependencies($handle, $type)
+    {
+        $retval = array();
+        $wp_resources = $GLOBALS[$type];
+        if (($index = array_search($handle, $wp_resources->registered)) !== FALSE) {
+            $registered_script = $wp_resources->registered[$index];
+            if ($registered_script->deps) {
+                foreach ($registered_script->deps as $dep) {
+                    $retval[] = $dep;
+                    $retval = array_merge($retval, $this->get_script_dependencies($handle));
+                }
+            }
+        }
+        return $retval;
+    }
+    function get_script_dependencies($handle)
+    {
+        return $this->get_resource_dependencies($handle, 'wp_scripts');
+    }
+    function get_style_dependencies($handle)
+    {
+        return $this->get_resource_dependencies($handle, 'wp_styles');
+    }
+    function get_ngg_provided_resources($type)
+    {
+        $wp_resources = $GLOBALS[$type];
+        $retval = array();
+        foreach ($wp_resources->queue as $handle) {
+            $script = $wp_resources->registered[$handle];
+            if (strpos($script->src, plugin_dir_url(NGG_PLUGIN_BASENAME)) !== FALSE) {
+                $retval[] = $handle;
+            }
+            if (defined('NGG_PRO_PLUGIN_BASENAME') && strpos($script->src, plugin_dir_url(NGG_PRO_PLUGIN_BASENAME)) !== FALSE) {
+                $retval[] = $handle;
+            }
+            if (defined('NGG_PLUS_PLUGIN_BASENAME') && strpos($script->src, plugin_dir_url(NGG_PLUS_PLUGIN_BASENAME)) !== FALSE) {
+                $retval[] = $handle;
+            }
+        }
+        return array_unique($retval);
+    }
+    function get_ngg_provided_scripts()
+    {
+        return $this->get_ngg_provided_resources('wp_scripts');
+    }
+    function get_ngg_provided_styles()
+    {
+        return $this->get_ngg_provided_resources('wp_styles');
+    }
+    function get_igw_allowed_scripts()
+    {
+        $retval = array();
+        foreach ($this->get_ngg_provided_scripts() as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_script_dependencies($handle));
+        }
+        foreach ($this->get_display_type_scripts() as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_script_dependencies($handle));
+        }
+        foreach ($this->attach_to_post_scripts as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_script_dependencies($handle));
+        }
+        return array_unique(apply_filters('ngg_igw_approved_scripts', $retval));
+    }
+    function get_display_type_scripts()
+    {
+        global $wp_scripts;
+        $wp_scripts->old_queue = $wp_scripts->queue;
+        $wp_scripts->queue = array();
+        $mapper = C_Display_Type_Mapper::get_instance();
+        foreach ($mapper->find_all() as $display_type) {
+            $form = C_Form::get_instance($display_type->name);
+            $form->enqueue_static_resources();
+        }
+        $retval = $wp_scripts->queue;
+        $wp_scripts->queue = $wp_scripts->old_queue;
+        unset($wp_scripts->old_queue);
+        return $retval;
+    }
+    function get_display_type_styles()
+    {
+        global $wp_styles;
+        $wp_styles->old_queue = $wp_styles->queue;
+        $wp_styles->queue = array();
+        $mapper = C_Display_Type_Mapper::get_instance();
+        foreach ($mapper->find_all() as $display_type) {
+            $form = C_Form::get_instance($display_type->name);
+            $form->enqueue_static_resources();
+        }
+        $retval = $wp_styles->queue;
+        $wp_styles->queue = $wp_styles->old_queue;
+        unset($wp_styles->old_queue);
+        return $retval;
+    }
+    function get_igw_allowed_styles()
+    {
+        $retval = array();
+        foreach ($this->get_ngg_provided_styles() as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_style_dependencies($handle));
+        }
+        foreach ($this->get_display_type_styles() as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_style_dependencies($handle));
+        }
+        foreach ($this->attach_to_post_styles as $handle) {
+            $retval[] = $handle;
+            $retval = array_merge($retval, $this->get_style_dependencies($handle));
+        }
+        return array_unique(apply_filters('ngg_igw_approved_styles', $retval));
+    }
+    function filter_scripts()
+    {
+        global $wp_scripts;
+        $new_queue = array();
+        $current_queue = $wp_scripts->queue;
+        $approved = $this->get_igw_allowed_scripts();
+        foreach ($current_queue as $handle) {
+            if (in_array($handle, $approved)) {
+                $new_queue[] = $handle;
+            }
+        }
+        $wp_scripts->queue = $new_queue;
+    }
+    function filter_styles()
+    {
+        global $wp_styles;
+        $new_queue = array();
+        $current_queue = $wp_styles->queue;
+        $approved = $this->get_igw_allowed_styles();
+        foreach ($current_queue as $handle) {
+            if (in_array($handle, $approved)) {
+                $new_queue[] = $handle;
+            }
+        }
+        $wp_styles->queue = $new_queue;
+    }
     function mark_script($handle)
     {
-        $this->object->_marked_scripts[] = $handle;
+        return FALSE;
     }
     function enqueue_display_tab_js()
     {
@@ -358,50 +469,50 @@ class Mixin_Attach_To_Post extends Mixin
             $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', 'underscore.string', 'photocrati_ajax'));
+        wp_enqueue_script('ngg_display_tab', $this->get_static_url('photocrati-attach_to_post#display_tab.js'), array('jquery', 'backbone', 'underscore.string', '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, 'i18n' => array('sources' => __('Sources', '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' => __('Galleries', 'nggallery'), 'albums' => __('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, '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, '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()
+    {
+        global $wp_scripts, $wp_styles;
+        $this->attach_to_post_scripts = array();
+        $this->attach_to_post_styles = array();
+        $wp_styles->before_monitoring = $wp_styles->queue;
+        $wp_scripts->before_monitoring = $wp_styles->queue;
+    }
+    function stop_resource_monitoring()
+    {
+        global $wp_scripts, $wp_styles;
+        $this->attach_to_post_scripts = array_diff($wp_scripts->queue, $wp_scripts->before_monitoring);
+        $this->attach_to_post_styles = array_diff($wp_styles->queue, $wp_styles->before_monitoring);
     }
     function enqueue_backend_resources()
     {
+        $this->start_resource_monitoring();
         $this->call_parent('enqueue_backend_resources');
-        $this->mark_script('jquery-ui-accordion');
-        $this->mark_script('nextgen_display_settings_page_placeholder_stub');
-        $this->mark_script('iris');
-        $this->mark_script('wp-color-picker');
-        $this->mark_script('nextgen_admin_page');
-        $this->mark_script('ngg_select2');
         // Enqueue frame event publishing
         wp_enqueue_script('frame_event_publisher');
-        $this->object->mark_script('frame_event_publisher');
         // Enqueue JQuery UI libraries
         wp_enqueue_script('jquery-ui-tabs');
         wp_enqueue_script('jquery-ui-sortable');
         wp_enqueue_script('jquery-ui-tooltip');
         wp_enqueue_script('ngg_tabs', $this->get_static_url('photocrati-attach_to_post#ngg_tabs.js'), FALSE, NGG_SCRIPT_VERSION);
-        $this->object->mark_script('jquery-ui-tabs');
-        $this->object->mark_script('jquery-ui-sortable');
-        $this->object->mark_script('jquery-ui-tooltip');
-        $this->object->mark_script('ngg_tabs');
         wp_enqueue_style('buttons');
         // Ensure select2
         wp_enqueue_style('ngg_select2');
         wp_enqueue_script('ngg_select2');
-        $this->object->mark_script('ngg_select2');
         // Ensure that the Photocrati AJAX library is loaded
         wp_enqueue_script('photocrati_ajax');
-        $this->object->mark_script('photocrati_ajax');
         // Enqueue logic for the Attach to Post interface as a whole
-        wp_enqueue_script('ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js'), FALSE, NGG_SCRIPT_VERSION);
+        wp_enqueue_script('ngg_attach_to_post_js', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js'), FALSE, NGG_SCRIPT_VERSION);
         wp_enqueue_style('ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.css'), FALSE, NGG_SCRIPT_VERSION);
-        $this->object->mark_script('ngg_attach_to_post');
+        wp_dequeue_script('debug-bar-js');
+        wp_dequeue_style('debug-bar-css');
         $this->enqueue_display_tab_js();
-        // TODO: for now mark Pro scripts to ensure they are enqueued properly, remove this after Pro upgrade with tagging added
-        $display_types = array('photocrati-nextgen_pro_slideshow', 'photocrati-nextgen_pro_horizontal_filmstrip', 'photocrati-nextgen_pro_thumbnail_grid', 'photocrati-nextgen_pro_blog_gallery', 'photocrati-nextgen_pro_film');
-        foreach ($display_types as $display_type) {
-            $this->object->mark_script($display_type . '-js');
-        }
-        $this->object->mark_script('nextgen_pro_albums_settings_script');
+        do_action('ngg_igw_enqueue_scripts');
+        do_action('ngg_igw_enqueue_styles');
+        $this->stop_resource_monitoring();
     }
     /**
      * Renders the interface
@@ -411,7 +522,7 @@ class Mixin_Attach_To_Post extends Mixin
         $this->object->enqueue_backend_resources();
         $this->object->do_not_cache();
         // Enqueue resources
-        return $this->object->render_view('photocrati-attach_to_post#attach_to_post', array('page_title' => $this->object->_get_page_title(), 'tabs' => $this->object->_get_main_tabs()), $return);
+        return $this->object->render_view('photocrati-attach_to_post#attach_to_post', array('page_title' => $this->object->_get_page_title(), 'tabs' => $this->object->_get_main_tabs(), 'logo' => $this->get_static_url('photocrati-nextgen_admin#imagely_icon.png')), $return);
     }
     /**
      * Displays a preview image for the displayed gallery
@@ -493,10 +604,10 @@ class Mixin_Attach_To_Post extends Mixin
         $security = $this->get_registry()->get_utility('I_Security_Manager');
         $sec_actor = $security->get_current_actor();
         if ($sec_actor->is_allowed('NextGEN Manage gallery')) {
-            $retval['displayed_tab'] = array('content' => $this->object->_render_display_tab(), 'title' => __('Display Galleries', 'nggallery'));
+            $retval['displayed_tab'] = array('content' => $this->object->_render_display_tab(), 'title' => __('Insert Into Page', 'nggallery'));
         }
         if ($sec_actor->is_allowed('NextGEN Upload images')) {
-            $retval['create_tab'] = array('content' => $this->object->_render_create_tab(), 'title' => __('Add Gallery / Images', 'nggallery'));
+            $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')) {
             $retval['galleries_tab'] = array('content' => $this->object->_render_galleries_tab(), 'title' => __('Manage Galleries', 'nggallery'));
@@ -504,9 +615,12 @@ class Mixin_Attach_To_Post extends Mixin
         if ($sec_actor->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')) {
-            $retval['tags_tab'] = array('content' => $this->object->_render_tags_tab(), 'title' => __('Manage Tags', 'nggallery'));
-        }
+        // if ($sec_actor->is_allowed('NextGEN Manage tags')) {
+        // 	$retval['tags_tab']         = array(
+        // 		'content'   =>  $this->object->_render_tags_tab(),
+        // 		'title'     =>  __('Manage Tags', 'nggallery')
+        // 	);
+        // }
         return $retval;
     }
     /**
@@ -522,7 +636,7 @@ class Mixin_Attach_To_Post extends Mixin
         if ($tab_id) {
             $tab_id = " id='ngg-iframe-{$tab_id}'";
         }
-        return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='no' src='{$frame_url}'></iframe>";
+        return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='yes' src='{$frame_url}'></iframe>";
     }
     /**
      * Renders the display tab for adjusting how images/galleries will be
@@ -600,14 +714,14 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
         if (!extension_loaded('suhosin')) {
             @ini_set('memory_limit', -1);
         }
-        return array($this->object->_render_display_types_tab(), $this->object->_render_display_source_tab(), $this->object->_render_display_settings_tab(), $this->object->_render_preview_tab());
+        return array('choose_display_tab' => $this->object->_render_choose_display_tab(), 'display_settings_tab' => $this->object->_render_display_settings_tab(), 'preview_tab' => $this->object->_render_preview_tab());
     }
     /**
      * Renders the accordion tab, "What would you like to display?"
      */
-    function _render_display_source_tab()
+    function _render_choose_display_tab()
     {
-        return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array('id' => 'source_tab', 'title' => __('What would you like to display?', 'nggallery'), 'content' => $this->object->_render_display_source_tab_contents()), TRUE);
+        return array('id' => 'choose_display', 'title' => __('Choose Display', 'nggallery'), 'content' => $this->object->_render_display_source_tab_contents() . $this->object->_render_display_type_tab_contents());
     }
     /**
      * Renders the contents of the source tab
@@ -615,15 +729,7 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
      */
     function _render_display_source_tab_contents()
     {
-        return $this->object->render_partial('photocrati-attach_to_post#display_tab_source', array(), TRUE);
-    }
-    /**
-     * Renders the accordion tab for selecting a display type
-     * @return string
-     */
-    function _render_display_types_tab()
-    {
-        return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array('id' => 'display_type_tab', 'title' => __('Select a display type', 'nggallery'), 'content' => $this->object->_render_display_type_tab_contents()), TRUE);
+        return $this->object->render_partial('photocrati-attach_to_post#display_tab_source', array('i18n' => array()), TRUE);
     }
     /**
      * Renders the contents of the display type tab
@@ -638,7 +744,7 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
      */
     function _render_display_settings_tab()
     {
-        return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array('id' => 'display_settings_tab', 'title' => __('Customize the display settings', 'nggallery'), 'content' => $this->object->_render_display_settings_contents()), TRUE);
+        return array('id' => 'display_settings_tab', 'title' => __('Customize Display Settings', 'nggallery'), 'content' => $this->object->_render_display_settings_contents());
     }
     /**
      * If editing an existing displayed gallery, retrieves the name
@@ -709,7 +815,7 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
      */
     function _render_preview_tab()
     {
-        return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array('id' => 'preview_tab', 'title' => __('Sort or Exclude Images', 'nggallery'), 'content' => $this->object->_render_preview_tab_contents()), TRUE);
+        return array('id' => 'preview_tab', 'title' => __('Sort or Exclude Images', 'nggallery'), 'content' => $this->object->_render_preview_tab_contents());
     }
     /**
      * Renders the contents of the "Preview" tab.
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 d9b02dbb79f1daf0401f0862571b1351d2c3b814..733ad4c475e88073c3d227842355648456acffd2 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
@@ -1,9 +1,33 @@
-html,body {
+/*
+ *
+ * This file contains CSS for: 
+ * 1. Overall IGW Window (dialog CSS is in attach_to_post_dialog.css)
+ * 2. IGW Sidebar 
+ * 3. Display Tab: General CSS
+ * 3a. Display Tab: "Choose Display" Subtab
+ * 3b. Display Tab: "Customize Display Settings" Subtab
+ * 3c. Display Tab: "Sort & Exclude Images" (ie, Preview) Subtab
+ * 4. Other Tabs
+ * 5. Media Queries
+ * 
+ * Note that much of the CSS in #2 is duplicated in iframely.css. The css here cannot 
+ * reach into the iframe of the Add Gallery, Manage Gallery, and Manage Album pages. 
+ * So overrides for those pages go in iframely.css. 
+ * 
+ * Almost every time you make a change here, you may need to make an equivalent change
+ * in iframely.css for the other main tabs in the IGW other than the Display Tab.
+ * 
+ */
+
+/* 1. Overall IGW Window */
+
+html, body {
 	width: 100%;
-	min-height: 100%;
+	height: 100%;
 	padding: 0px;
 	margin: 0px;
 	font-size: 13px;
+	overflow: hidden;
 }
 
 body {
@@ -33,19 +57,46 @@ body {
 #attach_to_post_tabs {
 	border: 0px;
 	background: none;
-	min-height: 100%;
+	height: 100%;
     overflow: hidden;
+    padding: 0;
+    position: relative;
+    visibility: visible;
 }
 
-#attach_to_post_tabs div.main_menu_tab {
-    overflow: hidden;
+#attach_to_post_tabs
+#attach_to_post_tabs.ui-tabs-hide {
+	display: block !important;
+	visibility: hidden;
+	position: absolute;
+	top: -5000px;
 }
 
-.ui-tabs-panel {
-	min-height: 100%;
+#attach_to_post_tabs h3 {
+	text-transform: uppercase;
+	color: #666;
+    margin-top: 0;
+}
+
+h3#choose_display {
+    margin-bottom: 24px;
 }
 
-.ui-widget-header {
+#attach_to_post_tabs .main_menu_tab {
+    padding: 0;
+	position: absolute;
+	left: 200px;
+	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: 0px;
 	border-bottom: 1px solid #dfdfdf;
 	background: none;
@@ -60,46 +111,445 @@ iframe {
 	background: transparent;
 }
 
-#displayed_gallery_source {
+.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;
+}
+
+/* thanks to nextgen_admin_page.css */
+#ngg_page_content .ngg_page_content_main .select2-container {
+	width: 100% !important;
+	max-width: 500px !important;
+}
+
+/* 2. IGW Sidebar */
+
+#attach_to_post_tabs .ui-tabs-icon {
+	/*background: #2a343d;*/
+	background: #133148;
+	border-right: 3px solid #9fbb1a;
+	box-sizing: border-box;
+    color: #fff;
+    font-family: Lato, sans-serif;
+    float: none;
+    font-size: 20px;
+    font-weight: bold;
+    height: 100%;
+    letter-spacing: 1px;
+    line-height: 60px;
+    margin-bottom: 0;
+    position: fixed;
+    padding: 10px 25px 30px 10px;
+    text-transform: uppercase;
+    width: 200px;
+}
+
+#attach_to_post_tabs img.attach_to_post_logo {
+    height: 45px;
+    padding: 20px 0 10px;
+    float: right;
+}
+
+#attach_to_post_tabs .ui-tabs-nav {
+    border: none;
+    background: transparent;
+    padding: 0;
+    margin-top: 90px;
+    list-style: ordered;
+}
+
+#attach_to_post_tabs .ui-tabs-nav li {
+	background: transparent;
+	border: none;
+	display: block;
+	height: auto;
+	margin: 0;
+	padding: 0;
+	width: 100%;
+}
+
+/* The next couple of rules are all a workaround to disable the "Insert Into Page" tab just for iOS */
+/* TODO: consolidate when plupload is upgraded */
+#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1) {
+    list-style: ordered;
+}
+#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2) {
+    list-style: ordered;
+}
+
+#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 ul.ui-tabs-nav li:nth-of-type(2) a {
+    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;
+    float: right;
+    font-size: 16px;
+    letter-spacing: 0;
+    line-height: 1;
+    padding: 10px 5px 5px 0 !important;
+    text-transform: none;   
+    font-family: lato, sans-serif;
+}
+
+#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a, 
+#attach_to_post_tabs .ui-tabs-nav li.ui-state-disabled 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 #9fbb1a;
+    border-top: solid .75em transparent;
+    border-bottom: solid .75em transparent;
+	content: '';
+	/*left: 3.1em;*/
+	right: -25px;
+	position: absolute;
+	top: 8px;
+}
+
+#attach_to_post_tabs .ui-tabs-nav li a.active_tab {
+	color: #9fbb1a;
+	font-weight: 600;
+}
+
+/* 3. Display Tab: General CSS */
+
+#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: transparent;
+    border: none;
+    padding: 10px 20px 10px 0;
+    float: none;
+    height: 25px;
+    margin-top: 0;
+    width: auto;
+}
+
+#displayed_tab #ngg_page_content .ngg_page_content_menu a {
+    border: none;
+    color: #bbb;
+    display: inline;
+    font-size: 14px;
+    font-weight: 400;
+    text-decoration: none;
+    line-height: 25px;
+    padding: 15px 20px;
+    /*border-left: 1px solid #f7f8f3;
+    border-right: 1px solid #f7f8f3;*/
+}
+
+#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active {
+	color: #9fbb1a;
+	border-right: 1px solid #edeeeb;
+	border-left: 1px solid #edeeeb;
+}
+
+#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%;
+    border-top: 1px solid #edeeeb;
+}
+
+#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: 10px;
+    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 {
+    color: #9ebc1b;
+    width: 100%;
+    height: 50px;
+    display: block;
+    background: #123248;
+    text-align: center;
+    line-height: 50px;
+    font-size: 15px;
+    font-weight: bold;
+    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;
+}
+
+/* 3a. Display Tab: "Choose Display" Subtab **/
+
+#displayed_tab #displayed_gallery_source {
 	width: 400px;
 }
 
-/** Would would you like to display tab? **/
-#source_configuration td {
+#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 #source_configuration td,
+#displayed_tab #slug_configuration td {
 	vertical-align: top;
+	padding: 4px 0 !important;
+	min-width: 200px;
+}
+
+#displayed_tab #source_configuration label {
+    color: #777 !important;
+    font-size: 13px !important;
 }
 
-#source_configuration .chzn-choices input[type=text] {
-	height: auto !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;
 }
 
-#slug_configuration #slug_label {
+#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;
 }
 
-#slug_configuration #slug_column input[type=text] {
+#displayed_tab #slug_configuration #slug_column input[type=text] {
     width: 498px;
 }
 
-/** Select a display type tab **/
-.display_type_preview {
+#displayed_tab #display_type_selector {
+	margin-top: 14px;
+}
+
+#displayed_tab .display_type_preview {
 	float: left;
-	width: 25%;
+    margin: 0 5px 5px 0;
+    border: 1px solid #ddd;
+    background: #fff;
+    width: 145px;
+    height: 170px;
 }
-.display_type_preview .image_container {
+
+#displayed_tab .display_type_preview .image_container {
 	width: 100%;
 	vertical-align: middle;
 	text-align: center;
 	font-size: 12px;
-	font-weight: 600;
+	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;
+    /*border: 1px solid #eee;*/
 }
-.display_type_preview .image_container p {
+
+#displayed_tab .display_type_preview .image_container p {
 	display: inline-block;
 }
 
-/** Display Tab **/
+.display_type_preview label > div {
+    font-size: 12px;
+}
+
+#displayed_tab .select2-chosen {
+	color: #666 !important;
+}
+
+#ngg_page_content #save_displayed_gallery.button {
+	font-weight: bold;
+	height: 60px !important;
+	line-height: 60px !important;
+	text-transform: uppercase;
+	padding: 0 40px !important;
+}
+
+/* 3b. Display Tab: "Customize Display Settings" Subtab */
+
+#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 textarea,
+#display_settings_tab #display_settings_form input[type=text],
+#display_settings_tab #display_settings_form input[type=number],
+#display_settings_tab #display_settings_form select {
+    width: 157px;
+}
+
+#display_settings_tab #display_settings_form .ngg_slideshow_gallery_width,
+#display_settings_tab #display_settings_form .ngg_slideshow_gallery_height,
+#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_width,
+#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_height {
+    width: 65px !important;
+}
+
+#display_settings_tab #display_settings_form .nextgen_settings_colorpicker {
+    width: 85px !important;
+    text-align: center;
+}
+
+/* 3c. Display Tab: "Sort & Exclude Images" (ie, Preview) Subtab */
+
+h3#preview_tab {
+    margin-bottom: 0;
+}
+
 #preview_tab_content {
-	padding: 0.8em 1em;
+	padding: 10px 0;
+}
+
+#preview_tab_content a {
+    text-decoration: none;
+    font-weight: 300;
 }
 
 #preview_tab_content .previewed_entity {
@@ -131,12 +581,11 @@ iframe {
 #preview_tab_content ul {
 	list-style-type: none;
 	display: block;
-	border: solid 2px #E0E0D6;
 	padding: 0px;
 	position: relative;
+	margin-top: 20px;
 }
 
-
 #preview_tab_content .inclusion_checkbox {
 	margin-right: 7px;
 	display: block;
@@ -146,9 +595,9 @@ iframe {
 #preview_tab_content .preview_item {
 	background-color: white;
 	width: 100px;
-	padding: 6px 6px 1.4em 6px;
-	margin: 4px;
-	border: solid 1px #333;
+	padding: 10px 10px 30px 10px;
+    margin: 0 5px 5px 0;
+	border: solid 1px #eee;
 	display: block;
 	vertical-align: middle;
 	text-align: center;
@@ -177,7 +626,7 @@ iframe {
 	border: none;
 }
 
-#preview_tab_content .placeholder{
+#preview_tab_content .placeholder {
 	background-color: #e0ddc1;
 	position: relative;
 }
@@ -196,6 +645,7 @@ iframe {
 	bottom: 0.2em;
 	left: 0px;
 	width: 100%;
+	padding: 5px 0;
 }
 
 #preview_tab_content #entity_list .exclude_container input {
@@ -206,6 +656,7 @@ iframe {
 
 #preview_tab_content .header_row {
 	margin-bottom: 5px;
+	font-weight: 300;
 }
 #preview_tab_content .header_row strong {
 	width: 70px;
@@ -225,83 +676,125 @@ iframe {
 	clear: both;
 }
 
-.clear {
-	clear: both;
-	float: none;
-}
-
-table {
-	font-size: 13px;
-}
-
-#display_settings_form table tr td:first-child {
-    vertical-align: top;
-    text-align: right;
-    padding-right: 7px;
-    width: 180px;
-}
-
-#display_settings_form table td {
-    text-align: left;
-}
-
-#display_settings_form table textarea {
-    height: 60px;
-}
-
-#display_settings_form textarea,
-#display_settings_form input[type=text],
-#display_settings_form input[type=number],
-#display_settings_form select {
-    width: 157px;
-}
-
-#display_settings_form .ngg_slideshow_gallery_width,
-#display_settings_form .ngg_slideshow_gallery_height,
-#display_settings_form .ngg_thumbnail_dimension_width,
-#display_settings_form .ngg_thumbnail_dimension_height {
-    width: 65px !important;
-}
-
-#display_settings_form .nextgen_settings_colorpicker {
-    width: 85px !important;
-    text-align: center;
-}
-
-/**
- * Hacks used to ensure that Firefox can calculate the height of hidden content
- * in iframes
-**/
-.ui-tabs {
-	visibility: visible;
-	position: relative;
-}
-.ui-tabs
-.ui-tabs-hide {
-	display: block !important;
-	visibility: hidden;
-	position: absolute;
-	top: -5000px;
-}
-.ui-tabs .main_menu_tab {
-	overflow: visible;
-}
-/**
- * Make the active tab still clickable
- **/
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
-	cursor: pointer;
-}
-
-.select2-result-label {
-	white-space: nowrap;
-}
-.select2-results {
-	font-family: 'segoe ui', Arial, sans-serif;
-	font-size: 13px;
+#preview_tab_content .refresh_button {
+	float: right;
 }
 
-/** Refresh button in the preview area **/
-.refresh_button {
-	float: right;
+/* 4. Overall IGW Window */
+
+#ngg-iframe-galleries_tab {
+}
+
+/* 5. Media Queries */
+
+@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-icon {
+	    width: 100%;
+	    position: static;
+	    border-right: none;
+	    border-bottom: 3px solid #9fbb1a;
+	    text-align: center;
+		/* Also update #attach_to_post_tabs .main_menu_tab's top position when changing height */
+		/*height: 280px;*/
+		height: 150px;
+		padding: 20px;
+	}
+	#attach_to_post_tabs img.attach_to_post_logo {
+	    /*float: none;*/
+    	display: none;
+	}
+
+	#attach_to_post_tabs .ui-tabs-nav {
+	    /*margin-top: -15px;*/
+	    margin-top: 0;
+	}
+	#attach_to_post_tabs .ui-tabs-nav li {
+	    padding: 5px;
+	    list-style: none !important;
+	}
+	#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 a {
+	    float: none;
+	    padding: 0 !important;
+	}
+	#attach_to_post_tabs .main_menu_tab {
+	    margin-left: 0;
+	    min-height: auto;
+		position: absolute;
+		/*top: 280px;*/
+		top: 150px;
+		right: 0;
+		left: 0;
+		bottom: 0;
+		height: auto;
+	}
+	#displayed_tab #ngg_page_content .ngg_page_content_menu {
+		padding: 5px 0 0;
+	}
+	#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, 
+	#displayed_tab #ngg_page_content .ngg_page_content_menu a:active {
+		background: transparent;
+	}
+	#displayed_tab #ngg_page_content .ngg_page_content_menu a:last-of-type {
+	    padding-bottom: 5px;
+	}
+	#displayed_tab #source_configuration tr,
+	#displayed_tab #slug_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;
+	}
+}
+
+@media (max-width: 400px) {
+	#displayed_tab .display_type_preview {
+    	float: none;
+    	margin: 20px auto;
+    	width: 170px;
+    }
 }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js
index f7a9b9f270f2fa8f90bc8cb8dbedc1b24f0b2660..11a9a0195cb3718bbddf5853fac2c608464feaad 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js
@@ -2,21 +2,27 @@
 this.id = 'ngg-attach_to_post';
 
 // Provides a function to close the TinyMCE popup window
-function close_attach_to_post_window()
-{
+function close_attach_to_post_window() {
 	var src = jQuery(top.document).find("#TB_window iframe").attr('src');
 	if (src && src.match('attach_to_post')) {
 		top.tb_remove();
-	}
-	else {
+	} else {
 		top.tinyMCE.activeEditor.windowManager.close(window);
 	}
 }
 
-// Adjusts the height of a frame on the page, and then executes
-// the specified callback
-function adjust_height_for_frame(parent_window, current_window, callback)
-{
+// This function is only necessary on iOS because iframe's scrollable='yes' attribute
+// is ignored there. To work around this we give each iframe a height matching its contents
+// height and set overflow-y:scroll on the wrapping parent div.
+function adjust_height_for_frame(parent_window, current_window, callback) {
+    if (!/crios|iP(hone|od|ad)/i.test(navigator.userAgent)) {
+        if (callback !== undefined) {
+            return callback(parent_window, current_window);
+        } else {
+            return true;
+        }
+    }
+
 	// Adjust height of the frame
 	var $frame			= jQuery(current_window.frameElement);
 	var new_height		= $frame.contents().height()/3;
@@ -24,52 +30,56 @@ function adjust_height_for_frame(parent_window, current_window, callback)
     var parent_height   = jQuery(parent_window.document).height();
 	var current_height	= $frame.height();
 
-    if (new_height < new_height_body) new_height = new_height_body;
-    if (new_height < parent_height) new_height = parent_height;
+	// because #wpbody may have zero height
+	if (new_height_body === 0) {
+		new_height_body = $frame.contents().height();
+	}
+
+    if (new_height < new_height_body) { new_height = new_height_body; }
+    if (new_height < parent_height)   { new_height = parent_height; }
 
     if (current_height < new_height) {
-        $frame.height(new_height);
-
         var frame_id = $frame.attr('id');
-        if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) {
+        if (frame_id && frame_id.indexOf('ngg-iframe-') === 0) {
             var tab_id = frame_id.substr(11);
-
             if (tab_id) {
                 jQuery('#' + tab_id).height(new_height);
             }
         }
     }
 
-	if (callback != undefined)
-		return callback(parent_window, current_window, new_height);
-	else
-		return true;
+	if (callback !== undefined) {
+        return callback(parent_window, current_window, new_height);
+    } else {
+        return true;
+    }
 }
 
-function ngg_get_measures_for_frame(frame)
-{
+// This overrides certain parts of shutter.js' positioning & sizing code
+function ngg_get_measures_for_frame(frame) {
 	var $frame			= jQuery(frame);
 	var frame_id = $frame.attr('id');
 	var measures = {};
 
-	if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) {
+	if (frame_id && frame_id.indexOf('ngg-iframe-') === 0) {
 		var tab_id = frame_id.substr(11);
 		
 		if (tab_id) {
 			var jDoc = jQuery(document);
-			
-			measures.scrollTop = jDoc.scrollTop() - 40; // remove around 40 for tabs and padding
-			
+
+            // remove around 40px for tabs and padding
+			measures.scrollTop = jDoc.scrollTop() - 40;
+
 			if (window.parent) {
-				var jparDoc = jQuery(window.parent.document);
-				
-				measures.scrollHeight = jparDoc.find('.ngg_attach_to_post_window').height() - 40; // remove around 40 for tabs and padding
-			}
-			else {
+                // remove around 40px for tabs and padding
+				measures.scrollHeight = jQuery(window.parent.document)
+											.find('.ngg_attach_to_post_window')
+											.height() - 40;
+			} else {
 				measures.scrollHeight = jDoc.height();
 			}
 
-            if (typeof(window.console) != 'undefined') {
+            if (typeof(window.console) !== 'undefined') {
                 console.log(measures);
             }
 		}
@@ -79,13 +89,19 @@ function ngg_get_measures_for_frame(frame)
 }
 
 // Activates the attach to post screen elements
-jQuery(function($){
-	// Activate horizontal tabs
+jQuery(function($) {
+
+	// iOS does not support iframe's scrollable="yes" attribute which requires some workarounds
+    if (/crios|iP(hone|od|ad)/i.test(navigator.userAgent)) {
+        $('#attach_to_post_tabs').addClass('ngg_atp_ios_detected');
+    }
+
+	// Activate tabs
 	$('#attach_to_post_tabs').ngg_tabs();
 
 	// If the preview area is being displayed, emit an event for that
-	$('.accordion h3').bind('click', function(e){
-		if ($(this).attr('id') == 'preview_tab') {
+	$('.ngg_page_content_menu a').bind('click', function(){
+		if ($(this).attr('data-id') === 'preview_tab') {
 			$('#preview_area').trigger('opened');
 		}
 	});
@@ -97,16 +113,23 @@ jQuery(function($){
         heightStyle: 'content'
     });
 
+	// Apply active class to first tab
+	$('.ui-tabs-nav li:first-of-type a').addClass("active_tab");
+
 	// If the active display tab is clicked, then we assume that the user
 	// wants to display the original tab content
-	$('.ui-tabs-nav a').click(function(e){
+	$('.ui-tabs-nav a').click(function(e) {
+
+		/* Add color to the active link */
+        $('.ui-tabs-nav a').removeClass("active_tab");
+        $(this).addClass("active_tab");
 
 		var element = e.target ? e.target : e.srcElement;
 
 		// If the accordion tab is used to display an iframe, ensure when
 		// clicked that the original iframe content is always displayed
 		if ($(element).parent().hasClass('ui-state-active')) {
-			var iframe = $(element.hash+' iframe');
+			var iframe = $(element.hash + ' iframe');
 			if (iframe.length > 0) {
 				if (iframe[0].contentDocument.location != iframe.attr('src')) {
 					iframe[0].contentDocument.location = iframe.attr('src');
@@ -116,8 +139,10 @@ jQuery(function($){
 	});
 
 	// Close the window when the escape key is pressed
-	$(this).keydown(function(e){
-		if (e.keyCode == 27) close_attach_to_post_window();
+	$(this).keydown(function(e) {
+		if (e.keyCode === 27) {
+			close_attach_to_post_window();
+        }
 		return;
 	});
 
@@ -128,27 +153,61 @@ jQuery(function($){
 	}).animate({
 		opacity: 1.0
 	});
+
 });
 
-function is_visual_editor()
-{
-	return jQuery(top.document).find('.html-active:visible').length == 0;
+/* Open and close IGW video tutorial */
+jQuery(function($) {
+
+	$('#displayed_tab .ngg_igw_video_open').click( function(e) {
+        $('#displayed_tab .ngg_igw_video_inner').append('<iframe class="ngg_igw_video_iframe" width="1050" height="590" src="https://www.youtube.com/embed/mNEnY23i9DE?rel=0" frameborder="0" allowfullscreen></iframe>');
+        $('#displayed_tab .ngg_igw_video_inner').css("display", "block");
+        $('#displayed_tab .ngg_igw_video_open').css("display", "none");
+    });
+
+    $('#displayed_tab .ngg_igw_video_close').click( function(e) {
+        $('#displayed_tab .ngg_igw_video_iframe').remove();
+        $('#displayed_tab .ngg_igw_video_inner').css("display", "none");
+        $('#displayed_tab .ngg_igw_video_open').css("display", "block");
+    });
+    
+});
+
+/* Show Pro gallery promo only on Choose Display tab */
+jQuery(function($) {
+
+	$('.ngg_page_content_menu a').click( function(e) {
+        
+        var id = $(this).attr('data-id');
+        if (id == "choose_display") { 
+            $(".ngg_igw_promo").css("visibility","visible"); 
+            $("#displayed_tab .ngg_igw_video_open").css("display", "block");
+        }
+        else { 
+            $(".ngg_igw_promo").css("visibility","hidden"); 
+            $("#displayed_tab .ngg_igw_video_open").css("display", "none");
+            $("#displayed_tab .ngg_igw_video_inner").css("display", "none");
+        }
+
+    });
+
+});
+
+function is_visual_editor() {
+	return jQuery(top.document).find('.html-active:visible').length === 0;
 }
 
-function insert_into_editor(snippet, ref_or_id)
-{
+function insert_into_editor(snippet, ref_or_id) {
 	if (is_visual_editor()) {
 		var editor = top.tinyMCE.activeEditor;
 		if (editor.selection.getNode().outerHTML.indexOf(ref_or_id) >= 0) {
 			jQuery(editor.selection.getNode()).attr('data-shortcode', snippet.substring(1, snippet.length-1));
-		}
-		else {
+		} else {
 			editor.execCommand('mceInsertContent', false, snippet);
 		}
 		editor.selection.collapse(false);
 
-	}
-	else {
+	} else {
 		myField = top.document.getElementById('content');
 
 		myValue = snippet;
@@ -158,9 +217,8 @@ function insert_into_editor(snippet, ref_or_id)
 			myField.focus();
 			sel = document.selection.createRange();
 			sel.text = myValue;
-		}
-		//MOZILLA and others
-		else if (myField.selectionStart || myField.selectionStart == '0') {
+		} else if (myField.selectionStart || myField.selectionStart === '0') {
+            //MOZILLA and others
 			var startPos = myField.selectionStart;
 			var endPos = myField.selectionEnd;
 			myField.value = myField.value.substring(0, startPos)
@@ -170,4 +228,4 @@ function insert_into_editor(snippet, ref_or_id)
 			myField.value += myValue;
 		}
 	}
-}
+}
\ 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.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css
index 0dbdec75bfa66a2c094760c359bff15787eebd94..e689e9153753edb2ff77f8a6ca6f0a4c29b0b8dd 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 @@
-.ui-helper-reset,body,html{font-size:13px}body,html,iframe{width:100%;min-height:100%;padding:0}body,html{margin:0}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;min-height:100%;overflow:hidden}#attach_to_post_tabs div.main_menu_tab{overflow:hidden}.ui-tabs-panel{min-height:100%}.ui-widget-header{border:0;border-bottom:1px solid #dfdfdf;background:0 0}iframe{border:none;margin:0;background:0 0}#displayed_gallery_source{width:400px}#source_configuration td{vertical-align:top}#source_configuration .chzn-choices input[type=text]{height:auto!important}#slug_configuration #slug_label{width:52px}#slug_configuration #slug_column input[type=text]{width:498px}.display_type_preview{float:left;width:25%}.display_type_preview .image_container{width:100%;vertical-align:middle;text-align:center;font-size:12px;font-weight:600}.display_type_preview .image_container p{display:inline-block}#preview_tab_content{padding:.8em 1em}#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;border:2px solid #E0E0D6;padding:0;position:relative}#preview_tab_content .inclusion_checkbox{margin-right:7px;display:block;float:left}#preview_tab_content .preview_item{background-color:#fff;width:100px;padding:6px 6px 1.4em;margin:4px;border:1px solid #333;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 li.clear,.clear{clear:both;float:none}#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%}#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}#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}table{font-size:13px}#display_settings_form table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;width:180px}#display_settings_form table td{text-align:left}#display_settings_form table textarea{height:60px}#display_settings_form input[type=number],#display_settings_form input[type=text],#display_settings_form select,#display_settings_form textarea{width:157px}#display_settings_form .ngg_slideshow_gallery_height,#display_settings_form .ngg_slideshow_gallery_width,#display_settings_form .ngg_thumbnail_dimension_height,#display_settings_form .ngg_thumbnail_dimension_width{width:65px!important}#display_settings_form .nextgen_settings_colorpicker{width:85px!important;text-align:center}.ui-tabs{visibility:visible;position:relative}.ui-tabs .ui-tabs-hide{display:block!important;visibility:hidden;position:absolute;top:-5000px}.ui-tabs .main_menu_tab{overflow:visible}.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:pointer}.select2-result-label{white-space:nowrap}.select2-results{font-family:'segoe ui',Arial,sans-serif;font-size:13px}.refresh_button{float:right}
\ No newline at end of file
+body,html{width:100%;height:100%;padding:0;margin:0;font-size:13px;overflow:hidden}body{position:absolute;visibility:hidden;opacity:0;height:100%}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}.ui-helper-reset{font-size:13px}#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:200px;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{width:100%;min-height:100%;border:none;padding:0;margin:0;background:0 0}.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{background:#133148;border-right:3px solid #9fbb1a;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;padding:10px 25px 30px 10px;text-transform:uppercase;width:200px}#attach_to_post_tabs img.attach_to_post_logo{height:45px;padding:20px 0 10px;float:right}#attach_to_post_tabs .ui-tabs-nav{border:none;background:0 0;padding:0;margin-top:90px;list-style:ordered}#attach_to_post_tabs .ui-tabs-nav li{background:0 0;border:none;display:block;height:auto;margin:0;padding:0;width:100%}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1){list-style:ordered}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2){list-style:ordered}#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 ul.ui-tabs-nav li:nth-of-type(2) a{display:list-item}#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%}#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;float:right;font-size:16px;letter-spacing:0;line-height:1;padding:10px 5px 5px 0!important;text-transform:none;font-family:lato,sans-serif}#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 #9fbb1a;border-top:solid .75em transparent;border-bottom:solid .75em transparent;content:'';right:-25px;position:absolute;top:8px}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#9fbb1a;font-weight:600}#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:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto}#displayed_tab #ngg_page_content .ngg_page_content_menu a{border:none;color:#bbb;display:inline;font-size:14px;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{color:#9fbb1a;border-right:1px solid #edeeeb;border-left:1px solid #edeeeb}#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%;border-top:1px solid #edeeeb}#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:10px;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{color:#9ebc1b;width:100%;height:50px;display:block;background:#123248;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:60px!important;line-height:60px!important;text-transform:uppercase;padding:0 40px!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 10px;margin:0 5px 5px 0;border:solid 1px #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-icon{width:100%;position:static;border-right:none;border-bottom:3px solid #9fbb1a;text-align:center;height:150px;padding:20px}#attach_to_post_tabs img.attach_to_post_logo{display:none}#attach_to_post_tabs .ui-tabs-nav{margin-top:0}#attach_to_post_tabs .ui-tabs-nav li{padding:5px;list-style:none!important}#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 a{float:none;padding:0!important}#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}#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,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#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}}@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.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.js
index b9cbc059b2138d67eb86599655d30b17567b78bc..d6ba4c93bc4f89599831738132fb7826565fbe55 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.js
@@ -1 +1 @@
-function close_attach_to_post_window(){var t=jQuery(top.document).find("#TB_window iframe").attr("src");t&&t.match("attach_to_post")?top.tb_remove():top.tinyMCE.activeEditor.windowManager.close(window)}function adjust_height_for_frame(t,e,i){var o=jQuery(e.frameElement),n=o.contents().height()/3,a=o.contents().find("#wpbody").height(),r=jQuery(t.document).height(),c=o.height();if(n<a&&(n=a),n<r&&(n=r),c<n){o.height(n);var s=o.attr("id");if(s&&0==s.indexOf("ngg-iframe-")){var l=s.substr(11);l&&jQuery("#"+l).height(n)}}return void 0==i||i(t,e,n)}function ngg_get_measures_for_frame(t){var e=jQuery(t),i=e.attr("id"),o={};if(i&&0==i.indexOf("ngg-iframe-")){var n=i.substr(11);if(n){var a=jQuery(document);if(o.scrollTop=a.scrollTop()-40,window.parent){var r=jQuery(window.parent.document);o.scrollHeight=r.find(".ngg_attach_to_post_window").height()-40}else o.scrollHeight=a.height();"undefined"!=typeof window.console&&console.log(o)}}return o}function is_visual_editor(){return 0==jQuery(top.document).find(".html-active:visible").length}function insert_into_editor(t,e){if(is_visual_editor()){var i=top.tinyMCE.activeEditor;i.selection.getNode().outerHTML.indexOf(e)>=0?jQuery(i.selection.getNode()).attr("data-shortcode",t.substring(1,t.length-1)):i.execCommand("mceInsertContent",!1,t),i.selection.collapse(!1)}else if(myField=top.document.getElementById("content"),myValue=t,document.selection)myField.focus(),sel=document.selection.createRange(),sel.text=myValue;else if(myField.selectionStart||"0"==myField.selectionStart){var o=myField.selectionStart,n=myField.selectionEnd;myField.value=myField.value.substring(0,o)+myValue+myField.value.substring(n,myField.value.length)}else myField.value+=myValue}this.id="ngg-attach_to_post",jQuery(function(t){t("#attach_to_post_tabs").ngg_tabs(),t(".accordion h3").bind("click",function(e){"preview_tab"==t(this).attr("id")&&t("#preview_area").trigger("opened")}),t(".accordion").accordion({clearStyle:!0,autoHeight:!1,heightStyle:"content"}),t(".ui-tabs-nav a").click(function(e){var i=e.target?e.target:e.srcElement;if(t(i).parent().hasClass("ui-state-active")){var o=t(i.hash+" iframe");o.length>0&&o[0].contentDocument.location!=o.attr("src")&&(o[0].contentDocument.location=o.attr("src"))}}),t(this).keydown(function(t){27==t.keyCode&&close_attach_to_post_window()}),t("body").css({position:"static",visibility:"visible"}).animate({opacity:1})});
\ No newline at end of file
+function close_attach_to_post_window(){var e=jQuery(top.document).find("#TB_window iframe").attr("src");e&&e.match("attach_to_post")?top.tb_remove():top.tinyMCE.activeEditor.windowManager.close(window)}function adjust_height_for_frame(e,t,i){if(!/crios|iP(hone|od|ad)/i.test(navigator.userAgent))return void 0===i||i(e,t);var n=jQuery(t.frameElement),o=n.contents().height()/3,a=n.contents().find("#wpbody").height(),s=jQuery(e.document).height(),d=n.height();if(0===a&&(a=n.contents().height()),o<a&&(o=a),o<s&&(o=s),d<o){var c=n.attr("id");if(c&&0===c.indexOf("ngg-iframe-")){var r=c.substr(11);r&&jQuery("#"+r).height(o)}}return void 0===i||i(e,t,o)}function ngg_get_measures_for_frame(e){var t=jQuery(e),i=t.attr("id"),n={};if(i&&0===i.indexOf("ngg-iframe-")){if(i.substr(11)){var o=jQuery(document);n.scrollTop=o.scrollTop()-40,window.parent?n.scrollHeight=jQuery(window.parent.document).find(".ngg_attach_to_post_window").height()-40:n.scrollHeight=o.height(),void 0!==window.console&&console.log(n)}}return n}function is_visual_editor(){return 0===jQuery(top.document).find(".html-active:visible").length}function insert_into_editor(e,t){if(is_visual_editor()){var i=top.tinyMCE.activeEditor;i.selection.getNode().outerHTML.indexOf(t)>=0?jQuery(i.selection.getNode()).attr("data-shortcode",e.substring(1,e.length-1)):i.execCommand("mceInsertContent",!1,e),i.selection.collapse(!1)}else if(myField=top.document.getElementById("content"),myValue=e,document.selection)myField.focus(),sel=document.selection.createRange(),sel.text=myValue;else if(myField.selectionStart||"0"===myField.selectionStart){var n=myField.selectionStart,o=myField.selectionEnd;myField.value=myField.value.substring(0,n)+myValue+myField.value.substring(o,myField.value.length)}else myField.value+=myValue}this.id="ngg-attach_to_post",jQuery(function(e){/crios|iP(hone|od|ad)/i.test(navigator.userAgent)&&e("#attach_to_post_tabs").addClass("ngg_atp_ios_detected"),e("#attach_to_post_tabs").ngg_tabs(),e(".ngg_page_content_menu a").bind("click",function(){"preview_tab"===e(this).attr("data-id")&&e("#preview_area").trigger("opened")}),e(".accordion").accordion({clearStyle:!0,autoHeight:!1,heightStyle:"content"}),e(".ui-tabs-nav li:first-of-type a").addClass("active_tab"),e(".ui-tabs-nav a").click(function(t){e(".ui-tabs-nav a").removeClass("active_tab"),e(this).addClass("active_tab");var i=t.target?t.target:t.srcElement;if(e(i).parent().hasClass("ui-state-active")){var n=e(i.hash+" iframe");n.length>0&&n[0].contentDocument.location!=n.attr("src")&&(n[0].contentDocument.location=n.attr("src"))}}),e(this).keydown(function(e){27===e.keyCode&&close_attach_to_post_window()}),e("body").css({position:"static",visibility:"visible"}).animate({opacity:1})}),jQuery(function(e){e("#displayed_tab .ngg_igw_video_open").click(function(t){e("#displayed_tab .ngg_igw_video_inner").append('<iframe class="ngg_igw_video_iframe" width="1050" height="590" src="https://www.youtube.com/embed/mNEnY23i9DE?rel=0" frameborder="0" allowfullscreen></iframe>'),e("#displayed_tab .ngg_igw_video_inner").css("display","block"),e("#displayed_tab .ngg_igw_video_open").css("display","none")}),e("#displayed_tab .ngg_igw_video_close").click(function(t){e("#displayed_tab .ngg_igw_video_iframe").remove(),e("#displayed_tab .ngg_igw_video_inner").css("display","none"),e("#displayed_tab .ngg_igw_video_open").css("display","block")})}),jQuery(function(e){e(".ngg_page_content_menu a").click(function(t){"choose_display"==e(this).attr("data-id")?(e(".ngg_igw_promo").css("visibility","visible"),e("#displayed_tab .ngg_igw_video_open").css("display","block")):(e(".ngg_igw_promo").css("visibility","hidden"),e("#displayed_tab .ngg_igw_video_open").css("display","none"),e("#displayed_tab .ngg_igw_video_inner").css("display","none"))})});
\ 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 23041b4e747a13205c8ebf2f029a92782f0c82cd..79f9d3c7b8478c65fe18837ee755f3652d6c7e36 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
@@ -1,26 +1,103 @@
-/* TinyMCE 4 rules */
+/* Thickbox-based IGW Rules */
+
+.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: transparent;
+    top: 10px;
+    right: 20px;
+}
+
+.ngg_tb_window .tb-close-icon,
+.ngg_tb_window #TB_closeWindowButton:focus .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:hover .tb-close-icon, 
+.ngg_tb_window #TB_closeWindowButton:focus .tb-close-icon {
+    color: #fff;
+}
+
+.ngg_tb_window .tb-close-icon:before {
+    font: normal 18px dashicons;
+}
+
+/* TinyMCE 4-based IGW rules */
+
+#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;
-    top: 6px !important;
+    background: transparent;
+    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:hover i, 
+#ngg_attach_to_post_dialog-head .mce-close:focus i {
+    color: #fff;
+}
+
+#ngg_attach_to_post_dialog-head .mce-close i:before {
+    font: normal 17px dashicons;
+    color: #fff;
+    margin: 1.2px 0 0 -8px;
+}
+
 .ngg_attach_to_post_window {
 	position: relative;
 	border: none !important;
 }
 
-/* TinyMCE 3 rules */
+/* TinyMCE 3-based IGW rules */
+
 .ngg_attach_to_post_window .mceResize,
 .ngg_attach_to_post_window .mceTop,
 .ngg_attach_to_post_window .mceBottom,
@@ -60,4 +137,62 @@
     border-radius: 0px;
     background: rgba(255, 255, 255, 0.6);
     border-top: none;
+}
+
+/* Styling for NGG placeholder in Gutenberg. This styling mimics
+ * rules in ngg_attach_to_post_tinymce_plugin.css to ensure the
+ * placeholder is properly styled for Gutenberg. */
+
+div[aria-label="Block: Classic"] .nggPlaceholder {
+    background-color: #143650;
+    box-sizing: border-box;
+    border-bottom: 5px solid #9fbb1a;
+    border-radius: 3px;
+    box-shadow: 0 0 4px 1px rgba(0,0,0,.05);
+    color: #9fbb1a;
+    font-family: sans-serif;
+    font-size: 20px;
+    height: 200px;
+    margin: 5px;
+    outline: none !important;
+    padding: 30px 30px 50px 30px;
+    text-align: center;
+    width: 100%;
+}
+
+div[aria-label="Block: Classic"] .nggPlaceholder h3 {
+    color: #fff;
+    font-family: Lato, sans-serif;
+    font-size: 16px;
+    font-size: 1.6rem;
+    font-weight: 600;
+    margin: 24px 0 0 0;
+}
+
+div[aria-label="Block: Classic"] .nggPlaceholderButton:hover {
+    margin: 0;
+    opacity: .8;
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
+    color: #9fbb1a;
+}
+
+div[aria-label="Block: Classic"] .nggPlaceholderButton {
+    font-size: 13px;
+    font-size: 1.3rem;
+    margin: 0;
+    opacity: 1.0;
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+    color: #bbb;
+    padding: 4px 0px 0 12px;
+    color: rgba(159, 187, 26, 0.7)
+}
+
+div[aria-label="Block: Classic"] .nggPlaceholderButton.nggIgwRemove {
+    border-left: 1px solid rgba(204, 204, 204, 0.4);
+}
+
+@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/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 83258440386d4d319ec76cc913747b7a8151baab..bcca9c4eadf63029ea2d6fc766143f0caaa5fa6b 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 @@
-#ngg_attach_to_post_dialog-title{display:none}#ngg_attach_to_post_dialog-head{min-height:0;height:0}#ngg_attach_to_post_dialog-head .mce-close{position:absolute;top:6px!important;right:20px!important;z-index:2}.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}
\ No newline at end of file
+.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:normal 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:normal 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)!important;display:block!important;margin:0!important;padding:0!important;width:15px!important;height:15px!important;background-position:-100px 0!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:#143650;box-sizing:border-box;border-bottom:5px solid #9fbb1a;border-radius:3px;box-shadow:0 0 4px 1px rgba(0,0,0,.05);color:#9fbb1a;font-family:sans-serif;font-size:20px;height:200px;margin:5px;outline:0!important;padding:30px 30px 50px 30px;text-align:center;width:100%}div[aria-label="Block: Classic"] .nggPlaceholder h3{color:#fff;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:600;margin:24px 0 0 0}div[aria-label="Block: Classic"] .nggPlaceholderButton:hover{margin:0;opacity:.8;color:#9fbb1a}div[aria-label="Block: Classic"] .nggPlaceholderButton{font-size:13px;font-size:1.3rem;margin:0;opacity:1;color:#bbb;padding:4px 0 0 12px;color:rgba(159,187,26,.7)}div[aria-label="Block: Classic"] .nggPlaceholderButton.nggIgwRemove{border-left:1px solid rgba(204,204,204,.4)}@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/base64.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/base64.min.js
index 06df41f64182ab23e86d711c9853ae084ab26c19..d62a3817c79e5a3c17135605633d60dfc2367fa6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/base64.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/base64.min.js
@@ -1 +1 @@
-!function(e){"use strict";var t,r=e.Base64,n="2.1.9";if("undefined"!=typeof module&&module.exports)try{t=require("buffer").Buffer}catch(e){}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=function(e){for(var t={},r=0,n=e.length;r<n;r++)t[e.charAt(r)]=r;return t}(o),c=String.fromCharCode,a=function(e){if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?c(192|t>>>6)+c(128|63&t):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|63&t)}var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|63&t)},i=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,f=function(e){return e.replace(i,a)},d=function(e){var t=[0,2,1][e.length%3],r=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),n=[o.charAt(r>>>18),o.charAt(r>>>12&63),t>=2?"=":o.charAt(r>>>6&63),t>=1?"=":o.charAt(63&r)];return n.join("")},h=e.btoa?function(t){return e.btoa(t)}:function(e){return e.replace(/[\s\S]{1,3}/g,d)},s=t?function(e){return(e.constructor===t.constructor?e:new t(e)).toString("base64")}:function(e){return h(f(e))},l=function(e,t){return t?s(String(e)).replace(/[+\/]/g,function(e){return"+"==e?"-":"_"}).replace(/=/g,""):s(String(e))},g=function(e){return l(e,!0)},p=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),A=function(e){switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return c((r>>>10)+55296)+c((1023&r)+56320);case 3:return c((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return c((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},b=function(e){return e.replace(p,A)},C=function(e){var t=e.length,r=t%4,n=(t>0?u[e.charAt(0)]<<18:0)|(t>1?u[e.charAt(1)]<<12:0)|(t>2?u[e.charAt(2)]<<6:0)|(t>3?u[e.charAt(3)]:0),o=[c(n>>>16),c(n>>>8&255),c(255&n)];return o.length-=[0,0,2,1][r],o.join("")},B=e.atob?function(t){return e.atob(t)}:function(e){return e.replace(/[\s\S]{1,4}/g,C)},y=t?function(e){return(e.constructor===t.constructor?e:new t(e,"base64")).toString()}:function(e){return b(B(e))},S=function(e){return y(String(e).replace(/[-_]/g,function(e){return"-"==e?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))},v=function(){var t=e.Base64;return e.Base64=r,t};if(e.Base64={VERSION:n,atob:B,btoa:h,fromBase64:S,toBase64:l,utob:f,encode:l,encodeURI:g,btou:b,decode:S,noConflict:v},"function"==typeof Object.defineProperty){var m=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};e.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",m(function(){return S(this)})),Object.defineProperty(String.prototype,"toBase64",m(function(e){return l(this,e)})),Object.defineProperty(String.prototype,"toBase64URI",m(function(){return l(this,!0)}))}}e.Meteor&&(Base64=e.Base64),"undefined"!=typeof module&&module.exports&&(module.exports.Base64=e.Base64),"function"==typeof define&&define.amd&&define([],function(){return e.Base64})}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this);
\ No newline at end of file
+!function(e){"use strict";var t,r=e.Base64;if("undefined"!=typeof module&&module.exports)try{t=require("buffer").Buffer}catch(e){}var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=function(e){for(var t={},r=0,n=e.length;r<n;r++)t[e.charAt(r)]=r;return t}(n),u=String.fromCharCode,c=function(e){if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?u(192|t>>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t)}var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},a=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,i=function(e){return e.replace(a,c)},f=function(e){var t=[0,2,1][e.length%3],r=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0);return[n.charAt(r>>>18),n.charAt(r>>>12&63),t>=2?"=":n.charAt(r>>>6&63),t>=1?"=":n.charAt(63&r)].join("")},d=e.btoa?function(t){return e.btoa(t)}:function(e){return e.replace(/[\s\S]{1,3}/g,f)},h=t?function(e){return(e.constructor===t.constructor?e:new t(e)).toString("base64")}:function(e){return d(i(e))},s=function(e,t){return t?h(String(e)).replace(/[+\/]/g,function(e){return"+"==e?"-":"_"}).replace(/=/g,""):h(String(e))},l=function(e){return s(e,!0)},g=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),p=function(e){switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return u(55296+(r>>>10))+u(56320+(1023&r));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},A=function(e){return e.replace(g,p)},b=function(e){var t=e.length,r=t%4,n=(t>0?o[e.charAt(0)]<<18:0)|(t>1?o[e.charAt(1)]<<12:0)|(t>2?o[e.charAt(2)]<<6:0)|(t>3?o[e.charAt(3)]:0),c=[u(n>>>16),u(n>>>8&255),u(255&n)];return c.length-=[0,0,2,1][r],c.join("")},C=e.atob?function(t){return e.atob(t)}:function(e){return e.replace(/[\s\S]{1,4}/g,b)},B=t?function(e){return(e.constructor===t.constructor?e:new t(e,"base64")).toString()}:function(e){return A(C(e))},y=function(e){return B(String(e).replace(/[-_]/g,function(e){return"-"==e?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))},S=function(){var t=e.Base64;return e.Base64=r,t};if(e.Base64={VERSION:"2.1.9",atob:C,btoa:d,fromBase64:y,toBase64:s,utob:i,encode:s,encodeURI:l,btou:A,decode:y,noConflict:S},"function"==typeof Object.defineProperty){var v=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};e.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",v(function(){return y(this)})),Object.defineProperty(String.prototype,"toBase64",v(function(e){return s(this,e)})),Object.defineProperty(String.prototype,"toBase64URI",v(function(){return s(this,!0)}))}}e.Meteor&&(Base64=e.Base64),"undefined"!=typeof module&&module.exports&&(module.exports.Base64=e.Base64),"function"==typeof define&&define.amd&&define([],function(){return e.Base64})}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this);
\ 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 a39d201a93d20782aaff466dfba54d2d0e3f7284..1515949893eeee289fa17488a03e23bcdca3444b 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
@@ -122,9 +122,12 @@ jQuery(function($){
 
         render: function(){
             this.$el.empty();
-            if (this.options.include_blank) {
-                this.$el.append("<option></option>");
+
+            if (this.multiple) {
+                this.$el.prop('multiple', true);
+                this.$el.attr('multiple', 'multiple');
             }
+
             this.collection.each(function(item){
                 var option = new this.Option({
                     model: item,
@@ -133,8 +136,11 @@ jQuery(function($){
                 });
                 this.$el.append(option.render().el);
             }, this);
-            if (this.multiple) this.$el.prop('multiple', true).attr('multiple', 'multiple');
-            if (this.width) this.$el.width(this.width);
+
+            if (this.width) {
+                this.$el.width(this.width);
+            }
+
             return this;
         },
 
@@ -175,7 +181,6 @@ jQuery(function($){
         initialize: function(options) {
             this.options = options || {};
             this.collection = this.options.collection;
-            this.options.include_blank = true;
             this.select_tag = new Ngg.Views.SelectTag(this.options);
             this.collection.on('change', this.selection_changed, this);
         },
@@ -196,14 +201,7 @@ jQuery(function($){
             };
 
             // Create the select2 drop-down
-            if (this.$el.parent().length == 0) {
-                $('body').append(this.$el);
-                this.select_tag.$el.select2(this.select2_opts);
-                var container = this.select_tag.$el.select2('container').detach();
-                this.$el.append(container);
-                this.$el.detach();
-            }
-            else this.select_tag.$el.select2(this.select2_opts);
+            this.select_tag.$el.select2(this.select2_opts);
 
             // Ensure that values are pre-populated
             if (this.options.multiple) {
@@ -215,10 +213,6 @@ jQuery(function($){
                 this.select_tag.$el.select2('val', selected);
             }
 
-
-            // For IE, ensure that the text field has a width
-            this.$el.find('.select2-input').width(this.options.width-20);
-
             return this;
         }
     });
@@ -674,7 +668,7 @@ jQuery(function($){
                 width: 500
             });
 
-            var template = _.template('<tr><td><label><%- sources %></label></td><td id="source_column"></td></tr>');
+            var template = _.template('<tr><td id="source_column"></td><td><label><%- sources %></label></td></tr>');
             this.$el.html(template(igw_data.i18n));
             this.$el.find('#source_column').append(chosen.render().el);
 
@@ -760,27 +754,6 @@ jQuery(function($){
                 }
             });
 
-            if (selected_type) {
-                var selected_source = this.sources.selected_value();
-                var default_source = selected_type.get('default_source');
-
-                // If the default source isn't selected, then select it
-                if (default_source && selected_source != default_source) {
-
-                    // Get the default source object by name
-                    default_source = this.sources.where({
-                        name: default_source
-                    });
-
-                    // Does the default source exist ?
-                    if (default_source.length > 0) {
-                        default_source = default_source[0];
-                        this.sources.deselect_all();
-                        this.sources.select(default_source.id);
-                    }
-                }
-            }
-
             $('.display_settings_form').each(function(){
                 $this = $(this);
                 if ($this.attr('rel') == value) $this.removeClass('hidden');
@@ -817,12 +790,10 @@ jQuery(function($){
                 if (!display_order)
                     display_order = order_base;
                 var display_step = Math.floor(display_order / order_step);
-                if (current_step > 0 && display_step > current_step) {
-                    this.$el.append('<li class="clear" style="height: 10px" />');
-                }
                 current_step = display_step;
                 this.$el.append(display_type.render().el);
             }, this);
+            this.$el.append('<li class="clear" style="height: 10px; list-style-type:none" />');
             return this;
         },
 
@@ -868,10 +839,14 @@ jQuery(function($){
                     name: 'display_type',
                     checked: this.model.get('selected')
                 });
+                var line_break = $('<br>');
                 image_container.append(inner_div);
                 image_container.append(img);
+                image_container.append('<br>');
+                image_container.append(this.model.get('title').replace(/nextgen /gi, ''));
                 inner_div.append(radio_button);
-                inner_div.append(this.model.get('title'));
+                inner_div.append(line_break);
+                // inner_div.append(this.model.get('title').replace(/nextgen /gi, ''));
                 this.$el.append(image_container);
                 return this;
             }
@@ -999,7 +974,7 @@ jQuery(function($){
         },
 
         RefreshButton: Backbone.View.extend({
-            className: 'refresh_button',
+            className: 'refresh_button button-primary',
 
             tagName: 'input',
 
@@ -1041,7 +1016,7 @@ jQuery(function($){
 
             render: function(){
                 this.$el.empty();
-                this.$el.append('<strong>Exclude:</strong>');
+                this.$el.append('<span style="margin-right: 8px;">Exclude:</span>');
                 var all_button = new this.Button({
                     value: true,
                     text: 'All',
@@ -1212,7 +1187,7 @@ jQuery(function($){
             render: function(){
                 this.$el.empty();
                 this.populate_sorting_fields();
-                this.$el.append('<strong>Sort By:</strong>');
+                this.$el.append('<span style="margin-right: 8px;">Sort By:</span>');
                 this.sortorder_options.each(function(item, index){
                     var button = new this.Button({model: item, className: 'sortorder'});
                     this.$el.append(button.render().el);
@@ -1220,7 +1195,7 @@ jQuery(function($){
                         this.$el.append('<span class="separator">|</span>');
                     }
                 }, this);
-                this.$el.append('<strong style="margin-left: 30px;">Order By:</strong>');
+                this.$el.append('<span style="margin: 0 8px 0 40px;">Order By:</span>');
                 this.sortdirection_options.each(function(item, index){
                     var button = new this.Button({model: item, className: 'sortdirection'});
                     this.$el.append(button.render().el);
@@ -1366,7 +1341,7 @@ jQuery(function($){
                 multiple: true,
                 width: 500
             });
-            var html = $('<tr><td><label>'+igw_data.i18n.galleries+'</label></td><td class="galleries_column"></td></tr>');
+            var html = $('<tr><td class="galleries_column"></td><td><label>'+igw_data.i18n.galleries+'</label></td></tr>');
             this.$el.empty();
             this.$el.append(html);
             this.$el.find('.galleries_column').append(select.render().el);
@@ -1390,7 +1365,7 @@ jQuery(function($){
                 width: 500
             });
             this.$el.empty();
-            this.$el.append('<tr><td><label>'+igw_data.i18n.albums+'</label></td><td class="albums_column"></td></tr>');
+            this.$el.append('<tr><td class="albums_column"></td><td><label>'+igw_data.i18n.albums+'</label></td></tr>');
             this.$el.find('.albums_column').append(album_select.render().el);
             return this;
         }
@@ -1412,7 +1387,7 @@ jQuery(function($){
                 width: 500
             });
             this.$el.empty();
-            this.$el.append('<tr><td><label>Tags</label></td><td class="tags_column"></td></tr>');
+            this.$el.append('<tr><td class="tags_column"></td><td><label>Tags</label></td></tr>');
             this.$el.find('.tags_column').append(tag_select.render().el);
             return this;
         }
@@ -1440,7 +1415,7 @@ jQuery(function($){
             });
 
             this.$el.empty();
-            this.$el.append('<tr><td><label># of Images To Display</label></td><td class="recent_images_column"></td></tr>');
+            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(edit_field);
             return this;
         }
@@ -1468,7 +1443,7 @@ jQuery(function($){
             });
 
             this.$el.empty();
-            this.$el.append('<tr><td><label># of Images To Display</label></td><td class="random_images_column"></td></tr>');
+            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(edit_field);
             return this;
         }
@@ -1641,6 +1616,15 @@ jQuery(function($){
                 this.displayed_gallery.set('exclusions', this.entities.excluded_ids());
             }, this);
 
+            // Default to the "galleries" display types when creating new entries
+            if (!this.displayed_gallery.get('source')) {
+                var defaultsource = this.sources.find_by_name_or_alias('galleries');
+                if (defaultsource) {
+                    defaultsource.set('selected', true);
+                    this.sources.trigger('selected');
+                }
+            }
+
             // Monitor events in other tabs and respond as appropriate
             if (window.Frame_Event_Publisher) {
                 var app = this;
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 a7304a9b8427dfe738d63d6dff90058b8dc2380d..aa88f2188f4dbdcec0fdeacef889c64a5763a1d0 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.options.include_blank&&this.$el.append("<option></option>"),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.multiple&&this.$el.prop("multiple",!0).attr("multiple","multiple"),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.options.include_blank=!0,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(){if(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},0==this.$el.parent().length){e("body").append(this.$el),this.select_tag.$el.select2(this.select2_opts);var t=this.select_tag.$el.select2("container").detach();this.$el.append(t),this.$el.detach()}else this.select_tag.$el.select2(this.select2_opts);if(this.options.multiple){var i=[];_.each(this.collection.selected_ids(),function(e){i.push(e.toString())}),0==i.length&&(i=""),this.select_tag.$el.select2("val",i)}return this.$el.find(".select2-input").width(this.options.width-20),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?e:this.fetch_limit,offset:t?t:0});for(var s in this.extra_data){var l=this.extra_data[s];"undefined"==typeof i[s]&&(i[s]={}),"undefined"!=typeof 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(_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),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_images",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){var o=["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"];if(!(o.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),n&&(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;return e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=null,t=this.selected();return t.length>0?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.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><label><%- sources %></label></td><td id="source_column"></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=_.str.capitalize(s.pop().id)+"Source";if("undefined"!=typeof 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;if(this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),i){var s=this.sources.selected_value(),l=i.get("default_source");l&&s!=l&&(l=this.sources.where({name:l}),l.length>0&&(l=l[0],this.sources.deselect_all(),this.sources.select(l.id)))}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 o=new this.DisplayType;o.model=n,o.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var r=n.get("view_order");r||(r=s);var d=Math.floor(r/l);i>0&&d>i&&this.$el.append('<li class="clear" style="height: 10px" />'),i=d,this.$el.append(o.render().el)},this),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");"undefined"==typeof 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/>"),o=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")});return t.append(a),t.append(n),a.append(o),a.append(this.model.get("title")),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&&"undefined"!=typeof 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",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("<strong>Exclude:</strong>");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");_.indexOf(e,"image")!==-1?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("<strong>Sort By:</strong>"),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('<strong style="margin-left: 30px;">Order By:</strong>'),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 o=new this.ExcludeCheckbox({model:this.model});return a.append(o.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><label>"+igw_data.i18n.galleries+'</label></td><td class="galleries_column"></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><label>"+igw_data.i18n.albums+'</label></td><td class="albums_column"></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><label>Tags</label></td><td class="tags_column"></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><label># of Images To Display</label></td><td class="recent_images_column"></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><label># of Images To Display</label></td><td class="random_images_column"></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(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),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=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var s=t.name.split("["),l=i,n=0;n<s.length;n++){var a=s[n].replace(/\]$/,"");l[a]||(n==s.length-1?l[a]=t.value:l[a]={}),l=l[a]}}),i}(i);this.displayed_gallery.set("display_settings",s[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 e=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));e&&e.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 i=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));i&&(i.set("selected",!0),this.displayed_gallery.set("display_type",i.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(){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 e=this.display_types.selected(),t=this.sources.selected();e.length>0&&t.length>0&&(e=e[0],t=t[0],e.is_compatible_with_source(t)||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),window.Frame_Event_Publisher){var s=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){s.galleries.reset(),s.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){s.galleries.reset(),s.galleries.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){s.albums.reset(),s.albums.fetch();var t=s.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){s.tags.reset(),s.tags.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=s.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var l=s.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);l&&l.set("thumb_url",e.image.thumb_url)}else{var n=s.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);n&&n.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(){if(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.options.multiple){var e=[];_.each(this.collection.selected_ids(),function(t){e.push(t.toString())}),0==e.length&&(e=""),this.select_tag.$el.select2("val",e)}return 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(_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),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_images",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(){return this.id}}),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=_.str.capitalize(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(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),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=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var s=t.name.split("["),l=i,n=0;n<s.length;n++){var a=s[n].replace(/\]$/,"");l[a]||(n==s.length-1?l[a]=t.value:l[a]={}),l=l[a]}}),i}(i);this.displayed_gallery.set("display_settings",s[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 e=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));e&&e.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 i=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));i&&(i.set("selected",!0),this.displayed_gallery.set("display_type",i.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(){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 e=this.display_types.selected(),t=this.sources.selected();e.length>0&&t.length>0&&(e=e[0],t=t[0],e.is_compatible_with_source(t)||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 s=this.sources.find_by_name_or_alias("galleries");s&&(s.set("selected",!0),this.sources.trigger("selected"))}if(window.Frame_Event_Publisher){var l=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){l.galleries.reset(),l.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){l.galleries.reset(),l.galleries.fetch();var t=l.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){l.albums.reset(),l.albums.fetch();var t=l.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){l.tags.reset(),l.tags.fetch();var t=l.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=l.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var s=l.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);s&&s.set("thumb_url",e.image.thumb_url)}else{var n=l.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);n&&n.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 1906830f086a85860583cf1e91e86b893360cbdd..dc4189c210d98097c4e29b45b69952dc1220cfbd 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
@@ -28,4 +28,170 @@ html#iframely {
 #iframely h2,
 #iframely #icon-nextgen-gallery {
     display: none;
-}
\ No newline at end of file
+}
+
+#iframely #wpwrap {
+    background-color: #fcfcfc;
+}
+
+#iframely #ngg_page_content {
+    margin: 0;
+    width: 100%;
+}
+
+#iframely .ngg-admin .notice, 
+#iframely .ngg-admin div.error, 
+#iframely .ngg-admin div.updated {
+    display: none;
+}
+
+#iframely #ngg_page_content .ngg_page_content_header {
+    display:none;
+}
+
+#iframely #ngg_page_content .ngg_page_content_menu {
+    background: transparent;
+    border: none;
+    padding: 10px 20px 10px 0;
+    float: none;
+    height: 25px;
+    margin-top: 0;
+    width: auto;
+}
+
+#iframely #ngg_page_content .ngg_page_content_menu a {
+    border: none;
+    color: #bbb;
+    display: inline;
+    font-size: 14px;
+    font-weight: 400;
+    text-decoration: none;
+    line-height: 25px;
+    padding: 15px 20px;
+    border-left: 1px solid #f7f8f3;
+    border-right: 1px solid #f7f8f3;
+}
+
+#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active {
+	color: #9fbb1a;
+    border-right: 1px solid #edeeeb;
+    border-left: 1px solid #edeeeb;
+}
+
+#iframely #ngg_page_content .ngg_page_content_menu a:before {
+	display: none;
+}
+
+#iframely #ngg_page_content .ngg_page_content_main {
+    padding: 30px;
+    width: 100%;
+}
+
+#iframely #ngg_page_content .ngg_page_content_main h3 {
+    display: none;
+}
+
+#iframely #ngg_page_content .ngg_manage_tags .ngg_page_content_main h3,
+#iframely #ngg_page_content .ngg_manage_images .ngg_page_content_main h3,
+#iframely #ngg_page_content .ngg_manage_albums .ngg_page_content_main h3 {
+    display: block;
+}
+
+#iframely #ngg_page_content button:active,
+#iframely #ngg_page_content .button-primary:active,
+#iframely #ngg_page_content .button-secondary: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: 450px;
+    width: 350px;
+}
+
+#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 Queries */
+
+
+@media (max-width: 1140px) {
+    #iframely .plupload_buttons {
+        display: inline;
+        margin: 0 0 0 10px;
+    }
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content button,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary {
+        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,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary {
+        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;
+    }
+    #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: transparent;
+    }
+    #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,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-primary,
+    #iframely .gallery_page_ngg_addgallery #ngg_page_content .button-secondary {
+        width: 100% !important;
+        margin: 4px 0;
+        display: block;
+    }
+}
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js
index 441f459df579d7d660e3086318ad1d16e0d50f3e..73ced0a90e8255df1691c6d584ad68dc9ac51e67 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js
@@ -1,50 +1,38 @@
 if (window.frameElement) {
 	document.getElementsByTagName('html')[0].id = 'iframely';
-	jQuery(function($){
+	jQuery(function($) {
 		$('#wpwrap').html($('#wpbody').html($('#wpbody-content').html($('#ngg_page_content'))));
 
 		// We need to ensure that any POST operation includes the "attach_to_post"
 		// parameter, to display subsequent clicks in iframely.
-		$('form').each(function(){
+		$('form').each(function() {
 			$(this).append("<input type='hidden' name='attach_to_post' value='1'/>");
 		});
 
 		var parent = window.parent;
 		
-		if (parent == null || typeof(parent.adjust_height_for_frame) == "undefined") {
-			if (window != null && typeof(window.adjust_height_for_frame) != "undefined") {
+		if (parent == null || typeof(parent.adjust_height_for_frame) === "undefined") {
+			if (window != null && typeof(window.adjust_height_for_frame) !== "undefined") {
 				parent = window;
 			}
 		}
 
         // Adjust the height of the frame
-        var recursive_check = true;
-        if (recursive_check) {
-            if (typeof(parent.adjust_height_for_frame) != "undefined") {
-                parent.adjust_height_for_frame(parent, window, iframely_callback);
-            }
-        }
-		else {
-            if (typeof(parent.adjust_height_for_frame) != "undefined") {
-                // Adjust the height of the frame
-                parent.adjust_height_for_frame(parent, window, function(){
-                    $('#iframely').css({
-                        position: 'static',
-                        visibility: 'visible'
-                    }).animate({
-                            opacity: 1.0
-                        });
-                });
-            }
+        if (typeof(parent.adjust_height_for_frame) !== "undefined") {
+            parent.adjust_height_for_frame(parent, window, iframely_callback);
         }
+
 	});
 }
 
-function iframely_callback(parent_window, current_window, new_height)
+function iframely_callback(parent_window, current_window)
 {
     var $current_window = jQuery(current_window);
 
-    if (typeof($current_window.data('iframely')) == 'undefined') $current_window.data('iframely', {attempts: 1});
+    if (typeof($current_window.data('iframely')) === 'undefined') {
+        $current_window.data('iframely', { attempts: 1 });
+    }
+
     var iframely = $current_window.data('iframely');
 
     // After we've attempted to resize the frame 3 times, give up
@@ -53,10 +41,9 @@ function iframely_callback(parent_window, current_window, new_height)
             position: 'static',
             visibility: 'visible'
         }).animate({ opacity: 1.0 });
-    }
-    else {
+    } else {
         iframely.attempts += 1;
-        setTimeout(function(){
+        setTimeout(function() {
             parent_window.adjust_height_for_frame(parent_window, current_window, iframely_callback);
         }, 400);
     }
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 ed3e3c5231941acba6aa5a4d702e3c563619fdb4..c012c541a02a4b0d89da1e28c52fecf3ff68070a 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 #icon-nextgen-gallery,#iframely h2{display:none}
\ No newline at end of file
+html#iframely{background:#fff!important}#iframely,#iframely body{background:#fff!important;padding:0;width:100%;height:100%}#iframely{opacity:0;background-position:center center;background-repeat:no-repeat;position:absolute;visibility:hidden}#iframely #wpbody-content{float:none;padding:0}#iframely #icon-nextgen-gallery,#iframely h2{display:none}#iframely #wpwrap{background-color:#fcfcfc}#iframely #ngg_page_content{margin:0;width:100%}#iframely .ngg-admin .notice,#iframely .ngg-admin div.error,#iframely .ngg-admin div.updated{display:none}#iframely #ngg_page_content .ngg_page_content_header{display:none}#iframely #ngg_page_content .ngg_page_content_menu{background:0 0;border:none;padding:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto}#iframely #ngg_page_content .ngg_page_content_menu a{border:none;color:#bbb;display:inline;font-size:14px;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px;border-left:1px solid #f7f8f3;border-right:1px solid #f7f8f3}#iframely #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{color:#9fbb1a;border-right:1px solid #edeeeb;border-left:1px solid #edeeeb}#iframely #ngg_page_content .ngg_page_content_menu a:before{display:none}#iframely #ngg_page_content .ngg_page_content_main{padding:30px;width:100%}#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:450px;width:350px}#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}#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 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/iframely.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.js
index b9ee5778b6932748262968217279be37ce091356..3897845889d7a625cfaf015c527a7c525e4b4e16 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.min.js
@@ -1 +1 @@
-function iframely_callback(t,e,a){var i=jQuery(e);"undefined"==typeof i.data("iframely")&&i.data("iframely",{attempts:1});var n=i.data("iframely");3==n.attempts?jQuery("#iframely").css({position:"static",visibility:"visible"}).animate({opacity:1}):(n.attempts+=1,setTimeout(function(){t.adjust_height_for_frame(t,e,iframely_callback)},400))}window.frameElement&&(document.getElementsByTagName("html")[0].id="iframely",jQuery(function(t){t("#wpwrap").html(t("#wpbody").html(t("#wpbody-content").html(t("#ngg_page_content")))),t("form").each(function(){t(this).append("<input type='hidden' name='attach_to_post' value='1'/>")});var e=window.parent;null!=e&&"undefined"!=typeof e.adjust_height_for_frame||null!=window&&"undefined"!=typeof window.adjust_height_for_frame&&(e=window);var a=!0;a?"undefined"!=typeof e.adjust_height_for_frame&&e.adjust_height_for_frame(e,window,iframely_callback):"undefined"!=typeof e.adjust_height_for_frame&&e.adjust_height_for_frame(e,window,function(){t("#iframely").css({position:"static",visibility:"visible"}).animate({opacity:1})})}));
\ No newline at end of file
+function iframely_callback(t,a){var e=jQuery(a);void 0===e.data("iframely")&&e.data("iframely",{attempts:1});var i=e.data("iframely");3==i.attempts?jQuery("#iframely").css({position:"static",visibility:"visible"}).animate({opacity:1}):(i.attempts+=1,setTimeout(function(){t.adjust_height_for_frame(t,a,iframely_callback)},400))}window.frameElement&&(document.getElementsByTagName("html")[0].id="iframely",jQuery(function(t){t("#wpwrap").html(t("#wpbody").html(t("#wpbody-content").html(t("#ngg_page_content")))),t("form").each(function(){t(this).append("<input type='hidden' name='attach_to_post' value='1'/>")});var a=window.parent;null!=a&&void 0!==a.adjust_height_for_frame||null!=window&&void 0!==window.adjust_height_for_frame&&(a=window),void 0!==a.adjust_height_for_frame&&a.adjust_height_for_frame(a,window,iframely_callback)}));
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.js
index 5a1bed353850728adb63268b824b8b261fea63d8..64a85a17510f562d7ea90b332a2f77f91876f269 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.js
@@ -1,22 +1,20 @@
-(function($){
-    setTimeout(function(){
-        $(function(){
-
-            window.get_igw_dimensions = function(){
+(function($) {
+    setTimeout(function() {
+        $(function() {
+            window.get_igw_dimensions = function() {
                 var $button     = $('.ngg-add-gallery');
-                var href        = $button.attr('href');
                 var win = jQuery(top);
                 var winWidth    = win.width();
                 var winHeight   = win.height();
-                var popupWidth  = 1200;
-                var popupHeight = 600;
+                var popupWidth  = 1800;
+                var popupHeight = 1200;
                 var minWidth    = 800;
                 var minHeight   = 600;
                 var maxWidth    = winWidth  - (winWidth  * 0.05);
-                var maxHeight   = winHeight - (winHeight * 0.05);
+                var maxHeight   = winHeight - (winHeight * 0.09);
 
-                if (maxWidth    < minWidth)  { maxWidth    = winWidth-10  }
-                if (maxHeight   < minHeight) { maxHeight   = winHeight-10 }
+                if (maxWidth    < minWidth)  { maxWidth    = winWidth-20  }
+                if (maxHeight   < minHeight) { maxHeight   = winHeight-40 }
                 if (popupWidth  > maxWidth)  { popupWidth  = maxWidth;  }
                 if (popupHeight > maxHeight) { popupHeight = maxHeight; }
 
@@ -40,15 +38,16 @@
                         'top':  dimensions.top.toString()+"px",
                         'left': dimensions.left.toString()+"px"
                     });
+                    $('#TB_window').addClass('ngg_tb_window');
                     $('#TB_window iframe').css({
                         width: '100%',
-                        height: '93%'
+                        height: '100%'
                     });
-                }
-                else {
+                } else {
                     window.wp_tb_position();
                 }
             };
+            
         });
     });
 })(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.min.js
index d964d45ac361b6f3194aa140d124421ac60d8291..0f0cd8d5490c8a03693ca9b610af58a3da167910 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw.min.js
@@ -1 +1 @@
-!function(t){setTimeout(function(){t(function(){window.get_igw_dimensions=function(){var i=t(".ngg-add-gallery"),o=(i.attr("href"),jQuery(top)),n=o.width(),w=o.height(),e=1200,h=600,r=800,d=600,g=n-.05*n,s=w-.05*w;return g<r&&(g=n-10),s<d&&(s=w-10),e>g&&(e=g),h>s&&(h=s),{width:e,height:h,top:(w-h)/2,left:(n-e)/2}},window.wp_tb_position=window.tb_position,window.tb_position=function(){var i=t("#TB_window iframe").attr("src");if(i&&i.match("attach_to_post")){var o=get_igw_dimensions();t("#TB_window").css({width:o.width.toString()+"px",height:o.height.toString()+"px",top:o.top.toString()+"px",left:o.left.toString()+"px"}),t("#TB_window iframe").css({width:"100%",height:"93%"})}else window.wp_tb_position()}})})}(jQuery);
\ No newline at end of file
+!function(t){setTimeout(function(){t(function(){window.get_igw_dimensions=function(){var i=(t(".ngg-add-gallery"),jQuery(top)),o=i.width(),n=i.height(),w=1800,e=1200,d=o-.05*o,g=n-.09*n;return d<800&&(d=o-20),g<600&&(g=n-40),w>d&&(w=d),e>g&&(e=g),{width:w,height:e,top:(n-e)/2,left:(o-w)/2}},window.wp_tb_position=window.tb_position,window.tb_position=function(){var i=t("#TB_window iframe").attr("src");if(i&&i.match("attach_to_post")){var o=get_igw_dimensions();t("#TB_window").css({width:o.width.toString()+"px",height:o.height.toString()+"px",top:o.top.toString()+"px",left:o.left.toString()+"px"}),t("#TB_window").addClass("ngg_tb_window"),t("#TB_window iframe").css({width:"100%",height:"100%"})}else window.wp_tb_position()}})})}(jQuery);
\ 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
new file mode 100644
index 0000000000000000000000000000000000000000..f5cd550916542ef0c32df047784ae881f225400b
Binary files /dev/null and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/igw_button.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css
index ecf505ce9db2c1b1aaf686daf22cb98edd7b8e87..009be23667caf768596dfb1688f91859db29516b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css
@@ -1,34 +1,35 @@
 .nggPlaceholder {
-    text-align: center;
-    background-color: #fdfdfd;
-    border: solid 1px #ddd;
+    background-color: #143650;
+    box-sizing: border-box;
+    border-bottom: 5px solid #9fbb1a;
     border-radius: 3px;
+    box-shadow: 0 0 4px 1px rgba(0,0,0,.05);
+    color: #9fbb1a;
+    font-family: sans-serif;
+    font-size: 20px;
     height: 230px;
-    padding: 5px;
     margin: 5px;
-    max-width: 94%;
-    box-shadow: 0 0 3px 1px #EBECED;
-    -webkit-box-shadow: 0 0 3px 1px #EBECED;
-    -moz-box-shadow: 0 0 3px 1px #EBECED;
+    outline: none !important;
+    padding: 30px 30px 50px 30px;
+    text-align: center;
     width: 400px;
+    max-width: 98%;
 }
 
 .nggPlaceholder h3 {
-    margin: 0px !important;
+    color: #fff;
     font-family: Lato, sans-serif;
     font-size: 16px;
     font-size: 1.6rem;
-    font-weight: 300;
-    color: #555;
-    margin-top: 75px !important;
-    letter-spacing: -1px;
+    font-weight: 600;
+    margin: 40px 0 8px 0;
 }
 
 .nggPlaceholderButton:hover {
     margin: 0;
     opacity: .8;
     -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
-    color: #76a934;
+    color: #9fbb1a;
 }
 
 .nggPlaceholderButton {
@@ -38,4 +39,10 @@
     opacity: 1.0;
     -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
     color: #bbb;
+    padding: 4px 0px 0 12px;
+    color: rgba(159, 187, 26, 0.7)
+}
+
+.nggPlaceholderButton.nggIgwRemove {
+    border-left: 1px solid rgba(204, 204, 204, 0.4);
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js
index 5d0d788e32b067def8404e4dc85ac6aa42f90830..2cad3d0467d2724704458711bfdd800354ecfe43 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js
@@ -51,13 +51,13 @@
 			editor.addButton('NextGEN_AttachToPost', {
 				title:	'ngg_attach_to_post.title',
 				cmd:	'ngg_attach_to_post',
-				image:	plugin_url+'/atp_button.png'
+				image:	plugin_url+'/igw_button.png'
 			});
 
 			/**
 			 * Listen for click events to our placeholder
 			 */
-            editor.on('mouseup', function(e) {
+            editor.on('mouseup touchend', function(e) {
 				tinymce.extend(self, {
 					editor: editor,
 					plugin: editor.plugins.NextGEN_AttachToPost
@@ -212,18 +212,24 @@
 			win = $(win);
 			var winWidth    = win.width();
 			var winHeight   = win.height();
-			var popupWidth  = 1200;
-			var popupHeight = 600;
+			var popupWidth  = 1600;
+			var popupHeight = 1200;
 			var minWidth    = 800;
 			var minHeight   = 600;
 			var maxWidth    = winWidth  - (winWidth  * 0.05);
-			var maxHeight   = winHeight - (winHeight * 0.05);
+			var maxHeight   = winHeight - (winHeight * 0.1);
 
-			if (maxWidth    < minWidth)  { maxWidth    = winWidth - 10;  }
-			if (maxHeight   < minHeight) { maxHeight   = winHeight - 10; }
+			if (maxWidth    < minWidth)  { maxWidth    = winWidth - 20;  }
+			if (maxHeight   < minHeight) { maxHeight   = winHeight - 40; }
 			if (popupWidth  > maxWidth)  { popupWidth  = maxWidth;  }
 			if (popupHeight > maxHeight) { popupHeight = maxHeight; }
 
+			// for mobile devices: dismiss the keyboard by blurring any input with focus
+            document.activeElement.blur();
+            Array.prototype.forEach.call(document.querySelectorAll('input, textarea'), function(it) {
+                it.blur();
+            });
+
 			// Open a window, occupying 90% of the screen real estate
 			this.editor.windowManager.open({
 				url: attach_to_post_url,
@@ -243,4 +249,4 @@
 	// Register plugin
 	tinymce.PluginManager.add('NextGEN_AttachToPost', tinymce.plugins.NextGEN_AttachToPost);
 
-})(photocrati_ajax.wp_site_url, jQuery);
+})(photocrati_ajax.wp_site_url, jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css
index b55b6f7b88fd37f7ee475c872b05cec419f22daf..22b6ec5c93d8b7dcf6b7af55c8da9e1fe48a8b12 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css
@@ -1 +1 @@
-.nggPlaceholder{text-align:center;background-color:#fdfdfd;border:1px solid #ddd;border-radius:3px;height:230px;padding:5px;margin:5px;max-width:94%;box-shadow:0 0 3px 1px #EBECED;-webkit-box-shadow:0 0 3px 1px #EBECED;-moz-box-shadow:0 0 3px 1px #EBECED;width:400px}.nggPlaceholder h3{margin:75px 0 0!important;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:300;color:#555;letter-spacing:-1px}.nggPlaceholderButton:hover{margin:0;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";color:#76a934}.nggPlaceholderButton{font-size:15px;font-size:1.5rem;margin:0;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";color:#bbb}
\ No newline at end of file
+.nggPlaceholder{background-color:#143650;box-sizing:border-box;border-bottom:5px solid #9fbb1a;border-radius:3px;box-shadow:0 0 4px 1px rgba(0,0,0,.05);color:#9fbb1a;font-family:sans-serif;font-size:20px;height:230px;margin:5px;outline:0!important;padding:30px 30px 50px 30px;text-align:center;width:400px;max-width:98%}.nggPlaceholder h3{color:#fff;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:600;margin:40px 0 8px 0}.nggPlaceholderButton:hover{margin:0;opacity:.8;color:#9fbb1a}.nggPlaceholderButton{font-size:15px;font-size:1.5rem;margin:0;opacity:1;color:#bbb;padding:4px 0 0 12px;color:rgba(159,187,26,.7)}.nggPlaceholderButton.nggIgwRemove{border-left:1px solid rgba(204,204,204,.4)}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js
index 0b7eaa1f34d95c841bde7fca6c817a3a5e2d8be4..17206b29df2f9cc896cc8a3d4e99f9aedfe81052 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js
@@ -1 +1 @@
-!function(t,e){window.id="wordpress-post-page",tinyMCE.addI18n("en.ngg_attach_to_post",{title:"Attach NextGEN Gallery to Post"}),tinymce.create("tinymce.plugins.NextGEN_AttachToPost",{siteurl:t,getInfo:function(){return{longname:"NextGEN Gallery",author:"Imagely",authorurl:"https://www.imagely.com",infourl:"https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/",version:"0.1"}},init:function(t,n){var o=this;t.windowManager.nggOldOpen=t.windowManager.open,t.windowManager.open=function(e,n){var a=t.windowManager.nggOldOpen(e,n);return a.on("close",o.wm_close_event),a},t.addCommand("ngg_attach_to_post",this.render_attach_to_post_interface,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),t.addButton("NextGEN_AttachToPost",{title:"ngg_attach_to_post.title",cmd:"ngg_attach_to_post",image:n+"/atp_button.png"}),t.on("mouseup",function(n){if(tinymce.extend(o,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),"IMG"==n.target.tagName){if(o.get_class_name(n.target).indexOf("ngg_displayed_gallery")>=0){t.dom.events.cancel(n);var a=n.target.src.match(/\d+$/);a&&(a=a.pop()),o.render_attach_to_post_interface({key:"id",val:a})}}else{var r=e(n.target);r.parents(".nggPlaceholderButton")&&(r=r.parents(".nggPlaceholderButton")),r.hasClass("nggPlaceholderButton")&&(r.hasClass("nggIgwRemove")?r.parents(".nggPlaceholder").remove():(window.igw_shortcode=e(n.target).parents(".nggPlaceholder").data("shortcode"),o.render_attach_to_post_interface({key:"shortcode",val:Base64.encode(window.igw_shortcode),ref:e(n.target).parents(".nggPlaceholder").attr("id")})))}}),t.on("BeforeSetContent",function(t){for(var n="[ngg_images ";t.content.indexOf(n)>=0;){for(var o=t.content.indexOf(n),a=o+n.length,r=!1,i=null,c=!1,g=t.content.length;;){var l=t.content[a];if('"'==l||"'"==l&&"="==c)r&&i==l?(r=!1,i=null):(r=!0,i=l);else if("]"==l&&!r)break;if(c=l,a==g)break;a++}var s=t.content.substring(o,++a),d=s.substring(1,s.length-1);d=d.replace("[","&#91;"),d=d.replace("]","&#93;");var p=_.template(e("#ngg-igw-placeholder").html());t.content=t.content.replace(s,p(e.extend(ngg_igw_i18n,{shortcode:d,ref:_.now()})))}}),t.on("PostProcess",function(t){var n=e("<div/>").append(t.content);n.find(".nggPlaceholder").toArray().forEach(function(t){var n=e(t),o=n.data("shortcode");o="<p>["+_.unescape(o)+"]</p>",n.replaceWith(o)}),t.content=n.html()})},get_class_name:function(t){var e=t.getAttribute("class")?t.getAttribute("class"):t.className;return e?e:""},wm_close_event:function(t){t&&t.target&&t.target._id&&"ngg_attach_to_post_dialog"==t.target._id&&(e("html,body").css("overflow","auto"),tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select("p")[0]),tinyMCE.activeEditor.selection.collapse(0))},render_attach_to_post_interface:function(t){var n=nextgen_gallery_attach_to_post_url;"undefined"!=typeof t&&(n+="&"+t.key+"="+encodeURIComponent(t.val),"undefined"!=typeof t.ref&&(n+="&ref="+encodeURIComponent(t.ref)));for(var o=window;null!=o.parent&&o.parent!=o;)o=o.parent;o=e(o);var a=o.width(),r=o.height(),i=1200,c=600,g=800,l=600,s=a-.05*a,d=r-.05*r;s<g&&(s=a-10),d<l&&(d=r-10),i>s&&(i=s),c>d&&(c=d),this.editor.windowManager.open({url:n,id:"ngg_attach_to_post_dialog",width:i,height:c,title:"NextGEN Gallery - Attach To Post"}),e("html,body").css("overflow","hidden"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-y","auto"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-x","hidden")}}),tinymce.PluginManager.add("NextGEN_AttachToPost",tinymce.plugins.NextGEN_AttachToPost)}(photocrati_ajax.wp_site_url,jQuery);
\ No newline at end of file
+!function(t,e){window.id="wordpress-post-page",tinyMCE.addI18n("en.ngg_attach_to_post",{title:"Attach NextGEN Gallery to Post"}),tinymce.create("tinymce.plugins.NextGEN_AttachToPost",{siteurl:t,getInfo:function(){return{longname:"NextGEN Gallery",author:"Imagely",authorurl:"https://www.imagely.com",infourl:"https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/",version:"0.1"}},init:function(t,n){var o=this;t.windowManager.nggOldOpen=t.windowManager.open,t.windowManager.open=function(e,n){var a=t.windowManager.nggOldOpen(e,n);return a.on("close",o.wm_close_event),a},t.addCommand("ngg_attach_to_post",this.render_attach_to_post_interface,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),t.addButton("NextGEN_AttachToPost",{title:"ngg_attach_to_post.title",cmd:"ngg_attach_to_post",image:n+"/igw_button.png"}),t.on("mouseup touchend",function(n){if(tinymce.extend(o,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),"IMG"==n.target.tagName){if(o.get_class_name(n.target).indexOf("ngg_displayed_gallery")>=0){t.dom.events.cancel(n);var a=n.target.src.match(/\d+$/);a&&(a=a.pop()),o.render_attach_to_post_interface({key:"id",val:a})}}else{var r=e(n.target);r.parents(".nggPlaceholderButton")&&(r=r.parents(".nggPlaceholderButton")),r.hasClass("nggPlaceholderButton")&&(r.hasClass("nggIgwRemove")?r.parents(".nggPlaceholder").remove():(window.igw_shortcode=e(n.target).parents(".nggPlaceholder").data("shortcode"),o.render_attach_to_post_interface({key:"shortcode",val:Base64.encode(window.igw_shortcode),ref:e(n.target).parents(".nggPlaceholder").attr("id")})))}}),t.on("BeforeSetContent",function(t){for(;t.content.indexOf("[ngg_images ")>=0;){for(var n=t.content.indexOf("[ngg_images "),o=n+"[ngg_images ".length,a=!1,r=null,i=!1,c=t.content.length;;){var l=t.content[o];if('"'==l||"'"==l&&"="==i)a&&r==l?(a=!1,r=null):(a=!0,r=l);else if("]"==l&&!a)break;if(i=l,o==c)break;o++}var g=t.content.substring(n,++o),s=g.substring(1,g.length-1);s=s.replace("[","&#91;"),s=s.replace("]","&#93;");var d=_.template(e("#ngg-igw-placeholder").html());t.content=t.content.replace(g,d(e.extend(ngg_igw_i18n,{shortcode:s,ref:_.now()})))}}),t.on("PostProcess",function(t){var n=e("<div/>").append(t.content);n.find(".nggPlaceholder").toArray().forEach(function(t){var n=e(t),o=n.data("shortcode");o="<p>["+_.unescape(o)+"]</p>",n.replaceWith(o)}),t.content=n.html()})},get_class_name:function(t){var e=t.getAttribute("class")?t.getAttribute("class"):t.className;return e||""},wm_close_event:function(t){t&&t.target&&t.target._id&&"ngg_attach_to_post_dialog"==t.target._id&&(e("html,body").css("overflow","auto"),tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select("p")[0]),tinyMCE.activeEditor.selection.collapse(0))},render_attach_to_post_interface:function(t){var n=nextgen_gallery_attach_to_post_url;void 0!==t&&(n+="&"+t.key+"="+encodeURIComponent(t.val),void 0!==t.ref&&(n+="&ref="+encodeURIComponent(t.ref)));for(var o=window;null!=o.parent&&o.parent!=o;)o=o.parent;o=e(o);var a=o.width(),r=o.height(),i=1600,c=1200,l=a-.05*a,g=r-.1*r;l<800&&(l=a-20),g<600&&(g=r-40),i>l&&(i=l),c>g&&(c=g),document.activeElement.blur(),Array.prototype.forEach.call(document.querySelectorAll("input, textarea"),function(t){t.blur()}),this.editor.windowManager.open({url:n,id:"ngg_attach_to_post_dialog",width:i,height:c,title:"NextGEN Gallery - Attach To Post"}),e("html,body").css("overflow","hidden"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-y","auto"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-x","hidden")}}),tinymce.PluginManager.add("NextGEN_AttachToPost",tinymce.plugins.NextGEN_AttachToPost)}(photocrati_ajax.wp_site_url,jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js
index 265b1415e66f72d3fc20569cb6e3b01e319b40cf..adf750f62afc66ab5868e66020950fe0fa087418 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js
@@ -1,57 +1,78 @@
-jQuery(function($){
+jQuery(function($) {
 
 	// Creates a Firefox-friendly wrapper around jQuery Tabs
-	$.fn.ngg_tabs = function(options){
+	$.fn.ngg_tabs = function(options) {
+
+	    // TODO: remove this when plupload is upgraded
+        if (/crios|iP(hone|od|ad)/i.test(navigator.userAgent)) {
+            this.find('.main_menu_tab').each(function() {
+                if (this.id === 'create_tab') {
+                    $(this).remove();
+                }
+            });
+            this.find('ul li a').each(function() {
+                if (this.href.indexOf('#create_tab') !== -1) {
+                    $(this).parent('li').remove();
+                };
+            });
+        }
 
 		// Create jQuery tabs
 		this.tabs(options);
 
 		// Change from display:none to visbibility:hidden
 		var i = 0;
-		this.find('.main_menu_tab').each(function(){
-			if (i == 0) $.fn.ngg_tabs.show_tab(this);
-			else		$.fn.ngg_tabs.hide_tab(this);
+		this.find('.main_menu_tab').each(function() {
+			if (i === 0) {
+				$.fn.ngg_tabs.show_tab(this);
+			} else {
+				$.fn.ngg_tabs.hide_tab(this);
+            }
 			i++;
 		});
 
 		// When the selected tab changes, then we need to re-adjust
-		this.bind('tabsactivate', function(event, ui){
-
+		this.bind('tabsactivate', function(event, ui) {
 			// Ensure that all tabs are still displayed, but hidden ;)
 			$.fn.ngg_tabs.hide_tab($.fn.ngg_tabs.get_tab_by_li(ui.oldTab));
 			$.fn.ngg_tabs.show_tab($.fn.ngg_tabs.get_tab_by_li(ui.newTab));
 		});
 	};
 
-	$.fn.ngg_tabs.hide_tab = function(tab){
-		tab = $(tab);
-		setTimeout(function(){
-			tab.css({
-				display:	'block',
-				position:	'absolute',
-				top:		-1000,
-				visibility:	'hidden',
-				height:     0
-			});
+	$.fn.ngg_tabs.hide_tab = function(tab) {
+		setTimeout(function() {
+            $(tab).css({
+				display: 'block',
+                'z-index': -10,
+                visibility:	'hidden',
+				opacity: 0
+            });
 		}, 0);
 	};
 
 	$.fn.ngg_tabs.show_tab = function(tab){
 		tab = $(tab);
-		setTimeout(function(){
-			tab.css({
-				display:	'block',
-				position:	'static',
-				top:		0,
+
+        setTimeout(function() {
+        	var iframe = tab.find('iframe')[0];
+            if (typeof iframe !== 'undefined'
+			&&  typeof iframe.contentWindow !== 'undefined') {
+                adjust_height_for_frame(top, iframe.contentWindow);
+			}
+        }, 50);
+
+        setTimeout(function() {
+            tab.css({
+                'z-index': 1,
 				visibility: 'visible',
-				height:		'100%'
-			});
-		}, 0);
+				opacity: 1
+            });
+		}, 50);
 	};
 
-	$.fn.ngg_tabs.get_tab_by_li = function(list_item){
-		var active_id = list_item.attr('aria-labelledby');
-		var active_tab = list_item.parents('div').find('.main_menu_tab[aria-labelledby="'+active_id+'"]');
-		return active_tab;
+	$.fn.ngg_tabs.get_tab_by_li = function(list_item) {
+		return list_item.parents('div')
+			            .find('.main_menu_tab[aria-labelledby="' + list_item.attr('aria-labelledby') + '"]');
 	}
+
 });
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.min.js
index 9cb18cb70db8fad201169477635ef627057b4dac..2d80e75f9f1b9c79e048badde0bb228e88994900 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.min.js
@@ -1 +1 @@
-jQuery(function(t){t.fn.ngg_tabs=function(i){this.tabs(i);var n=0;this.find(".main_menu_tab").each(function(){0==n?t.fn.ngg_tabs.show_tab(this):t.fn.ngg_tabs.hide_tab(this),n++}),this.bind("tabsactivate",function(i,n){t.fn.ngg_tabs.hide_tab(t.fn.ngg_tabs.get_tab_by_li(n.oldTab)),t.fn.ngg_tabs.show_tab(t.fn.ngg_tabs.get_tab_by_li(n.newTab))})},t.fn.ngg_tabs.hide_tab=function(i){i=t(i),setTimeout(function(){i.css({display:"block",position:"absolute",top:-1e3,visibility:"hidden",height:0})},0)},t.fn.ngg_tabs.show_tab=function(i){i=t(i),setTimeout(function(){i.css({display:"block",position:"static",top:0,visibility:"visible",height:"100%"})},0)},t.fn.ngg_tabs.get_tab_by_li=function(t){var i=t.attr("aria-labelledby"),n=t.parents("div").find('.main_menu_tab[aria-labelledby="'+i+'"]');return n}});
\ No newline at end of file
+jQuery(function(t){t.fn.ngg_tabs=function(i){/crios|iP(hone|od|ad)/i.test(navigator.userAgent)&&(this.find(".main_menu_tab").each(function(){"create_tab"===this.id&&t(this).remove()}),this.find("ul li a").each(function(){-1!==this.href.indexOf("#create_tab")&&t(this).parent("li").remove()})),this.tabs(i);var n=0;this.find(".main_menu_tab").each(function(){0===n?t.fn.ngg_tabs.show_tab(this):t.fn.ngg_tabs.hide_tab(this),n++}),this.bind("tabsactivate",function(i,n){t.fn.ngg_tabs.hide_tab(t.fn.ngg_tabs.get_tab_by_li(n.oldTab)),t.fn.ngg_tabs.show_tab(t.fn.ngg_tabs.get_tab_by_li(n.newTab))})},t.fn.ngg_tabs.hide_tab=function(i){setTimeout(function(){t(i).css({display:"block","z-index":-10,visibility:"hidden",opacity:0})},0)},t.fn.ngg_tabs.show_tab=function(i){i=t(i),setTimeout(function(){var t=i.find("iframe")[0];void 0!==t&&void 0!==t.contentWindow&&adjust_height_for_frame(top,t.contentWindow)},50),setTimeout(function(){i.css({"z-index":1,visibility:"visible",opacity:1})},50)},t.fn.ngg_tabs.get_tab_by_li=function(t){return t.parents("div").find('.main_menu_tab[aria-labelledby="'+t.attr("aria-labelledby")+'"]')}});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.min.js
index c61464677746fe3142319d068de0b0427a3aa8ba..c25b49cf3817d17c71cb4ada4d6295dcd04d3139 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.min.js
@@ -1 +1 @@
-!function(e,n){"use strict";var r=n.prototype.trim,t=n.prototype.trimRight,u=n.prototype.trimLeft,l=function(e){return 1*e||0},i=function(e,n){if(n<1)return"";for(var r="";n>0;)1&n&&(r+=e),n>>=1,e+=e;return r},o=[].slice,a=function(e){return null==e?"\\s":e.source?e.source:"["+h.escapeRegExp(e)+"]"},c={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},s={};for(var f in c)s[c[f]]=f;var p=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var r=i,t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,u){var l,i,o,a,c,s,f,h=1,g=t.length,d="",m=[];for(i=0;i<g;i++)if(d=e(t[i]),"string"===d)m.push(t[i]);else if("array"===d){if(a=t[i],a[2])for(l=u[h],o=0;o<a[2].length;o++){if(!l.hasOwnProperty(a[2][o]))throw new Error(p('[_.sprintf] property "%s" does not exist',a[2][o]));l=l[a[2][o]]}else l=a[1]?u[a[1]]:u[h++];if(/[^s]/.test(a[8])&&"number"!=e(l))throw new Error(p("[_.sprintf] expecting number but found %s",e(l)));switch(a[8]){case"b":l=l.toString(2);break;case"c":l=n.fromCharCode(l);break;case"d":l=parseInt(l,10);break;case"e":l=a[7]?l.toExponential(a[7]):l.toExponential();break;case"f":l=a[7]?parseFloat(l).toFixed(a[7]):parseFloat(l);break;case"o":l=l.toString(8);break;case"s":l=(l=n(l))&&a[7]?l.substring(0,a[7]):l;break;case"u":l=Math.abs(l);break;case"x":l=l.toString(16);break;case"X":l=l.toString(16).toUpperCase()}l=/[def]/.test(a[8])&&a[3]&&l>=0?"+"+l:l,s=a[4]?"0"==a[4]?"0":a[4].charAt(1):" ",f=a[6]-n(l).length,c=a[6]?r(s,f):"",m.push(a[5]?l+c:c+l)}return m.join("")},t.cache={},t.parse=function(e){for(var n=e,r=[],t=[],u=0;n;){if(null!==(r=/^[^\x25]+/.exec(n)))t.push(r[0]);else if(null!==(r=/^\x25{2}/.exec(n)))t.push("%");else{if(null===(r=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)))throw new Error("[_.sprintf] huh?");if(r[2]){u|=1;var l=[],i=r[2],o=[];if(null===(o=/^([a-z_][a-z_\d]*)/i.exec(i)))throw new Error("[_.sprintf] huh?");for(l.push(o[1]);""!==(i=i.substring(o[0].length));)if(null!==(o=/^\.([a-z_][a-z_\d]*)/i.exec(i)))l.push(o[1]);else{if(null===(o=/^\[(\d+)\]/.exec(i)))throw new Error("[_.sprintf] huh?");l.push(o[1])}r[2]=l}else u|=2;if(3===u)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");t.push(r)}n=n.substring(r[0].length)}return t},t}(),h={VERSION:"2.3.0",isBlank:function(e){return null==e&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return null==e?"":n(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=null==e?"":n(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,r){return null==e?[]:(e=n(e),r=~~r,r>0?e.match(new RegExp(".{1,"+r+"}","g")):[e])},clean:function(e){return h.strip(e).replace(/\s+/g," ")},count:function(e,r){return null==e||null==r?0:n(e).split(r).length-1},chars:function(e){return null==e?[]:n(e).split("")},swapCase:function(e){return null==e?"":n(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return null==e?"":n(e).replace(/[&<>"']/g,function(e){return"&"+s[e]+";"})},unescapeHTML:function(e){return null==e?"":n(e).replace(/\&([^;]+);/g,function(e,r){var t;return r in c?c[r]:(t=r.match(/^#x([\da-fA-F]+)$/))?n.fromCharCode(parseInt(t[1],16)):(t=r.match(/^#(\d+)$/))?n.fromCharCode(~~t[1]):e})},escapeRegExp:function(e){return null==e?"":n(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,n,r,t){var u=h.chars(e);return u.splice(~~n,~~r,t),u.join("")},insert:function(e,n,r){return h.splice(e,n,0,r)},include:function(e,r){return""===r||null!=e&&n(e).indexOf(r)!==-1},join:function(){var e=o.call(arguments),n=e.shift();return null==n&&(n=""),e.join(n)},lines:function(e){return null==e?[]:n(e).split("\n")},reverse:function(e){return h.chars(e).reverse().join("")},startsWith:function(e,r){return""===r||null!=e&&null!=r&&(e=n(e),r=n(r),e.length>=r.length&&e.slice(0,r.length)===r)},endsWith:function(e,r){return""===r||null!=e&&null!=r&&(e=n(e),r=n(r),e.length>=r.length&&e.slice(e.length-r.length)===r)},succ:function(e){return null==e?"":(e=n(e),e.slice(0,-1)+n.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return null==e?"":n(e).replace(/(?:^|\s)\S/g,function(e){return e.toUpperCase()})},camelize:function(e){return h.trim(e).replace(/[-_\s]+(.)?/g,function(e,n){return n.toUpperCase()})},underscored:function(e){return h.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return h.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return h.titleize(n(e).replace(/_/g," ")).replace(/\s/g,"")},humanize:function(e){return h.capitalize(h.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,t){return null==e?"":!t&&r?r.call(e):(t=a(t),n(e).replace(new RegExp("^"+t+"+|"+t+"+$","g"),""))},ltrim:function(e,r){return null==e?"":!r&&u?u.call(e):(r=a(r),n(e).replace(new RegExp("^"+r+"+"),""))},rtrim:function(e,r){return null==e?"":!r&&t?t.call(e):(r=a(r),n(e).replace(new RegExp(r+"+$"),""))},truncate:function(e,r,t){return null==e?"":(e=n(e),t=t||"...",r=~~r,e.length>r?e.slice(0,r)+t:e)},prune:function(e,r,t){if(null==e)return"";if(e=n(e),r=~~r,t=null!=t?n(t):"...",e.length<=r)return e;var u=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},l=e.slice(0,r+1).replace(/.(?=\W*\w*$)/g,u);return l=l.slice(l.length-2).match(/\w\w/)?l.replace(/\s*\S+$/,""):h.rtrim(l.slice(0,l.length-1)),(l+t).length>e.length?e:e.slice(0,l.length)+t},words:function(e,n){return h.isBlank(e)?[]:h.trim(e,n).split(n||/\s+/)},pad:function(e,r,t,u){e=null==e?"":n(e),r=~~r;var l=0;switch(t?t.length>1&&(t=t.charAt(0)):t=" ",u){case"right":return l=r-e.length,e+i(t,l);case"both":return l=r-e.length,i(t,Math.ceil(l/2))+e+i(t,Math.floor(l/2));default:return l=r-e.length,i(t,l)+e}},lpad:function(e,n,r){return h.pad(e,n,r)},rpad:function(e,n,r){return h.pad(e,n,r,"right")},lrpad:function(e,n,r){return h.pad(e,n,r,"both")},sprintf:p,vsprintf:function(e,n){return n.unshift(e),p.apply(null,n)},toNumber:function(e,r){if(null==e||""==e)return 0;e=n(e);var t=l(l(e).toFixed(~~r));return 0!==t||e.match(/^0+$/)?t:Number.NaN},numberFormat:function(e,n,r,t){if(isNaN(e)||null==e)return"";e=e.toFixed(~~n),t=t||",";var u=e.split("."),l=u[0],i=u[1]?(r||".")+u[1]:"";return l.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+t)+i},strRight:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strRightBack:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.lastIndexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strLeft:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(0,t):e},strLeftBack:function(e,n){if(null==e)return"";e+="",n=null!=n?""+n:n;var r=e.lastIndexOf(n);return~r?e.slice(0,r):e},toSentence:function(e,n,r,t){n=n||", ",r=r||" and ";var u=e.slice(),l=u.pop();return e.length>2&&t&&(r=h.rtrim(n)+r),u.length?u.join(n)+r+l:l},toSentenceSerial:function(){var e=o.call(arguments);return e[3]=!0,h.toSentence.apply(h,e)},slugify:function(e){if(null==e)return"";var r="ąà áäâãåæćęèéëêìíïîłńòóöôõøùúüûñçżź",t="aaaaaaaaceeeeeiiiilnoooooouuuunczz",u=new RegExp(a(r),"g");return e=n(e).toLowerCase().replace(u,function(e){var n=r.indexOf(e);return t.charAt(n)||"-"}),h.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,n){return[n,e,n].join("")},quote:function(e){return h.surround(e,'"')},exports:function(){var e={};for(var n in this)this.hasOwnProperty(n)&&!n.match(/^(?:include|contains|reverse)$/)&&(e[n]=this[n]);return e},repeat:function(e,r,t){if(null==e)return"";if(r=~~r,null==t)return i(n(e),r);for(var u=[];r>0;u[--r]=e);return u.join(t)},levenshtein:function(e,r){if(null==e&&null==r)return 0;if(null==e)return n(r).length;if(null==r)return n(e).length;e=n(e),r=n(r);for(var t,u,l=[],i=0;i<=r.length;i++)for(var o=0;o<=e.length;o++)u=i&&o?e.charAt(o-1)===r.charAt(i-1)?t:Math.min(l[o],l[o-1],t)+1:i+o,t=l[o],l[o]=u;return l.pop()}};h.strip=h.trim,h.lstrip=h.ltrim,h.rstrip=h.rtrim,h.center=h.lrpad,h.rjust=h.lpad,h.ljust=h.rpad,h.contains=h.include,h.q=h.quote,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(module.exports=h),exports._s=h):"function"==typeof define&&define.amd?define("underscore.string",[],function(){return h}):(e._=e._||{},e._.string=e._.str=h)}(this,String);
\ No newline at end of file
+!function(e,n){"use strict";var r=n.prototype.trim,t=n.prototype.trimRight,u=n.prototype.trimLeft,l=function(e){return 1*e||0},i=function(e,n){if(n<1)return"";for(var r="";n>0;)1&n&&(r+=e),n>>=1,e+=e;return r},o=[].slice,a=function(e){return null==e?"\\s":e.source?e.source:"["+h.escapeRegExp(e)+"]"},c={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},s={};for(var f in c)s[c[f]]=f;var p=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var r=i,t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,u){var l,i,o,a,c,s,f,h=1,g=t.length,d="",m=[];for(i=0;i<g;i++)if("string"===(d=e(t[i])))m.push(t[i]);else if("array"===d){if(a=t[i],a[2])for(l=u[h],o=0;o<a[2].length;o++){if(!l.hasOwnProperty(a[2][o]))throw new Error(p('[_.sprintf] property "%s" does not exist',a[2][o]));l=l[a[2][o]]}else l=a[1]?u[a[1]]:u[h++];if(/[^s]/.test(a[8])&&"number"!=e(l))throw new Error(p("[_.sprintf] expecting number but found %s",e(l)));switch(a[8]){case"b":l=l.toString(2);break;case"c":l=n.fromCharCode(l);break;case"d":l=parseInt(l,10);break;case"e":l=a[7]?l.toExponential(a[7]):l.toExponential();break;case"f":l=a[7]?parseFloat(l).toFixed(a[7]):parseFloat(l);break;case"o":l=l.toString(8);break;case"s":l=(l=n(l))&&a[7]?l.substring(0,a[7]):l;break;case"u":l=Math.abs(l);break;case"x":l=l.toString(16);break;case"X":l=l.toString(16).toUpperCase()}l=/[def]/.test(a[8])&&a[3]&&l>=0?"+"+l:l,s=a[4]?"0"==a[4]?"0":a[4].charAt(1):" ",f=a[6]-n(l).length,c=a[6]?r(s,f):"",m.push(a[5]?l+c:c+l)}return m.join("")},t.cache={},t.parse=function(e){for(var n=e,r=[],t=[],u=0;n;){if(null!==(r=/^[^\x25]+/.exec(n)))t.push(r[0]);else if(null!==(r=/^\x25{2}/.exec(n)))t.push("%");else{if(null===(r=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(n)))throw new Error("[_.sprintf] huh?");if(r[2]){u|=1;var l=[],i=r[2],o=[];if(null===(o=/^([a-z_][a-z_\d]*)/i.exec(i)))throw new Error("[_.sprintf] huh?");for(l.push(o[1]);""!==(i=i.substring(o[0].length));)if(null!==(o=/^\.([a-z_][a-z_\d]*)/i.exec(i)))l.push(o[1]);else{if(null===(o=/^\[(\d+)\]/.exec(i)))throw new Error("[_.sprintf] huh?");l.push(o[1])}r[2]=l}else u|=2;if(3===u)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");t.push(r)}n=n.substring(r[0].length)}return t},t}(),h={VERSION:"2.3.0",isBlank:function(e){return null==e&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return null==e?"":n(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=null==e?"":n(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,r){return null==e?[]:(e=n(e),r=~~r,r>0?e.match(new RegExp(".{1,"+r+"}","g")):[e])},clean:function(e){return h.strip(e).replace(/\s+/g," ")},count:function(e,r){return null==e||null==r?0:n(e).split(r).length-1},chars:function(e){return null==e?[]:n(e).split("")},swapCase:function(e){return null==e?"":n(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return null==e?"":n(e).replace(/[&<>"']/g,function(e){return"&"+s[e]+";"})},unescapeHTML:function(e){return null==e?"":n(e).replace(/\&([^;]+);/g,function(e,r){var t;return r in c?c[r]:(t=r.match(/^#x([\da-fA-F]+)$/))?n.fromCharCode(parseInt(t[1],16)):(t=r.match(/^#(\d+)$/))?n.fromCharCode(~~t[1]):e})},escapeRegExp:function(e){return null==e?"":n(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,n,r,t){var u=h.chars(e);return u.splice(~~n,~~r,t),u.join("")},insert:function(e,n,r){return h.splice(e,n,0,r)},include:function(e,r){return""===r||null!=e&&-1!==n(e).indexOf(r)},join:function(){var e=o.call(arguments),n=e.shift();return null==n&&(n=""),e.join(n)},lines:function(e){return null==e?[]:n(e).split("\n")},reverse:function(e){return h.chars(e).reverse().join("")},startsWith:function(e,r){return""===r||null!=e&&null!=r&&(e=n(e),r=n(r),e.length>=r.length&&e.slice(0,r.length)===r)},endsWith:function(e,r){return""===r||null!=e&&null!=r&&(e=n(e),r=n(r),e.length>=r.length&&e.slice(e.length-r.length)===r)},succ:function(e){return null==e?"":(e=n(e),e.slice(0,-1)+n.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return null==e?"":n(e).replace(/(?:^|\s)\S/g,function(e){return e.toUpperCase()})},camelize:function(e){return h.trim(e).replace(/[-_\s]+(.)?/g,function(e,n){return n.toUpperCase()})},underscored:function(e){return h.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return h.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return h.titleize(n(e).replace(/_/g," ")).replace(/\s/g,"")},humanize:function(e){return h.capitalize(h.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,t){return null==e?"":!t&&r?r.call(e):(t=a(t),n(e).replace(new RegExp("^"+t+"+|"+t+"+$","g"),""))},ltrim:function(e,r){return null==e?"":!r&&u?u.call(e):(r=a(r),n(e).replace(new RegExp("^"+r+"+"),""))},rtrim:function(e,r){return null==e?"":!r&&t?t.call(e):(r=a(r),n(e).replace(new RegExp(r+"+$"),""))},truncate:function(e,r,t){return null==e?"":(e=n(e),t=t||"...",r=~~r,e.length>r?e.slice(0,r)+t:e)},prune:function(e,r,t){if(null==e)return"";if(e=n(e),r=~~r,t=null!=t?n(t):"...",e.length<=r)return e;var u=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},l=e.slice(0,r+1).replace(/.(?=\W*\w*$)/g,u);return l=l.slice(l.length-2).match(/\w\w/)?l.replace(/\s*\S+$/,""):h.rtrim(l.slice(0,l.length-1)),(l+t).length>e.length?e:e.slice(0,l.length)+t},words:function(e,n){return h.isBlank(e)?[]:h.trim(e,n).split(n||/\s+/)},pad:function(e,r,t,u){e=null==e?"":n(e),r=~~r;var l=0;switch(t?t.length>1&&(t=t.charAt(0)):t=" ",u){case"right":return l=r-e.length,e+i(t,l);case"both":return l=r-e.length,i(t,Math.ceil(l/2))+e+i(t,Math.floor(l/2));default:return l=r-e.length,i(t,l)+e}},lpad:function(e,n,r){return h.pad(e,n,r)},rpad:function(e,n,r){return h.pad(e,n,r,"right")},lrpad:function(e,n,r){return h.pad(e,n,r,"both")},sprintf:p,vsprintf:function(e,n){return n.unshift(e),p.apply(null,n)},toNumber:function(e,r){if(null==e||""==e)return 0;e=n(e);var t=l(l(e).toFixed(~~r));return 0!==t||e.match(/^0+$/)?t:Number.NaN},numberFormat:function(e,n,r,t){if(isNaN(e)||null==e)return"";e=e.toFixed(~~n),t=t||",";var u=e.split("."),l=u[0],i=u[1]?(r||".")+u[1]:"";return l.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+t)+i},strRight:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strRightBack:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.lastIndexOf(r):-1;return~t?e.slice(t+r.length,e.length):e},strLeft:function(e,r){if(null==e)return"";e=n(e),r=null!=r?n(r):r;var t=r?e.indexOf(r):-1;return~t?e.slice(0,t):e},strLeftBack:function(e,n){if(null==e)return"";e+="",n=null!=n?""+n:n;var r=e.lastIndexOf(n);return~r?e.slice(0,r):e},toSentence:function(e,n,r,t){n=n||", ",r=r||" and ";var u=e.slice(),l=u.pop();return e.length>2&&t&&(r=h.rtrim(n)+r),u.length?u.join(n)+r+l:l},toSentenceSerial:function(){var e=o.call(arguments);return e[3]=!0,h.toSentence.apply(h,e)},slugify:function(e){if(null==e)return"";var r="ąà áäâãåæćęèéëêìíïîłńòóöôõøùúüûñçżź",t=new RegExp(a(r),"g");return e=n(e).toLowerCase().replace(t,function(e){return"aaaaaaaaceeeeeiiiilnoooooouuuunczz".charAt(r.indexOf(e))||"-"}),h.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,n){return[n,e,n].join("")},quote:function(e){return h.surround(e,'"')},exports:function(){var e={};for(var n in this)this.hasOwnProperty(n)&&!n.match(/^(?:include|contains|reverse)$/)&&(e[n]=this[n]);return e},repeat:function(e,r,t){if(null==e)return"";if(r=~~r,null==t)return i(n(e),r);for(var u=[];r>0;u[--r]=e);return u.join(t)},levenshtein:function(e,r){if(null==e&&null==r)return 0;if(null==e)return n(r).length;if(null==r)return n(e).length;e=n(e),r=n(r);for(var t,u,l=[],i=0;i<=r.length;i++)for(var o=0;o<=e.length;o++)u=i&&o?e.charAt(o-1)===r.charAt(i-1)?t:Math.min(l[o],l[o-1],t)+1:i+o,t=l[o],l[o]=u;return l.pop()}};h.strip=h.trim,h.lstrip=h.ltrim,h.rstrip=h.rtrim,h.center=h.lrpad,h.rjust=h.lpad,h.ljust=h.rpad,h.contains=h.include,h.q=h.quote,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(module.exports=h),exports._s=h):"function"==typeof define&&define.amd?define("underscore.string",[],function(){return h}):(e._=e._||{},e._.string=e._.str=h)}(this,String);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php
index e1678463a4d495220c6d5745502b6a9357c6619e..39ad0d64d3be57419165c80b912c799032f31b33 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php
@@ -2,25 +2,28 @@
 <html>
     <head>
         <title><?php esc_html_e($page_title)?></title>
-		<?php
-			wp_print_styles();
-			wp_print_scripts();
-		?>
+        <?php
+        print_admin_styles();
+        print_head_scripts();
+        ?>
     </head>
 	<body>
 		<div id="attach_to_post_tabs">
-            <div class='ui-tabs-icon'><span class="nextgen_logo"><?php esc_html_e('NextGEN')?></span> <span class="nextgen_logo_sub"><?php esc_html_e('Gallery')?></span></div>
-			<ul>
-            <?php foreach ($tabs as $id => $tab_params): ?>
-				<li>
-					<a href='#<?php echo esc_attr($id)?>'>
-						<?php esc_html_e($tab_params['title']) ?>
-					</a>
-				</li>
-			<?php endforeach ?>
-			</ul>
+            <div class='ui-tabs-icon'><img src='<?php esc_html_e($logo) ?>' class='attach_to_post_logo'>
+				<ul>
+		            <?php foreach ($tabs as $id => $tab_params): ?>
+						<li>
+							<a href='#<?php echo esc_attr($id)?>'>
+								<?php esc_html_e($tab_params['title']) ?>
+							</a>
+						</li>
+					<?php endforeach ?>
+				</ul>
+			</div>
 			<?php reset($tabs); foreach ($tabs as $id => $tab_params): ?>
-			<div class="main_menu_tab" id="<?php echo esc_attr($id) ?>"><?php echo $tab_params['content'] ?></div>
+				<div class="main_menu_tab" id="<?php echo esc_attr($id) ?>">
+					<?php echo $tab_params['content'] ?>
+				</div>
 			<?php endforeach ?>
 		</div>
 
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 9d6ba31bd36aa5ab7bf81d03b9cb051c2bd341a7..c5e3f7fdaaa907f6ccff1c203910c5cad005f7e6 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
@@ -1,11 +1,41 @@
-<div id="errors">
-	
-</div>
-<div class="accordion" id="display_settings_accordion">
-<?php foreach($tabs as $tab): ?>
-	<?php echo $tab ?>
-<?php endforeach ?>
-</div>
-<p class="wp-core-ui">
-	<input type="button" class="button button-primary button-large" id="save_displayed_gallery" value="<?php if ($displayed_gallery->id()) { _e('Save Changes', 'nggallery'); } else { _e('Insert Displayed Gallery', 'nggallery'); } ?>"/>
-</p>
+<div id='ngg_page_content'>
+
+	<div id="errors">	
+	</div>
+
+	<div class="ngg_page_content_menu" class="ngg_advanced">
+
+		<?php foreach($tabs as $tab): ?>
+            <a href='javascript:void(0)' data-id='<?php esc_attr_e( $tab['id'] ) ?>'><?php esc_html_e( $tab['title']) ?></a>
+        <?php endforeach ?>
+
+	</div>
+
+	<div class="ngg_page_content_main"">
+
+		<?php foreach($tabs as $tab): ?>
+            <div data-id='<?php esc_attr_e($tab['id']) ?>'>
+                <h3 class="accordion_tab" id="<?php esc_html_e( $tab['id']) ?>"><?php esc_html_e( $tab['title']) ?></h3>
+                <div id="<?php echo esc_attr($tab['id']) ?>_content"><?php echo $tab['content']; ?></div>
+            </div>
+        <?php endforeach ?>
+
+        <?php if ( !defined('NGG_PRO_PLUGIN_VERSION') && !defined('NGG_PLUS_PLUGIN_VERSION') && !is_multisite() ) { ?>
+	        <div class="ngg_igw_promo">
+	        	<p><?php esc_html_e('Want more displays like ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/pro-mosaic-gallery/?utm_source=ngg&utm_medium=ngguser&utm_campaign=igw" target="_blank"><?php esc_html_e('Mosaic', 'nggallery'); ?></a><?php esc_html_e(' or ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/pro-masonry-gallery/?utm_source=ngg&utm_medium=ngguser&utm_campaign=igw" target="_blank"><?php esc_html_e('Masonry?', 'nggallery'); ?></a></p>
+	        	<p><?php esc_html_e('Upgrade to ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/?utm_source=ngg&utm_medium=ngguser&utm_campaign=igw" target="_blank"><?php esc_html_e('NextGEN Pro.', 'nggallery'); ?></a></p>
+	        	<p class="ngg_igw_coupon"><?php esc_html_e('Use ILOVENG for 30% off!', 'nggallery'); ?></p>
+	        </div>
+        <?php } ?> 
+		<p class="wp-core-ui">
+			<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>
+        	<div class="ngg_igw_video_inner">
+        		<span class="ngg_igw_video_close"><?php esc_html_e('Click to Close', 'nggallery'); ?></span>
+        	</div>
+        </div>
+	</div>
+
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php
index 2a00bece7f1412ce34cb69154f48952a55c44ce9..04e0c38f057821d7ff2fd3d7bc70b5d4029778a6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php
@@ -1,2 +1,3 @@
 <table id="source_configuration"></table>
-<table id='slug_configuration'></table>
\ No newline at end of file
+<table id='slug_configuration'></table>
+<label id="display_tip"></label>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php
index 12be860153fb72c85c0bc202040686ea1f3191d7..1f0945ac80ddf98b9350f5d26b584c59b9b9dc8d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php
@@ -17,7 +17,7 @@ class M_Cache extends C_Base_Module
 			'photocrati-cache',
 			'Cache',
 			'Handles clearing of NextGen caches',
-			'0.2',
+			'3.0.0',
             '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/module.datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php
index de5c025decddf6113d65b991b6e7d90dbdd6e019..37500d1d93cd80347cf1f7123c98d0a1f13ef32c 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',
-			'0.10',
+			'3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -170,6 +170,8 @@ class M_DataMapper extends C_Base_Module
 		elseif (($value = $wp_query->get('post_title__like'))) {
 			$where .= " AND {$wpdb->posts}.post_title LIKE '{$value}'";
 		}
+
+		return $where;
 	}
 
 
@@ -193,34 +195,35 @@ class M_DataMapper extends C_Base_Module
 
     /**
      * Unserializes data using our proprietary format
+     * TODO: This is redundant with C_Ngg_Serializer
      * @param string $value
      * @return mixed
      */
-    static function unserialize($value)
-    {
-        $retval = NULL;
-        if (is_string($value))
-        {
-            $retval = stripcslashes($value);
-
-            if (strlen($value) > 1)
-            {
-                // We can't always rely on base64_decode() or json_decode() to return FALSE as their documentation
-                // claims so check if $retval begins with a: as that indicates we have a serialized PHP object.
-                if (strpos($retval, 'a:') === 0)
-                {
-                    $er = error_reporting(0);
-                    $retval = unserialize($value);
-                    error_reporting($er);
-                }
-                else {
-                    // We use json_decode() here because PHP's unserialize() is not Unicode safe.
-                    $retval = json_decode(base64_decode($retval), TRUE);
-                }
-            }
-        }
+	static function unserialize($value)
+	{
+		$retval = NULL;
+		if (is_string($value))
+		{
+			$retval = stripcslashes($value);
+
+			if (strlen($value) > 1)
+			{
+				// We can't always rely on base64_decode() or json_decode() to return FALSE as their documentation
+				// claims so check if $retval begins with a: as that indicates we have a serialized PHP object.
+				if (strpos($retval, 'a:') === 0)
+				{
+					$er = error_reporting(0);
+					$retval = unserialize($value);
+					error_reporting($er);
+				}
+				else {
+					// We use json_decode() here because PHP's unserialize() is not Unicode safe.
+					$retval = json_decode(base64_decode($retval), TRUE);
+				}
+			}
+		}
 
-        return $retval;
+		return $retval;
     }
 
     /**
@@ -230,8 +233,8 @@ class M_DataMapper extends C_Base_Module
      */
     static function serialize($value)
     {
-        //Using json_encode here because PHP's serialize is not Unicode safe
-        return base64_encode(json_encode($value));
+	    //Using json_encode here because PHP's serialize is not Unicode safe
+	    return base64_encode(json_encode($value));
     }
 
     function get_type_list()
@@ -261,5 +264,4 @@ class C_DataMapper_Installer
 		$this->settings->set_default_value('datamapper_driver', 'custom_post_datamapper');
 	}
 }
-
-new M_DataMapper();
+new M_DataMapper();
\ No newline at end of file
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 873b6cbc9be74399ff2b3badc1b28cc50f3cfcfe..ee9a1c77f25be22a0a7b5793916f9059291e7f9e 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
@@ -447,7 +447,7 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
             if ($this->is_select_statement()) {
                 $this->object->cache($cache_key, $results);
             }
-            remove_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX - 1, 1);
+            remove_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX - 1);
         }
         // Convert the result
         if ($convert_to_entities) {
@@ -1108,11 +1108,11 @@ class C_CustomTable_DataMapper_Driver extends C_DataMapper_Driver_Base
     }
     function initialize($object_name = FALSE)
     {
-        parent::initialize($object_name);
+        parent::initialize();
         if (!isset($this->_primary_key_column)) {
             $this->_primary_key_column = $this->_lookup_primary_key_column();
         }
-        $this->migrate(FALSE);
+        $this->migrate();
     }
     /**
      * Returns the database connection object for WordPress
@@ -1578,7 +1578,7 @@ class Mixin_DataMapper_Driver_Base extends Mixin
      * implementation. The implementation should make use of the
      * _set_default_value() method
      */
-    function set_defaults()
+    function set_defaults($stdObject)
     {
     }
     function has_default_values($entity)
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php
index 8eb7cbd9acd03c09ef45621c317485d15e05c22f..23e51c0c786432b122ca79cafea1bdc7ed01b57e 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php
@@ -24,7 +24,7 @@ class M_Dynamic_Stylesheet extends C_Base_Module
 			'photocrati-dynamic_stylesheet',
 			'Dynamic Stylesheet',
 			'Provides the ability to generate and enqueue a dynamic stylesheet',
-			'0.4',
+			'3.0.0',
             '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/dynamic_thumbnails/module.dynamic_thumbnails.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php
index e5ceb06ec5d44ee41970e20ab608f94bf7fec284..a40925749c1457f3728e80a64f186ecc94865a99 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',
-			'0.7',
+			'3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -37,7 +37,7 @@ class M_Dynamic_Thumbnails extends C_Base_Module
 	function _register_utilities()
 	{
         $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Manager', 'C_Dynamic_Thumbnails_Manager');
-		if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+		if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
             $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Controller', 'C_Dynamic_Thumbnails_Controller');
 	}
 
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 0114b9a9f9a02cde8752c78b9fb0496e384e59d9..c5e30a036900c68a3e382dbfcfac1cfcdc2cd1ea 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
@@ -114,7 +114,7 @@ class C_Dynamic_Thumbnails_Controller extends C_MVC_Controller
         }
         return self::$_instances[$context];
     }
-    function index_action()
+    function index_action($return = FALSE)
     {
         $dynthumbs = C_Dynamic_Thumbnails_Manager::get_instance();
         $uri = $_SERVER['REQUEST_URI'];
@@ -321,7 +321,7 @@ class Mixin_Dynamic_Thumbnails_Manager extends Mixin
                 if ($extension != null) {
                     $extension = '.' . $extension;
                 }
-                $name .= M_I18n::mb_basename($image->filename, $extension);
+                $name .= M_I18n::mb_basename($image->filename);
                 $name .= '-';
                 if ($id_in_name) {
                     $image_id = strval($image->pid);
@@ -389,7 +389,7 @@ class Mixin_Dynamic_Thumbnails_Manager extends Mixin
             if ($extension != null) {
                 $extension = '.' . $extension;
             }
-            $name = M_I18n::mb_basename($name, $extension);
+            $name = M_I18n::mb_basename($name);
         }
         $size_index = strrpos($name, $size_prefix);
         if ($size_index > 0 || $size_index === 0) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php
index 5a5177c9d91bb7fa37a5ac8652c69b0b34faed0d..4853a55289291e101eb3761d7b99a4478a11727f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php
@@ -22,7 +22,7 @@ class M_Frame_Communication extends C_Base_Module
 			'photocrati-frame_communication',
 			'Frame/iFrame Inter-Communication',
 			'Provides a means for HTML frames to share server-side events with each other',
-			'0.5',
+			'3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com',
@@ -46,11 +46,29 @@ class M_Frame_Communication extends C_Base_Module
 
 	function _register_hooks()
 	{
-		add_action('init', array($this, 'enqueue_admin_scripts'));
+		add_action('init', array($this, 'register_script'));
+		add_filter('ngg_admin_script_handles', array($this, 'add_script_to_ngg_pages'));
+		add_action('ngg_enqueue_frame_event_publisher_script', array($this, 'enqueue_script'));
+	}
 
+	function add_script_to_ngg_pages($scripts)
+	{
+		$scripts['frame_event_publisher'] = $this->module_version;
+		return $scripts;
 	}
 
-	function enqueue_admin_scripts()
+	function enqueue_script()
+	{
+		wp_enqueue_script('frame_event_publisher');
+		wp_localize_script(
+			'frame_event_publisher',
+			'frame_event_publisher_domain',
+			array(parse_url(site_url(), PHP_URL_HOST))
+		);
+	}
+
+
+	function register_script()
 	{
 		$router = C_Router::get_instance();
 
@@ -58,18 +76,8 @@ class M_Frame_Communication extends C_Base_Module
 			'frame_event_publisher',
 			$router->get_static_url('photocrati-frame_communication#frame_event_publisher.js'),
 			array('jquery'),
-			NGG_SCRIPT_VERSION
+			$this->module_version
 		);
-
-		if (is_admin())
-		{
-			wp_enqueue_script('frame_event_publisher');
-			wp_localize_script(
-				'frame_event_publisher',
-				'frame_event_publisher_domain',
-				array(parse_url(site_url(), PHP_URL_HOST))
-			);
-		}
 	}
 
     function get_type_list()
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.min.js
index 96113af1ff1e624b56925afbea98e1002b6518a5..5920344484dbffea3b8190572735a8cebb2a3c80 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.min.js
@@ -1 +1 @@
-!function(e,t){"use strict";var i=function(e){if("object"!=typeof e.document)throw Error("Cookies.js requires a `window` with a `document` object");var i=function(e,t,n){return 1===arguments.length?i.get(e):i.set(e,t,n)};return i._document=e.document,i._cacheKeyPrefix="cookey.",i._maxExpireDate=new Date("Fri, 31 Dec 9999 23:59:59 UTC"),i.defaults={path:"/",secure:!1},i.get=function(e){return i._cachedDocumentCookie!==i._document.cookie&&i._renewCache(),e=i._cache[i._cacheKeyPrefix+e],e===t?t:decodeURIComponent(e)},i.set=function(e,n,o){return o=i._getExtendedOptions(o),o.expires=i._getExpiresDate(n===t?-1:o.expires),i._document.cookie=i._generateCookieString(e,n,o),i},i.expire=function(e,n){return i.set(e,t,n)},i._getExtendedOptions=function(e){return{path:e&&e.path||i.defaults.path,domain:e&&e.domain||i.defaults.domain,expires:e&&e.expires||i.defaults.expires,secure:e&&e.secure!==t?e.secure:i.defaults.secure}},i._isValidDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},i._getExpiresDate=function(e,t){if(t=t||new Date,"number"==typeof e?e=1/0===e?i._maxExpireDate:new Date(t.getTime()+1e3*e):"string"==typeof e&&(e=new Date(e)),e&&!i._isValidDate(e))throw Error("`expires` parameter cannot be converted to a valid Date instance");return e},i._generateCookieString=function(e,t,i){return e=e.replace(/[^#$&+\^`|]/g,encodeURIComponent),e=e.replace(/\(/g,"%28").replace(/\)/g,"%29"),t=(t+"").replace(/[^!#$&-+\--:<-\[\]-~]/g,encodeURIComponent),i=i||{},e=e+"="+t+(i.path?";path="+i.path:""),e+=i.domain?";domain="+i.domain:"",e+=i.expires?";expires="+i.expires.toUTCString():"",e+=i.secure?";secure":""},i._getCacheFromString=function(e){var n={};e=e?e.split("; "):[];for(var o=0;o<e.length;o++){var r=i._getKeyValuePairFromCookieString(e[o]);n[i._cacheKeyPrefix+r.key]===t&&(n[i._cacheKeyPrefix+r.key]=r.value)}return n},i._getKeyValuePairFromCookieString=function(e){var t,i=e.indexOf("="),i=0>i?e.length:i,n=e.substr(0,i);try{t=decodeURIComponent(n)}catch(e){console&&"function"==typeof console.error&&console.error('Could not decode cookie with key "'+n+'"',e)}return{key:t,value:e.substr(i+1)}},i._renewCache=function(){i._cache=i._getCacheFromString(i._document.cookie),i._cachedDocumentCookie=i._document.cookie},i._areEnabled=function(){var e="1"===i.set("cookies.js",1).get("cookies.js");return i.expire("cookies.js"),e},i.enabled=i._areEnabled(),i},n="object"==typeof e.document?i(e):i;"function"==typeof define&&define.amd?define(function(){return n}):"object"==typeof exports?("object"==typeof module&&"object"==typeof module.exports&&(exports=module.exports=n),exports.Cookies=n):e.Cookies=n}("undefined"==typeof window?this:window),window.Frame_Event_Publisher={id:window.name,cookie_name:"X-Frame-Events",received:[],initialized:!1,children:{},window:!1,ajax_handlers_setup:!1,is_parent:function(){return self.parent.document===self.document},is_child:function(){return!this.is_parent()},setup_ajax_handlers:function(){if(!this.ajax_handlers_setup){var e=this;jQuery(document).ajaxComplete(function(t,i,n){setTimeout(function(){e.ajax_handler()},0)})}},ajax_handler:function(){this.broadcast(this.get_events(document.cookie))},initialize:function(){return this.setup_ajax_handlers(),"undefined"!=typeof window.frame_event_publisher_domain&&(Cookies.defaults.domain=window.frame_event_publisher_domain),this.window=window,"undefined"!=typeof this.window.id&&null!=this.window.id.length&&this.window.id.length>0?this.id=this.window.id:"Unknown"==this.id,this.received=this.get_events(document.cookie),this.initialized=!0,this.is_parent()&&this.emit(this.received,!0),this.received},register_child:function(e){this.children[e.id]=e},broadcast:function(e,t){this.initialized||(e=this.initialize()),"Unknown"==this.id?(this.initialized=!1,setTimeout(function(){this.broadcast(e,t)},100)):this.is_child()?(arguments.length<=1&&(t=window),this.find_parent(t).register_child(t.Frame_Event_Publisher),this.notify_parent(e,t)):(0==arguments.length&&(e=this.received),this.notify_children(e))},notify_parent:function(e,t){this.find_parent(t).broadcast(e,t)},notify_children:function(e){this.emit(e);for(var t in this.children){var i=this.children[t];try{i.emit(e)}catch(e){"undefined"!=typeof console&&console.log(e),delete this.children.index}}},find_parent:function(e){var t=e;try{for(;t.document!==t.parent.document;)t=t.parent}catch(e){"undefined"!=typeof console&&console.log(e)}return t.Frame_Event_Publisher},emit:function(e,t){"undefined"==typeof t&&(t=!1);for(var i in e){var n=e[i];t||this.has_received_event(i)||("undefined"!=typeof console&&console.log("Emitting "+i+":"+n.event+" to "+this.id),this.trigger_event(i,e[i]))}},has_received_event:function(e){return void 0!=this.received[e]},trigger_event:function(e,t){var i=t.context+":"+t.event;t.id=e,"undefined"!=typeof window&&jQuery(window).trigger(i,t),this.received[e]=t},get_events:function(e){for(var t={},i=unescape(e).split(" "),n=0;n<i.length;n++){var o=i[n],r=o.match(/X-Frame-Events_([^=]+)=(.*)/);if(r){var c=r[1],a=r[2].replace(/;$/,"");try{t[c]=JSON.parse(a)}catch(e){}var s="X-Frame-Events_"+c;this.delete_cookie(s)}}return t},delete_cookie:function(e){Cookies.expire(e)},listen_for:function(e,t){var i=this;jQuery(window).bind(e,function(e,n){var o=(n.context,n.id);i.has_received_event(o)||(t.call(i,n),i.received[o]=n)})}},jQuery(function(e){Frame_Event_Publisher.broadcast()});
\ No newline at end of file
+!function(e,t){"use strict";var i=function(e){if("object"!=typeof e.document)throw Error("Cookies.js requires a `window` with a `document` object");var i=function(e,t,n){return 1===arguments.length?i.get(e):i.set(e,t,n)};return i._document=e.document,i._cacheKeyPrefix="cookey.",i._maxExpireDate=new Date("Fri, 31 Dec 9999 23:59:59 UTC"),i.defaults={path:"/",secure:!1},i.get=function(e){return i._cachedDocumentCookie!==i._document.cookie&&i._renewCache(),e=i._cache[i._cacheKeyPrefix+e],e===t?t:decodeURIComponent(e)},i.set=function(e,n,o){return o=i._getExtendedOptions(o),o.expires=i._getExpiresDate(n===t?-1:o.expires),i._document.cookie=i._generateCookieString(e,n,o),i},i.expire=function(e,n){return i.set(e,t,n)},i._getExtendedOptions=function(e){return{path:e&&e.path||i.defaults.path,domain:e&&e.domain||i.defaults.domain,expires:e&&e.expires||i.defaults.expires,secure:e&&e.secure!==t?e.secure:i.defaults.secure}},i._isValidDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},i._getExpiresDate=function(e,t){if(t=t||new Date,"number"==typeof e?e=1/0===e?i._maxExpireDate:new Date(t.getTime()+1e3*e):"string"==typeof e&&(e=new Date(e)),e&&!i._isValidDate(e))throw Error("`expires` parameter cannot be converted to a valid Date instance");return e},i._generateCookieString=function(e,t,i){return e=e.replace(/[^#$&+\^`|]/g,encodeURIComponent),e=e.replace(/\(/g,"%28").replace(/\)/g,"%29"),t=(t+"").replace(/[^!#$&-+\--:<-\[\]-~]/g,encodeURIComponent),i=i||{},e=e+"="+t+(i.path?";path="+i.path:""),e+=i.domain?";domain="+i.domain:"",e+=i.expires?";expires="+i.expires.toUTCString():"",e+=i.secure?";secure":""},i._getCacheFromString=function(e){var n={};e=e?e.split("; "):[];for(var o=0;o<e.length;o++){var r=i._getKeyValuePairFromCookieString(e[o]);n[i._cacheKeyPrefix+r.key]===t&&(n[i._cacheKeyPrefix+r.key]=r.value)}return n},i._getKeyValuePairFromCookieString=function(e){var t,i=e.indexOf("="),i=0>i?e.length:i,n=e.substr(0,i);try{t=decodeURIComponent(n)}catch(e){console&&"function"==typeof console.error&&console.error('Could not decode cookie with key "'+n+'"',e)}return{key:t,value:e.substr(i+1)}},i._renewCache=function(){i._cache=i._getCacheFromString(i._document.cookie),i._cachedDocumentCookie=i._document.cookie},i._areEnabled=function(){var e="1"===i.set("cookies.js",1).get("cookies.js");return i.expire("cookies.js"),e},i.enabled=i._areEnabled(),i},n="object"==typeof e.document?i(e):i;"function"==typeof define&&define.amd?define(function(){return n}):"object"==typeof exports?("object"==typeof module&&"object"==typeof module.exports&&(exports=module.exports=n),exports.Cookies=n):e.Cookies=n}("undefined"==typeof window?this:window),window.Frame_Event_Publisher={id:window.name,cookie_name:"X-Frame-Events",received:[],initialized:!1,children:{},window:!1,ajax_handlers_setup:!1,is_parent:function(){return self.parent.document===self.document},is_child:function(){return!this.is_parent()},setup_ajax_handlers:function(){if(!this.ajax_handlers_setup){var e=this;jQuery(document).ajaxComplete(function(t,i,n){setTimeout(function(){e.ajax_handler()},0)})}},ajax_handler:function(){this.broadcast(this.get_events(document.cookie))},initialize:function(){return this.setup_ajax_handlers(),void 0!==window.frame_event_publisher_domain&&(Cookies.defaults.domain=window.frame_event_publisher_domain),this.window=window,void 0!==this.window.id&&null!=this.window.id.length&&this.window.id.length>0?this.id=this.window.id:this.id,this.received=this.get_events(document.cookie),this.initialized=!0,this.is_parent()&&this.emit(this.received,!0),this.received},register_child:function(e){this.children[e.id]=e},broadcast:function(e,t){this.initialized||(e=this.initialize()),"Unknown"==this.id?(this.initialized=!1,setTimeout(function(){this.broadcast(e,t)},100)):this.is_child()?(arguments.length<=1&&(t=window),this.find_parent(t).register_child(t.Frame_Event_Publisher),this.notify_parent(e,t)):(0==arguments.length&&(e=this.received),this.notify_children(e))},notify_parent:function(e,t){this.find_parent(t).broadcast(e,t)},notify_children:function(e){this.emit(e);for(var t in this.children){var i=this.children[t];try{i.emit(e)}catch(e){"undefined"!=typeof console&&console.log(e),delete this.children.index}}},find_parent:function(e){var t=e;try{for(;t.document!==t.parent.document;)t=t.parent}catch(e){"undefined"!=typeof console&&console.log(e)}return t.Frame_Event_Publisher},emit:function(e,t){void 0===t&&(t=!1);for(var i in e){var n=e[i];t||this.has_received_event(i)||("undefined"!=typeof console&&console.log("Emitting "+i+":"+n.event+" to "+this.id),this.trigger_event(i,e[i]))}},has_received_event:function(e){return void 0!=this.received[e]},trigger_event:function(e,t){var i=t.context+":"+t.event;t.id=e,"undefined"!=typeof window&&jQuery(window).trigger(i,t),this.received[e]=t},get_events:function(e){for(var t={},i=unescape(e).split(" "),n=0;n<i.length;n++){var o=i[n],r=o.match(/X-Frame-Events_([^=]+)=(.*)/);if(r){var c=r[1],a=r[2].replace(/;$/,"");try{t[c]=JSON.parse(a)}catch(e){}var s="X-Frame-Events_"+c;this.delete_cookie(s)}}return t},delete_cookie:function(e){Cookies.expire(e)},listen_for:function(e,t){var i=this;jQuery(window).bind(e,function(e,n){var o=(n.context,n.id);i.has_received_event(o)||(t.call(i,n),i.received[o]=n)})}},jQuery(function(e){Frame_Event_Publisher.broadcast()});
\ 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 487ec1c30d9d94623ceae37231aef3380461c6a7..360d69a217ab1a7db43fa8313fa04cb6d856c754 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',
-			'0.6',
+			'3.0.0',
             '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 3405aa7a3efbfd0c2798bd4fca7a69550ed0ac0b..36c6c61dbfa3abfa2d9e2940d5c2451e56e14771 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
@@ -346,6 +346,23 @@ class Mixin_Fs_Instance_Methods extends Mixin
         }
         return $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) {
+            if ('.' == $part) {
+                continue;
+            }
+            if ('..' == $part) {
+                array_pop($absolutes);
+            } else {
+                $absolutes[] = $part;
+            }
+        }
+        return implode(DIRECTORY_SEPARATOR, $absolutes);
+    }
     /**
      * Sets the document root for this application
      * @param type $value
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 d1889819734bb68c0cb178814e4b690272a9fbf2..8e14d699fb408ac0f48768c39b97785cf60f28d5 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 17 million downloads."
-msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 17 miljoner nedladdningar."
+msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 21 million downloads."
+msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 21 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 12 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 12 miljoner nedladdningar."
+msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 21 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 21 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 e0e013499d8783a3c8a42438db213271bf750069..edd67297c6531a0ff229fb58ae1834a9828e1107 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
@@ -1,5 +1,5 @@
 # NextGEN Gallery base (English) .po source
-# Copyright (C) 2015 Photocrati Media
+# Copyright (C) 2018 Photocrati Media
 # This file is distributed under the same license as the NextGEN Gallery package.
 #
 #, fuzzy
@@ -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 18 million downloads."
+msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 21 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 17 million downloads."
+msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 21 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 8e0040edcd6c65142284bed1824e641b9cafe0f5..7a73872c1d8da0e74723526a51a5d70de3296eda 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",
-            '0.4',
+            '3.0.0',
             'https://www.imagely.com/languages/',
             'Imagely',
             'https://www.imagely.com'
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
new file mode 100644
index 0000000000000000000000000000000000000000..6e577f90aabc2f403d4e7eb4c0c2d226a7760ce1
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/lib/class-imagify-partner.php
@@ -0,0 +1,877 @@
+<?php
+/**
+ * Tool allowing 3rd party WordPress plugins to handle partnership with Imagify.
+ *
+ * @package wp-media/wp-imagify-partner
+ */
+
+defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
+
+if ( ! class_exists( 'Imagify_Partner' ) ) :
+
+	/**
+	 * Class allowing to download, install, and activate Imagify plugin.
+	 *
+	 * @author Grégory Viguier
+	 */
+	class Imagify_Partner {
+
+		/**
+		 * Class version.
+		 *
+		 * @var string
+		 */
+		const VERSION = '1.0';
+
+		/**
+		 * Name of the option that stores the partner identifier.
+		 *
+		 * @var string
+		 */
+		const OPTION_NAME = 'imagifyp_id';
+
+		/**
+		 * Name of the transient that stores the error messages.
+		 *
+		 * @var string
+		 */
+		const ERROR_TRANSIENT_NAME = 'imagifyp_error';
+
+		/**
+		 * Name of the URL argument used on success.
+		 *
+		 * @var string
+		 */
+		const SUCCESS_ARG = 'imp-success';
+
+		/**
+		 * Name of the URL argument used to display an error notice.
+		 *
+		 * @var string
+		 */
+		const ERROR_ARG = 'imp-error';
+
+		/**
+		 * ID of the nonce used to install Imagify.
+		 *
+		 * @var string
+		 */
+		const NONCE_NAME = 'install_imagify_from_partner';
+
+		/**
+		 * Message used as fallback in get_message().
+		 *
+		 * @var string
+		 */
+		const FALLBACK_MESSAGE = 'Unknown message';
+
+		/**
+		 * Partner identifier.
+		 *
+		 * @var    string
+		 * @access protected
+		 */
+		protected $partner;
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** INSTANCE, INIT ========================================================================== */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Class constructor: sanitize and set the partner identifier.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @param string $partner Partner identifier.
+		 */
+		public function __construct( $partner ) {
+			$this->partner = self::sanitize_partner( $partner );
+		}
+
+		/**
+		 * Class init.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 */
+		public function init() {
+			if ( ! $this->get_partner() ) {
+				return;
+			}
+
+			if ( ! is_admin() ) {
+				return;
+			}
+
+			if ( ! self::has_imagify_api_key() ) {
+				add_action( 'wp_ajax_' . $this->get_post_action(),    array( $this, 'post_callback' ) );
+				add_action( 'admin_post_' . $this->get_post_action(), array( $this, 'post_callback' ) );
+			}
+
+			if ( self::is_success() || self::is_error() ) {
+				add_action( 'all_admin_notices',    array( __CLASS__, 'error_notice' ) );
+				add_filter( 'removable_query_args', array( __CLASS__, 'add_query_args' ) );
+			}
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** MAIN PUBLIC TOOLS ======================================================================= */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Tell if Imagify's API key is set.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function has_imagify_api_key() {
+			static $has;
+
+			if ( isset( $has ) ) {
+				return $has;
+			}
+
+			if ( function_exists( 'get_imagify_option' ) ) {
+				// Imagify is already installed and activated.
+				$has = (bool) get_imagify_option( 'api_key' );
+				return $has;
+			}
+
+			if ( defined( 'IMAGIFY_API_KEY' ) && IMAGIFY_API_KEY ) {
+				// It's defined in wp-config.php.
+				$has = true;
+				return $has;
+			}
+
+			if ( ! is_multisite() ) {
+				// Monosite: grab the value from the options table.
+				$options = get_option( 'imagify_settings' );
+				$has     = ! empty( $options['api_key'] );
+				return $has;
+			}
+
+			$options = get_site_option( 'imagify_settings' );
+
+			if ( ! empty( $options['api_key'] ) ) {
+				// Multisite: Imagify was activated in the network.
+				$has = true;
+				return $has;
+			}
+
+			// Multisite: Imagify was activated for this site.
+			$options = get_option( 'imagify_settings' );
+			$has     = ! empty( $options['api_key'] );
+			return $has;
+		}
+
+		/**
+		 * Tell if Imagify is activated.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function is_imagify_activated() {
+			return defined( 'IMAGIFY_VERSION' );
+		}
+
+		/**
+		 * Tell if Imagify is installed.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function is_imagify_installed() {
+			if ( self::is_imagify_activated() ) {
+				return true;
+			}
+
+			return file_exists( self::get_imagify_path() );
+		}
+
+		/**
+		 * Tell if Imagify has been successfully installed.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function is_success() {
+			return ! empty( $_GET[ self::SUCCESS_ARG ] ); // WPCS: CSRF ok.
+		}
+
+		/**
+		 * Tell if Imagify install failed.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function is_error() {
+			return ! empty( $_GET[ self::ERROR_ARG ] ); // WPCS: CSRF ok.
+		}
+
+		/**
+		 * Get the URL to install and activate Imagify.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string The URL.
+		 */
+		public function get_post_install_url() {
+			if ( ! $this->get_partner() || ! self::current_user_can() ) {
+				return '';
+			}
+
+			$install_url = admin_url( 'admin-post.php' );
+			$args        = array(
+				'action'           => $this->get_post_action(),
+				'_wpnonce'         => wp_create_nonce( self::NONCE_NAME ),
+				// To make sure we have a referrer.
+				'_wp_http_referer' => rawurlencode( self::get_current_url() ),
+			);
+
+			return add_query_arg( $args, $install_url );
+		}
+
+		/**
+		 * Get the partner identifier.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string Partner identifier.
+		 */
+		public function get_partner() {
+			return $this->partner;
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** HOOKS =================================================================================== */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Post callback to install and activate Imagify.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 */
+		public function post_callback() {
+			if ( ! check_ajax_referer( self::NONCE_NAME, '_wpnonce', false ) ) {
+				$this->error_die();
+			}
+
+			if ( ! self::current_user_can() ) {
+				$this->error_die( 'cant_install' );
+			}
+
+			/**
+			 * Store the partner ID before doing anything.
+			 * If something goes wrong during the plugin installation, the partner ID will still be saved.
+			 */
+			self::store_partner( $this->get_partner() );
+
+			// Install Imagify.
+			$result = $this->install_imagify();
+
+			if ( is_wp_error( $result ) ) {
+				// Install failed.
+				if ( self::doing_ajax() ) {
+					$this->send_json_error( $result );
+				}
+				// Redirect to the plugins search page.
+				$this->error_redirect( $result );
+			}
+
+			// Activate Imagify.
+			$result = $this->activate_imagify();
+
+			if ( is_wp_error( $result ) ) {
+				// Activation failed.
+				if ( self::doing_ajax() ) {
+					$this->send_json_error( $result );
+				}
+				// Redirect to the plugins search page.
+				$this->error_redirect( $result );
+			}
+
+			if ( self::doing_ajax() ) {
+				$this->send_json_success();
+			}
+			// Redirect to the partner's page.
+			$this->success_redirect();
+		}
+
+		/**
+		 * Maybe print an error notice on the plugins install page.
+		 * We add the query argument we use to display an error message.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 */
+		public static function error_notice() {
+			if ( ! self::is_error() ) {
+				// No URL argument.
+				return;
+			}
+
+			$screen = get_current_screen();
+
+			if ( ! $screen || 'plugin-install' !== $screen->id ) {
+				// Not the good page.
+				return;
+			}
+
+			$partner = self::get_stored_partner();
+
+			if ( ! $partner ) {
+				// No partner stored in the database.
+				return;
+			}
+
+			$errors = get_transient( self::ERROR_TRANSIENT_NAME );
+
+			if ( ! $errors ) {
+				// No error messages.
+				return;
+			}
+
+			if ( ! is_wp_error( $errors ) ) {
+				// Invalid value.
+				delete_transient( self::ERROR_TRANSIENT_NAME );
+				return;
+			}
+
+			$errors = $errors->get_error_messages();
+
+			if ( $errors ) {
+				foreach ( $errors as $i => $error ) {
+					if ( self::FALLBACK_MESSAGE === $error ) {
+						unset( $errors[ $i ] );
+					}
+				}
+			}
+
+			if ( ! $errors ) {
+				// Add a generic message.
+				$instance = new self( $partner );
+				$errors[] = $instance->get_message( 'process_failed' );
+			}
+
+			echo '<div class="error notice is-dismissible"><p>' . implode( '<br/>', $errors ) . '</p></div>';
+		}
+
+		/**
+		 * Filter the list of query variables to remove from admin area URLs.
+		 * We add the query arguments we use on success or error.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @see    wp_removable_query_args()
+		 * @author Grégory Viguier
+		 *
+		 * @param  array $removable_query_args An array of query variables to remove from a URL.
+		 * @return array
+		 */
+		public static function add_query_args( $removable_query_args ) {
+			$removable_query_args[] = self::SUCCESS_ARG;
+			$removable_query_args[] = self::ERROR_ARG;
+			return $removable_query_args;
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** INFOS, INSTALL, ACTIVATE ================================================================ */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Get Imagify infos from the repository.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @return object The plugin infos on success. A WP_Error object on failure.
+		 */
+		protected function get_imagify_infos() {
+			static $infos;
+
+			if ( isset( $infos ) ) {
+				return $infos;
+			}
+
+			require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
+
+			// Get Plugin Infos.
+			$infos = plugins_api( 'plugin_information', array(
+				'slug'   => 'imagify',
+				'fields' => array(
+					'short_description' => false,
+					'sections'          => false,
+					'rating'            => false,
+					'ratings'           => false,
+					'downloaded'        => false,
+					'last_updated'      => false,
+					'added'             => false,
+					'tags'              => false,
+					'homepage'          => false,
+					'donate_link'       => false,
+				),
+			) );
+
+			return $infos;
+		}
+
+		/**
+		 * Get the URL to download Imagify.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @return string The URL. An empty string on error.
+		 */
+		protected function get_download_url() {
+			$infos = $this->get_imagify_infos();
+			return ! empty( $infos->download_link ) ? $infos->download_link : '';
+		}
+
+		/**
+		 * Install Imagify.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @return object|null A WP_Object on failure, null on success.
+		 */
+		protected function install_imagify() {
+			if ( self::is_imagify_installed() ) {
+				// Imagify is already installed.
+				return null;
+			}
+
+			$infos = $this->get_imagify_infos();
+
+			if ( is_wp_error( $infos ) ) {
+				return $infos;
+			}
+
+			ob_start();
+			@set_time_limit( 0 );
+
+			require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+
+			$upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
+			$result   = $upgrader->install( $this->get_download_url() );
+
+			ob_end_clean();
+
+			if ( is_wp_error( $result ) ) {
+				return $result;
+			}
+
+			clearstatcache();
+
+			if ( ! self::is_imagify_installed() ) {
+				return new WP_Error( 'process_failed', $this->get_message( 'process_failed' ) );
+			}
+
+			return null;
+		}
+
+		/**
+		 * Activate Imagify.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @return object|null A WP_Object on failure, null on success.
+		 */
+		protected function activate_imagify() {
+			return activate_plugin( self::get_imagify_path(), false, is_multisite() );
+		}
+
+		/**
+		 * Get a message used by the class.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param  string $message_id A message ID.
+		 * @return string             A message.
+		 */
+		protected function get_message( $message_id ) {
+			$messages = array(
+				'success'        => __( 'Plugin installed successfully.' ),
+				'cant_install'   => __( 'Sorry, you are not allowed to install plugins on this site.' ),
+				'not_allowed'    => __( 'Sorry, you are not allowed to do that.' ),
+				'process_failed' => __( 'Plugin install failed.' ),
+				'go_back'        => __( 'Go back' ),
+			);
+
+			/**
+			 * Filter messages used everywhere in the class.
+			 * Default messages are already translated by WordPress.
+			 *
+			 * @since  1.0
+			 * @author Grégory Viguier
+			 *
+			 * @param array $messages Messages.
+			 */
+			$messages = apply_filters( 'imagify_partner_messages_' . $this->get_partner(), $messages );
+
+			return ! empty( $messages[ $message_id ] ) ? $messages[ $message_id ] : self::FALLBACK_MESSAGE;
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** HANDLE SUCCESS ========================================================================== */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Send a JSON response back to an Ajax request, indicating success.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 */
+		protected function send_json_success() {
+			delete_transient( self::ERROR_TRANSIENT_NAME );
+
+			wp_send_json_success( $this->get_message( 'success' ) );
+		}
+
+		/**
+		 * Redirect the user after Imagify is successfully installed and activated.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 */
+		protected function success_redirect() {
+			delete_transient( self::ERROR_TRANSIENT_NAME );
+
+			wp_safe_redirect( esc_url_raw( $this->get_success_redirection_url() ) );
+			die();
+		}
+
+		/**
+		 * Get the URL to redirect the user to after Imagify is successfully installed and activated: the referrer (partner's page URL).
+		 * A "success" argument is added.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string
+		 */
+		public function get_success_redirection_url() {
+			$success_url = add_query_arg( array(
+				self::SUCCESS_ARG => 1,
+				self::ERROR_ARG   => false,
+			), wp_get_referer() );
+
+			/**
+			 * Filter the URL to redirect the user to after Imagify is successfully installed and activated.
+			 * Default is the partner's page URL.
+			 *
+			 * @since  1.0
+			 * @author Grégory Viguier
+			 *
+			 * @param string $success_url The URL.
+			 */
+			return apply_filters( 'imagify_partner_success_url_' . $this->get_partner(), $success_url );
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** HANDLE ERROR ============================================================================ */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Die on error.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param string $message_id An error message ID.
+		 */
+		protected function error_die( $message_id = 'not_allowed' ) {
+			$message = $this->get_message( $message_id );
+
+			if ( self::doing_ajax() ) {
+				$message = new WP_Error( $message_id, $message );
+				$this->send_json_error( $message );
+			}
+
+			if ( wp_get_referer() ) {
+				$message .= '</p><p>';
+				$message .= sprintf( '<a href="%s">%s</a>',
+					esc_url( remove_query_arg( 'updated', wp_get_referer() ) ),
+					$this->get_message( 'go_back' )
+				);
+			}
+
+			wp_die( $message, '', 403 );
+		}
+
+		/**
+		 * Send a JSON response back to an Ajax request, indicating failure.
+		 * This is a backward compatible version of wp_send_json_error(): WP_Error object handling was introduced in WP 4.1.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param mixed $data Data to encode as JSON, then print and die.
+		 */
+		protected function send_json_error( $data ) {
+			if ( is_wp_error( $data ) ) {
+				$result = array();
+				foreach ( $data->errors as $code => $messages ) {
+					foreach ( $messages as $message ) {
+						$result[] = array(
+							'code'    => $code,
+							'message' => $message,
+						);
+					}
+				}
+			} else {
+				$result = $data;
+			}
+
+			wp_send_json_error( $result );
+		}
+
+		/**
+		 * Store an error message in a transient then redirect the user.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param object $error A WP_Error object.
+		 */
+		protected function error_redirect( $error ) {
+			set_transient( self::ERROR_TRANSIENT_NAME, $error, 30 );
+
+			wp_safe_redirect( esc_url_raw( $this->get_error_redirection_url() ) );
+			die();
+		}
+
+		/**
+		 * Get the URL to redirect the user to after Imagify installation failure: the plugins search page URL, searching for Imagify.
+		 * An "error" argument is added, to display an error notice.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string
+		 */
+		public function get_error_redirection_url() {
+			$error_url = 'plugin-install.php?s=imagify&tab=search&type=term&' . self::ERROR_ARG . '=1';
+			$error_url = is_multisite() ? network_admin_url( $error_url ) : admin_url( $error_url );
+
+			/**
+			 * Filter the URL to redirect the user to after Imagify installation failure.
+			 * Default is the plugins search page URL.
+			 *
+			 * @since  1.0
+			 * @author Grégory Viguier
+			 *
+			 * @param string $error_url The URL.
+			 */
+			return apply_filters( 'imagify_partner_error_url_' . $this->get_partner(), $error_url );
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** STORING THE PARTNER ID IN DATABASE ====================================================== */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Get the partner identifier stored in the Database.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string|bool The partner identifier, or false if none is stored.
+		 */
+		public static function get_stored_partner() {
+			$partner = get_option( self::OPTION_NAME );
+
+			if ( $partner && is_string( $partner ) ) {
+				$partner = self::sanitize_partner( $partner );
+			}
+
+			return $partner ? $partner : false;
+		}
+
+		/**
+		 * Delete the partner identifier stored in the Database.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 */
+		public static function delete_stored_partner() {
+			if ( false !== get_option( self::OPTION_NAME ) ) {
+				delete_option( self::OPTION_NAME );
+			}
+		}
+
+		/**
+		 * Store the partner identifier in Database.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param string $partner The partner identifier to store.
+		 */
+		protected static function store_partner( $partner ) {
+			if ( false === get_option( self::OPTION_NAME ) ) {
+				add_option( self::OPTION_NAME, $partner );
+			} else {
+				update_option( self::OPTION_NAME, $partner );
+			}
+		}
+
+		/**
+		 * Sanitize a partner ID.
+		 *
+		 * @since  1.0
+		 * @access protected
+		 * @author Grégory Viguier
+		 *
+		 * @param  string $partner Partner identifier.
+		 * @return string
+		 */
+		protected static function sanitize_partner( $partner ) {
+			return preg_replace( '@[^a-z0-9_-]@', '', strtolower( (string) $partner ) );
+		}
+
+
+		/** ----------------------------------------------------------------------------------------- */
+		/** VARIOUS TOOLS =========================================================================== */
+		/** ----------------------------------------------------------------------------------------- */
+
+		/**
+		 * Get the action.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string Partner identifier.
+		 */
+		public function get_post_action() {
+			return 'install_imagify_from_partner_' . $this->get_partner();
+		}
+
+		/**
+		 * Determines whether the current request is a WordPress Ajax request.
+		 * This is a clone of wp_doing_ajax(), intriduced in WP 4.7.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool True if it's a WordPress Ajax request, false otherwise.
+		 */
+		public static function doing_ajax() {
+			/**
+			 * Filters whether the current request is a WordPress Ajax request.
+			 *
+			 * @since 1.0
+			 *
+			 * @param bool $wp_doing_ajax Whether the current request is a WordPress Ajax request.
+			 */
+			return apply_filters( 'wp_doing_ajax', defined( 'DOING_AJAX' ) && DOING_AJAX );
+		}
+
+		/**
+		 * Get Imagify's file path.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string The file path.
+		 */
+		public static function get_imagify_path() {
+			if ( defined( 'IMAGIFY_FILE' ) ) {
+				return IMAGIFY_FILE;
+			}
+
+			return WP_PLUGIN_DIR . '/imagify/imagify.php';
+		}
+
+		/**
+		 * Tell if the current user can install and activate Imagify.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return bool
+		 */
+		public static function current_user_can() {
+			static $can;
+
+			if ( ! isset( $can ) ) {
+				$can = is_multisite() ? 'manage_network_plugins' : 'install_plugins';
+				$can = current_user_can( $can );
+			}
+
+			return $can;
+		}
+
+		/**
+		 * Get the current URL.
+		 *
+		 * @since  1.0
+		 * @access public
+		 * @author Grégory Viguier
+		 *
+		 * @return string
+		 */
+		public static function get_current_url() {
+			$port = (int) $_SERVER['SERVER_PORT'];
+			$port = 80 !== $port && 443 !== $port ? ( ':' . $port ) : '';
+			$url  = ! empty( $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'] ) ? $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'] : ( ! empty( $_SERVER['REQUEST_URI'] ) ? $_SERVER['REQUEST_URI'] : '' );
+
+			return 'http' . ( is_ssl() ? 's' : '' ) . '://' . $_SERVER['HTTP_HOST'] . $port . $url;
+		}
+	}
+
+endif;
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
new file mode 100644
index 0000000000000000000000000000000000000000..24d7670fe3c181ef9c87c4c1fee158087671854c
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/module.imagify.php
@@ -0,0 +1,82 @@
+<?php
+/*
+{
+	Module: photocrati-imagify,
+	Depends: { photocrati-nextgen_admin }
+}
+*/
+
+define('IMAGELY_IMAGIFY_PARTNER_ID' , 'nextgen-gallery');
+
+require_once('lib' . DIRECTORY_SEPARATOR . 'class-imagify-partner.php');
+
+class M_Imagify extends C_Base_Module
+{
+    protected static $_imagify_client = NULL;
+
+    function define($id = 'pope-module',
+        $name = 'Pope Module',
+        $description = '',
+        $version = '',
+        $uri = '',
+        $author = '',
+        $author_uri = '',
+        $context = FALSE)
+    {
+        parent::define(
+            'photocrati-imagify',
+            'NextGEN Imagify Integration',
+            'NextGen Gallery / Imagify Integration',
+            '3.0.0',
+            'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
+            'Imagely',
+            'https://www.imagely.com'
+        );
+    }
+
+    static function get_imagify_client()
+    {
+		if (!self::$_imagify_client) {
+			self::$_imagify_client = new Imagify_Partner(IMAGELY_IMAGIFY_PARTNER_ID);
+			self::$_imagify_client->init();
+		}
+		return self::$_imagify_client;
+    }
+
+    function _register_adapters()
+    {
+        // TODO: check for PHP 5.2
+        if (is_admin())
+        {
+            $this->get_registry()
+                 ->add_adapter('I_Page_Manager', 'A_Imagify_Admin_Page');
+            $this->get_registry()
+                 ->add_adapter('I_NextGen_Admin_Page', 'A_Imagify_Admin_Page_Controller', 'ngg_imagify');
+        }
+    }
+
+    function _register_hooks()
+    {
+	    if (($client = self::get_imagify_client())) {
+		    add_filter(
+			    'imagify_partner_success_url_' . $client->get_partner(),
+			    array($this, 'set_imagify_success_redirect_url')
+		    );
+	    }
+    }
+
+    function set_imagify_success_redirect_url($url)
+    {
+        return get_admin_url(NULL, 'admin.php?page=imagify-ngg-bulk-optimization');
+    }
+
+    function get_type_list()
+    {
+        return array(
+            'A_Imagify_Admin_Page_Controller' => 'adapter.imagify_admin_page_controller.php',
+            'A_Imagify_Admin_Page' => 'adapter.imagify_admin_page.php'
+        );
+    }
+}
+
+new M_Imagify;
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/package.module.imagify.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/package.module.imagify.php
new file mode 100644
index 0000000000000000000000000000000000000000..687252ca1e323363229b7f7d1f16aee5d0efed47
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/package.module.imagify.php
@@ -0,0 +1,83 @@
+<?php
+/**
+ * Class A_Imagify_Admin_Page
+ * @mixin C_NextGen_Admin_Page_Manager
+ * @adapts I_Page_Manager
+ */
+class A_Imagify_Admin_Page extends Mixin
+{
+    function setup()
+    {
+        // This hides the imagify page from the menu while still allowing it to display
+        if (defined('IMAGIFY_VERSION')) {
+            $parent = NULL;
+        } elseif (is_multisite()) {
+            $parent = NULL;
+        } else {
+            $parent = NGGFOLDER;
+        }
+        $this->object->add('ngg_imagify', array('adapter' => 'A_Imagify_Admin_Page_Controller', 'parent' => $parent));
+        return $this->call_parent('setup');
+    }
+}
+class A_Imagify_Admin_Page_Controller extends Mixin
+{
+    function enqueue_backend_resources()
+    {
+        $this->call_parent('enqueue_backend_resources');
+        wp_enqueue_style('imagify_upgrade_page', $this->get_static_url('photocrati-imagify#style.css'), FALSE, NGG_SCRIPT_VERSION);
+    }
+    function get_page_title()
+    {
+        return __('Image Optimization', 'nggallery');
+    }
+    function get_required_permission()
+    {
+        // TODO: must be able to install plugins
+        return 'NextGEN Change options';
+    }
+    function get_i18n_strings()
+    {
+        $i18n = new stdClass();
+        $i18n->title = __('Image Optimization');
+        $i18n->message = __('NextGEN Gallery partners with Imagify for best-in-class image optimization. Compress images to make galleries faster, all while maintaining image quality.', 'nggallery');
+        $i18n->confirmation = '';
+        $i18n->button = '';
+        $i18n->third_party_message = __('Note: Imagify is a third party plugin. It is not built or supported by NextGEN Gallery.', 'nggallery');
+        // $i18n->review_message = __( 'For more on why we recommend compressing images and why we recommend Imagify, check out our ', 'nggallery' );
+        $i18n->more_message = __('More on Imagify:', 'nggallery');
+        $i18n->review_message = __('More on why we recommend Imagify:', 'nggallery');
+        $i18n->imagify_plugin_link = __('Imagify Plugin Page', 'nggallery');
+        $i18n->imagify_website_link = __('Imagify Website', 'nggallery');
+        $i18n->imagify_review_link = __('Our Review of Image Compression Plugins', 'nggallery');
+        if (Imagify_Partner::is_imagify_activated()) {
+            if (Imagify_Partner::is_success()) {
+                $i18n->confirmation = __('Imagify has been successfully activated', 'nggallery');
+            } else {
+                $i18n->confirmation = __('Imagify is already activated', 'nggallery');
+            }
+        } else {
+            if (Imagify_Partner::is_imagify_installed()) {
+                $i18n->button = __('Activate Imagify', 'nggallery');
+            } else {
+                $i18n->button = __('Install and activate Imagify', 'nggallery');
+            }
+        }
+        return $i18n;
+    }
+    function index_action()
+    {
+        $this->object->enqueue_backend_resources();
+        $key = C_Photocrati_Transient_Manager::create_key('ngg_imagify_page', 'html');
+        if ($html = C_Photocrati_Transient_Manager::fetch($key, FALSE)) {
+            echo $html;
+        } else {
+            $imagify_install_url = NULL;
+            if ($client = M_Imagify::get_imagify_client()) {
+                $imagify_install_url = $client->get_post_install_url();
+            }
+            print $this->render_view('photocrati-imagify#admin_page', array('i18n' => $this->get_i18n_strings(), 'is_imagify_activated' => Imagify_Partner::is_imagify_activated(), 'imagify_install_url' => $imagify_install_url, 'imagify_plugin_url' => 'https://wordpress.org/plugins/imagify/', 'imagify_website_url' => 'https://imagify.io/?utm_source=nextgen-gallery&utm_campaign=plugin_partner&utm_medium=partnership', 'imagify_review_url' => 'https://www.imagely.com/image-optimization-plugin-comparison/'), TRUE);
+            C_Photocrati_Transient_Manager::update($key, $html);
+        }
+    }
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/imagify_preview.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/imagify_preview.png
new file mode 100644
index 0000000000000000000000000000000000000000..4be5b06841e2223a173b09ef10cef14535484791
Binary files /dev/null and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/imagify_preview.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..f3c7044a19c6b8a4be2afe6daa42b320352137dc
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.css
@@ -0,0 +1,92 @@
+.gallery_page_ngg_imagify_ad #update-nag, 
+.gallery_page_ngg_imagify_ad .update-nag {
+    display:none;
+}
+
+#imagify_upgrade_page .about-text {
+    margin: 40px 0 30px 10px;
+    width: 98%;
+}
+
+#imagify_upgrade_page .imagify-content {
+    width: 38%;
+    max-width: 400px;
+    float: left;
+}
+
+#imagify_upgrade_page p {
+    min-height: auto;
+    margin: 5px 0;
+    max-width: none;
+    color: #555d66;
+    box-sizing: border-box;
+    font-size: 20px;
+}
+
+#imagify_upgrade_page .imagify-information {
+    font-size: 20px;
+    margin: 30px 0 24px;
+}
+
+#imagify_upgrade_page .imagify-information a {
+    text-decoration: none;
+}
+
+#imagify_upgrade_page .imagify-third-party {
+    font-size: 14px;
+    color: #000;
+    font-weight: bold;
+    margin: 0;
+    width: 300px;
+    max-width: 100%;
+}
+
+#imagify_upgrade_page .feature-section {
+    float: left;
+    width: 58%;
+    max-width: 800px;
+    box-sizing: border-box;
+    margin-left: 4%;
+    padding: 0;
+    border: 1px solid #eee;
+}
+
+#imagify_upgrade_page img {
+    max-width: 100%;
+}
+
+#imagify_upgrade_page a.button-primary {
+    text-transform: uppercase;
+    height: 57px !important;
+    width: 300px !important;
+    max-width: 100%;
+    padding: 12px 22px !important;
+    text-align: center;
+    margin: 40px 0 20px;
+    font-weight: 700;
+}
+
+@media (max-width: 1150px) {
+    #imagify_upgrade_page p {
+        font-size: 20px;
+    }
+    #imagify_upgrade_page .about-text {
+        margin: 20px 0 40px;
+    }
+    #imagify_upgrade_page .imagify-content {
+        width: 100%;
+        max-width: 100%;
+        float: none;
+    }
+    #imagify_upgrade_page .imagify-information {
+        font-size: 16px;
+    }
+    #imagify_upgrade_page .feature-section {
+        float: none;
+        width: 100%;
+        margin: 40px 0 0;
+    }
+    #imagify_upgrade_page a.button-primary {
+        margin: 40px 0 30px;
+    }
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.min.css
new file mode 100644
index 0000000000000000000000000000000000000000..f17432c931a7abfac2c8f3785f6cb8c779da07ed
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/static/style.min.css
@@ -0,0 +1 @@
+.gallery_page_ngg_imagify_ad #update-nag,.gallery_page_ngg_imagify_ad .update-nag{display:none}#imagify_upgrade_page .about-text{margin:40px 0 30px 10px;width:98%}#imagify_upgrade_page .imagify-content{width:38%;max-width:400px;float:left}#imagify_upgrade_page p{min-height:auto;margin:5px 0;max-width:none;color:#555d66;box-sizing:border-box;font-size:20px}#imagify_upgrade_page .imagify-information{font-size:20px;margin:30px 0 24px}#imagify_upgrade_page .imagify-information a{text-decoration:none}#imagify_upgrade_page .imagify-third-party{font-size:14px;color:#000;font-weight:700;margin:0;width:300px;max-width:100%}#imagify_upgrade_page .feature-section{float:left;width:58%;max-width:800px;box-sizing:border-box;margin-left:4%;padding:0;border:1px solid #eee}#imagify_upgrade_page img{max-width:100%}#imagify_upgrade_page a.button-primary{text-transform:uppercase;height:57px!important;width:300px!important;max-width:100%;padding:12px 22px!important;text-align:center;margin:40px 0 20px;font-weight:700}@media (max-width:1150px){#imagify_upgrade_page p{font-size:20px}#imagify_upgrade_page .about-text{margin:20px 0 40px}#imagify_upgrade_page .imagify-content{width:100%;max-width:100%;float:none}#imagify_upgrade_page .imagify-information{font-size:16px}#imagify_upgrade_page .feature-section{float:none;width:100%;margin:40px 0 0}#imagify_upgrade_page a.button-primary{margin:40px 0 30px}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/templates/admin_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/templates/admin_page.php
new file mode 100644
index 0000000000000000000000000000000000000000..cd940c5a8c252065893297e7544de46f8e0e9b87
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/imagify/templates/admin_page.php
@@ -0,0 +1,40 @@
+<div class="wrap" id="ngg_page_content" >
+
+    <div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php esc_html_e($i18n->title) ?></h3>
+    </div>
+
+    <div class='ngg_page_content_main'>
+
+        <div id='imagify_upgrade_page' class="wrap nextgen_plus">
+
+            <div class="about-text">
+                    <?php if ($is_imagify_activated): ?>
+                        <?php esc_html_e($i18n->confirmation); ?>
+                    <?php elseif ($imagify_install_url): ?>
+                        <div class="imagify-content">
+                            <p class="imagify-main-message"><?php esc_html_e($i18n->message); ?></p>
+                            <p class="imagify-information"><?php esc_html_e($i18n->more_message); ?><br>
+                                <?php print '<a target="_blank" href="' . $imagify_plugin_url . '">' . $i18n->imagify_plugin_link . '</a>'; ?><br> 
+                                <?php print '<a target="_blank" href="' . $imagify_website_url . '">' . $i18n->imagify_website_link . '</a>'; ?><br>
+                                <?php print '<a target="_blank" href="' . $imagify_review_url . '">' . $i18n->imagify_review_link . '</a>'; ?><br>
+                            </p>
+                            <p><?php print '<a class="button-primary" href="' . $imagify_install_url . '">' . $i18n->button . '</a>'; ?></p>
+                            <p class="imagify-third-party"><?php esc_html_e($i18n->third_party_message); ?></p>
+                        </div>
+                        <div class="feature-section">
+                            <img src="https://f001.backblazeb2.com/file/nextgen-gallery/imagify_preview.png"></iframe>
+                        </div>
+
+                        <div class="clear"></div>
+
+                    <?php endif ?>    
+
+            </div>
+
+        </div>
+
+    </div> 
+
+
+
+</div>
\ No newline at end of file
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 afb537bdfef26a95d6ad18437dd14b0e92bbfe55..3a87ab769aea25641305a90b76758a342cbc7e5e 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",
-            '0.17',
+            '3.0.0',
             '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/package.module.lightbox.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php
index 7675365dc830213e390e5a40705c9ab71e05c601..1b6d8c9ff293126e6b99f97030c8072d7939d315 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php
@@ -318,7 +318,7 @@ class C_NGG_Lightbox extends C_Component
     }
     function initialize($name = '', $properties = array())
     {
-        parent::initialize($name);
+        parent::initialize();
         $properties['name'] = $name;
         foreach ($properties as $k => $v) {
             $this->{$k} = $v;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.min.js
index ace85b70e83fd6399c26f1b217fefc539048d751..c10f01538dcb31c0358f9b7f7c3b39ce756d5d63 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.min.js
@@ -1 +1 @@
-eval(function(t,e,c,b,d,s){if(d=function(t){return(t<e?"":d(parseInt(t/e)))+((t%=e)>35?String.fromCharCode(t+29):t.toString(36))},!"".replace(/^/,String)){for(;c--;)s[d(c)]=b[c]||d(c);b=[function(t){return s[t]}],d=function(){return"\\w+"},c=1}for(;c--;)b[c]&&(t=t.replace(new RegExp("\\b"+d(c)+"\\b","g"),b[c]));return t}("h.i['1a']=h.i['z'];h.O(h.i,{y:'D',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});",62,74,"||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce".split("|"),0,{}));
\ No newline at end of file
+eval(function(t,e,c,b,d,s){if(d=function(t){return(t<62?"":d(parseInt(t/62)))+((t%=62)>35?String.fromCharCode(t+29):t.toString(36))},!"".replace(/^/,String)){for(;c--;)s[d(c)]=b[c]||d(c);b=[function(t){return s[t]}],d=function(){return"\\w+"},c=1}for(;c--;)b[c]&&(t=t.replace(new RegExp("\\b"+d(c)+"\\b","g"),b[c]));return t}("h.i['1a']=h.i['z'];h.O(h.i,{y:'D',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});",0,74,"||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce".split("|"),0,{}));
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.css
index 38812912d220f672cd4748d0c17e62ffdfc72083..c7b4397fe4e5771f5a051be5b66cb5c06a448f07 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.css
@@ -1 +1 @@
-#fancybox-loading div,#fancybox-overlay,#fancybox-wrap{position:absolute;top:0;left:0}#fancybox-bg-ne,#fancybox-bg-nw,#fancybox-bg-se,#fancybox-bg-sw,#fancybox-left-ico,#fancybox-loading div,#fancybox-right-ico{background-image:url(fancybox.png)}#fancybox-frame,#fancybox-img{width:100%;border:none;height:100%}#fancybox-loading{position:fixed;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;cursor:pointer;overflow:hidden;z-index:1104;display:none}#fancybox-loading div{width:40px;height:480px}#fancybox-overlay{width:100%;z-index:1100;display:none}#fancybox-tmp{padding:0;margin:0;border:0;overflow:auto;display:none}#fancybox-wrap{padding:20px;z-index:1101;outline:0;display:none}#fancybox-outer{position:relative;width:100%;height:100%;background:#fff}#fancybox-content{width:0;height:0;padding:0;outline:0;position:relative;overflow:hidden;z-index:1102;border:0 solid #fff}#fancybox-hide-sel-frame{position:absolute;top:0;left:0;width:100%;background:0 0;z-index:1101}#fancybox-close{position:absolute;top:-15px;right:-15px;width:30px;height:30px;background:url(fancybox.png) -40px 0;cursor:pointer;z-index:1103;display:none}#fancybox-error{color:#444;font:400 12px/20px Arial;padding:14px;margin:0}#fancybox-img{padding:0;margin:0;outline:0;line-height:0;vertical-align:top}#fancybox-frame{display:block}#fancybox-left,#fancybox-right{position:absolute;bottom:0;height:100%;width:35%;cursor:pointer;outline:0;background:url(blank.gif);z-index:1102;display:none}#fancybox-left{left:0}#fancybox-right{right:0}#fancybox-left-ico,#fancybox-right-ico{position:absolute;top:50%;left:-9999px;width:30px;height:30px;margin-top:-15px;cursor:pointer;z-index:1102;display:block}#fancybox-left-ico{background-position:-40px -30px}#fancybox-right-ico{background-position:-40px -60px}#fancybox-left:hover,#fancybox-right:hover{visibility:visible}#fancybox-left:hover span{left:20px}#fancybox-right:hover span{left:auto;right:20px}.fancybox-bg{position:absolute;padding:0;margin:0;border:0;width:20px;height:20px;z-index:1001}#fancybox-bg-n,#fancybox-bg-s{left:0;width:100%;background-image:url(fancybox-x.png)}#fancybox-bg-e,#fancybox-bg-w{top:0;height:100%;background-image:url(fancybox-y.png)}#fancybox-bg-n{top:-20px}#fancybox-bg-ne{top:-20px;right:-20px;background-position:-40px -162px}#fancybox-bg-e{right:-20px;background-position:-20px 0}#fancybox-bg-se{bottom:-20px;right:-20px;background-position:-40px -182px}#fancybox-bg-s{bottom:-20px;background-position:0 -20px}#fancybox-bg-sw{bottom:-20px;left:-20px;background-position:-40px -142px}#fancybox-bg-w{left:-20px}#fancybox-bg-nw{top:-20px;left:-20px;background-position:-40px -122px}#fancybox-title{font-family:Helvetica;font-size:12px;z-index:1102}.fancybox-title-inside{padding-bottom:10px;text-align:center;color:#333;background:#fff;position:relative}.fancybox-title-outside{padding-top:10px;color:#fff}.fancybox-title-over{position:absolute;bottom:0;left:0;color:#FFF;text-align:left}#fancybox-title-over{padding:10px;background-image:url(fancy_title_over.png);display:block}.fancybox-title-float{position:absolute;left:0;bottom:-20px;height:32px}#fancybox-title-float-wrap{border:none;border-collapse:collapse;width:auto}#fancybox-title-float-wrap td{border:none;white-space:nowrap}#fancybox-title-float-left{padding:0 0 0 15px;background:url(fancybox.png) -40px -90px no-repeat}#fancybox-title-float-main{color:#FFF;line-height:29px;font-weight:700;padding:0 0 3px;background:url(fancybox-x.png) 0 -40px}#fancybox-title-float-right{padding:0 0 0 15px;background:url(fancybox.png) -55px -90px no-repeat}.fancybox-ie6 #fancybox-close{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale')}.fancybox-ie6 #fancybox-left-ico{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale')}.fancybox-ie6 #fancybox-right-ico{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale')}.fancybox-ie6 #fancybox-title-over{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale');zoom:1}.fancybox-ie6 #fancybox-title-float-left{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale')}.fancybox-ie6 #fancybox-title-float-main{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale')}.fancybox-ie6 #fancybox-title-float-right{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale')}#fancybox-hide-sel-frame,.fancybox-ie6 #fancybox-bg-e,.fancybox-ie6 #fancybox-bg-w,.fancybox-ie6 #fancybox-left,.fancybox-ie6 #fancybox-right{height:expression(this.parentNode.clientHeight + "px")}#fancybox-loading.fancybox-ie6{position:absolute;margin-top:0;top:expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px')}#fancybox-loading.fancybox-ie6 div{background:0 0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale')}.fancybox-ie .fancybox-bg{background:0 0!important}.fancybox-ie #fancybox-bg-n{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-ne{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-e{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-se{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-s{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-sw{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-w{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale')}.fancybox-ie #fancybox-bg-nw{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale')}#fancybox-content,#fancybox-outer,#fancybox-wrap{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}
\ No newline at end of file
+#fancybox-loading{position:fixed;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;cursor:pointer;overflow:hidden;z-index:1104;display:none}#fancybox-loading div{position:absolute;top:0;left:0;width:40px;height:480px;background-image:url(fancybox.png)}#fancybox-overlay{position:absolute;top:0;left:0;width:100%;z-index:1100;display:none}#fancybox-tmp{padding:0;margin:0;border:0;overflow:auto;display:none}#fancybox-wrap{position:absolute;top:0;left:0;padding:20px;z-index:1101;outline:0;display:none}#fancybox-outer{position:relative;width:100%;height:100%;background:#fff}#fancybox-content{width:0;height:0;padding:0;outline:0;position:relative;overflow:hidden;z-index:1102;border:0 solid #fff}#fancybox-hide-sel-frame{position:absolute;top:0;left:0;width:100%;height:100%;background:0 0;z-index:1101}#fancybox-close{position:absolute;top:-15px;right:-15px;width:30px;height:30px;background:transparent url(fancybox.png) -40px 0;cursor:pointer;z-index:1103;display:none}#fancybox-error{color:#444;font:normal 12px/20px Arial;padding:14px;margin:0}#fancybox-img{width:100%;height:100%;padding:0;margin:0;border:none;outline:0;line-height:0;vertical-align:top}#fancybox-frame{width:100%;height:100%;border:none;display:block}#fancybox-left,#fancybox-right{position:absolute;bottom:0;height:100%;width:35%;cursor:pointer;outline:0;background:transparent url(blank.gif);z-index:1102;display:none}#fancybox-left{left:0}#fancybox-right{right:0}#fancybox-left-ico,#fancybox-right-ico{position:absolute;top:50%;left:-9999px;width:30px;height:30px;margin-top:-15px;cursor:pointer;z-index:1102;display:block}#fancybox-left-ico{background-image:url(fancybox.png);background-position:-40px -30px}#fancybox-right-ico{background-image:url(fancybox.png);background-position:-40px -60px}#fancybox-left:hover,#fancybox-right:hover{visibility:visible}#fancybox-left:hover span{left:20px}#fancybox-right:hover span{left:auto;right:20px}.fancybox-bg{position:absolute;padding:0;margin:0;border:0;width:20px;height:20px;z-index:1001}#fancybox-bg-n{top:-20px;left:0;width:100%;background-image:url(fancybox-x.png)}#fancybox-bg-ne{top:-20px;right:-20px;background-image:url(fancybox.png);background-position:-40px -162px}#fancybox-bg-e{top:0;right:-20px;height:100%;background-image:url(fancybox-y.png);background-position:-20px 0}#fancybox-bg-se{bottom:-20px;right:-20px;background-image:url(fancybox.png);background-position:-40px -182px}#fancybox-bg-s{bottom:-20px;left:0;width:100%;background-image:url(fancybox-x.png);background-position:0 -20px}#fancybox-bg-sw{bottom:-20px;left:-20px;background-image:url(fancybox.png);background-position:-40px -142px}#fancybox-bg-w{top:0;left:-20px;height:100%;background-image:url(fancybox-y.png)}#fancybox-bg-nw{top:-20px;left:-20px;background-image:url(fancybox.png);background-position:-40px -122px}#fancybox-title{font-family:Helvetica;font-size:12px;z-index:1102}.fancybox-title-inside{padding-bottom:10px;text-align:center;color:#333;background:#fff;position:relative}.fancybox-title-outside{padding-top:10px;color:#fff}.fancybox-title-over{position:absolute;bottom:0;left:0;color:#fff;text-align:left}#fancybox-title-over{padding:10px;background-image:url(fancy_title_over.png);display:block}.fancybox-title-float{position:absolute;left:0;bottom:-20px;height:32px}#fancybox-title-float-wrap{border:none;border-collapse:collapse;width:auto}#fancybox-title-float-wrap td{border:none;white-space:nowrap}#fancybox-title-float-left{padding:0 0 0 15px;background:url(fancybox.png) -40px -90px no-repeat}#fancybox-title-float-main{color:#fff;line-height:29px;font-weight:700;padding:0 0 3px 0;background:url(fancybox-x.png) 0 -40px}#fancybox-title-float-right{padding:0 0 0 15px;background:url(fancybox.png) -55px -90px no-repeat}.fancybox-ie6 #fancybox-close{background:0 0}.fancybox-ie6 #fancybox-left-ico{background:0 0}.fancybox-ie6 #fancybox-right-ico{background:0 0}.fancybox-ie6 #fancybox-title-over{background:0 0;zoom:1}.fancybox-ie6 #fancybox-title-float-left{background:0 0}.fancybox-ie6 #fancybox-title-float-main{background:0 0}.fancybox-ie6 #fancybox-title-float-right{background:0 0}#fancybox-hide-sel-frame,.fancybox-ie6 #fancybox-bg-e,.fancybox-ie6 #fancybox-bg-w,.fancybox-ie6 #fancybox-left,.fancybox-ie6 #fancybox-right{height:expression(this.parentNode.clientHeight + "px")}#fancybox-loading.fancybox-ie6{position:absolute;margin-top:0;top:expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px')}#fancybox-loading.fancybox-ie6 div{background:0 0}.fancybox-ie .fancybox-bg{background:0 0!important}#fancybox-content,#fancybox-outer,#fancybox-wrap{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.js
index ee1a58b05a7f37cf97e0792d987d4629342ba89a..dce2ad42567b93b70237acd5ef477eae94c28419 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.min.js
@@ -1 +1 @@
-!function(t){var e,i,n,a,o,d,c,r,s,h,l,f,p,g=0,b={},u=[],y=0,w={},v=[],x=null,m=new Image,I=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,C=/[^\.]\.(swf)\s*$/i,k=1,O=0,j="",T=!1,S=t.extend(t("<div/>")[0],{prop:0}),A=t.browser.msie&&t.browser.version<7&&!window.XMLHttpRequest,D=function(){i.hide(),m.onerror=m.onload=null,x&&x.abort(),e.empty()},F=function(){return!1===b.onError(u,g,b)?(i.hide(),void(T=!1)):(b.titleShow=!1,b.width="auto",b.height="auto",e.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>'),void N())},E=function(){var n,a,o,c,r,s,h=u[g];if(D(),b=t.extend({},t.fn.fancybox.defaults,"undefined"==typeof t(h).data("fancybox")?b:t(h).data("fancybox")),s=b.onStart(u,g,b),s===!1)return void(T=!1);if("object"==typeof s&&(b=t.extend(b,s)),o=b.title||(h.nodeName?t(h).attr("title"):h.title)||"",h.nodeName&&!b.orig&&(b.orig=t(h).children("img:first").length?t(h).children("img:first"):t(h)),""===o&&b.orig&&b.titleFromAlt&&(o=b.orig.attr("alt")),n=b.href||(h.nodeName?t(h).attr("href"):h.href)||null,(/^(?:javascript)/i.test(n)||"#"==n)&&(n=null),b.type?(a=b.type,n||(n=b.content)):b.content?a="html":n&&(a=n.match(I)?"image":n.match(C)?"swf":t(h).hasClass("iframe")?"iframe":0===n.indexOf("#")?"inline":"ajax"),!a)return void F();switch("inline"==a&&(h=n.substr(n.indexOf("#")),a=t(h).length>0?"inline":"ajax"),b.type=a,b.href=n,b.title=o,b.autoDimensions&&("html"==b.type||"inline"==b.type||"ajax"==b.type?(b.width="auto",b.height="auto"):b.autoDimensions=!1),b.modal&&(b.overlayShow=!0,b.hideOnOverlayClick=!1,b.hideOnContentClick=!1,b.enableEscapeButton=!1,b.showCloseButton=!1),b.padding=parseInt(b.padding,10),b.margin=parseInt(b.margin,10),e.css("padding",b.padding+b.margin),t(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){t(this).replaceWith(d.children())}),a){case"html":e.html(b.content),N();break;case"inline":if(t(h).parent().is("#fancybox-content")===!0)return void(T=!1);t('<div class="fancybox-inline-tmp" />').hide().insertBefore(t(h)).bind("fancybox-cleanup",function(){t(this).replaceWith(d.children())}).bind("fancybox-cancel",function(){t(this).replaceWith(e.children())}),t(h).appendTo(e),N();break;case"image":T=!1,t.fancybox.showActivity(),m=new Image,m.onerror=function(){F()},m.onload=function(){T=!0,m.onerror=m.onload=null,B()},m.src=n;break;case"swf":b.scrolling="no",c='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+b.width+'" height="'+b.height+'"><param name="movie" value="'+n+'"></param>',r="",t.each(b.swf,function(t,e){c+='<param name="'+t+'" value="'+e+'"></param>',r+=" "+t+'="'+e+'"'}),c+='<embed src="'+n+'" type="application/x-shockwave-flash" width="'+b.width+'" height="'+b.height+'"'+r+"></embed></object>",e.html(c),N();break;case"ajax":T=!1,t.fancybox.showActivity(),b.ajax.win=b.ajax.success,x=t.ajax(t.extend({},b.ajax,{url:n,data:b.ajax.data||{},error:function(t,e,i){t.status>0&&F()},success:function(t,a,o){var d="object"==typeof o?o:x;if(200==d.status){if("function"==typeof b.ajax.win){if(s=b.ajax.win(n,t,a,o),s===!1)return void i.hide();"string"!=typeof s&&"object"!=typeof s||(t=s)}e.html(t),N()}}}));break;case"iframe":P()}},N=function(){var i=b.width,n=b.height;i=i.toString().indexOf("%")>-1?parseInt((t(window).width()-2*b.margin)*parseFloat(i)/100,10)+"px":"auto"==i?"auto":i+"px",n=n.toString().indexOf("%")>-1?parseInt((t(window).height()-2*b.margin)*parseFloat(n)/100,10)+"px":"auto"==n?"auto":n+"px",e.wrapInner('<div style="width:'+i+";height:"+n+";overflow: "+("auto"==b.scrolling?"auto":"yes"==b.scrolling?"scroll":"hidden")+';position:relative;"></div>'),b.width=e.width(),b.height=e.height(),P()},B=function(){b.width=m.width,b.height=m.height,t("<img />").attr({id:"fancybox-img",src:m.src,alt:b.title}).appendTo(e),P()},P=function(){var o,l;return i.hide(),a.is(":visible")&&!1===w.onCleanup(v,y,w)?(t.event.trigger("fancybox-cancel"),void(T=!1)):(T=!0,t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),a.is(":visible")&&"outside"!==w.titlePosition&&a.css("height",a.height()),v=u,y=g,w=b,w.overlayShow?(n.css({"background-color":w.overlayColor,opacity:w.overlayOpacity,cursor:w.hideOnOverlayClick?"pointer":"auto",height:t(document).height()}),n.is(":visible")||(A&&t("select:not(#fancybox-tmp select)").filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"}),n.show())):n.hide(),p=q(),M(),a.is(":visible")?(t(c.add(s).add(h)).hide(),o=a.position(),f={top:o.top,left:o.left,width:a.width(),height:a.height()},l=f.width==p.width&&f.height==p.height,void d.fadeTo(w.changeFade,.3,function(){var i=function(){d.html(e.contents()).fadeTo(w.changeFade,1,H)};t.event.trigger("fancybox-change"),d.empty().removeAttr("filter").css({"border-width":w.padding,width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}),l?i():(S.prop=0,t(S).animate({prop:1},{duration:w.changeSpeed,easing:w.easingChange,step:K,complete:i}))})):(a.removeAttr("style"),d.css("border-width",w.padding),"elastic"==w.transitionIn?(f=X(),d.html(e.contents()),a.show(),w.opacity&&(p.opacity=0),S.prop=0,void t(S).animate({prop:1},{duration:w.speedIn,easing:w.easingIn,step:K,complete:H})):("inside"==w.titlePosition&&O>0&&r.show(),d.css({width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}).html(e.contents()),void a.css(p).fadeIn("none"==w.transitionIn?0:w.speedIn,H))))},L=function(t){return!(!t||!t.length)&&("float"==w.titlePosition?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+t+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+w.titlePosition+'">'+t+"</div>")},M=function(){if(j=w.title||"",O=0,r.empty().removeAttr("style").removeClass(),w.titleShow===!1)return void r.hide();if(j=t.isFunction(w.titleFormat)?w.titleFormat(j,v,y,w):L(j),!j||""===j)return void r.hide();switch(r.addClass("fancybox-title-"+w.titlePosition).html(j).appendTo("body").show(),w.titlePosition){case"inside":r.css({width:p.width-2*w.padding,marginLeft:w.padding,marginRight:w.padding}),O=r.outerHeight(!0),r.appendTo(o),p.height+=O;break;case"over":r.css({marginLeft:w.padding,width:p.width-2*w.padding,bottom:w.padding}).appendTo(o);break;case"float":r.css("left",parseInt((r.width()-p.width-40)/2,10)*-1).appendTo(a);break;default:r.css({width:p.width-2*w.padding,paddingLeft:w.padding,paddingRight:w.padding}).appendTo(a)}r.hide()},z=function(){return(w.enableEscapeButton||w.enableKeyboardNav)&&t(document).bind("keydown.fb",function(e){27==e.keyCode&&w.enableEscapeButton?(e.preventDefault(),t.fancybox.close()):37!=e.keyCode&&39!=e.keyCode||!w.enableKeyboardNav||"INPUT"===e.target.tagName||"TEXTAREA"===e.target.tagName||"SELECT"===e.target.tagName||(e.preventDefault(),t.fancybox[37==e.keyCode?"prev":"next"]())}),w.showNavArrows?((w.cyclic&&v.length>1||0!==y)&&s.show(),void((w.cyclic&&v.length>1||y!=v.length-1)&&h.show())):(s.hide(),void h.hide())},H=function(){t.support.opacity||(d.get(0).style.removeAttribute("filter"),a.get(0).style.removeAttribute("filter")),b.autoDimensions&&d.css("height","auto"),a.css("height","auto"),j&&j.length&&r.show(),w.showCloseButton&&c.show(),z(),w.hideOnContentClick&&d.bind("click",t.fancybox.close),w.hideOnOverlayClick&&n.bind("click",t.fancybox.close),t(window).bind("resize.fb",t.fancybox.resize),w.centerOnScroll&&t(window).bind("scroll.fb",t.fancybox.center),"iframe"==w.type&&t('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(t.browser.msie?'allowtransparency="true""':"")+' scrolling="'+b.scrolling+'" src="'+w.href+'"></iframe>').appendTo(d),a.show(),T=!1,t.fancybox.center(),w.onComplete(v,y,w),R()},R=function(){var t,e;v.length-1>y&&(t=v[y+1].href,"undefined"!=typeof t&&t.match(I)&&(e=new Image,e.src=t)),y>0&&(t=v[y-1].href,"undefined"!=typeof t&&t.match(I)&&(e=new Image,e.src=t))},K=function(t){var e={width:parseInt(f.width+(p.width-f.width)*t,10),height:parseInt(f.height+(p.height-f.height)*t,10),top:parseInt(f.top+(p.top-f.top)*t,10),left:parseInt(f.left+(p.left-f.left)*t,10)};"undefined"!=typeof p.opacity&&(e.opacity=t<.5?.5:t),a.css(e),d.css({width:e.width-2*w.padding,height:e.height-O*t-2*w.padding})},W=function(){return[t(window).width()-2*w.margin,t(window).height()-2*w.margin,t(document).scrollLeft()+w.margin,t(document).scrollTop()+w.margin]},q=function(){var t,e=W(),i={},n=w.autoScale,a=2*w.padding;return w.width.toString().indexOf("%")>-1?i.width=parseInt(e[0]*parseFloat(w.width)/100,10):i.width=w.width+a,w.height.toString().indexOf("%")>-1?i.height=parseInt(e[1]*parseFloat(w.height)/100,10):i.height=w.height+a,n&&(i.width>e[0]||i.height>e[1])&&("image"==b.type||"swf"==b.type?(t=w.width/w.height,i.width>e[0]&&(i.width=e[0],i.height=parseInt((i.width-a)/t+a,10)),i.height>e[1]&&(i.height=e[1],i.width=parseInt((i.height-a)*t+a,10))):(i.width=Math.min(i.width,e[0]),i.height=Math.min(i.height,e[1]))),i.top=parseInt(Math.max(e[3]-20,e[3]+.5*(e[1]-i.height-40)),10),i.left=parseInt(Math.max(e[2]-20,e[2]+.5*(e[0]-i.width-40)),10),i},Q=function(t){var e=t.offset();return e.top+=parseInt(t.css("paddingTop"),10)||0,e.left+=parseInt(t.css("paddingLeft"),10)||0,e.top+=parseInt(t.css("border-top-width"),10)||0,e.left+=parseInt(t.css("border-left-width"),10)||0,e.width=t.width(),e.height=t.height(),e},X=function(){var e,i,n=!!b.orig&&t(b.orig),a={};return n&&n.length?(e=Q(n),a={width:e.width+2*w.padding,height:e.height+2*w.padding,top:e.top-w.padding-20,left:e.left-w.padding-20}):(i=W(),a={width:2*w.padding,height:2*w.padding,top:parseInt(i[3]+.5*i[1],10),left:parseInt(i[2]+.5*i[0],10)}),a},$=function(){return i.is(":visible")?(t("div",i).css("top",k*-40+"px"),void(k=(k+1)%12)):void clearInterval(l)};t.fn.fancybox=function(e){return t(this).length?(t(this).data("fancybox",t.extend({},e,t.metadata?t(this).metadata():{})).unbind("click.fb").bind("click.fb",function(e){if(e.preventDefault(),!T){T=!0,t(this).blur(),u=[],g=0;var i=t(this).attr("rel")||"";i&&""!=i&&"nofollow"!==i?(u=t("a[rel="+i+"], area[rel="+i+"]"),g=u.index(this)):u.push(this),E()}}),this):this},t.fancybox=function(e){var i;if(!T){if(T=!0,i="undefined"!=typeof arguments[1]?arguments[1]:{},u=[],g=parseInt(i.index,10)||0,t.isArray(e)){for(var n=0,a=e.length;n<a;n++)"object"==typeof e[n]?t(e[n]).data("fancybox",t.extend({},i,e[n])):e[n]=t({}).data("fancybox",t.extend({content:e[n]},i));u=jQuery.merge(u,e)}else"object"==typeof e?t(e).data("fancybox",t.extend({},i,e)):e=t({}).data("fancybox",t.extend({content:e},i)),u.push(e);(g>u.length||g<0)&&(g=0),E()}},t.fancybox.showActivity=function(){clearInterval(l),i.show(),l=setInterval($,66)},t.fancybox.hideActivity=function(){i.hide()},t.fancybox.next=function(){return t.fancybox.pos(y+1)},t.fancybox.prev=function(){return t.fancybox.pos(y-1)},t.fancybox.pos=function(t){T||(t=parseInt(t),u=v,t>-1&&t<v.length?(g=t,E()):w.cyclic&&v.length>1&&(g=t>=v.length?0:v.length-1,E()))},t.fancybox.cancel=function(){T||(T=!0,t.event.trigger("fancybox-cancel"),D(),b.onCancel(u,g,b),T=!1)},t.fancybox.close=function(){function e(){n.fadeOut("fast"),r.empty().hide(),a.hide(),t.event.trigger("fancybox-cleanup"),d.empty(),w.onClosed(v,y,w),v=b=[],y=g=0,w=b={},T=!1}if(!T&&!a.is(":hidden")){if(T=!0,w&&!1===w.onCleanup(v,y,w))return void(T=!1);if(D(),t(c.add(s).add(h)).hide(),t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),d.find("iframe").attr("src",A&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank"),"inside"!==w.titlePosition&&r.empty(),a.stop(),"elastic"==w.transitionOut){f=X();var i=a.position();p={top:i.top,left:i.left,width:a.width(),height:a.height()},w.opacity&&(p.opacity=1),r.empty().hide(),S.prop=1,t(S).animate({prop:0},{duration:w.speedOut,easing:w.easingOut,step:K,complete:e})}else a.fadeOut("none"==w.transitionOut?0:w.speedOut,e)}},t.fancybox.resize=function(){n.is(":visible")&&n.css("height",t(document).height()),t.fancybox.center(!0)},t.fancybox.center=function(){var t,e;T||(e=arguments[0]===!0?1:0,t=W(),!e&&(a.width()>t[0]||a.height()>t[1])||a.stop().animate({top:parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-d.height()-40)-w.padding)),left:parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-d.width()-40)-w.padding))},"number"==typeof arguments[0]?arguments[0]:200))},t.fancybox.init=function(){t("#fancybox-wrap").length||(t("body").append(e=t('<div id="fancybox-tmp"></div>'),i=t('<div id="fancybox-loading"><div></div></div>'),n=t('<div id="fancybox-overlay"></div>'),a=t('<div id="fancybox-wrap"></div>')),o=t('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(a),o.append(d=t('<div id="fancybox-content"></div>'),c=t('<a id="fancybox-close"></a>'),r=t('<div id="fancybox-title"></div>'),s=t('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),h=t('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')),c.click(t.fancybox.close),i.click(t.fancybox.cancel),s.click(function(e){e.preventDefault(),t.fancybox.prev()}),h.click(function(e){e.preventDefault(),t.fancybox.next()}),t.fn.mousewheel&&a.bind("mousewheel.fb",function(e,i){T?e.preventDefault():0!=t(e.target).get(0).clientHeight&&t(e.target).get(0).scrollHeight!==t(e.target).get(0).clientHeight||(e.preventDefault(),t.fancybox[i>0?"prev":"next"]())}),t.support.opacity||a.addClass("fancybox-ie"),A&&(i.addClass("fancybox-ie6"),a.addClass("fancybox-ie6"),t('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(o)))},t.fn.fancybox.defaults={padding:10,margin:40,opacity:!1,modal:!1,cyclic:!1,scrolling:"auto",width:560,height:340,autoScale:!0,autoDimensions:!0,centerOnScroll:!1,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:!0,hideOnContentClick:!1,overlayShow:!0,overlayOpacity:.7,overlayColor:"#777",titleShow:!0,titlePosition:"float",titleFormat:null,titleFromAlt:!1,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:!0,showNavArrows:!0,enableEscapeButton:!0,enableKeyboardNav:!0,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}},t(document).ready(function(){t.fancybox.init()})}(jQuery);
\ No newline at end of file
+!function(t){var e,i,n,a,o,d,c,r,s,h,l,f,p,g=0,b={},u=[],y=0,w={},v=[],x=null,m=new Image,I=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,C=/[^\.]\.(swf)\s*$/i,k=1,O=0,j="",T=!1,S=t.extend(t("<div/>")[0],{prop:0}),A=t.browser.msie&&t.browser.version<7&&!window.XMLHttpRequest,D=function(){i.hide(),m.onerror=m.onload=null,x&&x.abort(),e.empty()},F=function(){if(!1===b.onError(u,g,b))return i.hide(),void(T=!1);b.titleShow=!1,b.width="auto",b.height="auto",e.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>'),N()},E=function(){var n,a,o,c,r,s,h=u[g];if(D(),b=t.extend({},t.fn.fancybox.defaults,void 0===t(h).data("fancybox")?b:t(h).data("fancybox")),!1===(s=b.onStart(u,g,b)))return void(T=!1);if("object"==typeof s&&(b=t.extend(b,s)),o=b.title||(h.nodeName?t(h).attr("title"):h.title)||"",h.nodeName&&!b.orig&&(b.orig=t(h).children("img:first").length?t(h).children("img:first"):t(h)),""===o&&b.orig&&b.titleFromAlt&&(o=b.orig.attr("alt")),n=b.href||(h.nodeName?t(h).attr("href"):h.href)||null,(/^(?:javascript)/i.test(n)||"#"==n)&&(n=null),b.type?(a=b.type,n||(n=b.content)):b.content?a="html":n&&(a=n.match(I)?"image":n.match(C)?"swf":t(h).hasClass("iframe")?"iframe":0===n.indexOf("#")?"inline":"ajax"),!a)return void F();switch("inline"==a&&(h=n.substr(n.indexOf("#")),a=t(h).length>0?"inline":"ajax"),b.type=a,b.href=n,b.title=o,b.autoDimensions&&("html"==b.type||"inline"==b.type||"ajax"==b.type?(b.width="auto",b.height="auto"):b.autoDimensions=!1),b.modal&&(b.overlayShow=!0,b.hideOnOverlayClick=!1,b.hideOnContentClick=!1,b.enableEscapeButton=!1,b.showCloseButton=!1),b.padding=parseInt(b.padding,10),b.margin=parseInt(b.margin,10),e.css("padding",b.padding+b.margin),t(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){t(this).replaceWith(d.children())}),a){case"html":e.html(b.content),N();break;case"inline":if(!0===t(h).parent().is("#fancybox-content"))return void(T=!1);t('<div class="fancybox-inline-tmp" />').hide().insertBefore(t(h)).bind("fancybox-cleanup",function(){t(this).replaceWith(d.children())}).bind("fancybox-cancel",function(){t(this).replaceWith(e.children())}),t(h).appendTo(e),N();break;case"image":T=!1,t.fancybox.showActivity(),m=new Image,m.onerror=function(){F()},m.onload=function(){T=!0,m.onerror=m.onload=null,B()},m.src=n;break;case"swf":b.scrolling="no",c='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+b.width+'" height="'+b.height+'"><param name="movie" value="'+n+'"></param>',r="",t.each(b.swf,function(t,e){c+='<param name="'+t+'" value="'+e+'"></param>',r+=" "+t+'="'+e+'"'}),c+='<embed src="'+n+'" type="application/x-shockwave-flash" width="'+b.width+'" height="'+b.height+'"'+r+"></embed></object>",e.html(c),N();break;case"ajax":T=!1,t.fancybox.showActivity(),b.ajax.win=b.ajax.success,x=t.ajax(t.extend({},b.ajax,{url:n,data:b.ajax.data||{},error:function(t,e,i){t.status>0&&F()},success:function(t,a,o){if(200==("object"==typeof o?o:x).status){if("function"==typeof b.ajax.win){if(!1===(s=b.ajax.win(n,t,a,o)))return void i.hide();"string"!=typeof s&&"object"!=typeof s||(t=s)}e.html(t),N()}}}));break;case"iframe":P()}},N=function(){var i=b.width,n=b.height;i=i.toString().indexOf("%")>-1?parseInt((t(window).width()-2*b.margin)*parseFloat(i)/100,10)+"px":"auto"==i?"auto":i+"px",n=n.toString().indexOf("%")>-1?parseInt((t(window).height()-2*b.margin)*parseFloat(n)/100,10)+"px":"auto"==n?"auto":n+"px",e.wrapInner('<div style="width:'+i+";height:"+n+";overflow: "+("auto"==b.scrolling?"auto":"yes"==b.scrolling?"scroll":"hidden")+';position:relative;"></div>'),b.width=e.width(),b.height=e.height(),P()},B=function(){b.width=m.width,b.height=m.height,t("<img />").attr({id:"fancybox-img",src:m.src,alt:b.title}).appendTo(e),P()},P=function(){var o,l;return i.hide(),a.is(":visible")&&!1===w.onCleanup(v,y,w)?(t.event.trigger("fancybox-cancel"),void(T=!1)):(T=!0,t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),a.is(":visible")&&"outside"!==w.titlePosition&&a.css("height",a.height()),v=u,y=g,w=b,w.overlayShow?(n.css({"background-color":w.overlayColor,opacity:w.overlayOpacity,cursor:w.hideOnOverlayClick?"pointer":"auto",height:t(document).height()}),n.is(":visible")||(A&&t("select:not(#fancybox-tmp select)").filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"}),n.show())):n.hide(),p=q(),M(),a.is(":visible")?(t(c.add(s).add(h)).hide(),o=a.position(),f={top:o.top,left:o.left,width:a.width(),height:a.height()},l=f.width==p.width&&f.height==p.height,void d.fadeTo(w.changeFade,.3,function(){var i=function(){d.html(e.contents()).fadeTo(w.changeFade,1,H)};t.event.trigger("fancybox-change"),d.empty().removeAttr("filter").css({"border-width":w.padding,width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}),l?i():(S.prop=0,t(S).animate({prop:1},{duration:w.changeSpeed,easing:w.easingChange,step:K,complete:i}))})):(a.removeAttr("style"),d.css("border-width",w.padding),"elastic"==w.transitionIn?(f=X(),d.html(e.contents()),a.show(),w.opacity&&(p.opacity=0),S.prop=0,void t(S).animate({prop:1},{duration:w.speedIn,easing:w.easingIn,step:K,complete:H})):("inside"==w.titlePosition&&O>0&&r.show(),d.css({width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}).html(e.contents()),void a.css(p).fadeIn("none"==w.transitionIn?0:w.speedIn,H))))},L=function(t){return!(!t||!t.length)&&("float"==w.titlePosition?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+t+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+w.titlePosition+'">'+t+"</div>")},M=function(){if(j=w.title||"",O=0,r.empty().removeAttr("style").removeClass(),!1===w.titleShow)return void r.hide();if(!(j=t.isFunction(w.titleFormat)?w.titleFormat(j,v,y,w):L(j))||""===j)return void r.hide();switch(r.addClass("fancybox-title-"+w.titlePosition).html(j).appendTo("body").show(),w.titlePosition){case"inside":r.css({width:p.width-2*w.padding,marginLeft:w.padding,marginRight:w.padding}),O=r.outerHeight(!0),r.appendTo(o),p.height+=O;break;case"over":r.css({marginLeft:w.padding,width:p.width-2*w.padding,bottom:w.padding}).appendTo(o);break;case"float":r.css("left",-1*parseInt((r.width()-p.width-40)/2,10)).appendTo(a);break;default:r.css({width:p.width-2*w.padding,paddingLeft:w.padding,paddingRight:w.padding}).appendTo(a)}r.hide()},z=function(){if((w.enableEscapeButton||w.enableKeyboardNav)&&t(document).bind("keydown.fb",function(e){27==e.keyCode&&w.enableEscapeButton?(e.preventDefault(),t.fancybox.close()):37!=e.keyCode&&39!=e.keyCode||!w.enableKeyboardNav||"INPUT"===e.target.tagName||"TEXTAREA"===e.target.tagName||"SELECT"===e.target.tagName||(e.preventDefault(),t.fancybox[37==e.keyCode?"prev":"next"]())}),!w.showNavArrows)return s.hide(),void h.hide();(w.cyclic&&v.length>1||0!==y)&&s.show(),(w.cyclic&&v.length>1||y!=v.length-1)&&h.show()},H=function(){t.support.opacity||(d.get(0).style.removeAttribute("filter"),a.get(0).style.removeAttribute("filter")),b.autoDimensions&&d.css("height","auto"),a.css("height","auto"),j&&j.length&&r.show(),w.showCloseButton&&c.show(),z(),w.hideOnContentClick&&d.bind("click",t.fancybox.close),w.hideOnOverlayClick&&n.bind("click",t.fancybox.close),t(window).bind("resize.fb",t.fancybox.resize),w.centerOnScroll&&t(window).bind("scroll.fb",t.fancybox.center),"iframe"==w.type&&t('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(t.browser.msie?'allowtransparency="true""':"")+' scrolling="'+b.scrolling+'" src="'+w.href+'"></iframe>').appendTo(d),a.show(),T=!1,t.fancybox.center(),w.onComplete(v,y,w),R()},R=function(){var t,e;v.length-1>y&&void 0!==(t=v[y+1].href)&&t.match(I)&&(e=new Image,e.src=t),y>0&&void 0!==(t=v[y-1].href)&&t.match(I)&&(e=new Image,e.src=t)},K=function(t){var e={width:parseInt(f.width+(p.width-f.width)*t,10),height:parseInt(f.height+(p.height-f.height)*t,10),top:parseInt(f.top+(p.top-f.top)*t,10),left:parseInt(f.left+(p.left-f.left)*t,10)};void 0!==p.opacity&&(e.opacity=t<.5?.5:t),a.css(e),d.css({width:e.width-2*w.padding,height:e.height-O*t-2*w.padding})},W=function(){return[t(window).width()-2*w.margin,t(window).height()-2*w.margin,t(document).scrollLeft()+w.margin,t(document).scrollTop()+w.margin]},q=function(){var t,e=W(),i={},n=w.autoScale,a=2*w.padding;return w.width.toString().indexOf("%")>-1?i.width=parseInt(e[0]*parseFloat(w.width)/100,10):i.width=w.width+a,w.height.toString().indexOf("%")>-1?i.height=parseInt(e[1]*parseFloat(w.height)/100,10):i.height=w.height+a,n&&(i.width>e[0]||i.height>e[1])&&("image"==b.type||"swf"==b.type?(t=w.width/w.height,i.width>e[0]&&(i.width=e[0],i.height=parseInt((i.width-a)/t+a,10)),i.height>e[1]&&(i.height=e[1],i.width=parseInt((i.height-a)*t+a,10))):(i.width=Math.min(i.width,e[0]),i.height=Math.min(i.height,e[1]))),i.top=parseInt(Math.max(e[3]-20,e[3]+.5*(e[1]-i.height-40)),10),i.left=parseInt(Math.max(e[2]-20,e[2]+.5*(e[0]-i.width-40)),10),i},Q=function(t){var e=t.offset();return e.top+=parseInt(t.css("paddingTop"),10)||0,e.left+=parseInt(t.css("paddingLeft"),10)||0,e.top+=parseInt(t.css("border-top-width"),10)||0,e.left+=parseInt(t.css("border-left-width"),10)||0,e.width=t.width(),e.height=t.height(),e},X=function(){var e,i,n=!!b.orig&&t(b.orig),a={};return n&&n.length?(e=Q(n),a={width:e.width+2*w.padding,height:e.height+2*w.padding,top:e.top-w.padding-20,left:e.left-w.padding-20}):(i=W(),a={width:2*w.padding,height:2*w.padding,top:parseInt(i[3]+.5*i[1],10),left:parseInt(i[2]+.5*i[0],10)}),a},$=function(){if(!i.is(":visible"))return void clearInterval(l);t("div",i).css("top",-40*k+"px"),k=(k+1)%12};t.fn.fancybox=function(e){return t(this).length?(t(this).data("fancybox",t.extend({},e,t.metadata?t(this).metadata():{})).unbind("click.fb").bind("click.fb",function(e){if(e.preventDefault(),!T){T=!0,t(this).blur(),u=[],g=0;var i=t(this).attr("rel")||"";i&&""!=i&&"nofollow"!==i?(u=t("a[rel="+i+"], area[rel="+i+"]"),g=u.index(this)):u.push(this),E()}}),this):this},t.fancybox=function(e){var i;if(!T){if(T=!0,i=void 0!==arguments[1]?arguments[1]:{},u=[],g=parseInt(i.index,10)||0,t.isArray(e)){for(var n=0,a=e.length;n<a;n++)"object"==typeof e[n]?t(e[n]).data("fancybox",t.extend({},i,e[n])):e[n]=t({}).data("fancybox",t.extend({content:e[n]},i));u=jQuery.merge(u,e)}else"object"==typeof e?t(e).data("fancybox",t.extend({},i,e)):e=t({}).data("fancybox",t.extend({content:e},i)),u.push(e);(g>u.length||g<0)&&(g=0),E()}},t.fancybox.showActivity=function(){clearInterval(l),i.show(),l=setInterval($,66)},t.fancybox.hideActivity=function(){i.hide()},t.fancybox.next=function(){return t.fancybox.pos(y+1)},t.fancybox.prev=function(){return t.fancybox.pos(y-1)},t.fancybox.pos=function(t){T||(t=parseInt(t),u=v,t>-1&&t<v.length?(g=t,E()):w.cyclic&&v.length>1&&(g=t>=v.length?0:v.length-1,E()))},t.fancybox.cancel=function(){T||(T=!0,t.event.trigger("fancybox-cancel"),D(),b.onCancel(u,g,b),T=!1)},t.fancybox.close=function(){function e(){n.fadeOut("fast"),r.empty().hide(),a.hide(),t.event.trigger("fancybox-cleanup"),d.empty(),w.onClosed(v,y,w),v=b=[],y=g=0,w=b={},T=!1}if(!T&&!a.is(":hidden")){if(T=!0,w&&!1===w.onCleanup(v,y,w))return void(T=!1);if(D(),t(c.add(s).add(h)).hide(),t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),d.find("iframe").attr("src",A&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank"),"inside"!==w.titlePosition&&r.empty(),a.stop(),"elastic"==w.transitionOut){f=X();var i=a.position();p={top:i.top,left:i.left,width:a.width(),height:a.height()},w.opacity&&(p.opacity=1),r.empty().hide(),S.prop=1,t(S).animate({prop:0},{duration:w.speedOut,easing:w.easingOut,step:K,complete:e})}else a.fadeOut("none"==w.transitionOut?0:w.speedOut,e)}},t.fancybox.resize=function(){n.is(":visible")&&n.css("height",t(document).height()),t.fancybox.center(!0)},t.fancybox.center=function(){var t,e;T||(e=!0===arguments[0]?1:0,t=W(),!e&&(a.width()>t[0]||a.height()>t[1])||a.stop().animate({top:parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-d.height()-40)-w.padding)),left:parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-d.width()-40)-w.padding))},"number"==typeof arguments[0]?arguments[0]:200))},t.fancybox.init=function(){t("#fancybox-wrap").length||(t("body").append(e=t('<div id="fancybox-tmp"></div>'),i=t('<div id="fancybox-loading"><div></div></div>'),n=t('<div id="fancybox-overlay"></div>'),a=t('<div id="fancybox-wrap"></div>')),o=t('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(a),o.append(d=t('<div id="fancybox-content"></div>'),c=t('<a id="fancybox-close"></a>'),r=t('<div id="fancybox-title"></div>'),s=t('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),h=t('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')),c.click(t.fancybox.close),i.click(t.fancybox.cancel),s.click(function(e){e.preventDefault(),t.fancybox.prev()}),h.click(function(e){e.preventDefault(),t.fancybox.next()}),t.fn.mousewheel&&a.bind("mousewheel.fb",function(e,i){T?e.preventDefault():0!=t(e.target).get(0).clientHeight&&t(e.target).get(0).scrollHeight!==t(e.target).get(0).clientHeight||(e.preventDefault(),t.fancybox[i>0?"prev":"next"]())}),t.support.opacity||a.addClass("fancybox-ie"),A&&(i.addClass("fancybox-ie6"),a.addClass("fancybox-ie6"),t('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(o)))},t.fn.fancybox.defaults={padding:10,margin:40,opacity:!1,modal:!1,cyclic:!1,scrolling:"auto",width:560,height:340,autoScale:!0,autoDimensions:!0,centerOnScroll:!1,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:!0,hideOnContentClick:!1,overlayShow:!0,overlayOpacity:.7,overlayColor:"#777",titleShow:!0,titlePosition:"float",titleFormat:null,titleFromAlt:!1,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:!0,showNavArrows:!0,enableEscapeButton:!0,enableKeyboardNav:!0,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}},t(document).ready(function(){t.fancybox.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.min.js
index 798906438240a9e8e14b05153b2b901a68baed35..b109b20fea072eaa312438fe25a94d6c99b98b6b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.min.js
@@ -1 +1 @@
-!function(t){var e,i,n,a,o,d,c,s,r,h,l,f,p,g=0,b={},y=[],u=0,w={},x=[],m=null,v=new Image,I=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,C=/[^\.]\.(swf)\s*$/i,k=1,O=0,j="",T=!1,S=t.extend(t("<div/>")[0],{prop:0}),A=t.browser.msie&&t.browser.version<7&&!window.XMLHttpRequest,D=function(){i.hide(),v.onerror=v.onload=null,m&&m.abort(),e.empty()},F=function(){!1===b.onError(y,g,b)?(i.hide(),T=!1):(b.titleShow=!1,b.width="auto",b.height="auto",e.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>'),N())},E=function(){var n,a,o,c,s,r,h=y[g];if(D(),b=t.extend({},t.fn.fancybox.defaults,"undefined"==typeof t(h).data("fancybox")?b:t(h).data("fancybox")),r=b.onStart(y,g,b),r===!1)T=!1;else if("object"==typeof r&&(b=t.extend(b,r)),o=b.title||(h.nodeName?t(h).attr("title"):h.title)||"",h.nodeName&&!b.orig&&(b.orig=t(h).children("img:first").length?t(h).children("img:first"):t(h)),""===o&&b.orig&&b.titleFromAlt&&(o=b.orig.attr("alt")),n=b.href||(h.nodeName?t(h).attr("href"):h.href)||null,(/^(?:javascript)/i.test(n)||"#"==n)&&(n=null),b.type?(a=b.type,n||(n=b.content)):b.content?a="html":n&&(a=n.match(I)?"image":n.match(C)?"swf":t(h).hasClass("iframe")?"iframe":0===n.indexOf("#")?"inline":"ajax"),a)switch("inline"==a&&(h=n.substr(n.indexOf("#")),a=t(h).length>0?"inline":"ajax"),b.type=a,b.href=n,b.title=o,b.autoDimensions&&("html"==b.type||"inline"==b.type||"ajax"==b.type?(b.width="auto",b.height="auto"):b.autoDimensions=!1),b.modal&&(b.overlayShow=!0,b.hideOnOverlayClick=!1,b.hideOnContentClick=!1,b.enableEscapeButton=!1,b.showCloseButton=!1),b.padding=parseInt(b.padding,10),b.margin=parseInt(b.margin,10),e.css("padding",b.padding+b.margin),t(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){t(this).replaceWith(d.children())}),a){case"html":e.html(b.content),N();break;case"inline":if(t(h).parent().is("#fancybox-content")===!0){T=!1;break}t('<div class="fancybox-inline-tmp" />').hide().insertBefore(t(h)).bind("fancybox-cleanup",function(){t(this).replaceWith(d.children())}).bind("fancybox-cancel",function(){t(this).replaceWith(e.children())}),t(h).appendTo(e),N();break;case"image":T=!1,t.fancybox.showActivity(),v=new Image,v.onerror=function(){F()},v.onload=function(){T=!0,v.onerror=v.onload=null,b.width=v.width,b.height=v.height,t("<img />").attr({id:"fancybox-img",src:v.src,alt:b.title}).appendTo(e),B()},v.src=n;break;case"swf":b.scrolling="no",c='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+b.width+'" height="'+b.height+'"><param name="movie" value="'+n+'"></param>',s="",t.each(b.swf,function(t,e){c+='<param name="'+t+'" value="'+e+'"></param>',s+=" "+t+'="'+e+'"'}),c+='<embed src="'+n+'" type="application/x-shockwave-flash" width="'+b.width+'" height="'+b.height+'"'+s+"></embed></object>",e.html(c),N();break;case"ajax":T=!1,t.fancybox.showActivity(),b.ajax.win=b.ajax.success,m=t.ajax(t.extend({},b.ajax,{url:n,data:b.ajax.data||{},error:function(t){t.status>0&&F()},success:function(t,a,o){if(200==("object"==typeof o?o:m).status){if("function"==typeof b.ajax.win){if(r=b.ajax.win(n,t,a,o),r===!1)return void i.hide();"string"!=typeof r&&"object"!=typeof r||(t=r)}e.html(t),N()}}}));break;case"iframe":B()}else F()},N=function(){var i=b.width,n=b.height;i=i.toString().indexOf("%")>-1?parseInt((t(window).width()-2*b.margin)*parseFloat(i)/100,10)+"px":"auto"==i?"auto":i+"px",n=n.toString().indexOf("%")>-1?parseInt((t(window).height()-2*b.margin)*parseFloat(n)/100,10)+"px":"auto"==n?"auto":n+"px",e.wrapInner('<div style="width:'+i+";height:"+n+";overflow: "+("auto"==b.scrolling?"auto":"yes"==b.scrolling?"scroll":"hidden")+';position:relative;"></div>'),b.width=e.width(),b.height=e.height(),B()},B=function(){var l,m;if(i.hide(),a.is(":visible")&&!1===w.onCleanup(x,u,w))t.event.trigger("fancybox-cancel"),T=!1;else{if(T=!0,t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),a.is(":visible")&&"outside"!==w.titlePosition&&a.css("height",a.height()),x=y,u=g,w=b,w.overlayShow?(n.css({"background-color":w.overlayColor,opacity:w.overlayOpacity,cursor:w.hideOnOverlayClick?"pointer":"auto",height:t(document).height()}),n.is(":visible")||(A&&t("select:not(#fancybox-tmp select)").filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"}),n.show())):n.hide(),p=H(),j=w.title||"",O=0,s.empty().removeAttr("style").removeClass(),w.titleShow!==!1&&(l=t.isFunction(w.titleFormat)?w.titleFormat(j,x,u,w):!(!j||!j.length)&&("float"==w.titlePosition?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+j+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+w.titlePosition+'">'+j+"</div>"),j=l,j&&""!==j))switch(s.addClass("fancybox-title-"+w.titlePosition).html(j).appendTo("body").show(),w.titlePosition){case"inside":s.css({width:p.width-2*w.padding,marginLeft:w.padding,marginRight:w.padding}),O=s.outerHeight(!0),s.appendTo(o),p.height+=O;break;case"over":s.css({marginLeft:w.padding,width:p.width-2*w.padding,bottom:w.padding}).appendTo(o);break;case"float":s.css("left",parseInt((s.width()-p.width-40)/2,10)*-1).appendTo(a);break;default:s.css({width:p.width-2*w.padding,paddingLeft:w.padding,paddingRight:w.padding}).appendTo(a)}s.hide(),a.is(":visible")?(t(c.add(r).add(h)).hide(),l=a.position(),f={top:l.top,left:l.left,width:a.width(),height:a.height()},m=f.width==p.width&&f.height==p.height,d.fadeTo(w.changeFade,.3,function(){var i=function(){d.html(e.contents()).fadeTo(w.changeFade,1,L)};t.event.trigger("fancybox-change"),d.empty().removeAttr("filter").css({"border-width":w.padding,width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}),m?i():(S.prop=0,t(S).animate({prop:1},{duration:w.changeSpeed,easing:w.easingChange,step:M,complete:i}))})):(a.removeAttr("style"),d.css("border-width",w.padding),"elastic"==w.transitionIn?(f=R(),d.html(e.contents()),a.show(),w.opacity&&(p.opacity=0),S.prop=0,t(S).animate({prop:1},{duration:w.speedIn,easing:w.easingIn,step:M,complete:L})):("inside"==w.titlePosition&&O>0&&s.show(),d.css({width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}).html(e.contents()),a.css(p).fadeIn("none"==w.transitionIn?0:w.speedIn,L)))}},P=function(){(w.enableEscapeButton||w.enableKeyboardNav)&&t(document).bind("keydown.fb",function(e){27==e.keyCode&&w.enableEscapeButton?(e.preventDefault(),t.fancybox.close()):37!=e.keyCode&&39!=e.keyCode||!w.enableKeyboardNav||"INPUT"===e.target.tagName||"TEXTAREA"===e.target.tagName||"SELECT"===e.target.tagName||(e.preventDefault(),t.fancybox[37==e.keyCode?"prev":"next"]())}),w.showNavArrows?((w.cyclic&&x.length>1||0!==u)&&r.show(),(w.cyclic&&x.length>1||u!=x.length-1)&&h.show()):(r.hide(),h.hide())},L=function(){t.support.opacity||(d.get(0).style.removeAttribute("filter"),a.get(0).style.removeAttribute("filter")),b.autoDimensions&&d.css("height","auto"),a.css("height","auto"),j&&j.length&&s.show(),w.showCloseButton&&c.show(),P(),w.hideOnContentClick&&d.bind("click",t.fancybox.close),w.hideOnOverlayClick&&n.bind("click",t.fancybox.close),t(window).bind("resize.fb",t.fancybox.resize),w.centerOnScroll&&t(window).bind("scroll.fb",t.fancybox.center),"iframe"==w.type&&t('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(t.browser.msie?'allowtransparency="true""':"")+' scrolling="'+b.scrolling+'" src="'+w.href+'"></iframe>').appendTo(d),a.show(),T=!1,t.fancybox.center(),w.onComplete(x,u,w);var e,i;x.length-1>u&&(e=x[u+1].href,"undefined"!=typeof e&&e.match(I)&&(i=new Image,i.src=e)),u>0&&(e=x[u-1].href,"undefined"!=typeof e&&e.match(I)&&(i=new Image,i.src=e))},M=function(t){var e={width:parseInt(f.width+(p.width-f.width)*t,10),height:parseInt(f.height+(p.height-f.height)*t,10),top:parseInt(f.top+(p.top-f.top)*t,10),left:parseInt(f.left+(p.left-f.left)*t,10)};"undefined"!=typeof p.opacity&&(e.opacity=t<.5?.5:t),a.css(e),d.css({width:e.width-2*w.padding,height:e.height-O*t-2*w.padding})},z=function(){return[t(window).width()-2*w.margin,t(window).height()-2*w.margin,t(document).scrollLeft()+w.margin,t(document).scrollTop()+w.margin]},H=function(){var t=z(),e={},i=w.autoScale,n=2*w.padding;return e.width=w.width.toString().indexOf("%")>-1?parseInt(t[0]*parseFloat(w.width)/100,10):w.width+n,e.height=w.height.toString().indexOf("%")>-1?parseInt(t[1]*parseFloat(w.height)/100,10):w.height+n,i&&(e.width>t[0]||e.height>t[1])&&("image"==b.type||"swf"==b.type?(i=w.width/w.height,e.width>t[0]&&(e.width=t[0],e.height=parseInt((e.width-n)/i+n,10)),e.height>t[1]&&(e.height=t[1],e.width=parseInt((e.height-n)*i+n,10))):(e.width=Math.min(e.width,t[0]),e.height=Math.min(e.height,t[1]))),e.top=parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-e.height-40)),10),e.left=parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-e.width-40)),10),e},R=function(){var e=!!b.orig&&t(b.orig),i={};return e&&e.length?(i=e.offset(),i.top+=parseInt(e.css("paddingTop"),10)||0,i.left+=parseInt(e.css("paddingLeft"),10)||0,i.top+=parseInt(e.css("border-top-width"),10)||0,i.left+=parseInt(e.css("border-left-width"),10)||0,i.width=e.width(),i.height=e.height(),i={width:i.width+2*w.padding,height:i.height+2*w.padding,top:i.top-w.padding-20,left:i.left-w.padding-20}):(e=z(),i={width:2*w.padding,height:2*w.padding,top:parseInt(e[3]+.5*e[1],10),left:parseInt(e[2]+.5*e[0],10)}),i},K=function(){i.is(":visible")?(t("div",i).css("top",k*-40+"px"),k=(k+1)%12):clearInterval(l)};t.fn.fancybox=function(e){return t(this).length?(t(this).data("fancybox",t.extend({},e,t.metadata?t(this).metadata():{})).unbind("click.fb").bind("click.fb",function(e){e.preventDefault(),T||(T=!0,t(this).blur(),y=[],g=0,e=t(this).attr("rel")||"",e&&""!=e&&"nofollow"!==e?(y=t("a[rel="+e+"], area[rel="+e+"]"),g=y.index(this)):y.push(this),E())}),this):this},t.fancybox=function(e,i){var n;if(!T){if(T=!0,n="undefined"!=typeof i?i:{},y=[],g=parseInt(n.index,10)||0,t.isArray(e)){for(var a=0,o=e.length;a<o;a++)"object"==typeof e[a]?t(e[a]).data("fancybox",t.extend({},n,e[a])):e[a]=t({}).data("fancybox",t.extend({content:e[a]},n));y=jQuery.merge(y,e)}else"object"==typeof e?t(e).data("fancybox",t.extend({},n,e)):e=t({}).data("fancybox",t.extend({content:e},n)),y.push(e);(g>y.length||g<0)&&(g=0),E()}},t.fancybox.showActivity=function(){clearInterval(l),i.show(),l=setInterval(K,66)},t.fancybox.hideActivity=function(){i.hide()},t.fancybox.next=function(){return t.fancybox.pos(u+1)},t.fancybox.prev=function(){return t.fancybox.pos(u-1)},t.fancybox.pos=function(t){T||(t=parseInt(t),y=x,t>-1&&t<x.length?(g=t,E()):w.cyclic&&x.length>1&&(g=t>=x.length?0:x.length-1,E()))},t.fancybox.cancel=function(){T||(T=!0,t.event.trigger("fancybox-cancel"),D(),b.onCancel(y,g,b),T=!1)},t.fancybox.close=function(){function e(){n.fadeOut("fast"),s.empty().hide(),a.hide(),t.event.trigger("fancybox-cleanup"),d.empty(),w.onClosed(x,u,w),x=b=[],u=g=0,w=b={},T=!1}if(!T&&!a.is(":hidden"))if(T=!0,w&&!1===w.onCleanup(x,u,w))T=!1;else if(D(),t(c.add(r).add(h)).hide(),t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),d.find("iframe").attr("src",A&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank"),"inside"!==w.titlePosition&&s.empty(),a.stop(),"elastic"==w.transitionOut){f=R();var i=a.position();p={top:i.top,left:i.left,width:a.width(),height:a.height()},w.opacity&&(p.opacity=1),s.empty().hide(),S.prop=1,t(S).animate({prop:0},{duration:w.speedOut,easing:w.easingOut,step:M,complete:e})}else a.fadeOut("none"==w.transitionOut?0:w.speedOut,e)},t.fancybox.resize=function(){n.is(":visible")&&n.css("height",t(document).height()),t.fancybox.center(!0)},t.fancybox.center=function(t){var e,i;T||(i=t===!0?1:0,e=z(),!i&&(a.width()>e[0]||a.height()>e[1])||a.stop().animate({top:parseInt(Math.max(e[3]-20,e[3]+.5*(e[1]-d.height()-40)-w.padding)),left:parseInt(Math.max(e[2]-20,e[2]+.5*(e[0]-d.width()-40)-w.padding))},"number"==typeof t?t:200))},t.fancybox.init=function(){t("#fancybox-wrap").length||(t("body").append(e=t('<div id="fancybox-tmp"></div>'),i=t('<div id="fancybox-loading"><div></div></div>'),n=t('<div id="fancybox-overlay"></div>'),a=t('<div id="fancybox-wrap"></div>')),o=t('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(a),o.append(d=t('<div id="fancybox-content"></div>'),c=t('<a id="fancybox-close"></a>'),s=t('<div id="fancybox-title"></div>'),r=t('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),h=t('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')),c.click(t.fancybox.close),i.click(t.fancybox.cancel),r.click(function(e){e.preventDefault(),t.fancybox.prev()}),h.click(function(e){e.preventDefault(),t.fancybox.next()}),t.fn.mousewheel&&a.bind("mousewheel.fb",function(e,i){T?e.preventDefault():0!=t(e.target).get(0).clientHeight&&t(e.target).get(0).scrollHeight!==t(e.target).get(0).clientHeight||(e.preventDefault(),t.fancybox[i>0?"prev":"next"]())}),t.support.opacity||a.addClass("fancybox-ie"),A&&(i.addClass("fancybox-ie6"),a.addClass("fancybox-ie6"),t('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(o)))},t.fn.fancybox.defaults={padding:10,margin:40,opacity:!1,modal:!1,cyclic:!1,scrolling:"auto",width:560,height:340,autoScale:!0,autoDimensions:!0,centerOnScroll:!1,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:!0,hideOnContentClick:!1,overlayShow:!0,overlayOpacity:.7,overlayColor:"#777",titleShow:!0,titlePosition:"float",titleFormat:null,titleFromAlt:!1,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:!0,showNavArrows:!0,enableEscapeButton:!0,enableKeyboardNav:!0,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}},t(document).ready(function(){t.fancybox.init()})}(jQuery);
\ No newline at end of file
+!function(t){var e,i,n,a,o,d,c,s,r,h,l,f,p,g=0,b={},y=[],u=0,w={},x=[],m=null,v=new Image,I=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,C=/[^\.]\.(swf)\s*$/i,k=1,O=0,j="",T=!1,S=t.extend(t("<div/>")[0],{prop:0}),A=t.browser.msie&&t.browser.version<7&&!window.XMLHttpRequest,D=function(){i.hide(),v.onerror=v.onload=null,m&&m.abort(),e.empty()},F=function(){!1===b.onError(y,g,b)?(i.hide(),T=!1):(b.titleShow=!1,b.width="auto",b.height="auto",e.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>'),N())},E=function(){var n,a,o,c,s,r,h=y[g];if(D(),b=t.extend({},t.fn.fancybox.defaults,void 0===t(h).data("fancybox")?b:t(h).data("fancybox")),!1===(r=b.onStart(y,g,b)))T=!1;else if("object"==typeof r&&(b=t.extend(b,r)),o=b.title||(h.nodeName?t(h).attr("title"):h.title)||"",h.nodeName&&!b.orig&&(b.orig=t(h).children("img:first").length?t(h).children("img:first"):t(h)),""===o&&b.orig&&b.titleFromAlt&&(o=b.orig.attr("alt")),n=b.href||(h.nodeName?t(h).attr("href"):h.href)||null,(/^(?:javascript)/i.test(n)||"#"==n)&&(n=null),b.type?(a=b.type,n||(n=b.content)):b.content?a="html":n&&(a=n.match(I)?"image":n.match(C)?"swf":t(h).hasClass("iframe")?"iframe":0===n.indexOf("#")?"inline":"ajax"),a)switch("inline"==a&&(h=n.substr(n.indexOf("#")),a=t(h).length>0?"inline":"ajax"),b.type=a,b.href=n,b.title=o,b.autoDimensions&&("html"==b.type||"inline"==b.type||"ajax"==b.type?(b.width="auto",b.height="auto"):b.autoDimensions=!1),b.modal&&(b.overlayShow=!0,b.hideOnOverlayClick=!1,b.hideOnContentClick=!1,b.enableEscapeButton=!1,b.showCloseButton=!1),b.padding=parseInt(b.padding,10),b.margin=parseInt(b.margin,10),e.css("padding",b.padding+b.margin),t(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){t(this).replaceWith(d.children())}),a){case"html":e.html(b.content),N();break;case"inline":if(!0===t(h).parent().is("#fancybox-content")){T=!1;break}t('<div class="fancybox-inline-tmp" />').hide().insertBefore(t(h)).bind("fancybox-cleanup",function(){t(this).replaceWith(d.children())}).bind("fancybox-cancel",function(){t(this).replaceWith(e.children())}),t(h).appendTo(e),N();break;case"image":T=!1,t.fancybox.showActivity(),v=new Image,v.onerror=function(){F()},v.onload=function(){T=!0,v.onerror=v.onload=null,b.width=v.width,b.height=v.height,t("<img />").attr({id:"fancybox-img",src:v.src,alt:b.title}).appendTo(e),B()},v.src=n;break;case"swf":b.scrolling="no",c='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+b.width+'" height="'+b.height+'"><param name="movie" value="'+n+'"></param>',s="",t.each(b.swf,function(t,e){c+='<param name="'+t+'" value="'+e+'"></param>',s+=" "+t+'="'+e+'"'}),c+='<embed src="'+n+'" type="application/x-shockwave-flash" width="'+b.width+'" height="'+b.height+'"'+s+"></embed></object>",e.html(c),N();break;case"ajax":T=!1,t.fancybox.showActivity(),b.ajax.win=b.ajax.success,m=t.ajax(t.extend({},b.ajax,{url:n,data:b.ajax.data||{},error:function(t){t.status>0&&F()},success:function(t,a,o){if(200==("object"==typeof o?o:m).status){if("function"==typeof b.ajax.win){if(!1===(r=b.ajax.win(n,t,a,o)))return void i.hide();"string"!=typeof r&&"object"!=typeof r||(t=r)}e.html(t),N()}}}));break;case"iframe":B()}else F()},N=function(){var i=b.width,n=b.height;i=i.toString().indexOf("%")>-1?parseInt((t(window).width()-2*b.margin)*parseFloat(i)/100,10)+"px":"auto"==i?"auto":i+"px",n=n.toString().indexOf("%")>-1?parseInt((t(window).height()-2*b.margin)*parseFloat(n)/100,10)+"px":"auto"==n?"auto":n+"px",e.wrapInner('<div style="width:'+i+";height:"+n+";overflow: "+("auto"==b.scrolling?"auto":"yes"==b.scrolling?"scroll":"hidden")+';position:relative;"></div>'),b.width=e.width(),b.height=e.height(),B()},B=function(){var l,m;if(i.hide(),a.is(":visible")&&!1===w.onCleanup(x,u,w))t.event.trigger("fancybox-cancel"),T=!1;else{if(T=!0,t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),a.is(":visible")&&"outside"!==w.titlePosition&&a.css("height",a.height()),x=y,u=g,w=b,w.overlayShow?(n.css({"background-color":w.overlayColor,opacity:w.overlayOpacity,cursor:w.hideOnOverlayClick?"pointer":"auto",height:t(document).height()}),n.is(":visible")||(A&&t("select:not(#fancybox-tmp select)").filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"}),n.show())):n.hide(),p=H(),j=w.title||"",O=0,s.empty().removeAttr("style").removeClass(),!1!==w.titleShow&&(l=t.isFunction(w.titleFormat)?w.titleFormat(j,x,u,w):!(!j||!j.length)&&("float"==w.titlePosition?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+j+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+w.titlePosition+'">'+j+"</div>"),(j=l)&&""!==j))switch(s.addClass("fancybox-title-"+w.titlePosition).html(j).appendTo("body").show(),w.titlePosition){case"inside":s.css({width:p.width-2*w.padding,marginLeft:w.padding,marginRight:w.padding}),O=s.outerHeight(!0),s.appendTo(o),p.height+=O;break;case"over":s.css({marginLeft:w.padding,width:p.width-2*w.padding,bottom:w.padding}).appendTo(o);break;case"float":s.css("left",-1*parseInt((s.width()-p.width-40)/2,10)).appendTo(a);break;default:s.css({width:p.width-2*w.padding,paddingLeft:w.padding,paddingRight:w.padding}).appendTo(a)}s.hide(),a.is(":visible")?(t(c.add(r).add(h)).hide(),l=a.position(),f={top:l.top,left:l.left,width:a.width(),height:a.height()},m=f.width==p.width&&f.height==p.height,d.fadeTo(w.changeFade,.3,function(){var i=function(){d.html(e.contents()).fadeTo(w.changeFade,1,L)};t.event.trigger("fancybox-change"),d.empty().removeAttr("filter").css({"border-width":w.padding,width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}),m?i():(S.prop=0,t(S).animate({prop:1},{duration:w.changeSpeed,easing:w.easingChange,step:M,complete:i}))})):(a.removeAttr("style"),d.css("border-width",w.padding),"elastic"==w.transitionIn?(f=R(),d.html(e.contents()),a.show(),w.opacity&&(p.opacity=0),S.prop=0,t(S).animate({prop:1},{duration:w.speedIn,easing:w.easingIn,step:M,complete:L})):("inside"==w.titlePosition&&O>0&&s.show(),d.css({width:p.width-2*w.padding,height:b.autoDimensions?"auto":p.height-O-2*w.padding}).html(e.contents()),a.css(p).fadeIn("none"==w.transitionIn?0:w.speedIn,L)))}},P=function(){(w.enableEscapeButton||w.enableKeyboardNav)&&t(document).bind("keydown.fb",function(e){27==e.keyCode&&w.enableEscapeButton?(e.preventDefault(),t.fancybox.close()):37!=e.keyCode&&39!=e.keyCode||!w.enableKeyboardNav||"INPUT"===e.target.tagName||"TEXTAREA"===e.target.tagName||"SELECT"===e.target.tagName||(e.preventDefault(),t.fancybox[37==e.keyCode?"prev":"next"]())}),w.showNavArrows?((w.cyclic&&x.length>1||0!==u)&&r.show(),(w.cyclic&&x.length>1||u!=x.length-1)&&h.show()):(r.hide(),h.hide())},L=function(){t.support.opacity||(d.get(0).style.removeAttribute("filter"),a.get(0).style.removeAttribute("filter")),b.autoDimensions&&d.css("height","auto"),a.css("height","auto"),j&&j.length&&s.show(),w.showCloseButton&&c.show(),P(),w.hideOnContentClick&&d.bind("click",t.fancybox.close),w.hideOnOverlayClick&&n.bind("click",t.fancybox.close),t(window).bind("resize.fb",t.fancybox.resize),w.centerOnScroll&&t(window).bind("scroll.fb",t.fancybox.center),"iframe"==w.type&&t('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(t.browser.msie?'allowtransparency="true""':"")+' scrolling="'+b.scrolling+'" src="'+w.href+'"></iframe>').appendTo(d),a.show(),T=!1,t.fancybox.center(),w.onComplete(x,u,w);var e,i;x.length-1>u&&void 0!==(e=x[u+1].href)&&e.match(I)&&(i=new Image,i.src=e),u>0&&void 0!==(e=x[u-1].href)&&e.match(I)&&(i=new Image,i.src=e)},M=function(t){var e={width:parseInt(f.width+(p.width-f.width)*t,10),height:parseInt(f.height+(p.height-f.height)*t,10),top:parseInt(f.top+(p.top-f.top)*t,10),left:parseInt(f.left+(p.left-f.left)*t,10)};void 0!==p.opacity&&(e.opacity=t<.5?.5:t),a.css(e),d.css({width:e.width-2*w.padding,height:e.height-O*t-2*w.padding})},z=function(){return[t(window).width()-2*w.margin,t(window).height()-2*w.margin,t(document).scrollLeft()+w.margin,t(document).scrollTop()+w.margin]},H=function(){var t=z(),e={},i=w.autoScale,n=2*w.padding;return e.width=w.width.toString().indexOf("%")>-1?parseInt(t[0]*parseFloat(w.width)/100,10):w.width+n,e.height=w.height.toString().indexOf("%")>-1?parseInt(t[1]*parseFloat(w.height)/100,10):w.height+n,i&&(e.width>t[0]||e.height>t[1])&&("image"==b.type||"swf"==b.type?(i=w.width/w.height,e.width>t[0]&&(e.width=t[0],e.height=parseInt((e.width-n)/i+n,10)),e.height>t[1]&&(e.height=t[1],e.width=parseInt((e.height-n)*i+n,10))):(e.width=Math.min(e.width,t[0]),e.height=Math.min(e.height,t[1]))),e.top=parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-e.height-40)),10),e.left=parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-e.width-40)),10),e},R=function(){var e=!!b.orig&&t(b.orig),i={};return e&&e.length?(i=e.offset(),i.top+=parseInt(e.css("paddingTop"),10)||0,i.left+=parseInt(e.css("paddingLeft"),10)||0,i.top+=parseInt(e.css("border-top-width"),10)||0,i.left+=parseInt(e.css("border-left-width"),10)||0,i.width=e.width(),i.height=e.height(),i={width:i.width+2*w.padding,height:i.height+2*w.padding,top:i.top-w.padding-20,left:i.left-w.padding-20}):(e=z(),i={width:2*w.padding,height:2*w.padding,top:parseInt(e[3]+.5*e[1],10),left:parseInt(e[2]+.5*e[0],10)}),i},K=function(){i.is(":visible")?(t("div",i).css("top",-40*k+"px"),k=(k+1)%12):clearInterval(l)};t.fn.fancybox=function(e){return t(this).length?(t(this).data("fancybox",t.extend({},e,t.metadata?t(this).metadata():{})).unbind("click.fb").bind("click.fb",function(e){e.preventDefault(),T||(T=!0,t(this).blur(),y=[],g=0,e=t(this).attr("rel")||"",e&&""!=e&&"nofollow"!==e?(y=t("a[rel="+e+"], area[rel="+e+"]"),g=y.index(this)):y.push(this),E())}),this):this},t.fancybox=function(e,i){var n;if(!T){if(T=!0,n=void 0!==i?i:{},y=[],g=parseInt(n.index,10)||0,t.isArray(e)){for(var a=0,o=e.length;a<o;a++)"object"==typeof e[a]?t(e[a]).data("fancybox",t.extend({},n,e[a])):e[a]=t({}).data("fancybox",t.extend({content:e[a]},n));y=jQuery.merge(y,e)}else"object"==typeof e?t(e).data("fancybox",t.extend({},n,e)):e=t({}).data("fancybox",t.extend({content:e},n)),y.push(e);(g>y.length||g<0)&&(g=0),E()}},t.fancybox.showActivity=function(){clearInterval(l),i.show(),l=setInterval(K,66)},t.fancybox.hideActivity=function(){i.hide()},t.fancybox.next=function(){return t.fancybox.pos(u+1)},t.fancybox.prev=function(){return t.fancybox.pos(u-1)},t.fancybox.pos=function(t){T||(t=parseInt(t),y=x,t>-1&&t<x.length?(g=t,E()):w.cyclic&&x.length>1&&(g=t>=x.length?0:x.length-1,E()))},t.fancybox.cancel=function(){T||(T=!0,t.event.trigger("fancybox-cancel"),D(),b.onCancel(y,g,b),T=!1)},t.fancybox.close=function(){function e(){n.fadeOut("fast"),s.empty().hide(),a.hide(),t.event.trigger("fancybox-cleanup"),d.empty(),w.onClosed(x,u,w),x=b=[],u=g=0,w=b={},T=!1}if(!T&&!a.is(":hidden"))if(T=!0,w&&!1===w.onCleanup(x,u,w))T=!1;else if(D(),t(c.add(r).add(h)).hide(),t(d.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),d.find("iframe").attr("src",A&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank"),"inside"!==w.titlePosition&&s.empty(),a.stop(),"elastic"==w.transitionOut){f=R();var i=a.position();p={top:i.top,left:i.left,width:a.width(),height:a.height()},w.opacity&&(p.opacity=1),s.empty().hide(),S.prop=1,t(S).animate({prop:0},{duration:w.speedOut,easing:w.easingOut,step:M,complete:e})}else a.fadeOut("none"==w.transitionOut?0:w.speedOut,e)},t.fancybox.resize=function(){n.is(":visible")&&n.css("height",t(document).height()),t.fancybox.center(!0)},t.fancybox.center=function(t){var e,i;T||(i=!0===t?1:0,e=z(),!i&&(a.width()>e[0]||a.height()>e[1])||a.stop().animate({top:parseInt(Math.max(e[3]-20,e[3]+.5*(e[1]-d.height()-40)-w.padding)),left:parseInt(Math.max(e[2]-20,e[2]+.5*(e[0]-d.width()-40)-w.padding))},"number"==typeof t?t:200))},t.fancybox.init=function(){t("#fancybox-wrap").length||(t("body").append(e=t('<div id="fancybox-tmp"></div>'),i=t('<div id="fancybox-loading"><div></div></div>'),n=t('<div id="fancybox-overlay"></div>'),a=t('<div id="fancybox-wrap"></div>')),o=t('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(a),o.append(d=t('<div id="fancybox-content"></div>'),c=t('<a id="fancybox-close"></a>'),s=t('<div id="fancybox-title"></div>'),r=t('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),h=t('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')),c.click(t.fancybox.close),i.click(t.fancybox.cancel),r.click(function(e){e.preventDefault(),t.fancybox.prev()}),h.click(function(e){e.preventDefault(),t.fancybox.next()}),t.fn.mousewheel&&a.bind("mousewheel.fb",function(e,i){T?e.preventDefault():0!=t(e.target).get(0).clientHeight&&t(e.target).get(0).scrollHeight!==t(e.target).get(0).clientHeight||(e.preventDefault(),t.fancybox[i>0?"prev":"next"]())}),t.support.opacity||a.addClass("fancybox-ie"),A&&(i.addClass("fancybox-ie6"),a.addClass("fancybox-ie6"),t('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(o)))},t.fn.fancybox.defaults={padding:10,margin:40,opacity:!1,modal:!1,cyclic:!1,scrolling:"auto",width:560,height:340,autoScale:!0,autoDimensions:!0,centerOnScroll:!1,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:!0,hideOnContentClick:!1,overlayShow:!0,overlayOpacity:.7,overlayColor:"#777",titleShow:!0,titlePosition:"float",titleFormat:null,titleFromAlt:!1,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:!0,showNavArrows:!0,enableEscapeButton:!0,enableKeyboardNav:!0,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}},t(document).ready(function(){t.fancybox.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.min.js
index 3b75ea4d387f5af49f47939d8b9fb0304b9550b0..0cf3868efe16f621e59f08edffef17704645b809 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.min.js
@@ -1 +1 @@
-jQuery(function(n){var e=function(){var e=nextgen_lightbox_filter_selector(n,n(".ngg-fancybox"));e.fancybox({titlePosition:"inside",onComplete:function(){n("#fancybox-wrap").css("z-index",1e4)}})};n(window).bind("refreshed",e),e()});
\ No newline at end of file
+jQuery(function(n){var e=function(){nextgen_lightbox_filter_selector(n,n(".ngg-fancybox")).fancybox({titlePosition:"inside",onComplete:function(){n("#fancybox-wrap").css("z-index",1e4)}})};n(window).bind("refreshed",e),e()});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.min.js
index 196210d89be4937fa72385c4a056257906fa8baf..e1499f7adc74d32e8fa82a987489389e1b9021c6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.min.js
@@ -1 +1 @@
-jQuery(function(e){var t=function(){var t=nextgen_lightbox_filter_selector(e,e([]));t.addClass("shutterset"),window.shutterSettings={imageCount:!0,msgLoading:nextgen_shutter_i18n.msgLoading,msgClose:nextgen_shutter_i18n.msgClose},shutterReloaded.init()};e(this).bind("refreshed",t);var n="shutter";"undefined"==typeof e(window).data(n)&&(e(window).data(n,!0),t())});
\ No newline at end of file
+jQuery(function(t){var e=function(){nextgen_lightbox_filter_selector(t,t([])).addClass("shutterset"),window.shutterSettings={imageCount:!0,msgLoading:nextgen_shutter_i18n.msgLoading,msgClose:nextgen_shutter_i18n.msgClose},shutterReloaded.init()};t(this).bind("refreshed",e);void 0===t(window).data("shutter")&&(t(window).data("shutter",!0),e())});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.css
index d2f8a4c76be63df5f555295ea242d50cf903deaa..54cb3eec086f58f5f533dfdf0e4f8579f3078da8 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.css
@@ -1 +1 @@
-#shDisplay div#shTitle{font:400 12px/17px 'Lucida Grande',Verdana,sans-serif;color:#fff;text-align:center;margin:0 auto}#shDisplay div#shCount{color:#999;font:400 10px/12px 'Lucida Grande',Verdana,sans-serif}#shDisplay div#shTitle a{text-decoration:none;font:700 16pt 'Courier New',Courier,fixed;letter-spacing:-2px;margin:0 10px;width:26px;color:#999}#shDisplay div#shTitle a:hover{color:#fff;border:none}#shDisplay div#shNext{float:right}#shDisplay div#shPrev{float:left}body{height:100%}#shDisplay *,#shShutter *{padding:0;margin:0}div#shDisplay,div#shShutter{top:0;left:0;width:100%;position:absolute}div#shShutter{height:100%;z-index:10000;background-color:#000;opacity:.8;filter:alpha(opacity=80)}div#shDisplay{display:block;background-color:transparent;z-index:10002}div#shDisplay img#shTopImg{margin:0 auto;border:1px solid #555;background:0 0;display:block;max-width:none;max-height:none;float:none;padding:2px;cursor:pointer}div#shDisplay div#shWrap{visibility:hidden}div#shWaitBar{font:700 32px 'Lucida Grande','Lucida Sans Unicode',Verdana,sans-serif;height:36px;width:100%;left:0;cursor:default;opacity:.999;filter:alpha(opacity=100);z-index:10001;margin-top:160px;color:#ae0a0a;text-align:center}
\ No newline at end of file
+#shDisplay div#shTitle{font:normal 12px/17px 'Lucida Grande',Verdana,sans-serif;color:#fff;text-align:center;margin:0 auto}#shDisplay div#shCount{color:#999;font:normal 10px/12px 'Lucida Grande',Verdana,sans-serif}#shDisplay div#shTitle a{text-decoration:none;font:bold 16pt 'Courier New',Courier,fixed;letter-spacing:-2px;margin:0 10px;width:26px;color:#999}#shDisplay div#shTitle a:hover{color:#fff;border:none}#shDisplay div#shNext{float:right}#shDisplay div#shPrev{float:left}body{height:100%}#shDisplay *,#shShutter *{padding:0;margin:0}div#shDisplay,div#shShutter{top:0;left:0;width:100%;position:absolute}div#shShutter{height:100%;z-index:10000;background-color:#000;opacity:.8}div#shDisplay{display:block;background-color:transparent;z-index:10002}div#shDisplay img#shTopImg{margin:0 auto;border:1px solid #555;background:0 0;display:block;max-width:none;max-height:none;float:none;padding:2px;cursor:pointer}div#shDisplay div#shWrap{visibility:hidden}div#shWaitBar{font:bold 32px 'Lucida Grande','Lucida Sans Unicode',Verdana,sans-serif;height:36px;width:100%;left:0;cursor:default;opacity:.999;z-index:10001;margin-top:160px;color:#ae0a0a;text-align:center}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.js
index 25f9ecb473c79e1ec303cfabfd74bd58ba3e5e0d..a8baf63ac9a0dbd9b696c3d0e130d9e031d6a397 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.min.js
@@ -1 +1 @@
-shutterReloaded={I:function(e){return document.getElementById(e)},settings:function(){var e=this,t=shutterSettings;e.imageCount=t.imageCount||0,e.msgLoading=t.msgLoading||"L O A D I N G",e.msgClose=t.msgClose||"Click to Close"},init:function(e){var t,i,n,s,o,d,l,h=this;for(shutterLinks={},shutterSets={},"object"!=typeof shutterSettings&&(shutterSettings={}),h.mobileOS="undefined"!=typeof orientation,s=0;s<document.links.length;s++)t=document.links[s],n=t.href.indexOf("?")==-1?t.href.slice(-4).toLowerCase():t.href.substring(0,t.href.indexOf("?")).slice(-4).toLowerCase(),".jpg"!=n&&".png"!=n&&".gif"!=n&&"jpeg"!=n||"sh"==e&&t.className.toLowerCase().indexOf("shutter")==-1||"lb"==e&&t.rel.toLowerCase().indexOf("lightbox")==-1||(t.className.toLowerCase().indexOf("shutterset")!=-1?o=t.className.replace(/\s/g,"_"):t.rel.toLowerCase().indexOf("lightbox[")!=-1?o=t.rel.replace(/\s/g,"_"):(o=0,d=-1),o&&(shutterSets[o]||(shutterSets[o]=[]),d=shutterSets[o].push(s)),l=t.href.slice(t.href.lastIndexOf("/")+1),i=t.title&&t.title!=l?t.title:"",shutterLinks[s]={link:t.href,num:d,set:o,title:i},t.onclick=new Function('shutterReloaded.make("'+s+'");return false;'));h.settings()},make:function(e,t){var i,n,s,o,d,l,h,r,a=this,u="",m="";if(a.Top||("undefined"!=typeof window.pageYOffset?a.Top=window.pageYOffset:a.Top=document.documentElement.scrollTop>0?document.documentElement.scrollTop:document.body.scrollTop),window.parent){var c=window.parent;if("undefined"!=typeof c.ngg_get_measures_for_frame){var g=c.ngg_get_measures_for_frame(window.frameElement);a.Top=a.Top+g.scrollTop}}"undefined"==typeof a.pgHeight&&(a.pgHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)),t?a.FS=t>0?1:0:a.FS=shutterSettings.FS||0,a.resizing&&(a.resizing=null),1==a.mobileOS?window.onorientationchange=new Function('shutterReloaded.resize("'+e+'");'):window.onresize=new Function('shutterReloaded.resize("'+e+'");'),document.documentElement.style.overflowX="hidden",a.VP||(a._viewPort(),a.VP=!0),(l=a.I("shShutter"))||(l=document.createElement("div"),l.setAttribute("id","shShutter"),document.getElementsByTagName("body")[0].appendChild(l),a.hideTags()),(d=a.I("shDisplay"))||(d=document.createElement("div"),d.setAttribute("id","shDisplay"),d.style.top=a.Top+"px",document.getElementsByTagName("body")[0].appendChild(d)),l.style.height=a.pgHeight+"px";var w=a.textBtns?" | ":"";shutterLinks[e].num>1?(i=shutterSets[shutterLinks[e].set][shutterLinks[e].num-2],u='<a href="#" id="prevpic" onclick="shutterReloaded.make('+i+');return false">&lt;&lt;</a>'+w,s=new Image,s.src=shutterLinks[i].link):u="",shutterLinks[e].num!=-1&&shutterLinks[e].num<shutterSets[shutterLinks[e].set].length?(n=shutterSets[shutterLinks[e].set][shutterLinks[e].num],m='<a href="#" id="nextpic" onclick="shutterReloaded.make('+n+');return false">&gt;&gt;</a>'+w,o=new Image,o.src=shutterLinks[n].link):m="",h=shutterLinks[e].num>0&&a.imageCount?'<div id="shCount">&nbsp;(&nbsp;'+shutterLinks[e].num+"&nbsp;/&nbsp;"+shutterSets[shutterLinks[e].set].length+"&nbsp;)&nbsp;</div>":"",r='<div id="shTitle"><div id="shPrev">'+u+'</div><div id="shNext">'+m+'</div><div id="shName">'+shutterLinks[e].title+"</div>"+h+"</div>",d.innerHTML='<div id="shWrap"><img src="'+shutterLinks[e].link+'" id="shTopImg" title="'+a.msgClose+'" onload="shutterReloaded.showImg();" onclick="shutterReloaded.hideShutter();" />'+r+"</div>",document.onkeydown=function(e){shutterReloaded.handleArrowKeys(e)},document.getElementById("shTopImg").src=shutterLinks[e].link,window.setTimeout(function(){shutterReloaded.loading()},1e3)},loading:function(){var e,t,i,n=this;(i=n.I("shWrap"))&&"visible"==i.style.visibility||(e=n.I("shShutter"))&&(n.I("shWaitBar")||(t=document.createElement("div"),t.setAttribute("id","shWaitBar"),t.style.top=n.Top+"px",t.style.marginTop=n.pgHeight/2+"px",t.innerHTML=n.msgLoading,e.appendChild(t)))},hideShutter:function(){var e,t,i=this;(e=i.I("shDisplay"))&&e.parentNode.removeChild(e),(t=i.I("shShutter"))&&t.parentNode.removeChild(t),i.hideTags(!0),window.scrollTo(0,i.Top),window.onresize=i.FS=i.Top=i.VP=null,document.documentElement.style.overflowX="",document.onkeydown=null},resize:function(e){var t=this;if(!t.resizing&&t.I("shShutter")){var i=t.I("shWrap");i&&(i.style.visibility="hidden"),window.setTimeout(function(){shutterReloaded.resizing=null},500),window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.make("'+e+'");'),100),t.resizing=!0}},_viewPort:function(){var e=this,t=window.innerHeight?window.innerHeight:0,i=document.body.clientHeight?document.body.clientHeight:0,n=document.documentElement?document.documentElement.clientHeight:0;t>0?(e.wHeight=t-i>1&&t-i<30?i:t,e.wHeight=e.wHeight-n>1&&e.wHeight-n<30?n:e.wHeight):e.wHeight=n>0?n:i,document.getElementsByTagName("body")[0].className.match(/admin-bar/)&&null!==document.getElementById("wpadminbar")&&(e.wHeight=e.wHeight-document.getElementById("wpadminbar").offsetHeight);var s=document.documentElement?document.documentElement.clientWidth:0,o=window.innerWidth?window.innerWidth:document.body.clientWidth;e.wWidth=s>1?s:o},showImg:function(){var e,t,i,n,s,o,d=this,l=d.I("shShutter"),h=d.I("shDisplay"),r=d.I("shTopImg"),a=d.I("shTitle"),u=(d.I("shNavBar"),0);if(l&&(!(e=d.I("shWrap"))||"visible"!=e.style.visibility)){if((t=d.I("shWaitBar"))&&t.parentNode.removeChild(t),l.style.width=h.style.width="",a.style.width=r.width-4+"px",i=d.wHeight-50,window.parent){var m=window.parent;if("undefined"!=typeof m.ngg_get_measures_for_frame){var c=m.ngg_get_measures_for_frame(window.frameElement);i=c.scrollHeight-50}}d.FS?(r.width>d.wWidth-10&&(l.style.width=h.style.width=r.width+10+"px"),document.documentElement.style.overflowX=""):(window.scrollTo(0,d.Top),r.height>i&&(r.width=r.width*(i/r.height),r.height=i,u=1),r.width>d.wWidth-16&&(r.height=r.height*((d.wWidth-16)/r.width),r.width=d.wWidth-16,u=1),a.style.width=r.width-4+"px"),n=d.Top+r.height+10,n>d.pgHeight&&(l.style.height=n+"px"),window.scrollTo(0,d.Top),s=.45*(i-r.height),o=s>3?Math.floor(s):3,document.getElementsByTagName("body")[0].className.match(/admin-bar/)&&null!==document.getElementById("wpadminbar")&&(o+=document.getElementById("wpadminbar").offsetHeight),h.style.top=d.Top+o+"px",e.style.visibility="visible"}},hideTags:function(e){var t=document.getElementsByTagName("select"),n=document.getElementsByTagName("object"),s=document.getElementsByTagName("embed"),o=document.getElementsByTagName("iframe"),d=e?"visible":"hidden";for(i=0;i<t.length;i++)t[i].style.visibility=d;for(i=0;i<n.length;i++)n[i].style.visibility=d;for(i=0;i<s.length;i++)s[i].style.visibility=d;for(i=0;i<o.length;i++)o[i].style.visibility=d},handleArrowKeys:function(e){var t=0;if(!e)var e=window.event;e.keyCode?t=e.keyCode:e.which&&(t=e.which);var i=document.getElementById("prevpic"),n=document.getElementById("nextpic"),s=document.getElementById("shTopImg");switch(t){case 39:n&&n.onclick();break;case 37:i&&i.onclick();break;case 27:s&&s.onclick()}}},shutterOnload=function(){shutterReloaded.init("sh")},"function"==typeof shutterOnload&&("undefined"!=typeof jQuery?jQuery(document).ready(function(){shutterOnload()}):"function"!=typeof window.onload?window.onload=shutterOnload:(oldonld=window.onload,window.onload=function(){oldonld&&oldonld(),shutterOnload()}));
\ No newline at end of file
+shutterReloaded={I:function(e){return document.getElementById(e)},settings:function(){var e=this,t=shutterSettings;e.imageCount=t.imageCount||0,e.msgLoading=t.msgLoading||"L O A D I N G",e.msgClose=t.msgClose||"Click to Close"},init:function(e){var t,i,n,s,o,d,l,h=this;for(shutterLinks={},shutterSets={},"object"!=typeof shutterSettings&&(shutterSettings={}),h.mobileOS="undefined"!=typeof orientation,s=0;s<document.links.length;s++)t=document.links[s],".jpg"!=(n=-1==t.href.indexOf("?")?t.href.slice(-4).toLowerCase():t.href.substring(0,t.href.indexOf("?")).slice(-4).toLowerCase())&&".png"!=n&&".gif"!=n&&"jpeg"!=n||"sh"==e&&-1==t.className.toLowerCase().indexOf("shutter")||"lb"==e&&-1==t.rel.toLowerCase().indexOf("lightbox")||(-1!=t.className.toLowerCase().indexOf("shutterset")?o=t.className.replace(/\s/g,"_"):-1!=t.rel.toLowerCase().indexOf("lightbox[")?o=t.rel.replace(/\s/g,"_"):(o=0,d=-1),o&&(shutterSets[o]||(shutterSets[o]=[]),d=shutterSets[o].push(s)),l=t.href.slice(t.href.lastIndexOf("/")+1),i=t.title&&t.title!=l?t.title:"",shutterLinks[s]={link:t.href,num:d,set:o,title:i},t.onclick=new Function('shutterReloaded.make("'+s+'");return false;'));h.settings()},make:function(e,t){var i,n,s,o,d,l,h,r,a=this,u="",m="";if(a.Top||(void 0!==window.pageYOffset?a.Top=window.pageYOffset:a.Top=document.documentElement.scrollTop>0?document.documentElement.scrollTop:document.body.scrollTop),window.parent){var c=window.parent;if(void 0!==c.ngg_get_measures_for_frame){var g=c.ngg_get_measures_for_frame(window.frameElement);a.Top=a.Top+g.scrollTop}}void 0===a.pgHeight&&(a.pgHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)),a.FS=t?t>0?1:0:shutterSettings.FS||0,a.resizing&&(a.resizing=null),1==a.mobileOS?window.onorientationchange=new Function('shutterReloaded.resize("'+e+'");'):window.onresize=new Function('shutterReloaded.resize("'+e+'");'),document.documentElement.style.overflowX="hidden",a.VP||(a._viewPort(),a.VP=!0),(l=a.I("shShutter"))||(l=document.createElement("div"),l.setAttribute("id","shShutter"),document.getElementsByTagName("body")[0].appendChild(l),a.hideTags()),(d=a.I("shDisplay"))||(d=document.createElement("div"),d.setAttribute("id","shDisplay"),d.style.top=a.Top+"px",document.getElementsByTagName("body")[0].appendChild(d)),l.style.height=a.pgHeight+"px";var w=a.textBtns?" | ":"";shutterLinks[e].num>1?(i=shutterSets[shutterLinks[e].set][shutterLinks[e].num-2],u='<a href="#" id="prevpic" onclick="shutterReloaded.make('+i+');return false">&lt;&lt;</a>'+w,s=new Image,s.src=shutterLinks[i].link):u="",-1!=shutterLinks[e].num&&shutterLinks[e].num<shutterSets[shutterLinks[e].set].length?(n=shutterSets[shutterLinks[e].set][shutterLinks[e].num],m='<a href="#" id="nextpic" onclick="shutterReloaded.make('+n+');return false">&gt;&gt;</a>'+w,o=new Image,o.src=shutterLinks[n].link):m="",h=shutterLinks[e].num>0&&a.imageCount?'<div id="shCount">&nbsp;(&nbsp;'+shutterLinks[e].num+"&nbsp;/&nbsp;"+shutterSets[shutterLinks[e].set].length+"&nbsp;)&nbsp;</div>":"",r='<div id="shTitle"><div id="shPrev">'+u+'</div><div id="shNext">'+m+'</div><div id="shName">'+shutterLinks[e].title+"</div>"+h+"</div>",d.innerHTML='<div id="shWrap"><img src="'+shutterLinks[e].link+'" id="shTopImg" title="'+a.msgClose+'" onload="shutterReloaded.showImg();" onclick="shutterReloaded.hideShutter();" />'+r+"</div>",document.onkeydown=function(e){shutterReloaded.handleArrowKeys(e)},document.getElementById("shTopImg").src=shutterLinks[e].link,window.setTimeout(function(){shutterReloaded.loading()},1e3)},loading:function(){var e,t,i,n=this;(i=n.I("shWrap"))&&"visible"==i.style.visibility||(e=n.I("shShutter"))&&(n.I("shWaitBar")||(t=document.createElement("div"),t.setAttribute("id","shWaitBar"),t.style.top=n.Top+"px",t.style.marginTop=n.pgHeight/2+"px",t.innerHTML=n.msgLoading,e.appendChild(t)))},hideShutter:function(){var e,t,i=this;(e=i.I("shDisplay"))&&e.parentNode.removeChild(e),(t=i.I("shShutter"))&&t.parentNode.removeChild(t),i.hideTags(!0),window.scrollTo(0,i.Top),window.onresize=i.FS=i.Top=i.VP=null,document.documentElement.style.overflowX="",document.onkeydown=null},resize:function(e){var t=this;if(!t.resizing&&t.I("shShutter")){var i=t.I("shWrap");i&&(i.style.visibility="hidden"),window.setTimeout(function(){shutterReloaded.resizing=null},500),window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.make("'+e+'");'),100),t.resizing=!0}},_viewPort:function(){var e=this,t=window.innerHeight?window.innerHeight:0,i=document.body.clientHeight?document.body.clientHeight:0,n=document.documentElement?document.documentElement.clientHeight:0;t>0?(e.wHeight=t-i>1&&t-i<30?i:t,e.wHeight=e.wHeight-n>1&&e.wHeight-n<30?n:e.wHeight):e.wHeight=n>0?n:i,document.getElementsByTagName("body")[0].className.match(/admin-bar/)&&null!==document.getElementById("wpadminbar")&&(e.wHeight=e.wHeight-document.getElementById("wpadminbar").offsetHeight);var s=document.documentElement?document.documentElement.clientWidth:0,o=window.innerWidth?window.innerWidth:document.body.clientWidth;e.wWidth=s>1?s:o},showImg:function(){var e,t,i,n,s,o,d=this,l=d.I("shShutter"),h=d.I("shDisplay"),r=d.I("shTopImg"),a=d.I("shTitle");d.I("shNavBar");if(l&&(!(e=d.I("shWrap"))||"visible"!=e.style.visibility)){if((t=d.I("shWaitBar"))&&t.parentNode.removeChild(t),l.style.width=h.style.width="",a.style.width=r.width-4+"px",i=d.wHeight-50,window.parent){var u=window.parent;if(void 0!==u.ngg_get_measures_for_frame){i=u.ngg_get_measures_for_frame(window.frameElement).scrollHeight-50}}d.FS?(r.width>d.wWidth-10&&(l.style.width=h.style.width=r.width+10+"px"),document.documentElement.style.overflowX=""):(window.scrollTo(0,d.Top),r.height>i&&(r.width=r.width*(i/r.height),r.height=i,1),r.width>d.wWidth-16&&(r.height=r.height*((d.wWidth-16)/r.width),r.width=d.wWidth-16,1),a.style.width=r.width-4+"px"),n=d.Top+r.height+10,n>d.pgHeight&&(l.style.height=n+"px"),window.scrollTo(0,d.Top),s=.45*(i-r.height),o=s>3?Math.floor(s):3,document.getElementsByTagName("body")[0].className.match(/admin-bar/)&&null!==document.getElementById("wpadminbar")&&(o+=document.getElementById("wpadminbar").offsetHeight),h.style.top=d.Top+o+"px",e.style.visibility="visible"}},hideTags:function(e){var t=document.getElementsByTagName("select"),n=document.getElementsByTagName("object"),s=document.getElementsByTagName("embed"),o=document.getElementsByTagName("iframe"),d=e?"visible":"hidden";for(i=0;i<t.length;i++)t[i].style.visibility=d;for(i=0;i<n.length;i++)n[i].style.visibility=d;for(i=0;i<s.length;i++)s[i].style.visibility=d;for(i=0;i<o.length;i++)o[i].style.visibility=d},handleArrowKeys:function(e){var t=0;if(!e)var e=window.event;e.keyCode?t=e.keyCode:e.which&&(t=e.which);var i=document.getElementById("prevpic"),n=document.getElementById("nextpic"),s=document.getElementById("shTopImg");switch(t){case 39:n&&n.onclick();break;case 37:i&&i.onclick();break;case 27:s&&s.onclick()}}},shutterOnload=function(){shutterReloaded.init("sh")},"function"==typeof shutterOnload&&("undefined"!=typeof jQuery?jQuery(document).ready(function(){shutterOnload()}):"function"!=typeof window.onload?window.onload=shutterOnload:(oldonld=window.onload,window.onload=function(){oldonld&&oldonld(),shutterOnload()}));
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.min.js
index bdeb491c5ac2e84774855614436ac20a410f6a01..2885278f09429e69b2888d98ad20cee5247efcc4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.min.js
@@ -1 +1 @@
-jQuery(function(e){var t=function(){var t=nextgen_lightbox_filter_selector(e,e([]));t.addClass("shutterset"),"undefined"!=typeof nextgen_shutter2_i18n&&(shutterReloaded.L10n=nextgen_shutter2_i18n),shutterReloaded.Init()};e(this).bind("refreshed",t);var n="shutterReloaded";"undefined"==typeof e(window).data(n)&&(e(window).data(n,!0),t())});
\ No newline at end of file
+jQuery(function(e){var t=function(){nextgen_lightbox_filter_selector(e,e([])).addClass("shutterset"),"undefined"!=typeof nextgen_shutter2_i18n&&(shutterReloaded.L10n=nextgen_shutter2_i18n),shutterReloaded.Init()};e(this).bind("refreshed",t);var n="shutterReloaded";void 0===e(window).data(n)&&(e(window).data(n,!0),t())});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.css
index d7c50aa414680e25ff374f32f81a24dfd263cfb0..189f315686815b5bc6b759bd196f6f1ccdc0bbf1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.css
@@ -1 +1 @@
-#shNavBar a{color:#aaf;text-decoration:none}#shNavBar a:hover{color:#fff}#shDisplay div#shTitle{font:400 12px/17px 'Lucida Grande',Verdana,sans-serif;color:#fff;text-align:center;margin:0 auto}div#shNavBar{font:400 12px/12px 'Lucida Grande',Verdana,sans-serif;color:#999;position:fixed;left:0;bottom:0;background-color:#2e2e2e;width:100%;padding:4px 0 5px;text-align:center;cursor:pointer;z-index:10011}body{height:100%}#shDisplay *,#shShutter *{padding:0;margin:0}div#shDisplay,div#shShutter{top:0;left:0;width:100%;position:absolute}div#shShutter{height:100%;z-index:10000;background-color:#000;opacity:.8;filter:alpha(opacity=80)}div#shDisplay{display:block;background-color:transparent;z-index:10002}div#shDisplay img#shTopImg{margin:0 auto;border:1px solid #555;background:0 0;display:block;max-width:none;max-height:none}div#shDisplay div#shWrap{visibility:hidden}div#shWaitBar{position:absolute;width:100px;left:50%;margin-left:-50px;margin-top:120px}#shWaitBar img{border:0}#fullSize{display:none}#shNavBar img{border:0;vertical-align:middle;margin:0 2px;opacity:.6;filter:alpha(opacity=60)}#shNavBar img:hover{opacity:.999;filter:alpha(opacity=100)}
\ No newline at end of file
+#shNavBar a{color:#aaf;text-decoration:none}#shNavBar a:hover{color:#fff}#shDisplay div#shTitle{font:normal 12px/17px 'Lucida Grande',Verdana,sans-serif;color:#fff;text-align:center;margin:0 auto}div#shNavBar{font:normal 12px/12px 'Lucida Grande',Verdana,sans-serif;color:#999;position:fixed;left:0;bottom:0;background-color:#2e2e2e;width:100%;padding:4px 0 5px;text-align:center;cursor:pointer;z-index:10011}body{height:100%}#shDisplay *,#shShutter *{padding:0;margin:0}div#shDisplay,div#shShutter{top:0;left:0;width:100%;position:absolute}div#shShutter{height:100%;z-index:10000;background-color:#000;opacity:.8}div#shDisplay{display:block;background-color:transparent;z-index:10002}div#shDisplay img#shTopImg{margin:0 auto;border:1px solid #555;background:0 0;display:block;max-width:none;max-height:none}div#shDisplay div#shWrap{visibility:hidden}div#shWaitBar{position:absolute;width:100px;left:50%;margin-left:-50px;margin-top:120px}#shWaitBar img{border:0}#fullSize{display:none}#shNavBar img{border:0;vertical-align:middle;margin:0 2px;opacity:.6}#shNavBar img:hover{opacity:.999}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.js
index 551488b4b3db2d23b7be5dd7302abb1070b4ef6c..2c5148b9a96f34abbd71d580d533c8d4ac95d02e 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.min.js
@@ -1 +1 @@
-var imagePath=nextgen_lightbox_settings.static_path+"/shutter_reloaded/images/";shutterReloaded={L10n:["Previous","Next","Close","Full Size","Fit to Screen","Image","of","Loading..."],imageCount:!0,textBtns:!1,shImgDir:imagePath,I:function(t){return document.getElementById(t)},Init:function(t){var e,i,s,h,n,o,l,d,r,a;for(h=0;h<document.links.length;h++)e=document.links[h],s=e.href.indexOf("?")==-1?e.href.slice(-4).toLowerCase():e.href.substring(0,e.href.indexOf("?")).slice(-4).toLowerCase(),".jpg"!=s&&".png"!=s&&".gif"!=s&&"jpeg"!=s||"sh"==t&&e.className.toLowerCase().indexOf("shutter")==-1||"lb"==t&&e.rel.toLowerCase().indexOf("lightbox")==-1||(e.className.toLowerCase().indexOf("shutterset")!=-1?n=e.className.indexOf(" ")!=-1?e.className.slice(0,e.className.indexOf(" ")):e.className:e.rel.toLowerCase().indexOf("lightbox[")!=-1?n=e.rel:(n=0,o=-1),n&&(shutterSets[n]||(shutterSets[n]=[]),o=shutterSets[n].push(h)),l=e.href.slice(e.href.lastIndexOf("/")+1),i=e.title&&e.title!=l?e.title:"",shutterLinks[h]={link:e.href,num:o,set:n,title:i},e.onclick=new Function('shutterReloaded.Make("'+h+'");return false;'));if(!this.textBtns)for(d=["close.gif","prev.gif","next.gif","resize1.gif","resize2.gif","loading.gif"],r=0;r<d.length;r++)a=new Image,a.src=this.shImgDir+d[r]},Make:function(t,e){var i,s,h,n,o,l,d,r,a,u,g,m,c,f="",w="",p="";this.Top||("undefined"!=typeof window.pageYOffset?this.Top=window.pageYOffset:this.Top=document.documentElement.scrollTop>0?document.documentElement.scrollTop:document.body.scrollTop),"undefined"==typeof this.pgHeight&&(this.pgHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)),e?this.FS=!0:this.FS=null,this.resizing&&(this.resizing=null),window.onresize=new Function('shutterReloaded.Resize("'+t+'");'),document.documentElement.style.overflowX="hidden",this.VP||(this._viewPort(),this.VP=!0),(r=this.I("shShutter"))||(r=document.createElement("div"),r.setAttribute("id","shShutter"),document.getElementsByTagName("body")[0].appendChild(r),this.fixTags()),(d=this.I("shDisplay"))||(d=document.createElement("div"),d.setAttribute("id","shDisplay"),d.style.top=this.Top+"px",document.getElementsByTagName("body")[0].appendChild(d)),r.style.height=this.pgHeight+"px";var y=this.textBtns?" | ":"";shutterLinks[t].num>1&&(i=shutterSets[shutterLinks[t].set][shutterLinks[t].num-2],o=this.textBtns?this.L10n[0]:'<img src="'+this.shImgDir+'prev.gif" title="'+this.L10n[0]+'" />',f='<a href="#" onclick="shutterReloaded.Make('+i+');return false">'+o+"</a>"+y,h=new Image,h.src=shutterLinks[i].link),shutterLinks[t].num!=-1&&shutterLinks[t].num<shutterSets[shutterLinks[t].set].length&&(s=shutterSets[shutterLinks[t].set][shutterLinks[t].num],l=this.textBtns?this.L10n[1]:'<img src="'+this.shImgDir+'next.gif" title="'+this.L10n[1]+'" />',w='<a href="#" onclick="shutterReloaded.Make('+s+');return false">'+l+"</a>"+y,n=new Image,n.src=shutterLinks[s].link),g=this.textBtns?this.L10n[2]:'<img src="'+this.shImgDir+'close.gif" title="'+this.L10n[2]+'" />',u=shutterLinks[t].num>0&&this.imageCount?" "+this.L10n[5]+"&nbsp;"+shutterLinks[t].num+"&nbsp;"+this.L10n[6]+"&nbsp;"+shutterSets[shutterLinks[t].set].length:"",u&&this.textBtns&&(u+=" |"),this.FS?m=this.textBtns?this.L10n[4]:'<img src="'+this.shImgDir+'resize2.gif" title="'+this.L10n[4]+'" />':(m=this.textBtns?this.L10n[3]:'<img src="'+this.shImgDir+'resize1.gif" title="'+this.L10n[3]+'" />',p=",1"),c='<span id="fullSize"><a href="#" onclick="shutterReloaded.Make('+t+p+');return false">'+m+"</a>"+y+"</span>",(a=this.I("shNavBar"))||(a=document.createElement("div"),a.setAttribute("id","shNavBar"),document.getElementsByTagName("body")[0].appendChild(a)),a.innerHTML=y+f+'<a href="#" onclick="shutterReloaded.hideShutter();return false">'+g+"</a>"+y+c+w+u,d.innerHTML='<div id="shWrap"><img src="'+shutterLinks[t].link+'" id="shTopImg" onload="shutterReloaded.ShowImg();" onclick="shutterReloaded.hideShutter();" /><div id="shTitle">'+shutterLinks[t].title+"</div></div>",window.setTimeout(function(){shutterReloaded.loading()},2e3)},loading:function(){var t,e,i;(i=this.I("shWrap"))&&"visible"==i.style.visibility||(t=this.I("shShutter"))&&(this.I("shWaitBar")||(e=document.createElement("div"),e.setAttribute("id","shWaitBar"),e.style.top=this.Top+"px",e.innerHTML='<img src="'+this.shImgDir+'loading.gif" title="'+this.L10n[7]+'" />',t.appendChild(e)))},hideShutter:function(){var t,e,i;(t=this.I("shDisplay"))&&t.parentNode.removeChild(t),(e=this.I("shShutter"))&&e.parentNode.removeChild(e),(i=this.I("shNavBar"))&&i.parentNode.removeChild(i),this.fixTags(!0),window.scrollTo(0,this.Top),window.onresize=this.FS=this.Top=this.VP=null,document.documentElement.style.overflowX=""},Resize:function(t){if(!this.resizing&&this.I("shShutter")){var e=this.I("shWrap");e&&(e.style.visibility="hidden"),window.setTimeout(function(){shutterReloaded.resizing=null},500),window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.Make("'+t+'");'),100),this.resizing=!0}},_viewPort:function(){var t=window.innerHeight?window.innerHeight:0,e=document.body.clientHeight?document.body.clientHeight:0,i=document.documentElement?document.documentElement.clientHeight:0;t>0?(this.wHeight=t-e>1&&t-e<30?e:t,this.wHeight=this.wHeight-i>1&&this.wHeight-i<30?i:this.wHeight):this.wHeight=i>0?i:e;var s=document.documentElement?document.documentElement.clientWidth:0,h=window.innerWidth?window.innerWidth:document.body.clientWidth;this.wWidth=s>1?s:h},ShowImg:function(){var t,e,i,s,h,n,o,l,d,r,a,u,g=0;(t=this.I("shShutter"))&&((e=this.I("shWrap"))&&"visible"==e.style.visibility||((i=this.I("shWaitBar"))&&i.parentNode.removeChild(i),s=this.I("shDisplay"),n=this.I("shTopImg"),h=this.I("shTitle"),o=this.I("shNavBar"),t.style.width=s.style.width="",h.style.width=n.width-4+"px",l=o.offsetHeight?h.offsetHeight+o.offsetHeight:30,d=this.wHeight-7-l,this.FS?(n.width>this.wWidth-10&&(t.style.width=s.style.width=n.width+10+"px"),document.documentElement.style.overflowX=""):(window.scrollTo(0,this.Top),n.height>d&&(n.width=n.width*(d/n.height),n.height=d,g=1),n.width>this.wWidth-16&&(n.height=n.height*((this.wWidth-16)/n.width),n.width=this.wWidth-16,g=1),h.style.width=n.width-4+"px",o.style.bottom="0px"),r=this.Top+n.height+l+10,r>this.pgHeight&&(t.style.height=r+"px"),window.scrollTo(0,this.Top),(this.FS&&(n.height>d||n.width>this.wWidth)||g)&&(this.I("fullSize").style.display="inline"),a=.45*(d-n.height),u=a>3?Math.floor(a):3,s.style.top=this.Top+u+"px",o.style.bottom="0",e.style.visibility="visible"))},fixTags:function(t){var e=document.getElementsByTagName("select"),s=document.getElementsByTagName("object"),h=document.getElementsByTagName("embed");if(t)var n="visible";else var n="hidden";for(i=0;i<e.length;i++)e[i].style.visibility=n;for(i=0;i<s.length;i++)s[i].style.visibility=n;for(i=0;i<h.length;i++)h[i].style.visibility=n}};var shutterLinks={},shutterSets={};"function"==typeof shutterOnload&&(oldonload=window.onload,"function"!=typeof window.onload?window.onload=shutterOnload:window.onload=function(){shutterOnload(),oldonload&&oldonload()});
\ No newline at end of file
+var imagePath=nextgen_lightbox_settings.static_path+"/shutter_reloaded/images/";shutterReloaded={L10n:["Previous","Next","Close","Full Size","Fit to Screen","Image","of","Loading..."],imageCount:!0,textBtns:!1,shImgDir:imagePath,I:function(t){return document.getElementById(t)},Init:function(t){var e,i,s,h,n,o,l,d,r,a;for(h=0;h<document.links.length;h++)e=document.links[h],".jpg"!=(s=-1==e.href.indexOf("?")?e.href.slice(-4).toLowerCase():e.href.substring(0,e.href.indexOf("?")).slice(-4).toLowerCase())&&".png"!=s&&".gif"!=s&&"jpeg"!=s||"sh"==t&&-1==e.className.toLowerCase().indexOf("shutter")||"lb"==t&&-1==e.rel.toLowerCase().indexOf("lightbox")||(-1!=e.className.toLowerCase().indexOf("shutterset")?n=-1!=e.className.indexOf(" ")?e.className.slice(0,e.className.indexOf(" ")):e.className:-1!=e.rel.toLowerCase().indexOf("lightbox[")?n=e.rel:(n=0,o=-1),n&&(shutterSets[n]||(shutterSets[n]=[]),o=shutterSets[n].push(h)),l=e.href.slice(e.href.lastIndexOf("/")+1),i=e.title&&e.title!=l?e.title:"",shutterLinks[h]={link:e.href,num:o,set:n,title:i},e.onclick=new Function('shutterReloaded.Make("'+h+'");return false;'));if(!this.textBtns)for(d=["close.gif","prev.gif","next.gif","resize1.gif","resize2.gif","loading.gif"],r=0;r<d.length;r++)a=new Image,a.src=this.shImgDir+d[r]},Make:function(t,e){var i,s,h,n,o,l,d,r,a,u,g,m,c,w="",f="",p="";this.Top||(void 0!==window.pageYOffset?this.Top=window.pageYOffset:this.Top=document.documentElement.scrollTop>0?document.documentElement.scrollTop:document.body.scrollTop),void 0===this.pgHeight&&(this.pgHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)),this.FS=!!e||null,this.resizing&&(this.resizing=null),window.onresize=new Function('shutterReloaded.Resize("'+t+'");'),document.documentElement.style.overflowX="hidden",this.VP||(this._viewPort(),this.VP=!0),(r=this.I("shShutter"))||(r=document.createElement("div"),r.setAttribute("id","shShutter"),document.getElementsByTagName("body")[0].appendChild(r),this.fixTags()),(d=this.I("shDisplay"))||(d=document.createElement("div"),d.setAttribute("id","shDisplay"),d.style.top=this.Top+"px",document.getElementsByTagName("body")[0].appendChild(d)),r.style.height=this.pgHeight+"px";var y=this.textBtns?" | ":"";shutterLinks[t].num>1&&(i=shutterSets[shutterLinks[t].set][shutterLinks[t].num-2],o=this.textBtns?this.L10n[0]:'<img src="'+this.shImgDir+'prev.gif" title="'+this.L10n[0]+'" />',w='<a href="#" onclick="shutterReloaded.Make('+i+');return false">'+o+"</a>"+y,h=new Image,h.src=shutterLinks[i].link),-1!=shutterLinks[t].num&&shutterLinks[t].num<shutterSets[shutterLinks[t].set].length&&(s=shutterSets[shutterLinks[t].set][shutterLinks[t].num],l=this.textBtns?this.L10n[1]:'<img src="'+this.shImgDir+'next.gif" title="'+this.L10n[1]+'" />',f='<a href="#" onclick="shutterReloaded.Make('+s+');return false">'+l+"</a>"+y,n=new Image,n.src=shutterLinks[s].link),g=this.textBtns?this.L10n[2]:'<img src="'+this.shImgDir+'close.gif" title="'+this.L10n[2]+'" />',u=shutterLinks[t].num>0&&this.imageCount?" "+this.L10n[5]+"&nbsp;"+shutterLinks[t].num+"&nbsp;"+this.L10n[6]+"&nbsp;"+shutterSets[shutterLinks[t].set].length:"",u&&this.textBtns&&(u+=" |"),this.FS?m=this.textBtns?this.L10n[4]:'<img src="'+this.shImgDir+'resize2.gif" title="'+this.L10n[4]+'" />':(m=this.textBtns?this.L10n[3]:'<img src="'+this.shImgDir+'resize1.gif" title="'+this.L10n[3]+'" />',p=",1"),c='<span id="fullSize"><a href="#" onclick="shutterReloaded.Make('+t+p+');return false">'+m+"</a>"+y+"</span>",(a=this.I("shNavBar"))||(a=document.createElement("div"),a.setAttribute("id","shNavBar"),document.getElementsByTagName("body")[0].appendChild(a)),a.innerHTML=y+w+'<a href="#" onclick="shutterReloaded.hideShutter();return false">'+g+"</a>"+y+c+f+u,d.innerHTML='<div id="shWrap"><img src="'+shutterLinks[t].link+'" id="shTopImg" onload="shutterReloaded.ShowImg();" onclick="shutterReloaded.hideShutter();" /><div id="shTitle">'+shutterLinks[t].title+"</div></div>",window.setTimeout(function(){shutterReloaded.loading()},2e3)},loading:function(){var t,e,i;(i=this.I("shWrap"))&&"visible"==i.style.visibility||(t=this.I("shShutter"))&&(this.I("shWaitBar")||(e=document.createElement("div"),e.setAttribute("id","shWaitBar"),e.style.top=this.Top+"px",e.innerHTML='<img src="'+this.shImgDir+'loading.gif" title="'+this.L10n[7]+'" />',t.appendChild(e)))},hideShutter:function(){var t,e,i;(t=this.I("shDisplay"))&&t.parentNode.removeChild(t),(e=this.I("shShutter"))&&e.parentNode.removeChild(e),(i=this.I("shNavBar"))&&i.parentNode.removeChild(i),this.fixTags(!0),window.scrollTo(0,this.Top),window.onresize=this.FS=this.Top=this.VP=null,document.documentElement.style.overflowX=""},Resize:function(t){if(!this.resizing&&this.I("shShutter")){var e=this.I("shWrap");e&&(e.style.visibility="hidden"),window.setTimeout(function(){shutterReloaded.resizing=null},500),window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.Make("'+t+'");'),100),this.resizing=!0}},_viewPort:function(){var t=window.innerHeight?window.innerHeight:0,e=document.body.clientHeight?document.body.clientHeight:0,i=document.documentElement?document.documentElement.clientHeight:0;t>0?(this.wHeight=t-e>1&&t-e<30?e:t,this.wHeight=this.wHeight-i>1&&this.wHeight-i<30?i:this.wHeight):this.wHeight=i>0?i:e;var s=document.documentElement?document.documentElement.clientWidth:0,h=window.innerWidth?window.innerWidth:document.body.clientWidth;this.wWidth=s>1?s:h},ShowImg:function(){var t,e,i,s,h,n,o,l,d,r,a,u,g=0;(t=this.I("shShutter"))&&((e=this.I("shWrap"))&&"visible"==e.style.visibility||((i=this.I("shWaitBar"))&&i.parentNode.removeChild(i),s=this.I("shDisplay"),n=this.I("shTopImg"),h=this.I("shTitle"),o=this.I("shNavBar"),t.style.width=s.style.width="",h.style.width=n.width-4+"px",l=o.offsetHeight?h.offsetHeight+o.offsetHeight:30,d=this.wHeight-7-l,this.FS?(n.width>this.wWidth-10&&(t.style.width=s.style.width=n.width+10+"px"),document.documentElement.style.overflowX=""):(window.scrollTo(0,this.Top),n.height>d&&(n.width=n.width*(d/n.height),n.height=d,g=1),n.width>this.wWidth-16&&(n.height=n.height*((this.wWidth-16)/n.width),n.width=this.wWidth-16,g=1),h.style.width=n.width-4+"px",o.style.bottom="0px"),r=this.Top+n.height+l+10,r>this.pgHeight&&(t.style.height=r+"px"),window.scrollTo(0,this.Top),(this.FS&&(n.height>d||n.width>this.wWidth)||g)&&(this.I("fullSize").style.display="inline"),a=.45*(d-n.height),u=a>3?Math.floor(a):3,s.style.top=this.Top+u+"px",o.style.bottom="0",e.style.visibility="visible"))},fixTags:function(t){var e=document.getElementsByTagName("select"),s=document.getElementsByTagName("object"),h=document.getElementsByTagName("embed");if(t)var n="visible";else var n="hidden";for(i=0;i<e.length;i++)e[i].style.visibility=n;for(i=0;i<s.length;i++)s[i].style.visibility=n;for(i=0;i<h.length;i++)h[i].style.visibility=n}};var shutterLinks={},shutterSets={};"function"==typeof shutterOnload&&(oldonload=window.onload,"function"!=typeof window.onload?window.onload=shutterOnload:window.onload=function(){shutterOnload(),oldonload&&oldonload()});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.min.js
index 85fc344bc94b2530970c37956ec2f8303c978d0f..44d5829f6fd4f835728c96d0dad0d52c128e7fec 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.min.js
@@ -1 +1 @@
-"undefined"==typeof window.thickboxL10n&&("undefined"==typeof nextgen_thickbox_i18n?window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:"Next &gt;",prev:"&lt; Prev",image:"Image",of:"of",close:"Close",noiframes:"This feature requires inline frames. You have iframes disabled or your browser does not support them."}:window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:nextgen_thickbox_i18n.next,prev:nextgen_thickbox_i18n.prev,image:nextgen_thickbox_i18n.image,of:nextgen_thickbox_i18n.of,close:nextgen_thickbox_i18n.close,noiframes:nextgen_thickbox_i18n.noiframes}),jQuery(function(e){var i=nextgen_lightbox_filter_selector(e,e([]));i.addClass("thickbox")});
\ No newline at end of file
+void 0===window.thickboxL10n&&("undefined"==typeof nextgen_thickbox_i18n?window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:"Next &gt;",prev:"&lt; Prev",image:"Image",of:"of",close:"Close",noiframes:"This feature requires inline frames. You have iframes disabled or your browser does not support them."}:window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:nextgen_thickbox_i18n.next,prev:nextgen_thickbox_i18n.prev,image:nextgen_thickbox_i18n.image,of:nextgen_thickbox_i18n.of,close:nextgen_thickbox_i18n.close,noiframes:nextgen_thickbox_i18n.noiframes}),jQuery(function(e){nextgen_lightbox_filter_selector(e,e([])).addClass("thickbox")});
\ 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 576da4324e506b603bf5a9fb905e7e63e40cc3f1..3d26ce090b823c3ae8cd4e5977f09377feb5b52f 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',
-            '0.8',
+            '3.0.0',
             '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/mvc/package.module.mvc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/package.module.mvc.php
index 11e8cf0c8cb3c98b1e6aecdfd5556a95ff5eb161..9981140b908527aac90d70b122b2cf30ba6c2781 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
@@ -430,7 +430,7 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
      */
     function render()
     {
-        if (!headers_sent()) {
+        if (!headers_sent() || defined('DOING_AJAX')) {
             header('Content-Type: ' . $this->object->_content_type . '; charset=' . get_option('blog_charset'), true);
         }
     }
@@ -612,6 +612,7 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
                 $this->end_element();
             }
         }
+        return NULL;
     }
     /**
      * Gets the absolute path of an MVC template file
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 5d7a21b17c7877b30f76bc8b9cc5aced97fda41d..e093a555468d64b373ab91cdb93f0522b90b6e89 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',
-            '0.9',
+            '3.0.0',
             '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 e309f8928ebf6f8f1ad6e2753f96d07e8e2b766b..c30efa95f4de531358cc47eed05247974865fa39 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
@@ -39,7 +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', 'nggallery'), 'gritter_error' => __('An unexpected error occured. This is most likely due to a server misconfiguration. Check your PHP error log or ask your hosting provider for assistance.', 'nggallery'));
+        $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;
         }
@@ -361,14 +361,18 @@ class A_NextGen_AddGallery_Controller extends Mixin
 }
 /**
  * Class A_NextGen_AddGallery_Pages
- * @mixin C_Page_Manager
+ * @mixin C_NextGen_Admin_Page_Manager
  * @adapts I_Page_Manager
  */
 class A_NextGen_AddGallery_Pages extends Mixin
 {
     function setup()
     {
-        $this->object->add(NGG_ADD_GALLERY_SLUG, array('adapter' => 'A_NextGen_AddGallery_Controller', 'parent' => NGGFOLDER, 'add_menu' => TRUE, 'before' => 'nggallery-manage-gallery'));
+        // TODO: remove this if() when plupload is upgraded
+        // Because iOS cannot work with our current version of plupload we hide this page from iOS users
+        if (!preg_match('/crios|iP(hone|od|ad)/i', $_SERVER['HTTP_USER_AGENT'])) {
+            $this->object->add(NGG_ADD_GALLERY_SLUG, array('adapter' => 'A_NextGen_AddGallery_Controller', 'parent' => NGGFOLDER, 'add_menu' => TRUE, 'before' => 'nggallery-manage-gallery'));
+        }
         return $this->call_parent('setup');
     }
 }
@@ -385,7 +389,7 @@ class A_Upload_Images_Form extends Mixin
     }
     function get_i18n_strings()
     {
-        return array('no_image_uploaded' => __('No images were uploaded successfully.', 'nggallery'), 'one_image_uploaded' => __('1 image was uploaded successfully.', 'nggallery'), 'x_images_uploaded' => __('{count} images were uploaded successfully.', 'nggallery'), 'image_errors' => __('The following errors occured:', 'nggallery'), 'manage_gallery' => __('Manage gallery {name}', 'nggallery'));
+        return array('no_image_uploaded' => __('No images were uploaded successfully.', 'nggallery'), 'one_image_uploaded' => __('1 image was uploaded successfully.', 'nggallery'), 'x_images_uploaded' => __('{count} images were uploaded successfully.', 'nggallery'), 'image_errors' => __('The following errors occured:', 'nggallery'), 'manage_gallery' => __('Manage gallery > {name}', 'nggallery'));
     }
     /**
      * Plupload stores its i18n JS *mostly* as "en.js" or "ar.js" - but some as zh_CN.js so we must check both if the
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png
index 784e8fa48234f4f64b6922a6758f254ee0ca08ec..0e5330cfda2ff4ed83a996ef7d85f95f5c8b2f11 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png
index 4e3548352fc4a82e91ebc7e79907565e40aae457..1ec37311b2b439f54ca5b0c5f6c0b09f725c2575 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.min.css
index fbc54086268c93933b10b4aef0d8d764398f9501..95c5814e9b6f957aee43e2d093e3c47515e0af92 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.min.css
@@ -1 +1 @@
-UL.jqueryFileTree{font-family:Verdana,sans-serif;font-size:11px;line-height:18px;padding:0;margin:0}UL.jqueryFileTree LI{list-style:none;padding:0 0 0 20px;margin:0;white-space:nowrap}UL.jqueryFileTree A{color:#333;text-decoration:none;display:block;padding:0 2px}UL.jqueryFileTree A:hover{background:#BDF}UL.jqueryFileTree A.selected_folder{background-color:#EEE}.jqueryFileTree LI.directory{background:url(images/directory.png) left top no-repeat}.jqueryFileTree LI.expanded{background:url(images/folder_open.png) left top no-repeat}.jqueryFileTree LI.file{background:url(images/file.png) left top no-repeat}.jqueryFileTree LI.wait{background:url(images/spinner.gif) left top no-repeat}.jqueryFileTree LI.ext_3gp{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_afp,.jqueryFileTree LI.ext_afpa,.jqueryFileTree LI.ext_asp,.jqueryFileTree LI.ext_aspx{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_avi{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_bat{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_bmp{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_c,.jqueryFileTree LI.ext_cfm,.jqueryFileTree LI.ext_cgi{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_com{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_cpp{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_css{background:url(images/css.png) left top no-repeat}.jqueryFileTree LI.ext_doc{background:url(images/doc.png) left top no-repeat}.jqueryFileTree LI.ext_exe{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_gif{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_fla{background:url(images/flash.png) left top no-repeat}.jqueryFileTree LI.ext_h{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_htm,.jqueryFileTree LI.ext_html{background:url(images/html.png) left top no-repeat}.jqueryFileTree LI.ext_jar{background:url(images/java.png) left top no-repeat}.jqueryFileTree LI.ext_jpeg,.jqueryFileTree LI.ext_jpg{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_js{background:url(images/script.png) left top no-repeat}.jqueryFileTree LI.ext_lasso{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_log{background:url(images/txt.png) left top no-repeat}.jqueryFileTree LI.ext_m4p{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_mov{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_mp3{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_mp4,.jqueryFileTree LI.ext_mpeg,.jqueryFileTree LI.ext_mpg{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_ogg{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_pcx{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_pdf{background:url(images/pdf.png) left top no-repeat}.jqueryFileTree LI.ext_php{background:url(images/php.png) left top no-repeat}.jqueryFileTree LI.ext_png{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_ppt{background:url(images/ppt.png) left top no-repeat}.jqueryFileTree LI.ext_psd{background:url(images/psd.png) left top no-repeat}.jqueryFileTree LI.ext_pl,.jqueryFileTree LI.ext_py{background:url(images/script.png) left top no-repeat}.jqueryFileTree LI.ext_rb,.jqueryFileTree LI.ext_rbx,.jqueryFileTree LI.ext_rhtml{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_rpm{background:url(images/linux.png) left top no-repeat}.jqueryFileTree LI.ext_ruby{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_sql{background:url(images/db.png) left top no-repeat}.jqueryFileTree LI.ext_swf{background:url(images/flash.png) left top no-repeat}.jqueryFileTree LI.ext_tif,.jqueryFileTree LI.ext_tiff{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_txt{background:url(images/txt.png) left top no-repeat}.jqueryFileTree LI.ext_vb{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_wav{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_wmv{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_xls{background:url(images/xls.png) left top no-repeat}.jqueryFileTree LI.ext_xml{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_zip{background:url(images/zip.png) left top no-repeat}
\ No newline at end of file
+UL.jqueryFileTree{font-family:Verdana,sans-serif;font-size:11px;line-height:18px;padding:0;margin:0}UL.jqueryFileTree LI{list-style:none;padding:0;padding-left:20px;margin:0;white-space:nowrap}UL.jqueryFileTree A{color:#333;text-decoration:none;display:block;padding:0 2px}UL.jqueryFileTree A:hover{background:#bdf}UL.jqueryFileTree A.selected_folder{background-color:#eee}.jqueryFileTree LI.directory{background:url(images/directory.png) left top no-repeat}.jqueryFileTree LI.expanded{background:url(images/folder_open.png) left top no-repeat}.jqueryFileTree LI.file{background:url(images/file.png) left top no-repeat}.jqueryFileTree LI.wait{background:url(images/spinner.gif) left top no-repeat}.jqueryFileTree LI.ext_3gp{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_afp{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_afpa{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_asp{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_aspx{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_avi{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_bat{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_bmp{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_c{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_cfm{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_cgi{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_com{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_cpp{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_css{background:url(images/css.png) left top no-repeat}.jqueryFileTree LI.ext_doc{background:url(images/doc.png) left top no-repeat}.jqueryFileTree LI.ext_exe{background:url(images/application.png) left top no-repeat}.jqueryFileTree LI.ext_gif{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_fla{background:url(images/flash.png) left top no-repeat}.jqueryFileTree LI.ext_h{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_htm{background:url(images/html.png) left top no-repeat}.jqueryFileTree LI.ext_html{background:url(images/html.png) left top no-repeat}.jqueryFileTree LI.ext_jar{background:url(images/java.png) left top no-repeat}.jqueryFileTree LI.ext_jpg{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_jpeg{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_js{background:url(images/script.png) left top no-repeat}.jqueryFileTree LI.ext_lasso{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_log{background:url(images/txt.png) left top no-repeat}.jqueryFileTree LI.ext_m4p{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_mov{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_mp3{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_mp4{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_mpg{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_mpeg{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_ogg{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_pcx{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_pdf{background:url(images/pdf.png) left top no-repeat}.jqueryFileTree LI.ext_php{background:url(images/php.png) left top no-repeat}.jqueryFileTree LI.ext_png{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_ppt{background:url(images/ppt.png) left top no-repeat}.jqueryFileTree LI.ext_psd{background:url(images/psd.png) left top no-repeat}.jqueryFileTree LI.ext_pl{background:url(images/script.png) left top no-repeat}.jqueryFileTree LI.ext_py{background:url(images/script.png) left top no-repeat}.jqueryFileTree LI.ext_rb{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_rbx{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_rhtml{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_rpm{background:url(images/linux.png) left top no-repeat}.jqueryFileTree LI.ext_ruby{background:url(images/ruby.png) left top no-repeat}.jqueryFileTree LI.ext_sql{background:url(images/db.png) left top no-repeat}.jqueryFileTree LI.ext_swf{background:url(images/flash.png) left top no-repeat}.jqueryFileTree LI.ext_tif{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_tiff{background:url(images/picture.png) left top no-repeat}.jqueryFileTree LI.ext_txt{background:url(images/txt.png) left top no-repeat}.jqueryFileTree LI.ext_vb{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_wav{background:url(images/music.png) left top no-repeat}.jqueryFileTree LI.ext_wmv{background:url(images/film.png) left top no-repeat}.jqueryFileTree LI.ext_xls{background:url(images/xls.png) left top no-repeat}.jqueryFileTree LI.ext_xml{background:url(images/code.png) left top no-repeat}.jqueryFileTree LI.ext_zip{background:url(images/zip.png) left top no-repeat}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.css
index ed4a10f3fc9809c7dc5362fb17f22a09f0b73096..23e8b8852e30e6914920c3563dd935bae6514582 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.css
@@ -24,4 +24,12 @@
 
 #ngg-importML-gallery-select {
     vertical-align: middle;
+}
+
+.ngg_settings_page .jqueryFileTree LI.directory {
+	background-size: contain;
+}
+
+.ngg_settings_page .jqueryFileTree LI.expanded {
+    background-size: 21px;
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.css
index 85a22c3be0ee2b18c1c4166ec9a0dbbdc855a6e9..e6b8168c8f4498a5fab9a65994b7b730d2627ab3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/media-library-import.min.css
@@ -1 +1 @@
-#ngg-importML-select-opener.hidden,#ngg-importML-selected-image-import.hidden{display:none}#ngg-importML-gallery-selection{display:inline-block}#ngg-importML-gallery-name,#ngg-importML-gallery-select,#ngg-importML-select-opener,#ngg-importML-selected-image-import{vertical-align:middle}
\ No newline at end of file
+#ngg-importML-selected-image-import.hidden{display:none}#ngg-importML-select-opener.hidden{display:none}#ngg-importML-gallery-selection{display:inline-block}#ngg-importML-selected-image-import{vertical-align:middle}#ngg-importML-select-opener{vertical-align:middle}#ngg-importML-gallery-name{vertical-align:middle}#ngg-importML-gallery-select{vertical-align:middle}.ngg_settings_page .jqueryFileTree LI.directory{background-size:contain}.ngg_settings_page .jqueryFileTree LI.expanded{background-size:21px}
\ No newline at end of file
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 feafd27f45fd801fab35e6255bc4479ded05ab6e..1b12f52edcb6a65bd6dd4518b539e3ab881729a6 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("undefined"==typeof 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()),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
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.min.css
index 4c164a742b135835b255a4dc9c84a97c8b48d206..72425dddf00a52e446bdc0d56b7f8483be6c9d66 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.min.css
@@ -1 +1 @@
-.plupload_button{display:-moz-inline-box;display:inline-block;font:400 12px sans-serif;text-decoration:none;color:#42454a;border:1px solid #bababa;padding:2px 8px 3px 20px;margin-right:4px;background:url(../img/buttons.png) 0 center no-repeat #f3f3f3;outline:0;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.plupload_button:hover{color:#000;text-decoration:none}.plupload_disabled,a.plupload_disabled:hover{color:#737373;border-color:#c5c5c5;background:url(../img/buttons-disabled.png) 0 center no-repeat #ededed;cursor:default}.plupload_add{background-position:-181px center}.plupload_wrapper{font:400 11px Verdana,sans-serif;width:100%}.plupload_container{padding:8px;background:url(../img/transp50.png)}.plupload_container input{border:1px solid #DDD;font:400 11px Verdana,sans-serif;width:98%}.plupload_header{background:url(../img/backgrounds.gif) repeat-x #2A2C2E}.plupload_header_content{background:url(../img/backgrounds.gif) 0 -317px no-repeat;min-height:56px;padding-left:60px;color:#FFF}.plupload_header_title{font:400 18px sans-serif;padding:6px 0 3px}.plupload_header_text{font:400 12px sans-serif}.plupload_filelist{margin:0;padding:0;list-style:none}.plupload_scroll .plupload_filelist{height:185px;background:#F5F5F5;overflow-y:scroll}.plupload_filelist li{padding:10px 8px;background:url(../img/backgrounds.gif) 0 -156px repeat-x #F5F5F5;border-bottom:1px solid #DDD}.plupload_filelist_footer,.plupload_filelist_header{background:#DFDFDF;padding:8px;color:#42454A}.plupload_filelist_header{border-top:1px solid #EEE;border-bottom:1px solid #CDCDCD}.plupload_filelist_footer{border-top:1px solid #FFF;height:22px;line-height:20px;vertical-align:middle}.plupload_file_name{float:left;overflow:hidden}.plupload_file_status{color:#777}.plupload_file_status span{color:#42454A}.plupload_file_size,.plupload_file_status,.plupload_progress{float:right;width:80px}.plupload_file_action,.plupload_file_size,.plupload_file_status{text-align:right}.plupload_filelist .plupload_file_name{width:205px;white-space:nowrap;text-overflow:ellipsis}.plupload_file_action{float:right;width:16px;height:16px;margin-left:15px}.plupload_file_action *{display:none;width:16px;height:16px}li.plupload_uploading{background:url(../img/backgrounds.gif) 0 -238px repeat-x #ECF3DC}li.plupload_done{color:#AAA}li.plupload_delete a{background:url(../img/delete.gif)}li.plupload_failed a{background:url(../img/error.gif);cursor:default}li.plupload_done a{background:url(../img/done.gif);cursor:default}.plupload_progress,.plupload_upload_status{display:none}.plupload_progress_container{margin-top:3px;border:1px solid #CCC;background:#FFF;padding:1px}.plupload_progress_bar{width:0;height:7px;background:#CDEB8B}.plupload_scroll .plupload_filelist_footer .plupload_file_action,.plupload_scroll .plupload_filelist_header .plupload_file_action{margin-right:17px}.plupload_clear,.plupload_clearer{clear:both}.plupload_clearer,.plupload_progress_bar{display:block;font-size:0;line-height:0}li.plupload_droptext{background:0 0;text-align:center;vertical-align:middle;border:0;line-height:165px}
\ No newline at end of file
+.plupload_button{display:-moz-inline-box;display:inline-block;font:normal 12px sans-serif;text-decoration:none;color:#42454a;border:1px solid #bababa;padding:2px 8px 3px 20px;margin-right:4px;background:#f3f3f3 url(../img/buttons.png) no-repeat 0 center;outline:0;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.plupload_button:hover{color:#000;text-decoration:none}.plupload_disabled,a.plupload_disabled:hover{color:#737373;border-color:#c5c5c5;background:#ededed url(../img/buttons-disabled.png) no-repeat 0 center;cursor:default}.plupload_add{background-position:-181px center}.plupload_wrapper{font:normal 11px Verdana,sans-serif;width:100%}.plupload_container{padding:8px;background:url(../img/transp50.png)}.plupload_container input{border:1px solid #ddd;font:normal 11px Verdana,sans-serif;width:98%}.plupload_header{background:#2a2c2e url(../img/backgrounds.gif) repeat-x}.plupload_header_content{background:url(../img/backgrounds.gif) no-repeat 0 -317px;min-height:56px;padding-left:60px;color:#fff}.plupload_header_title{font:normal 18px sans-serif;padding:6px 0 3px}.plupload_header_text{font:normal 12px sans-serif}.plupload_filelist{margin:0;padding:0;list-style:none}.plupload_scroll .plupload_filelist{height:185px;background:#f5f5f5;overflow-y:scroll}.plupload_filelist li{padding:10px 8px;background:#f5f5f5 url(../img/backgrounds.gif) repeat-x 0 -156px;border-bottom:1px solid #ddd}.plupload_filelist_footer,.plupload_filelist_header{background:#dfdfdf;padding:8px 8px;color:#42454a}.plupload_filelist_header{border-top:1px solid #eee;border-bottom:1px solid #cdcdcd}.plupload_filelist_footer{border-top:1px solid #fff;height:22px;line-height:20px;vertical-align:middle}.plupload_file_name{float:left;overflow:hidden}.plupload_file_status{color:#777}.plupload_file_status span{color:#42454a}.plupload_file_size,.plupload_file_status,.plupload_progress{float:right;width:80px}.plupload_file_action,.plupload_file_size,.plupload_file_status{text-align:right}.plupload_filelist .plupload_file_name{width:205px;white-space:nowrap;text-overflow:ellipsis}.plupload_file_action{float:right;width:16px;height:16px;margin-left:15px}.plupload_file_action *{display:none;width:16px;height:16px}li.plupload_uploading{background:#ecf3dc url(../img/backgrounds.gif) repeat-x 0 -238px}li.plupload_done{color:#aaa}li.plupload_delete a{background:url(../img/delete.gif)}li.plupload_failed a{background:url(../img/error.gif);cursor:default}li.plupload_done a{background:url(../img/done.gif);cursor:default}.plupload_progress,.plupload_upload_status{display:none}.plupload_progress_container{margin-top:3px;border:1px solid #ccc;background:#fff;padding:1px}.plupload_progress_bar{width:0;height:7px;background:#cdeb8b}.plupload_scroll .plupload_filelist_footer .plupload_file_action,.plupload_scroll .plupload_filelist_header .plupload_file_action{margin-right:17px}.plupload_clear,.plupload_clearer{clear:both}.plupload_clearer,.plupload_progress_bar{display:block;font-size:0;line-height:0}li.plupload_droptext{background:0 0;text-align:center;vertical-align:middle;border:0;line-height:165px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.min.js
index 7dd6debc0279a63af86c3db955ff318a642fa054..af95f9fced0b36c490db9fba4b3e03cfc5516850 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.min.js
@@ -1,4 +1,4 @@
-!function(e,t){"use strict";function i(e,t){for(var i,n=[],o=0;o<e.length;++o){if(i=a[e[o]]||r(e[o]),!i)throw"module definition dependecy not found: "+e[o];n.push(i)}t.apply(null,n)}function n(e,n,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(n===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";i(n,function(){a[e]=r.apply(null,arguments)})}function r(t){for(var i=e,n=t.split(/[.\/]/),r=0;r<n.length;++r){if(!i[n[r]])return;i=i[n[r]]}return i}function o(i){for(var n=0;n<i.length;n++){for(var r=e,o=i[n],s=o.split(/[.\/]/),u=0;u<s.length-1;++u)r[s[u]]===t&&(r[s[u]]={}),r=r[s[u]];r[s[s.length-1]]=a[o]}}var a={};n("moxie/core/utils/Basic",[],function(){var e=function(e){var t;return e===t?"undefined":null===e?"null":e.nodeType?"node":{}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},t=function(n){var r;return i(arguments,function(o,s){s>0&&i(o,function(i,o){i!==r&&(e(n[o])===e(i)&&~a(e(i),["array","object"])?t(n[o],i):n[o]=i)})}),n},i=function(e,t){var i,n,r,o;if(e){try{i=e.length}catch(e){i=o}if(i===o){for(n in e)if(e.hasOwnProperty(n)&&t(e[n],n)===!1)return}else for(r=0;r<i;r++)if(t(e[r],r)===!1)return}},n=function(t){var i;if(!t||"object"!==e(t))return!0;for(i in t)return!1;return!0},r=function(t,i){function n(r){"function"===e(t[r])&&t[r](function(e){++r<o&&!e?n(r):i(e)})}var r=0,o=t.length;"function"!==e(i)&&(i=function(){}),t&&t.length||i(),n(r)},o=function(e,t){var n=0,r=e.length,o=new Array(r);i(e,function(e,i){e(function(e){if(e)return t(e);var a=[].slice.call(arguments);a.shift(),o[i]=a,n++,n===r&&(o.unshift(null),t.apply(this,o))})})},a=function(e,t){if(t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(t,e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1},s=function(t,i){var n=[];"array"!==e(t)&&(t=[t]),"array"!==e(i)&&(i=[i]);for(var r in t)a(t[r],i)===-1&&n.push(t[r]);return!!n.length&&n},u=function(e,t){var n=[];return i(e,function(e){a(e,t)!==-1&&n.push(e)}),n.length?n:null},c=function(e){var t,i=[];for(t=0;t<e.length;t++)i[t]=e[t];return i},l=function(){var e=0;return function(t){var i,n=(new Date).getTime().toString(32);for(i=0;i<5;i++)n+=Math.floor(65535*Math.random()).toString(32);return(t||"o_")+n+(e++).toString(32)}}(),d=function(e){return e?String.prototype.trim?String.prototype.trim.call(e):e.toString().replace(/^\s*/,"").replace(/\s*$/,""):e},m=function(e){if("string"!=typeof e)return e;var t,i={t:1099511627776,g:1073741824,m:1048576,k:1024};return e=/^([0-9]+)([mgk]?)$/.exec(e.toLowerCase().replace(/[^0-9mkg]/g,"")),t=e[2],e=+e[1],i.hasOwnProperty(t)&&(e*=i[t]),e};return{guid:l,typeOf:e,extend:t,each:i,isEmptyObj:n,inSeries:r,inParallel:o,inArray:a,arrayDiff:s,arrayIntersect:u,toArray:c,trim:d,parseSizeStr:m}}),n("moxie/core/I18n",["moxie/core/utils/Basic"],function(e){var t={};return{addI18n:function(i){return e.extend(t,i)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(t){var i=[].slice.call(arguments,1);return t.replace(/%[a-z]/g,function(){var t=i.shift();return"undefined"!==e.typeOf(t)?t:""})}}}),n("moxie/core/utils/Mime",["moxie/core/utils/Basic","moxie/core/I18n"],function(e,t){var i="application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe",n={mimes:{},extensions:{},addMimeType:function(e){var t,i,n,r=e.split(/,/);for(t=0;t<r.length;t+=2){for(n=r[t+1].split(/ /),i=0;i<n.length;i++)this.mimes[n[i]]=r[t];this.extensions[r[t]]=n}},extList2mimes:function(t,i){var n,r,o,a,s=this,u=[];for(r=0;r<t.length;r++)for(n=t[r].extensions.split(/\s*,\s*/),o=0;o<n.length;o++){if("*"===n[o])return[];if(a=s.mimes[n[o]])e.inArray(a,u)===-1&&u.push(a);else{if(!i||!/^\w+$/.test(n[o]))return[];u.push("."+n[o])}}return u},mimes2exts:function(t){var i=this,n=[];return e.each(t,function(t){if("*"===t)return n=[],!1;var r=t.match(/^(\w+)\/(\*|\w+)$/);r&&("*"===r[2]?e.each(i.extensions,function(e,t){new RegExp("^"+r[1]+"/").test(t)&&[].push.apply(n,i.extensions[t])}):i.extensions[t]&&[].push.apply(n,i.extensions[t]))}),n},mimes2extList:function(i){var n=[],r=[];return"string"===e.typeOf(i)&&(i=e.trim(i).split(/\s*,\s*/)),r=this.mimes2exts(i),n.push({title:t.translate("Files"),extensions:r.length?r.join(","):"*"}),n.mimes=i,n},getFileExtension:function(e){var t=e&&e.match(/\.([^.]+)$/);return t?t[1].toLowerCase():""},getFileMime:function(e){return this.mimes[this.getFileExtension(e)]||""}};return n.addMimeType(i),n}),n("moxie/core/utils/Env",["moxie/core/utils/Basic"],function(e){function t(e,t,i){var n=0,r=0,o=0,a={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},s=function(e){return e=(""+e).replace(/[_\-+]/g,"."),e=e.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,"."),e.length?e.split("."):[-8]},u=function(e){return e?isNaN(e)?a[e]||-7:parseInt(e,10):0};for(e=s(e),t=s(t),r=Math.max(e.length,t.length),n=0;n<r;n++)if(e[n]!=t[n]){if(e[n]=u(e[n]),t[n]=u(t[n]),e[n]<t[n]){o=-1;break}if(e[n]>t[n]){o=1;break}}if(!i)return o;switch(i){case">":case"gt":return o>0;case">=":case"ge":return o>=0;case"<=":case"le":return o<=0;case"==":case"=":case"eq":return 0===o;case"<>":case"!=":case"ne":return 0!==o;case"":case"<":case"lt":return o<0;default:return null}}var i=function(e){var t="",i="?",n="function",r="undefined",o="object",a="major",s="name",u="version",c={has:function(e,t){return t.toLowerCase().indexOf(e.toLowerCase())!==-1},lowerize:function(e){return e.toLowerCase()}},l={rgx:function(){for(var t,i,a,s,u,c,l,d=0,m=arguments;d<m.length;d+=2){var f=m[d],p=m[d+1];if(typeof t===r){t={};for(s in p)u=p[s],typeof u===o?t[u[0]]=e:t[u]=e}for(i=a=0;i<f.length;i++)if(c=f[i].exec(this.getUA())){for(s=0;s<p.length;s++)l=c[++a],u=p[s],typeof u===o&&u.length>0?2==u.length?typeof u[1]==n?t[u[0]]=u[1].call(this,l):t[u[0]]=u[1]:3==u.length?typeof u[1]!==n||u[1].exec&&u[1].test?t[u[0]]=l?l.replace(u[1],u[2]):e:t[u[0]]=l?u[1].call(this,l,u[2]):e:4==u.length&&(t[u[0]]=l?u[3].call(this,l.replace(u[1],u[2])):e):t[u]=l?l:e;break}if(c)break}return t},str:function(t,n){for(var r in n)if(typeof n[r]===o&&n[r].length>0){for(var a=0;a<n[r].length;a++)if(c.has(n[r][a],t))return r===i?e:r}else if(c.has(n[r],t))return r===i?e:r;return t}},d={browser:{oldsafari:{major:{1:["/8","/1","/3"],2:"/4","?":"/"},version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",RT:"ARM"}}}},m={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[s,u,a],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[s,"Opera"],u,a],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[s,u,a],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[s,"IE"],u,a],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[s,"Yandex"],u,a],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[s,/_/g," "],u,a],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],[s,u,a],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[s,"Dolphin"],u,a],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[s,"Chrome"],u,a],[/((?:android.+))version\/((\d+)?[\w\.]+)\smobile\ssafari/i],[[s,"Android Browser"],u,a],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[u,a,[s,"Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[u,a,s],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[s,[a,l.str,d.browser.oldsafari.major],[u,l.str,d.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[s,u,a],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[s,"Netscape"],u,a],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[s,u,a]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[s,u],[/rv\:([\w\.]+).*(gecko)/i],[u,s]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[s,[u,l.str,d.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[s,"Windows"],[u,l.str,d.os.windows.version]],[/\((bb)(10);/i],[[s,"BlackBerry"],u],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],[s,u],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[s,"Symbian"],u],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[s,"Firefox OS"],u],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[s,u],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[s,"Chromium OS"],u],[/(sunos)\s?([\w\.]+\d)*/i],[[s,"Solaris"],u],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[s,u],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[s,"iOS"],[u,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],[s,[u,/_/g,"."]],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i,/(unix)\s?([\w\.]+)*/i],[s,u]]},f=function(e){var i=e||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:t);this.getBrowser=function(){return l.rgx.apply(this,m.browser)},this.getEngine=function(){return l.rgx.apply(this,m.engine)},this.getOS=function(){return l.rgx.apply(this,m.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS()}},this.getUA=function(){return i},this.setUA=function(e){return i=e,this},this.setUA(i)};return(new f).getResult()}(),n=function(){var t={define_property:function(){return!1}(),create_canvas:function(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))}(),return_response_type:function(t){try{if(e.inArray(t,["","text","document"])!==-1)return!0;if(window.XMLHttpRequest){var i=new XMLHttpRequest;if(i.open("get","/"),"responseType"in i)return i.responseType=t,i.responseType===t}}catch(e){}return!1},use_data_uri:function(){var e=new Image;return e.onload=function(){t.use_data_uri=1===e.width&&1===e.height},setTimeout(function(){e.src="data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="},1),!1}(),use_data_uri_over32kb:function(){return t.use_data_uri&&("IE"!==r.browser||r.version>=9)},use_data_uri_of:function(e){return t.use_data_uri&&e<33e3||t.use_data_uri_over32kb()},use_fileinput:function(){var e=document.createElement("input");return e.setAttribute("type","file"),!e.disabled}};return function(i){var n=[].slice.call(arguments);return n.shift(),"function"===e.typeOf(t[i])?t[i].apply(this,n):!!t[i]}}(),r={can:n,browser:i.browser.name,version:parseFloat(i.browser.major),os:i.os.name,osVersion:i.os.version,verComp:t,swf_url:"../flash/Moxie.swf",xap_url:"../silverlight/Moxie.xap",global_event_dispatcher:"moxie.core.EventTarget.instance.dispatchEvent"};return r.OS=r.os,r}),n("moxie/core/utils/Dom",["moxie/core/utils/Env"],function(e){var t=function(e){return"string"!=typeof e?e:document.getElementById(e)},i=function(e,t){if(!e.className)return!1;var i=new RegExp("(^|\\s+)"+t+"(\\s+|$)");return i.test(e.className)},n=function(e,t){i(e,t)||(e.className=e.className?e.className.replace(/\s+$/,"")+" "+t:t)},r=function(e,t){if(e.className){var i=new RegExp("(^|\\s+)"+t+"(\\s+|$)");e.className=e.className.replace(i,function(e,t,i){return" "===t&&" "===i?" ":""})}},o=function(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?window.getComputedStyle(e,null)[t]:void 0},a=function(t,i){function n(e){var t,i,n=0,r=0;return e&&(i=e.getBoundingClientRect(),t="CSS1Compat"===c.compatMode?c.documentElement:c.body,n=i.left+t.scrollLeft,r=i.top+t.scrollTop),{x:n,y:r}}var r,o,a,s=0,u=0,c=document;if(t=t,i=i||c.body,t&&t.getBoundingClientRect&&"IE"===e.browser&&(!c.documentMode||c.documentMode<8))return o=n(t),a=n(i),{x:o.x-a.x,y:o.y-a.y};for(r=t;r&&r!=i&&r.nodeType;)s+=r.offsetLeft||0,u+=r.offsetTop||0,r=r.offsetParent;for(r=t.parentNode;r&&r!=i&&r.nodeType;)s-=r.scrollLeft||0,u-=r.scrollTop||0,r=r.parentNode;return{x:s,y:u}},s=function(e){return{w:e.offsetWidth||e.clientWidth,h:e.offsetHeight||e.clientHeight}};return{get:t,hasClass:i,addClass:n,removeClass:r,getStyle:o,getPos:a,getSize:s}}),n("moxie/core/Exceptions",["moxie/core/utils/Basic"],function(e){function t(e,t){var i;for(i in e)if(e[i]===t)return i;return null}return{RuntimeError:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": RuntimeError "+this.code}var n={NOT_INIT_ERR:1,NOT_SUPPORTED_ERR:9,JS_ERR:4};return e.extend(i,n),i.prototype=Error.prototype,i}(),OperationNotAllowedException:function(){function t(e){this.code=e,this.name="OperationNotAllowedException"}return e.extend(t,{NOT_ALLOWED_ERR:1}),t.prototype=Error.prototype,t}(),ImageError:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": ImageError "+this.code}var n={WRONG_FORMAT:1,MAX_RESOLUTION_ERR:2};return e.extend(i,n),i.prototype=Error.prototype,i}(),FileException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": FileException "+this.code}var n={NOT_FOUND_ERR:1,SECURITY_ERR:2,ABORT_ERR:3,NOT_READABLE_ERR:4,ENCODING_ERR:5,NO_MODIFICATION_ALLOWED_ERR:6,INVALID_STATE_ERR:7,SYNTAX_ERR:8};return e.extend(i,n),i.prototype=Error.prototype,i}(),DOMException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": DOMException "+this.code}var n={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25};return e.extend(i,n),i.prototype=Error.prototype,i}(),EventException:function(){function t(e){this.code=e,this.name="EventException"}return e.extend(t,{UNSPECIFIED_EVENT_TYPE_ERR:0}),t.prototype=Error.prototype,t}()}}),n("moxie/core/EventTarget",["moxie/core/Exceptions","moxie/core/utils/Basic"],function(e,t){function i(){var i={};t.extend(this,{uid:null,init:function(){this.uid||(this.uid=t.guid("uid_"))},addEventListener:function(e,n,r,o){var a,s=this;return e=t.trim(e),/\s/.test(e)?void t.each(e.split(/\s+/),function(e){s.addEventListener(e,n,r,o)}):(e=e.toLowerCase(),r=parseInt(r,10)||0,a=i[this.uid]&&i[this.uid][e]||[],a.push({fn:n,priority:r,scope:o||this}),i[this.uid]||(i[this.uid]={}),void(i[this.uid][e]=a))},hasEventListener:function(e){return e?!(!i[this.uid]||!i[this.uid][e]):!!i[this.uid]},removeEventListener:function(e,n){e=e.toLowerCase();var r,o=i[this.uid]&&i[this.uid][e];if(o){if(n){for(r=o.length-1;r>=0;r--)if(o[r].fn===n){o.splice(r,1);break}}else o=[];o.length||(delete i[this.uid][e],t.isEmptyObj(i[this.uid])&&delete i[this.uid])}},removeAllEventListeners:function(){i[this.uid]&&delete i[this.uid]},dispatchEvent:function(n){var r,o,a,s,u,c={},l=!0;if("string"!==t.typeOf(n)){if(s=n,"string"!==t.typeOf(s.type))throw new e.EventException(e.EventException.UNSPECIFIED_EVENT_TYPE_ERR);n=s.type,s.total!==u&&s.loaded!==u&&(c.total=s.total,c.loaded=s.loaded),c.async=s.async||!1}if(n.indexOf("::")!==-1?!function(e){r=e[0],n=e[1]}(n.split("::")):r=this.uid,n=n.toLowerCase(),o=i[r]&&i[r][n]){o.sort(function(e,t){return t.priority-e.priority}),a=[].slice.call(arguments),a.shift(),c.type=n,a.unshift(c);var d=[];t.each(o,function(e){a[0].target=e.scope,c.async?d.push(function(t){setTimeout(function(){t(e.fn.apply(e.scope,a)===!1)},1)}):d.push(function(t){t(e.fn.apply(e.scope,a)===!1)})}),d.length&&t.inSeries(d,function(e){l=!e})}return l},bind:function(){this.addEventListener.apply(this,arguments)},unbind:function(){this.removeEventListener.apply(this,arguments)},unbindAll:function(){this.removeAllEventListeners.apply(this,arguments)},trigger:function(){return this.dispatchEvent.apply(this,arguments)},convertEventPropsToHandlers:function(e){var i;"array"!==t.typeOf(e)&&(e=[e]);for(var n=0;n<e.length;n++)i="on"+e[n],"function"===t.typeOf(this[i])?this.addEventListener(e[n],this[i]):"undefined"===t.typeOf(this[i])&&(this[i]=null)}})}return i.instance=new i,i}),n("moxie/core/utils/Encode",[],function(){var e=function(e){return unescape(encodeURIComponent(e))},t=function(e){return decodeURIComponent(escape(e))},i=function(e,i){if("function"==typeof window.atob)return i?t(window.atob(e)):window.atob(e);var n,r,o,a,s,u,c,l,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,f=0,p="",h=[];if(!e)return e;e+="";do a=d.indexOf(e.charAt(m++)),s=d.indexOf(e.charAt(m++)),u=d.indexOf(e.charAt(m++)),c=d.indexOf(e.charAt(m++)),l=a<<18|s<<12|u<<6|c,n=l>>16&255,r=l>>8&255,o=255&l,64==u?h[f++]=String.fromCharCode(n):64==c?h[f++]=String.fromCharCode(n,r):h[f++]=String.fromCharCode(n,r,o);while(m<e.length);return p=h.join(""),i?t(p):p},n=function(t,i){if(i&&e(t),"function"==typeof window.btoa)return window.btoa(t);var n,r,o,a,s,u,c,l,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,f=0,p="",h=[];if(!t)return t;do n=t.charCodeAt(m++),r=t.charCodeAt(m++),o=t.charCodeAt(m++),l=n<<16|r<<8|o,a=l>>18&63,s=l>>12&63,u=l>>6&63,c=63&l,h[f++]=d.charAt(a)+d.charAt(s)+d.charAt(u)+d.charAt(c);while(m<t.length);p=h.join("");var g=t.length%3;return(g?p.slice(0,g-3):p)+"===".slice(g||3)};return{utf8_encode:e,utf8_decode:t,atob:i,btoa:n}}),n("moxie/runtime/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/EventTarget"],function(e,t,i){function n(i,r,a,s,u){var c,l=this,d=e.guid(r+"_"),m=u||"browser";i=i||{},o[d]=this,a=e.extend({access_binary:!1,access_image_binary:!1,display_media:!1,do_cors:!1,drag_and_drop:!1,filter_by_extension:!0,resize_image:!1,report_upload_progress:!1,return_response_headers:!1,return_response_type:!1,return_status_code:!0,send_custom_headers:!1,select_file:!1,select_folder:!1,select_multiple:!0,send_binary_string:!1,send_browser_cookies:!0,send_multipart:!0,slice_blob:!1,stream_upload:!1,summon_file_dialog:!1,upload_filesize:!0,use_http_method:!0},a),i.preferred_caps&&(m=n.getMode(s,i.preferred_caps,m)),c=function(){var t={};return{exec:function(e,i,n,r){if(c[i]&&(t[e]||(t[e]={context:this,instance:new c[i]}),t[e].instance[n]))return t[e].instance[n].apply(this,r)},removeInstance:function(e){delete t[e]},removeAllInstances:function(){var i=this;e.each(t,function(t,n){"function"===e.typeOf(t.instance.destroy)&&t.instance.destroy.call(t.context),i.removeInstance(n)})}}}(),e.extend(this,{initialized:!1,uid:d,type:r,mode:n.getMode(s,i.required_caps,m),shimid:d+"_container",clients:0,options:i,can:function(t,i){var r=arguments[2]||a;if("string"===e.typeOf(t)&&"undefined"===e.typeOf(i)&&(t=n.parseCaps(t)),"object"===e.typeOf(t)){for(var o in t)if(!this.can(o,t[o],r))return!1;return!0}return"function"===e.typeOf(r[t])?r[t].call(this,i):i===r[t]},getShimContainer:function(){var i,n=t.get(this.shimid);return n||(i=this.options.container?t.get(this.options.container):document.body,n=document.createElement("div"),n.id=this.shimid,n.className="moxie-shim moxie-shim-"+this.type,e.extend(n.style,{position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),i.appendChild(n),i=null),n},getShim:function(){return c},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec.call(this,this.uid,e,t,i)},exec:function(e,t){var i=[].slice.call(arguments,2);return l[e]&&l[e][t]?l[e][t].apply(this,i):l.shimExec.apply(this,arguments)},destroy:function(){if(l){var e=t.get(this.shimid);e&&e.parentNode.removeChild(e),c&&c.removeAllInstances(),this.unbindAll(),delete o[this.uid],this.uid=null,d=l=c=e=null}}}),this.mode&&i.required_caps&&!this.can(i.required_caps)&&(this.mode=!1)}var r={},o={};return n.order="html5,flash,silverlight,html4",n.getRuntime=function(e){return!!o[e]&&o[e]},n.addConstructor=function(e,t){t.prototype=i.instance,r[e]=t},n.getConstructor=function(e){return r[e]||null},n.getInfo=function(e){var t=n.getRuntime(e);return t?{uid:t.uid,type:t.type,mode:t.mode,can:function(){return t.can.apply(t,arguments)}}:null},n.parseCaps=function(t){var i={};return"string"!==e.typeOf(t)?t||{}:(e.each(t.split(","),function(e){i[e]=!0}),i)},n.can=function(e,t){var i,r,o=n.getConstructor(e);return!!o&&(i=new o({required_caps:t}),r=i.mode,i.destroy(),!!r)},n.thatCan=function(e,t){var i=(t||n.order).split(/\s*,\s*/);for(var r in i)if(n.can(i[r],e))return i[r];return null},n.getMode=function(t,i,n){var r=null;if("undefined"===e.typeOf(n)&&(n="browser"),i&&!e.isEmptyObj(t)){if(e.each(i,function(i,n){if(t.hasOwnProperty(n)){var o=t[n](i);if("string"==typeof o&&(o=[o]),r){if(!(r=e.arrayIntersect(r,o)))return r=!1}else r=o}}),r)return e.inArray(n,r)!==-1?n:r[0];if(r===!1)return!1}return n},n.capTrue=function(){return!0},n.capFalse=function(){return!1},n.capTest=function(e){return function(){return!!e}},n}),n("moxie/runtime/RuntimeClient",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/runtime/Runtime"],function(e,t,i){return function(){var n;t.extend(this,{connectRuntime:function(r){function o(t){var a,u;return t.length?(a=t.shift(),(u=i.getConstructor(a))?(n=new u(r),n.bind("Init",function(){n.initialized=!0,setTimeout(function(){n.clients++,s.trigger("RuntimeInit",n)},1)}),n.bind("Error",function(){n.destroy(),o(t)}),n.mode?void n.init():void n.trigger("Error")):void o(t)):(s.trigger("RuntimeError",new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)),void(n=null))}var a,s=this;if("string"===t.typeOf(r)?a=r:"string"===t.typeOf(r.ruid)&&(a=r.ruid),a){if(n=i.getRuntime(a))return n.clients++,n;throw new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)}o((r.runtime_order||i.order).split(/\s*,\s*/))},getRuntime:function(){return n&&n.uid?n:(n=null,null)},disconnectRuntime:function(){n&&--n.clients<=0&&(n.destroy(),n=null)}})}}),n("moxie/file/Blob",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/runtime/RuntimeClient"],function(e,t,i){function n(o,a){function s(t,i,o){var a,s=r[this.uid];return"string"===e.typeOf(s)&&s.length?(a=new n(null,{type:o,size:i-t}),a.detach(s.substr(t,a.size)),a):null}i.call(this),o&&this.connectRuntime(o),a?"string"===e.typeOf(a)&&(a={data:a}):a={},e.extend(this,{uid:a.uid||e.guid("uid_"),ruid:o,size:a.size||0,type:a.type||"",slice:function(e,t,i){return this.isDetached()?s.apply(this,arguments):this.getRuntime().exec.call(this,"Blob","slice",this.getSource(),e,t,i)},getSource:function(){return r[this.uid]?r[this.uid]:null},detach:function(e){this.ruid&&(this.getRuntime().exec.call(this,"Blob","destroy",r[this.uid]),this.disconnectRuntime(),this.ruid=null),e=e||"";var i=e.match(/^data:([^;]*);base64,/);i&&(this.type=i[1],e=t.atob(e.substring(e.indexOf("base64,")+7))),this.size=e.length,r[this.uid]=e},isDetached:function(){return!this.ruid&&"string"===e.typeOf(r[this.uid])},destroy:function(){this.detach(),delete r[this.uid]}}),a.data?this.detach(a.data):r[this.uid]=a}var r={};return n}),n("moxie/file/File",["moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/file/Blob"],function(e,t,i){function n(n,r){var o,a;if(r||(r={}),a=r.type&&""!==r.type?r.type:t.getFileMime(r.name),r.name)o=r.name.replace(/\\/g,"/"),o=o.substr(o.lastIndexOf("/")+1);else{var s=a.split("/")[0];o=e.guid((""!==s?s:"file")+"_"),t.extensions[a]&&(o+="."+t.extensions[a][0])}i.apply(this,arguments),e.extend(this,{type:a||"",name:o||e.guid("file_"),lastModifiedDate:r.lastModifiedDate||(new Date).toLocaleString()})}return n.prototype=i.prototype,n}),n("moxie/file/FileInput",["moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/I18n","moxie/file/File","moxie/runtime/Runtime","moxie/runtime/RuntimeClient"],function(e,t,i,n,r,o,a,s,u){function c(r){var c,d,m,f=this;if(e.inArray(e.typeOf(r),["string","node"])!==-1&&(r={browse_button:r}),d=i.get(r.browse_button),!d)throw new n.DOMException(n.DOMException.NOT_FOUND_ERR);m={accept:[{title:o.translate("All Files"),extensions:"*"}],name:"file",multiple:!1,required_caps:!1,container:d.parentNode||document.body},r=e.extend({},m,r),"string"==typeof r.required_caps&&(r.required_caps=s.parseCaps(r.required_caps)),"string"==typeof r.accept&&(r.accept=t.mimes2extList(r.accept)),c=i.get(r.container),c||(c=document.body),"static"===i.getStyle(c,"position")&&(c.style.position="relative"),c=d=null,u.call(f),e.extend(f,{uid:e.guid("uid_"),ruid:null,shimid:null,files:null,init:function(){f.convertEventPropsToHandlers(l),f.bind("RuntimeInit",function(t,n){f.ruid=n.uid,f.shimid=n.shimid,f.bind("Ready",function(){f.trigger("Refresh")},999),f.bind("Change",function(){var t=n.exec.call(f,"FileInput","getFiles");f.files=[],e.each(t,function(e){return 0===e.size||void f.files.push(new a(f.ruid,e))})},999),f.bind("Refresh",function(){var t,o,a,s;a=i.get(r.browse_button),s=i.get(n.shimid),a&&(t=i.getPos(a,i.get(r.container)),o=i.getSize(a),s&&e.extend(s.style,{top:t.y+"px",left:t.x+"px",width:o.w+"px",height:o.h+"px"})),s=a=null}),n.exec.call(f,"FileInput","init",r)}),f.connectRuntime(e.extend({},r,{required_caps:{select_file:!0}}))},disable:function(t){var i=this.getRuntime();i&&i.exec.call(this,"FileInput","disable","undefined"===e.typeOf(t)||t)},refresh:function(){f.trigger("Refresh")},destroy:function(){var t=this.getRuntime();t&&(t.exec.call(this,"FileInput","destroy"),this.disconnectRuntime()),"array"===e.typeOf(this.files)&&e.each(this.files,function(e){e.destroy()}),this.files=null}})}var l=["ready","change","cancel","mouseenter","mouseleave","mousedown","mouseup"];return c.prototype=r.instance,c}),n("moxie/file/FileDrop",["moxie/core/I18n","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/utils/Basic","moxie/file/File","moxie/runtime/RuntimeClient","moxie/core/EventTarget","moxie/core/utils/Mime"],function(e,t,i,n,r,o,a,s){function u(i){var a,u=this;"string"==typeof i&&(i={drop_zone:i}),a={accept:[{title:e.translate("All Files"),extensions:"*"}],required_caps:{drag_and_drop:!0}},i="object"==typeof i?n.extend({},a,i):a,i.container=t.get(i.drop_zone)||document.body,"static"===t.getStyle(i.container,"position")&&(i.container.style.position="relative"),"string"==typeof i.accept&&(i.accept=s.mimes2extList(i.accept)),o.call(u),n.extend(u,{uid:n.guid("uid_"),ruid:null,files:null,init:function(){u.convertEventPropsToHandlers(c),u.bind("RuntimeInit",function(e,t){u.ruid=t.uid,u.bind("Drop",function(){var e=t.exec.call(u,"FileDrop","getFiles");u.files=[],n.each(e,function(e){u.files.push(new r(u.ruid,e))})},999),t.exec.call(u,"FileDrop","init",i),u.dispatchEvent("ready")}),u.connectRuntime(i)},destroy:function(){var e=this.getRuntime();e&&(e.exec.call(this,"FileDrop","destroy"),this.disconnectRuntime()),this.files=null}})}var c=["ready","dragenter","dragleave","drop","error"];return u.prototype=a.instance,u}),n("moxie/runtime/RuntimeTarget",["moxie/core/utils/Basic","moxie/runtime/RuntimeClient","moxie/core/EventTarget"],function(e,t,i){function n(){this.uid=e.guid("uid_"),t.call(this),this.destroy=function(){this.disconnectRuntime(),this.unbindAll()}}return n.prototype=i.instance,n}),n("moxie/file/FileReader",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/core/Exceptions","moxie/core/EventTarget","moxie/file/Blob","moxie/file/File","moxie/runtime/RuntimeTarget"],function(e,t,i,n,r,o,a){function s(){function n(e,n){function l(e){c.readyState=s.DONE,c.error=e,c.trigger("error"),d()}function d(){o.destroy(),o=null,c.trigger("loadend")}function m(t){o.bind("Error",function(e,t){l(t)}),o.bind("Progress",function(e){c.result=t.exec.call(o,"FileReader","getResult"),c.trigger(e)}),o.bind("Load",function(e){c.readyState=s.DONE,c.result=t.exec.call(o,"FileReader","getResult"),c.trigger(e),d()}),t.exec.call(o,"FileReader","read",e,n)}if(o=new a,this.convertEventPropsToHandlers(u),this.readyState===s.LOADING)return l(new i.DOMException(i.DOMException.INVALID_STATE_ERR));if(this.readyState=s.LOADING,this.trigger("loadstart"),n instanceof r)if(n.isDetached()){var f=n.getSource();switch(e){case"readAsText":case"readAsBinaryString":this.result=f;break;case"readAsDataURL":this.result="data:"+n.type+";base64,"+t.btoa(f)}this.readyState=s.DONE,this.trigger("load"),d()}else m(o.connectRuntime(n.ruid));else l(new i.DOMException(i.DOMException.NOT_FOUND_ERR))}var o,c=this;e.extend(this,{uid:e.guid("uid_"),readyState:s.EMPTY,result:null,error:null,readAsBinaryString:function(e){n.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){n.call(this,"readAsDataURL",e)},readAsText:function(e){n.call(this,"readAsText",e)},abort:function(){this.result=null,e.inArray(this.readyState,[s.EMPTY,s.DONE])===-1&&(this.readyState===s.LOADING&&(this.readyState=s.DONE),o&&o.getRuntime().exec.call(this,"FileReader","abort"),this.trigger("abort"),this.trigger("loadend"))},destroy:function(){this.abort(),o&&(o.getRuntime().exec.call(this,"FileReader","destroy"),o.disconnectRuntime()),c=o=null}})}var u=["loadstart","progress","load","abort","error","loadend"];return s.EMPTY=0,s.LOADING=1,s.DONE=2,s.prototype=n.instance,s}),n("moxie/core/utils/Url",[],function(){var e=function(t,i){for(var n=["source","scheme","authority","userInfo","user","pass","host","port","relative","path","directory","file","query","fragment"],r=n.length,o={http:80,https:443},a={},s=/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,u=s.exec(t||"");r--;)u[r]&&(a[n[r]]=u[r]);
-if(!a.scheme){i&&"string"!=typeof i||(i=e(i||document.location.href)),a.scheme=i.scheme,a.host=i.host,a.port=i.port;var c="";/^[^\/]/.test(a.path)&&(c=i.path,/(\/|\/[^\.]+)$/.test(c)?c+="/":c=c.replace(/\/[^\/]+$/,"/")),a.path=c+(a.path||"")}return a.port||(a.port=o[a.scheme]||80),a.port=parseInt(a.port,10),a.path||(a.path="/"),delete a.source,a},t=function(t){var i={http:80,https:443},n=e(t);return n.scheme+"://"+n.host+(n.port!==i[n.scheme]?":"+n.port:"")+n.path+(n.query?n.query:"")},i=function(t){function i(e){return[e.scheme,e.host,e.port].join("/")}return"string"==typeof t&&(t=e(t)),i(e())===i(t)};return{parseUrl:e,resolveUrl:t,hasSameOrigin:i}}),n("moxie/file/FileReaderSync",["moxie/core/utils/Basic","moxie/runtime/RuntimeClient","moxie/core/utils/Encode"],function(e,t,i){return function(){function n(e,t){if(!t.isDetached()){var n=this.connectRuntime(t.ruid).exec.call(this,"FileReaderSync","read",e,t);return this.disconnectRuntime(),n}var r=t.getSource();switch(e){case"readAsBinaryString":return r;case"readAsDataURL":return"data:"+t.type+";base64,"+i.btoa(r);case"readAsText":for(var o="",a=0,s=r.length;a<s;a++)o+=String.fromCharCode(r[a]);return o}}t.call(this),e.extend(this,{uid:e.guid("uid_"),readAsBinaryString:function(e){return n.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){return n.call(this,"readAsDataURL",e)},readAsText:function(e){return n.call(this,"readAsText",e)}})}}),n("moxie/xhr/FormData",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/file/Blob"],function(e,t,i){function n(){var e,n=[];t.extend(this,{append:function(r,o){var a=this,s=t.typeOf(o);o instanceof i?e={name:r,value:o}:"array"===s?(r+="[]",t.each(o,function(e){a.append(r,e)})):"object"===s?t.each(o,function(e,t){a.append(r+"["+t+"]",e)}):"null"===s||"undefined"===s||"number"===s&&isNaN(o)?a.append(r,"false"):n.push({name:r,value:o.toString()})},hasBlob:function(){return!!this.getBlob()},getBlob:function(){return e&&e.value||null},getBlobName:function(){return e&&e.name||null},each:function(i){t.each(n,function(e){i(e.value,e.name)}),e&&i(e.value,e.name)},destroy:function(){e=null,n=[]}})}return n}),n("moxie/xhr/XMLHttpRequest",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/utils/Encode","moxie/core/utils/Url","moxie/runtime/Runtime","moxie/runtime/RuntimeTarget","moxie/file/Blob","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/core/utils/Env","moxie/core/utils/Mime"],function(e,t,i,n,r,o,a,s,u,c,l,d){function m(){this.uid=e.guid("uid_")}function f(){function i(e,t){if(S.hasOwnProperty(e))return 1===arguments.length?l.can("define_property")?S[e]:T[e]:void(l.can("define_property")?S[e]=t:T[e]=t)}function u(t){function n(){_.destroy(),_=null,s.dispatchEvent("loadend"),s=null}function r(r){_.bind("LoadStart",function(e){i("readyState",f.LOADING),s.dispatchEvent("readystatechange"),s.dispatchEvent(e),M&&s.upload.dispatchEvent(e)}),_.bind("Progress",function(e){i("readyState")!==f.LOADING&&(i("readyState",f.LOADING),s.dispatchEvent("readystatechange")),s.dispatchEvent(e)}),_.bind("UploadProgress",function(e){M&&s.upload.dispatchEvent({type:"progress",lengthComputable:!1,total:e.total,loaded:e.loaded})}),_.bind("Load",function(t){i("readyState",f.DONE),i("status",Number(r.exec.call(_,"XMLHttpRequest","getStatus")||0)),i("statusText",p[i("status")]||""),i("response",r.exec.call(_,"XMLHttpRequest","getResponse",i("responseType"))),~e.inArray(i("responseType"),["text",""])?i("responseText",i("response")):"document"===i("responseType")&&i("responseXML",i("response")),U=r.exec.call(_,"XMLHttpRequest","getAllResponseHeaders"),s.dispatchEvent("readystatechange"),i("status")>0?(M&&s.upload.dispatchEvent(t),s.dispatchEvent(t)):(F=!0,s.dispatchEvent("error")),n()}),_.bind("Abort",function(e){s.dispatchEvent(e),n()}),_.bind("Error",function(e){F=!0,i("readyState",f.DONE),s.dispatchEvent("readystatechange"),C=!0,s.dispatchEvent(e),n()}),r.exec.call(_,"XMLHttpRequest","send",{url:x,method:v,async:A,user:y,password:w,headers:O,mimeType:D,encoding:I,responseType:s.responseType,withCredentials:s.withCredentials,options:k},t)}var s=this;E=(new Date).getTime(),_=new a,"string"==typeof k.required_caps&&(k.required_caps=o.parseCaps(k.required_caps)),k.required_caps=e.extend({},k.required_caps,{return_response_type:s.responseType}),t instanceof c&&(k.required_caps.send_multipart=!0),B||(k.required_caps.do_cors=!0),k.ruid?r(_.connectRuntime(k)):(_.bind("RuntimeInit",function(e,t){r(t)}),_.bind("RuntimeError",function(e,t){s.dispatchEvent("RuntimeError",t)}),_.connectRuntime(k))}function g(){i("responseText",""),i("responseXML",null),i("response",null),i("status",0),i("statusText",""),E=R=null}var x,v,y,w,E,R,_,b,T=this,S={timeout:0,readyState:f.UNSENT,withCredentials:!1,status:0,statusText:"",responseType:"",responseXML:null,responseText:null,response:null},A=!0,O={},I=null,D=null,N=!1,L=!1,M=!1,C=!1,F=!1,B=!1,H=null,P=null,k={},U="";e.extend(this,S,{uid:e.guid("uid_"),upload:new m,open:function(o,a,s,u,c){var l;if(!o||!a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(/[\u0100-\uffff]/.test(o)||n.utf8_encode(o)!==o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(~e.inArray(o.toUpperCase(),["CONNECT","DELETE","GET","HEAD","OPTIONS","POST","PUT","TRACE","TRACK"])&&(v=o.toUpperCase()),~e.inArray(v,["CONNECT","TRACE","TRACK"]))throw new t.DOMException(t.DOMException.SECURITY_ERR);if(a=n.utf8_encode(a),l=r.parseUrl(a),B=r.hasSameOrigin(l),x=r.resolveUrl(a),(u||c)&&!B)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);if(y=u||l.user,w=c||l.pass,A=s||!0,A===!1&&(i("timeout")||i("withCredentials")||""!==i("responseType")))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);N=!A,L=!1,O={},g.call(this),i("readyState",f.OPENED),this.convertEventPropsToHandlers(["readystatechange"]),this.dispatchEvent("readystatechange")},setRequestHeader:function(r,o){var a=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];if(i("readyState")!==f.OPENED||L)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(/[\u0100-\uffff]/.test(r)||n.utf8_encode(r)!==r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);return r=e.trim(r).toLowerCase(),!~e.inArray(r,a)&&!/^(proxy\-|sec\-)/.test(r)&&(O[r]?O[r]+=", "+o:O[r]=o,!0)},getAllResponseHeaders:function(){return U||""},getResponseHeader:function(t){return t=t.toLowerCase(),F||~e.inArray(t,["set-cookie","set-cookie2"])?null:U&&""!==U&&(b||(b={},e.each(U.split(/\r\n/),function(t){var i=t.split(/:\s+/);2===i.length&&(i[0]=e.trim(i[0]),b[i[0].toLowerCase()]={header:i[0],value:e.trim(i[1])})})),b.hasOwnProperty(t))?b[t].header+": "+b[t].value:null},overrideMimeType:function(n){var r,o;if(~e.inArray(i("readyState"),[f.LOADING,f.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(n=e.trim(n.toLowerCase()),/;/.test(n)&&(r=n.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))&&(n=r[1],r[2]&&(o=r[2])),!d.mimes[n])throw new t.DOMException(t.DOMException.SYNTAX_ERR);H=n,P=o},send:function(i,r){if(k="string"===e.typeOf(r)?{ruid:r}:r?r:{},this.convertEventPropsToHandlers(h),this.upload.convertEventPropsToHandlers(h),this.readyState!==f.OPENED||L)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(i instanceof s)k.ruid=i.ruid,D=i.type||"application/octet-stream";else if(i instanceof c){if(i.hasBlob()){var o=i.getBlob();k.ruid=o.ruid,D=o.type||"application/octet-stream"}}else"string"==typeof i&&(I="UTF-8",D="text/plain;charset=UTF-8",i=n.utf8_encode(i));this.withCredentials||(this.withCredentials=k.required_caps&&k.required_caps.send_browser_cookies&&!B),M=!N&&this.upload.hasEventListener(),F=!1,C=!i,N||(L=!0),u.call(this,i)},abort:function(){if(F=!0,N=!1,~e.inArray(i("readyState"),[f.UNSENT,f.OPENED,f.DONE]))i("readyState",f.UNSENT);else{if(i("readyState",f.DONE),L=!1,!_)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);_.getRuntime().exec.call(_,"XMLHttpRequest","abort",C),C=!0}},destroy:function(){_&&("function"===e.typeOf(_.destroy)&&_.destroy(),_=null),this.unbindAll(),this.upload&&(this.upload.unbindAll(),this.upload=null)}})}var p={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Reserved",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",510:"Not Extended"};m.prototype=i.instance;var h=["loadstart","progress","abort","error","load","timeout","loadend"];return f.UNSENT=0,f.OPENED=1,f.HEADERS_RECEIVED=2,f.LOADING=3,f.DONE=4,f.prototype=i.instance,f}),n("moxie/runtime/Transporter",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/runtime/RuntimeClient","moxie/core/EventTarget"],function(e,t,i,n){function r(){function n(){l=d=0,c=this.result=null}function o(t,i){var n=this;u=i,n.bind("TransportingProgress",function(t){d=t.loaded,d<l&&e.inArray(n.state,[r.IDLE,r.DONE])===-1&&a.call(n)},999),n.bind("TransportingComplete",function(){d=l,n.state=r.DONE,c=null,n.result=u.exec.call(n,"Transporter","getAsBlob",t||"")},999),n.state=r.BUSY,n.trigger("TransportingStarted"),a.call(n)}function a(){var e,i=this,n=l-d;m>n&&(m=n),e=t.btoa(c.substr(d,m)),u.exec.call(i,"Transporter","receive",e,l)}var s,u,c,l,d,m;i.call(this),e.extend(this,{uid:e.guid("uid_"),state:r.IDLE,result:null,transport:function(t,i,r){var a=this;if(r=e.extend({chunk_size:204798},r),(s=r.chunk_size%3)&&(r.chunk_size+=3-s),m=r.chunk_size,n.call(this),c=t,l=t.length,"string"===e.typeOf(r)||r.ruid)o.call(a,i,this.connectRuntime(r));else{var u=function(e,t){a.unbind("RuntimeInit",u),o.call(a,i,t)};this.bind("RuntimeInit",u),this.connectRuntime(r)}},abort:function(){var e=this;e.state=r.IDLE,u&&(u.exec.call(e,"Transporter","clear"),e.trigger("TransportingAborted")),n.call(e)},destroy:function(){this.unbindAll(),u=null,this.disconnectRuntime(),n.call(this)}})}return r.IDLE=0,r.BUSY=1,r.DONE=2,r.prototype=n.instance,r}),n("moxie/image/Image",["moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/file/FileReaderSync","moxie/xhr/XMLHttpRequest","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/runtime/Transporter","moxie/core/utils/Env","moxie/core/EventTarget","moxie/file/Blob","moxie/file/File","moxie/core/utils/Encode"],function(e,t,i,n,r,o,a,s,u,c,l,d,m){function f(){function n(e){e||(e=this.getRuntime().exec.call(this,"Image","getInfo")),this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,""===this.name&&(this.name=e.name)}function c(t){var n=e.typeOf(t);try{if(t instanceof f){if(!t.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);h.apply(this,arguments)}else if(t instanceof l){if(!~e.inArray(t.type,["image/jpeg","image/png"]))throw new i.ImageError(i.ImageError.WRONG_FORMAT);g.apply(this,arguments)}else if(e.inArray(n,["blob","file"])!==-1)c.call(this,new d(null,t),arguments[1]);else if("string"===n)/^data:[^;]*;base64,/.test(t)?c.call(this,new l(null,{data:t}),arguments[1]):x.apply(this,arguments);else{if("node"!==n||"img"!==t.nodeName.toLowerCase())throw new i.DOMException(i.DOMException.TYPE_MISMATCH_ERR);c.call(this,t.src,arguments[1])}}catch(e){this.trigger("error",e)}}function h(t,i){var n=this.connectRuntime(t.ruid);this.ruid=n.uid,n.exec.call(this,"Image","loadFromImage",t,"undefined"===e.typeOf(i)||i)}function g(t,i){function n(e){r.ruid=e.uid,e.exec.call(r,"Image","loadFromBlob",t)}var r=this;r.name=t.name||"",t.isDetached()?(this.bind("RuntimeInit",function(e,t){n(t)}),i&&"string"==typeof i.required_caps&&(i.required_caps=o.parseCaps(i.required_caps)),this.connectRuntime(e.extend({required_caps:{access_image_binary:!0,resize_image:!0}},i))):n(this.connectRuntime(t.ruid))}function x(e,t){var i,n=this;i=new r,i.open("get",e),i.responseType="blob",i.onprogress=function(e){n.trigger(e)},i.onload=function(){g.call(n,i.response,!0)},i.onerror=function(e){n.trigger(e)},i.onloadend=function(){i.destroy()},i.bind("RuntimeError",function(e,t){n.trigger("RuntimeError",t)}),i.send(null,t)}a.call(this),e.extend(this,{uid:e.guid("uid_"),ruid:null,name:"",size:0,width:0,height:0,type:"",meta:{},clone:function(){this.load.apply(this,arguments)},load:function(){this.bind("Load Resize",function(){n.call(this)},999),this.convertEventPropsToHandlers(p),c.apply(this,arguments)},downsize:function(t,n,r,o){try{if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);if(this.width>f.MAX_RESIZE_WIDTH||this.height>f.MAX_RESIZE_HEIGHT)throw new i.ImageError(i.ImageError.MAX_RESOLUTION_ERR);(t||n)&&"undefined"!==e.typeOf(r)||(r=!1),t=t||this.width,n=n||this.height,o="undefined"===e.typeOf(o)||!!o,this.getRuntime().exec.call(this,"Image","downsize",t,n,r,o)}catch(e){this.trigger("error",e)}},crop:function(e,t,i){this.downsize(e,t,!0,i)},getAsCanvas:function(){if(!u.can("create_canvas"))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);var e=this.connectRuntime(this.ruid);return e.exec.call(this,"Image","getAsCanvas")},getAsBlob:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return e||(e="image/jpeg"),"image/jpeg"!==e||t||(t=90),this.getRuntime().exec.call(this,"Image","getAsBlob",e,t)},getAsDataURL:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return this.getRuntime().exec.call(this,"Image","getAsDataURL",e,t)},getAsBinaryString:function(e,t){var i=this.getAsDataURL(e,t);return m.atob(i.substring(i.indexOf("base64,")+7))},embed:function(n){function r(){if(u.can("create_canvas")){var t=o.getAsCanvas();if(t)return n.appendChild(t),t=null,o.destroy(),void p.trigger("embedded")}var r=o.getAsDataURL(a,c);if(!r)throw new i.ImageError(i.ImageError.WRONG_FORMAT);if(u.can("use_data_uri_of",r.length))n.innerHTML='<img src="'+r+'" width="'+o.width+'" height="'+o.height+'" />',o.destroy(),p.trigger("embedded");else{var l=new s;l.bind("TransportingComplete",function(){d=p.connectRuntime(this.result.ruid),p.bind("Embedded",function(){e.extend(d.getShimContainer().style,{top:"0px",left:"0px",width:o.width+"px",height:o.height+"px"}),d=null},999),d.exec.call(p,"ImageView","display",this.result.uid,g,x),o.destroy()}),l.transport(m.atob(r.substring(r.indexOf("base64,")+7)),a,e.extend({},h,{required_caps:{display_media:!0},runtime_order:"flash,silverlight",container:n}))}}var o,a,c,l,d,p=this,h=arguments[1]||{},g=this.width,x=this.height;try{if(!(n=t.get(n)))throw new i.DOMException(i.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);if(this.width>f.MAX_RESIZE_WIDTH||this.height>f.MAX_RESIZE_HEIGHT)throw new i.ImageError(i.ImageError.MAX_RESOLUTION_ERR);if(a=h.type||this.type||"image/jpeg",c=h.quality||90,l="undefined"!==e.typeOf(h.crop)&&h.crop,h.width)g=h.width,x=h.height||g;else{var v=t.getSize(n);v.w&&v.h&&(g=v.w,x=v.h)}return o=new f,o.bind("Resize",function(){r.call(p)}),o.bind("Load",function(){o.downsize(g,x,l,!1)}),o.clone(this,!1),o}catch(e){this.trigger("error",e)}},destroy:function(){this.ruid&&(this.getRuntime().exec.call(this,"Image","destroy"),this.disconnectRuntime()),this.unbindAll()}})}var p=["progress","load","error","resize","embedded"];return f.MAX_RESIZE_WIDTH=6500,f.MAX_RESIZE_HEIGHT=6500,f.prototype=c.instance,f}),n("moxie/runtime/html5/Runtime",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/Runtime","moxie/core/utils/Env"],function(e,t,i,n){function r(t){var r=this,s=i.capTest,u=i.capTrue,c=e.extend({access_binary:s(window.FileReader||window.File&&window.File.getAsDataURL),access_image_binary:function(){return r.can("access_binary")&&!!a.Image},display_media:s(n.can("create_canvas")||n.can("use_data_uri_over32kb")),do_cors:s(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest),drag_and_drop:s(function(){var e=document.createElement("div");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&("IE"!==n.browser||n.version>9)}()),filter_by_extension:s(function(){return"Chrome"===n.browser&&n.version>=28||"IE"===n.browser&&n.version>=10}()),return_response_headers:u,return_response_type:function(e){return!("json"!==e||!window.JSON)||n.can("return_response_type",e)},return_status_code:u,report_upload_progress:s(window.XMLHttpRequest&&(new XMLHttpRequest).upload),resize_image:function(){return r.can("access_binary")&&n.can("create_canvas")},select_file:function(){return n.can("use_fileinput")&&window.File},select_folder:function(){return r.can("select_file")&&"Chrome"===n.browser&&n.version>=21},select_multiple:function(){return r.can("select_file")&&!("Safari"===n.browser&&"Windows"===n.os)&&!("iOS"===n.os&&n.verComp(n.osVersion,"7.0.4","<"))},send_binary_string:s(window.XMLHttpRequest&&((new XMLHttpRequest).sendAsBinary||window.Uint8Array&&window.ArrayBuffer)),send_custom_headers:s(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&&(new XMLHttpRequest).upload&&window.FormData)||r.can("send_binary_string")},slice_blob:s(window.File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return r.can("slice_blob")&&r.can("send_multipart")},summon_file_dialog:s(function(){return"Firefox"===n.browser&&n.version>=4||"Opera"===n.browser&&n.version>=12||"IE"===n.browser&&n.version>=10||!!~e.inArray(n.browser,["Chrome","Safari"])}()),upload_filesize:u},arguments[2]);i.call(this,t,arguments[1]||o,c),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html5",a={};return i.addConstructor(o,r),a}),n("moxie/runtime/html5/file/Blob",["moxie/runtime/html5/Runtime","moxie/file/Blob"],function(e,t){function i(){function e(e,t,i){var n;if(!window.File.prototype.slice)return(n=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?n.call(e,t,i):null;try{return e.slice(),e.slice(t,i)}catch(n){return e.slice(t,i-t)}}this.slice=function(){return new t(this.getRuntime().uid,e.apply(this,arguments))}}return e.Blob=i}),n("moxie/core/utils/Events",["moxie/core/utils/Basic"],function(e){function t(){this.returnValue=!1}function i(){this.cancelBubble=!0}var n={},r="moxie_"+e.guid(),o=function(o,a,s,u){var c,l;a=a.toLowerCase(),o.addEventListener?(c=s,o.addEventListener(a,c,!1)):o.attachEvent&&(c=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=t,e.stopPropagation=i,s(e)},o.attachEvent("on"+a,c)),o[r]||(o[r]=e.guid()),n.hasOwnProperty(o[r])||(n[o[r]]={}),l=n[o[r]],l.hasOwnProperty(a)||(l[a]=[]),l[a].push({func:c,orig:s,key:u})},a=function(t,i,o){var a,s;if(i=i.toLowerCase(),t[r]&&n[t[r]]&&n[t[r]][i]){a=n[t[r]][i];for(var u=a.length-1;u>=0&&(a[u].orig!==o&&a[u].key!==o||(t.removeEventListener?t.removeEventListener(i,a[u].func,!1):t.detachEvent&&t.detachEvent("on"+i,a[u].func),a[u].orig=null,a[u].func=null,a.splice(u,1),o===s));u--);if(a.length||delete n[t[r]][i],e.isEmptyObj(n[t[r]])){delete n[t[r]];try{delete t[r]}catch(e){t[r]=s}}}},s=function(t,i){t&&t[r]&&e.each(n[t[r]],function(e,n){a(t,n,i)})};return{addEvent:o,removeEvent:a,removeAllEvents:s}}),n("moxie/runtime/html5/file/FileInput",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o){function a(){var e,a=[];t.extend(this,{init:function(s){var u,c,l,d,m,f,p=this,h=p.getRuntime();e=s,a=[],l=e.accept.mimes||r.extList2mimes(e.accept,h.can("filter_by_extension")),c=h.getShimContainer(),c.innerHTML='<input id="'+h.uid+'" type="file" style="font-size:999px;opacity:0;"'+(e.multiple&&h.can("select_multiple")?"multiple":"")+(e.directory&&h.can("select_folder")?"webkitdirectory directory":"")+(l?' accept="'+l.join(",")+'"':"")+" />",u=i.get(h.uid),t.extend(u.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),d=i.get(e.browse_button),h.can("summon_file_dialog")&&("static"===i.getStyle(d,"position")&&(d.style.position="relative"),m=parseInt(i.getStyle(d,"z-index"),10)||1,d.style.zIndex=m,c.style.zIndex=m-1,n.addEvent(d,"click",function(e){var t=i.get(h.uid);t&&!t.disabled&&t.click(),e.preventDefault()},p.uid)),f=h.can("summon_file_dialog")?d:c,n.addEvent(f,"mouseover",function(){p.trigger("mouseenter")},p.uid),n.addEvent(f,"mouseout",function(){p.trigger("mouseleave")},p.uid),n.addEvent(f,"mousedown",function(){p.trigger("mousedown")},p.uid),n.addEvent(i.get(e.container),"mouseup",function(){p.trigger("mouseup")},p.uid),u.onchange=function i(){if(a=[],e.directory?t.each(this.files,function(e){"."!==e.name&&a.push(e)}):a=[].slice.call(this.files),"IE"!==o.browser)this.value="";else{var n=this.cloneNode(!0);this.parentNode.replaceChild(n,this),n.onchange=i}p.trigger("change")},p.trigger({type:"ready",async:!0}),c=null},getFiles:function(){return a},disable:function(e){var t,n=this.getRuntime();(t=i.get(n.uid))&&(t.disabled=!!e)},destroy:function(){var t=this.getRuntime(),r=t.getShim(),o=t.getShimContainer();n.removeAllEvents(o,this.uid),n.removeAllEvents(e&&i.get(e.container),this.uid),n.removeAllEvents(e&&i.get(e.browse_button),this.uid),o&&(o.innerHTML=""),r.removeInstance(this.uid),a=e=o=r=null}})}return e.FileInput=a}),n("moxie/runtime/html5/file/FileDrop",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime"],function(e,t,i,n,r){function o(){function e(e){for(var i=[],n=0;n<e.length;n++)[].push.apply(i,e[n].extensions.split(/\s*,\s*/));return t.inArray("*",i)===-1?i:[]}function o(e){var i=r.getFileExtension(e.name);return!i||!m.length||t.inArray(i,m)!==-1}function a(e,i){var n=[];t.each(e,function(e){var t=e.webkitGetAsEntry();if(t)if(t.isFile){var i=e.getAsFile();o(i)&&d.push(i)}else n.push(t)}),n.length?s(n,i):i()}function s(e,i){var n=[];t.each(e,function(e){n.push(function(t){u(e,t)})}),t.inSeries(n,function(){i()})}function u(e,t){e.isFile?e.file(function(e){o(e)&&d.push(e),t()},function(){t()}):e.isDirectory?c(e,t):t()}function c(e,t){function i(e){r.readEntries(function(t){t.length?([].push.apply(n,t),i(e)):e()},e)}var n=[],r=e.createReader();i(function(){s(n,t)})}var l,d=[],m=[];t.extend(this,{init:function(i){var r,s=this;l=i,m=e(l.accept),r=l.container,n.addEvent(r,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},s.uid),n.addEvent(r,"drop",function(e){e.preventDefault(),e.stopPropagation(),d=[],e.dataTransfer.items&&e.dataTransfer.items[0].webkitGetAsEntry?a(e.dataTransfer.items,function(){s.trigger("drop")}):(t.each(e.dataTransfer.files,function(e){o(e)&&d.push(e)}),s.trigger("drop"))},s.uid),n.addEvent(r,"dragenter",function(e){e.preventDefault(),e.stopPropagation(),s.trigger("dragenter")},s.uid),n.addEvent(r,"dragleave",function(e){e.preventDefault(),e.stopPropagation(),s.trigger("dragleave")},s.uid)},getFiles:function(){return d},destroy:function(){n.removeAllEvents(l&&i.get(l.container),this.uid),d=m=l=null}})}return e.FileDrop=o}),n("moxie/runtime/html5/file/FileReader",["moxie/runtime/html5/Runtime","moxie/core/utils/Encode","moxie/core/utils/Basic"],function(e,t,i){function n(){function e(e){return t.atob(e.substring(e.indexOf("base64,")+7))}var n,r=!1;i.extend(this,{read:function(e,t){var o=this;n=new window.FileReader,n.addEventListener("progress",function(e){o.trigger(e)}),n.addEventListener("load",function(e){o.trigger(e)}),n.addEventListener("error",function(e){o.trigger(e,n.error)}),n.addEventListener("loadend",function(){n=null}),"function"===i.typeOf(n[e])?(r=!1,n[e](t.getSource())):"readAsBinaryString"===e&&(r=!0,n.readAsDataURL(t.getSource()))},getResult:function(){return n&&n.result?r?e(n.result):n.result:null},abort:function(){n&&n.abort()},destroy:function(){n=null}})}return e.FileReader=n}),n("moxie/runtime/html5/xhr/XMLHttpRequest",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/core/utils/Url","moxie/file/File","moxie/file/Blob","moxie/xhr/FormData","moxie/core/Exceptions","moxie/core/utils/Env"],function(e,t,i,n,r,o,a,s,u){function c(){function e(e,t){var i,n,r=this;i=t.getBlob().getSource(),n=new window.FileReader,n.onload=function(){t.append(t.getBlobName(),new o(null,{type:i.type,data:n.result})),p.send.call(r,e,t)},n.readAsBinaryString(i)}function c(){return!window.XMLHttpRequest||"IE"===u.browser&&u.version<8?function(){for(var e=["Msxml2.XMLHTTP.6.0","Microsoft.XMLHTTP"],t=0;t<e.length;t++)try{return new ActiveXObject(e[t])}catch(e){}}():new window.XMLHttpRequest}function l(e){var t=e.responseXML,i=e.responseText;return"IE"===u.browser&&i&&t&&!t.documentElement&&/[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader("Content-Type"))&&(t=new window.ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.validateOnParse=!1,t.loadXML(i)),t&&("IE"===u.browser&&0!==t.parseError||!t.documentElement||"parsererror"===t.documentElement.tagName)?null:t}function d(e){var t="----moxieboundary"+(new Date).getTime(),i="--",n="\r\n",r="",a=this.getRuntime();if(!a.can("send_binary_string"))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);return m.setRequestHeader("Content-Type","multipart/form-data; boundary="+t),e.each(function(e,a){r+=e instanceof o?i+t+n+'Content-Disposition: form-data; name="'+a+'"; filename="'+unescape(encodeURIComponent(e.name||"blob"))+'"'+n+"Content-Type: "+(e.type||"application/octet-stream")+n+n+e.getSource()+n:i+t+n+'Content-Disposition: form-data; name="'+a+'"'+n+n+unescape(encodeURIComponent(e))+n}),r+=i+t+i+n}var m,f,p=this;t.extend(this,{send:function(i,r){var s=this,l="Mozilla"===u.browser&&u.version>=4&&u.version<7,p="Android Browser"===u.browser,h=!1;if(f=i.url.replace(/^.+?\/([\w\-\.]+)$/,"$1").toLowerCase(),m=c(),m.open(i.method,i.url,i.async,i.user,i.password),r instanceof o)r.isDetached()&&(h=!0),r=r.getSource();else if(r instanceof a){if(r.hasBlob())if(r.getBlob().isDetached())r=d.call(s,r),h=!0;else if((l||p)&&"blob"===t.typeOf(r.getBlob().getSource())&&window.FileReader)return void e.call(s,i,r);if(r instanceof a){var g=new window.FormData;r.each(function(e,t){e instanceof o?g.append(t,e.getSource()):g.append(t,e)}),r=g}}m.upload?(i.withCredentials&&(m.withCredentials=!0),m.addEventListener("load",function(e){s.trigger(e)}),m.addEventListener("error",function(e){s.trigger(e)}),m.addEventListener("progress",function(e){s.trigger(e)}),m.upload.addEventListener("progress",function(e){s.trigger({type:"UploadProgress",loaded:e.loaded,total:e.total})})):m.onreadystatechange=function(){switch(m.readyState){case 1:break;case 2:break;case 3:var e,t;try{n.hasSameOrigin(i.url)&&(e=m.getResponseHeader("Content-Length")||0),m.responseText&&(t=m.responseText.length)}catch(i){e=t=0}s.trigger({type:"progress",lengthComputable:!!e,total:parseInt(e,10),loaded:t});break;case 4:m.onreadystatechange=function(){},0===m.status?s.trigger("error"):s.trigger("load")}},t.isEmptyObj(i.headers)||t.each(i.headers,function(e,t){m.setRequestHeader(t,e)}),""!==i.responseType&&"responseType"in m&&("json"!==i.responseType||u.can("return_response_type","json")?m.responseType=i.responseType:m.responseType="text"),h?m.sendAsBinary?m.sendAsBinary(r):!function(){for(var e=new Uint8Array(r.length),t=0;t<r.length;t++)e[t]=255&r.charCodeAt(t);m.send(e.buffer)}():m.send(r),s.trigger("loadstart")},getStatus:function(){try{if(m)return m.status}catch(e){}return 0},getResponse:function(e){var t=this.getRuntime();try{switch(e){case"blob":var n=new r(t.uid,m.response),o=m.getResponseHeader("Content-Disposition");if(o){var a=o.match(/filename=([\'\"'])([^\1]+)\1/);a&&(f=a[2])}return n.name=f,n.type||(n.type=i.getFileMime(f)),n;case"json":return u.can("return_response_type","json")?m.response:200===m.status&&window.JSON?JSON.parse(m.responseText):null;case"document":return l(m);default:return""!==m.responseText?m.responseText:null}}catch(e){return null}},getAllResponseHeaders:function(){try{return m.getAllResponseHeaders()}catch(e){}return""},abort:function(){m&&m.abort()},destroy:function(){p=f=null}})}return e.XMLHttpRequest=c}),n("moxie/runtime/html5/utils/BinaryReader",[],function(){return function(){function e(e,t){var i,n=o?0:-8*(t-1),a=0;for(i=0;i<t;i++)a|=r.charCodeAt(e+i)<<Math.abs(n+8*i);return a}function i(e,t,i){i=3===arguments.length?i:r.length-t-1,r=r.substr(0,t)+e+r.substr(i+t)}function n(e,t,n){var r,a="",s=o?0:-8*(n-1);for(r=0;r<n;r++)a+=String.fromCharCode(t>>Math.abs(s+8*r)&255);i(a,e,n)}var r,o=!1;return{II:function(e){return e===t?o:void(o=e)},init:function(e){o=!1,r=e},SEGMENT:function(e,t,n){switch(arguments.length){case 1:return r.substr(e,r.length-e-1);case 2:return r.substr(e,t);case 3:i(n,e,t);break;default:return r}},BYTE:function(t){return e(t,1)},SHORT:function(t){return e(t,2)},LONG:function(i,r){return r===t?e(i,4):void n(i,r,4)},SLONG:function(t){var i=e(t,4);return i>2147483647?i-4294967296:i},STRING:function(t,i){var n="";for(i+=t;t<i;t++)n+=String.fromCharCode(e(t,1));return n}}}}),n("moxie/runtime/html5/image/JPEGHeaders",["moxie/runtime/html5/utils/BinaryReader"],function(e){return function t(i){var n,r,o,a=[],s=0;if(n=new e,n.init(i),65496===n.SHORT(0)){for(r=2;r<=i.length;)if(o=n.SHORT(r),o>=65488&&o<=65495)r+=2;else{if(65498===o||65497===o)break;s=n.SHORT(r+2)+2,o>=65505&&o<=65519&&a.push({hex:o,name:"APP"+(15&o),start:r,length:s,segment:n.SEGMENT(r,s)}),r+=s}return n.init(null),{headers:a,restore:function(e){var t,i;for(n.init(e),r=65504==n.SHORT(2)?4+n.SHORT(4):2,i=0,t=a.length;i<t;i++)n.SEGMENT(r,0,a[i].segment),r+=a[i].length;return e=n.SEGMENT(),n.init(null),e},strip:function(e){var i,r,o;for(r=new t(e),i=r.headers,r.purge(),n.init(e),o=i.length;o--;)n.SEGMENT(i[o].start,i[o].length,"");return e=n.SEGMENT(),n.init(null),e},get:function(e){for(var t=[],i=0,n=a.length;i<n;i++)a[i].name===e.toUpperCase()&&t.push(a[i].segment);return t},set:function(e,t){var i,n,r,o=[];for("string"==typeof t?o.push(t):o=t,i=n=0,r=a.length;i<r&&(a[i].name===e.toUpperCase()&&(a[i].segment=o[n],a[i].length=o[n].length,n++),!(n>=o.length));i++);},purge:function(){a=[],n.init(null),n=null}}}}}),n("moxie/runtime/html5/image/ExifParser",["moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader"],function(e,i){return function(){function n(e,i){var n,r,o,s,u,d,m,f,p=a.SHORT(e),h=[],g={};for(n=0;n<p;n++)if(m=d=e+12*n+2,o=i[a.SHORT(m)],o!==t){switch(s=a.SHORT(m+=2),u=a.LONG(m+=2),m+=4,h=[],s){case 1:case 7:for(u>4&&(m=a.LONG(m)+l.tiffHeader),r=0;r<u;r++)h[r]=a.BYTE(m+r);break;case 2:u>4&&(m=a.LONG(m)+l.tiffHeader),g[o]=a.STRING(m,u-1);continue;case 3:for(u>2&&(m=a.LONG(m)+l.tiffHeader),r=0;r<u;r++)h[r]=a.SHORT(m+2*r);break;case 4:for(u>1&&(m=a.LONG(m)+l.tiffHeader),r=0;r<u;r++)h[r]=a.LONG(m+4*r);break;case 5:for(m=a.LONG(m)+l.tiffHeader,r=0;r<u;r++)h[r]=a.LONG(m+4*r)/a.LONG(m+4*r+4);break;case 9:for(m=a.LONG(m)+l.tiffHeader,r=0;r<u;r++)h[r]=a.SLONG(m+4*r);break;case 10:for(m=a.LONG(m)+l.tiffHeader,r=0;r<u;r++)h[r]=a.SLONG(m+4*r)/a.SLONG(m+4*r+4);break;default:continue}f=1==u?h[0]:h,c.hasOwnProperty(o)&&"object"!=typeof f?g[o]=c[o][f]:g[o]=f;
-}return g}function r(){var e=l.tiffHeader;return a.II(18761==a.SHORT(e)),42===a.SHORT(e+=2)&&(l.IFD0=l.tiffHeader+a.LONG(e+=2),u=n(l.IFD0,s.tiff),"ExifIFDPointer"in u&&(l.exifIFD=l.tiffHeader+u.ExifIFDPointer,delete u.ExifIFDPointer),"GPSInfoIFDPointer"in u&&(l.gpsIFD=l.tiffHeader+u.GPSInfoIFDPointer,delete u.GPSInfoIFDPointer),!0)}function o(e,t,i){var n,r,o,u=0;if("string"==typeof t){var c=s[e.toLowerCase()];for(var d in c)if(c[d]===t){t=d;break}}n=l[e.toLowerCase()+"IFD"],r=a.SHORT(n);for(var m=0;m<r;m++)if(o=n+12*m+2,a.SHORT(o)==t){u=o+8;break}return!!u&&(a.LONG(u,i),!0)}var a,s,u,c,l={};return a=new i,s={tiff:{274:"Orientation",270:"ImageDescription",271:"Make",272:"Model",305:"Software",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}},c={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}},{init:function(e){return l={tiffHeader:10},!(e===t||!e.length)&&(a.init(e),65505===a.SHORT(0)&&"EXIF\0"===a.STRING(4,5).toUpperCase()&&r())},TIFF:function(){return u},EXIF:function(){var t;if(t=n(l.exifIFD,s.exif),t.ExifVersion&&"array"===e.typeOf(t.ExifVersion)){for(var i=0,r="";i<t.ExifVersion.length;i++)r+=String.fromCharCode(t.ExifVersion[i]);t.ExifVersion=r}return t},GPS:function(){var t;return t=n(l.gpsIFD,s.gps),t.GPSVersionID&&"array"===e.typeOf(t.GPSVersionID)&&(t.GPSVersionID=t.GPSVersionID.join(".")),t},setExif:function(e,t){return("PixelXDimension"===e||"PixelYDimension"===e)&&o("exif",e,t)},getBinary:function(){return a.SEGMENT()},purge:function(){a.init(null),a=u=null,l={}}}}}),n("moxie/runtime/html5/image/JPEG",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/html5/image/JPEGHeaders","moxie/runtime/html5/utils/BinaryReader","moxie/runtime/html5/image/ExifParser"],function(e,t,i,n,r){function o(o){function a(){for(var e,t,i=0;i<=u.length;){if(e=c.SHORT(i+=2),e>=65472&&e<=65475)return i+=5,{height:c.SHORT(i),width:c.SHORT(i+=2)};t=c.SHORT(i+=2),i+=t-2}return null}function s(){d&&l&&c&&(d.purge(),l.purge(),c.init(null),u=m=l=d=c=null)}var u,c,l,d,m,f;if(u=o,c=new n,c.init(u),65496!==c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);l=new i(o),d=new r,f=!!d.init(l.get("app1")[0]),m=a.call(this),e.extend(this,{type:"image/jpeg",size:u.length,width:m&&m.width||0,height:m&&m.height||0,setExif:function(t,i){return!!f&&("object"===e.typeOf(t)?e.each(t,function(e,t){d.setExif(t,e)}):d.setExif(t,i),void l.set("app1",d.getBinary()))},writeHeaders:function(){return arguments.length?l.restore(arguments[0]):u=l.restore(u)},stripHeaders:function(e){return l.strip(e)},purge:function(){s.call(this)}}),f&&(this.meta={tiff:d.TIFF(),exif:d.EXIF(),gps:d.GPS()})}return o}),n("moxie/runtime/html5/image/PNG",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader"],function(e,t,i){function n(n){function r(){var e,t;return e=a.call(this,8),"IHDR"==e.type?(t=e.start,{width:u.LONG(t),height:u.LONG(t+=4)}):null}function o(){u&&(u.init(null),s=d=c=l=u=null)}function a(e){var t,i,n,r;return t=u.LONG(e),i=u.STRING(e+=4,4),n=e+=4,r=u.LONG(e+t),{length:t,type:i,start:n,CRC:r}}var s,u,c,l,d;s=n,u=new i,u.init(s),function(){var t=0,i=0,n=[35152,20039,3338,6666];for(i=0;i<n.length;i++,t+=2)if(n[i]!=u.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)}(),d=r.call(this),t.extend(this,{type:"image/png",size:s.length,width:d.width,height:d.height,purge:function(){o.call(this)}}),o.call(this)}return n}),n("moxie/runtime/html5/image/ImageInfo",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/html5/image/JPEG","moxie/runtime/html5/image/PNG"],function(e,t,i,n){return function(r){var o,a=[i,n];o=function(){for(var e=0;e<a.length;e++)try{return new a[e](r)}catch(e){}throw new t.ImageError(t.ImageError.WRONG_FORMAT)}(),e.extend(this,{type:"",size:0,width:0,height:0,setExif:function(){},writeHeaders:function(e){return e},stripHeaders:function(e){return e},purge:function(){}}),e.extend(this,o),this.purge=function(){o.purge(),o=null}}}),n("moxie/runtime/html5/image/MegaPixel",[],function(){function e(e,n,r){var o=e.naturalWidth,a=e.naturalHeight,s=r.width,u=r.height,c=r.x||0,l=r.y||0,d=n.getContext("2d");t(e)&&(o/=2,a/=2);var m=1024,f=document.createElement("canvas");f.width=f.height=m;for(var p=f.getContext("2d"),h=i(e,o,a),g=0;g<a;){for(var x=g+m>a?a-g:m,v=0;v<o;){var y=v+m>o?o-v:m;p.clearRect(0,0,m,m),p.drawImage(e,-v,-g);var w=v*s/o+c<<0,E=Math.ceil(y*s/o),R=g*u/a/h+l<<0,_=Math.ceil(x*u/a/h);d.drawImage(f,0,0,y,x,w,R,E,_),v+=m}g+=m}f=p=null}function t(e){var t=e.naturalWidth,i=e.naturalHeight;if(t*i>1048576){var n=document.createElement("canvas");n.width=n.height=1;var r=n.getContext("2d");return r.drawImage(e,-t+1,0),0===r.getImageData(0,0,1,1).data[3]}return!1}function i(e,t,i){var n=document.createElement("canvas");n.width=1,n.height=i;var r=n.getContext("2d");r.drawImage(e,0,0);for(var o=r.getImageData(0,0,1,i).data,a=0,s=i,u=i;u>a;){var c=o[4*(u-1)+3];0===c?s=u:a=u,u=s+a>>1}n=null;var l=u/i;return 0===l?1:l}return{isSubsampled:t,renderTo:e}}),n("moxie/runtime/html5/image/Image",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/Exceptions","moxie/core/utils/Encode","moxie/file/File","moxie/runtime/html5/image/ImageInfo","moxie/runtime/html5/image/MegaPixel","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o,a,s,u){function c(){function e(){if(!y&&!x)throw new i.ImageError(i.DOMException.INVALID_STATE_ERR);return y||x}function c(e){return n.atob(e.substring(e.indexOf("base64,")+7))}function l(e,t){return"data:"+(t||"")+";base64,"+n.btoa(e)}function d(e){var t=this;x=new Image,x.onerror=function(){g.call(this),t.trigger("error",new i.ImageError(i.ImageError.WRONG_FORMAT))},x.onload=function(){t.trigger("load")},x.src=/^data:[^;]*;base64,/.test(e)?e:l(e,E.type)}function m(e,t){var n,r=this;return window.FileReader?(n=new FileReader,n.onload=function(){t(this.result)},n.onerror=function(){r.trigger("error",new i.FileException(i.FileException.NOT_READABLE_ERR))},n.readAsDataURL(e),void 0):t(e.getAsDataURL())}function f(i,n,r,o){var a,s,u,c,l,d,m=this,f=0,g=0;if(b=o,d=this.meta&&this.meta.tiff&&this.meta.tiff.Orientation||1,t.inArray(d,[5,6,7,8])!==-1){var x=i;i=n,n=x}return u=e(),s=r?Math.max:Math.min,a=s(i/u.width,n/u.height),a>1&&(!r||o)?void this.trigger("Resize"):(y||(y=document.createElement("canvas")),c=Math.round(u.width*a),l=Math.round(u.height*a),r?(y.width=i,y.height=n,c>i&&(f=Math.round((c-i)/2)),l>n&&(g=Math.round((l-n)/2))):(y.width=c,y.height=l),b||h(y.width,y.height,d),p.call(this,u,y,-f,-g,c,l),this.width=y.width,this.height=y.height,_=!0,void m.trigger("Resize"))}function p(e,t,i,n,r,o){if("iOS"===u.OS)a.renderTo(e,t,{width:r,height:o,x:i,y:n});else{var s=t.getContext("2d");s.drawImage(e,i,n,r,o)}}function h(e,t,i){switch(i){case 5:case 6:case 7:case 8:y.width=t,y.height=e;break;default:y.width=e,y.height=t}var n=y.getContext("2d");switch(i){case 2:n.translate(e,0),n.scale(-1,1);break;case 3:n.translate(e,t),n.rotate(Math.PI);break;case 4:n.translate(0,t),n.scale(1,-1);break;case 5:n.rotate(.5*Math.PI),n.scale(1,-1);break;case 6:n.rotate(.5*Math.PI),n.translate(0,-t);break;case 7:n.rotate(.5*Math.PI),n.translate(e,-t),n.scale(-1,1);break;case 8:n.rotate(-.5*Math.PI),n.translate(-e,0)}}function g(){v&&(v.purge(),v=null),w=x=y=E=null,_=!1}var x,v,y,w,E,R=this,_=!1,b=!0;t.extend(this,{loadFromBlob:function(e){var t=this,n=t.getRuntime(),r=!(arguments.length>1)||arguments[1];if(!n.can("access_binary"))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);return E=e,e.isDetached()?(w=e.getSource(),void d.call(this,w)):void m.call(this,e.getSource(),function(e){r&&(w=c(e)),d.call(t,e)})},loadFromImage:function(e,t){this.meta=e.meta,E=new r(null,{name:e.name,size:e.size,type:e.type}),d.call(this,t?w=e.getAsBinaryString():e.getAsDataURL())},getInfo:function(){var t,i=this.getRuntime();return!v&&w&&i.can("access_image_binary")&&(v=new o(w)),t={width:e().width||0,height:e().height||0,type:E.type||s.getFileMime(E.name),size:w&&w.length||E.size||0,name:E.name||"",meta:v&&v.meta||this.meta||{}}},downsize:function(){f.apply(this,arguments)},getAsCanvas:function(){return y&&(y.id=this.uid+"_canvas"),y},getAsBlob:function(e,t){return e!==this.type&&f.call(this,this.width,this.height,!1),new r(null,{name:E.name||"",type:e,data:R.getAsBinaryString.call(this,e,t)})},getAsDataURL:function(e){var t=arguments[1]||90;if(!_)return x.src;if("image/jpeg"!==e)return y.toDataURL("image/png");try{return y.toDataURL("image/jpeg",t/100)}catch(e){return y.toDataURL("image/jpeg")}},getAsBinaryString:function(e,t){if(!_)return w||(w=c(R.getAsDataURL(e,t))),w;if("image/jpeg"!==e)w=c(R.getAsDataURL(e,t));else{var i;t||(t=90);try{i=y.toDataURL("image/jpeg",t/100)}catch(e){i=y.toDataURL("image/jpeg")}w=c(i),v&&(w=v.stripHeaders(w),b&&(v.meta&&v.meta.exif&&v.setExif({PixelXDimension:this.width,PixelYDimension:this.height}),w=v.writeHeaders(w)),v.purge(),v=null)}return _=!1,w},destroy:function(){R=null,g.call(this),this.getRuntime().getShim().removeInstance(this.uid)}})}return e.Image=c}),n("moxie/runtime/flash/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/runtime/Runtime"],function(e,t,i,n,r){function o(){var e;try{e=navigator.plugins["Shockwave Flash"],e=e.description}catch(t){try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(t){e="0.0"}}return e=e.match(/\d+/g),parseFloat(e[0]+"."+e[1])}function a(a){var c,l=this;a=e.extend({swf_url:t.swf_url},a),r.call(this,a,s,{access_binary:function(e){return e&&"browser"===l.mode},access_image_binary:function(e){return e&&"browser"===l.mode},display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:function(){return"client"===l.mode},resize_image:r.capTrue,return_response_headers:!1,return_response_type:function(t){return!("json"!==t||!window.JSON)||(!e.arrayDiff(t,["","text","document"])||"browser"===l.mode)},return_status_code:function(t){return"browser"===l.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:function(e){return e&&"browser"===l.mode},send_browser_cookies:function(e){return e&&"browser"===l.mode},send_custom_headers:function(e){return e&&"browser"===l.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:function(e){return e&&"browser"===l.mode},summon_file_dialog:!1,upload_filesize:function(t){return e.parseSizeStr(t)<=2097152||"client"===l.mode},use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}},{access_binary:function(e){return e?"browser":"client"},access_image_binary:function(e){return e?"browser":"client"},report_upload_progress:function(e){return e?"browser":"client"},return_response_type:function(t){return e.arrayDiff(t,["","text","json","document"])?"browser":["client","browser"]},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"browser":["client","browser"]},send_binary_string:function(e){return e?"browser":"client"},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"browser":"client"},stream_upload:function(e){return e?"client":"browser"},upload_filesize:function(t){return e.parseSizeStr(t)>=2097152?"client":"browser"}},"client"),o()<10&&(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid)},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec(this.uid,e,t,i)},init:function(){var i,r,o;o=this.getShimContainer(),e.extend(o.style,{position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),i='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+a.swf_url+'" ',"IE"===t.browser&&(i+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),i+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+a.swf_url+'" /><param name="flashvars" value="uid='+escape(this.uid)+"&target="+t.global_event_dispatcher+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>',"IE"===t.browser?(r=document.createElement("div"),o.appendChild(r),r.outerHTML=i,r=o=null):o.innerHTML=i,c=setTimeout(function(){l&&!l.initialized&&l.trigger("Error",new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},5e3)},destroy:function(e){return function(){e.call(l),clearTimeout(c),a=c=e=l=null}}(this.destroy)},u)}var s="flash",u={};return r.addConstructor(s,a),u}),n("moxie/runtime/flash/file/Blob",["moxie/runtime/flash/Runtime","moxie/file/Blob"],function(e,t){var i={slice:function(e,i,n,r){var o=this.getRuntime();return i<0?i=Math.max(e.size+i,0):i>0&&(i=Math.min(i,e.size)),n<0?n=Math.max(e.size+n,0):n>0&&(n=Math.min(n,e.size)),e=o.shimExec.call(this,"Blob","slice",i,n,r||""),e&&(e=new t(o.uid,e)),e}};return e.Blob=i}),n("moxie/runtime/flash/file/FileInput",["moxie/runtime/flash/Runtime"],function(e){var t={init:function(e){this.getRuntime().shimExec.call(this,"FileInput","init",{name:e.name,accept:e.accept,multiple:e.multiple}),this.trigger("ready")}};return e.FileInput=t}),n("moxie/runtime/flash/file/FileReader",["moxie/runtime/flash/Runtime","moxie/core/utils/Encode"],function(e,t){function i(e,i){switch(i){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var n="",r={read:function(e,t){var r=this,o=r.getRuntime();return"readAsDataURL"===e&&(n="data:"+(t.type||"")+";base64,"),r.bind("Progress",function(t,r){r&&(n+=i(r,e))}),o.shimExec.call(this,"FileReader","readAsBase64",t.uid)},getResult:function(){return n},destroy:function(){n=null}};return e.FileReader=r}),n("moxie/runtime/flash/file/FileReaderSync",["moxie/runtime/flash/Runtime","moxie/core/utils/Encode"],function(e,t){function i(e,i){switch(i){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var n={read:function(e,t){var n,r=this.getRuntime();return(n=r.shimExec.call(this,"FileReaderSync","readAsBase64",t.uid))?("readAsDataURL"===e&&(n="data:"+(t.type||"")+";base64,"+n),i(n,e,t.type)):null}};return e.FileReaderSync=n}),n("moxie/runtime/flash/xhr/XMLHttpRequest",["moxie/runtime/flash/Runtime","moxie/core/utils/Basic","moxie/file/Blob","moxie/file/File","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/runtime/Transporter"],function(e,t,i,n,r,o,a){var s={send:function(e,n){function r(){e.transport=l.mode,l.shimExec.call(c,"XMLHttpRequest","send",e,n)}function s(e,t){l.shimExec.call(c,"XMLHttpRequest","appendBlob",e,t.uid),n=null,r()}function u(e,t){var i=new a;i.bind("TransportingComplete",function(){t(this.result)}),i.transport(e.getSource(),e.type,{ruid:l.uid})}var c=this,l=c.getRuntime();if(t.isEmptyObj(e.headers)||t.each(e.headers,function(e,t){l.shimExec.call(c,"XMLHttpRequest","setRequestHeader",t,e.toString())}),n instanceof o){var d;if(n.each(function(e,t){e instanceof i?d=t:l.shimExec.call(c,"XMLHttpRequest","append",t,e)}),n.hasBlob()){var m=n.getBlob();m.isDetached()?u(m,function(e){m.destroy(),s(d,e)}):s(d,m)}else n=null,r()}else n instanceof i?n.isDetached()?u(n,function(e){n.destroy(),n=e.uid,r()}):(n=n.uid,r()):r()},getResponse:function(e){var i,o,a=this.getRuntime();if(o=a.shimExec.call(this,"XMLHttpRequest","getResponseAsBlob")){if(o=new n(a.uid,o),"blob"===e)return o;try{if(i=new r,~t.inArray(e,["","text"]))return i.readAsText(o);if("json"===e&&window.JSON)return JSON.parse(i.readAsText(o))}finally{o.destroy()}}return null},abort:function(e){var t=this.getRuntime();t.shimExec.call(this,"XMLHttpRequest","abort"),this.dispatchEvent("readystatechange"),this.dispatchEvent("abort")}};return e.XMLHttpRequest=s}),n("moxie/runtime/flash/runtime/Transporter",["moxie/runtime/flash/Runtime","moxie/file/Blob"],function(e,t){var i={getAsBlob:function(e){var i=this.getRuntime(),n=i.shimExec.call(this,"Transporter","getAsBlob",e);return n?new t(i.uid,n):null}};return e.Transporter=i}),n("moxie/runtime/flash/image/Image",["moxie/runtime/flash/Runtime","moxie/core/utils/Basic","moxie/runtime/Transporter","moxie/file/Blob","moxie/file/FileReaderSync"],function(e,t,i,n,r){var o={loadFromBlob:function(e){function t(e){r.shimExec.call(n,"Image","loadFromBlob",e.uid),n=r=null}var n=this,r=n.getRuntime();if(e.isDetached()){var o=new i;o.bind("TransportingComplete",function(){t(o.result.getSource())}),o.transport(e.getSource(),e.type,{ruid:r.uid})}else t(e.getSource())},loadFromImage:function(e){var t=this.getRuntime();return t.shimExec.call(this,"Image","loadFromImage",e.uid)},getAsBlob:function(e,t){var i=this.getRuntime(),r=i.shimExec.call(this,"Image","getAsBlob",e,t);return r?new n(i.uid,r):null},getAsDataURL:function(){var e,t=this.getRuntime(),i=t.Image.getAsBlob.apply(this,arguments);return i?(e=new r,e.readAsDataURL(i)):null}};return e.Image=o}),n("moxie/runtime/silverlight/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/runtime/Runtime"],function(e,t,i,n,r){function o(e){var t,i,n,r,o,a=!1,s=null,u=0;try{try{s=new ActiveXObject("AgControl.AgControl"),s.IsVersionSupported(e)&&(a=!0),s=null}catch(s){var c=navigator.plugins["Silverlight Plug-In"];if(c){for(t=c.description,"1.0.30226.2"===t&&(t="2.0.30226.2"),i=t.split(".");i.length>3;)i.pop();for(;i.length<4;)i.push(0);for(n=e.split(".");n.length>4;)n.pop();do r=parseInt(n[u],10),o=parseInt(i[u],10),u++;while(u<n.length&&r===o);r<=o&&!isNaN(r)&&(a=!0)}}}catch(e){a=!1}return a}function a(a){var c,l=this;a=e.extend({xap_url:t.xap_url},a),r.call(this,a,s,{access_binary:r.capTrue,access_image_binary:r.capTrue,display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:r.capTrue,resize_image:r.capTrue,return_response_headers:function(e){return e&&"client"===l.mode},return_response_type:function(e){return"json"!==e||!!window.JSON},return_status_code:function(t){return"client"===l.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:r.capTrue,send_browser_cookies:function(e){return e&&"browser"===l.mode},send_custom_headers:function(e){return e&&"client"===l.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:!0,summon_file_dialog:!1,upload_filesize:r.capTrue,use_http_method:function(t){return"client"===l.mode||!e.arrayDiff(t,["GET","POST"])}},{return_response_headers:function(e){return e?"client":"browser"},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"client":["client","browser"]},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"client":"browser"},use_http_method:function(t){return e.arrayDiff(t,["GET","POST"])?"client":["client","browser"]}}),o("2.0.31005.0")&&"Opera"!==t.browser||(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid).content.Moxie},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec(this.uid,e,t,i)},init:function(){var e;e=this.getShimContainer(),e.innerHTML='<object id="'+this.uid+'" data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" style="outline:none;"><param name="source" value="'+a.xap_url+'"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="uid='+this.uid+",target="+t.global_event_dispatcher+'"/></object>',c=setTimeout(function(){l&&!l.initialized&&l.trigger("Error",new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},"Windows"!==t.OS?1e4:5e3)},destroy:function(e){return function(){e.call(l),clearTimeout(c),a=c=e=l=null}}(this.destroy)},u)}var s="silverlight",u={};return r.addConstructor(s,a),u}),n("moxie/runtime/silverlight/file/Blob",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/Blob"],function(e,t,i){return e.Blob=t.extend({},i)}),n("moxie/runtime/silverlight/file/FileInput",["moxie/runtime/silverlight/Runtime"],function(e){var t={init:function(e){function t(e){for(var t="",i=0;i<e.length;i++)t+=(""!==t?"|":"")+e[i].title+" | *."+e[i].extensions.replace(/,/g,";*.");return t}this.getRuntime().shimExec.call(this,"FileInput","init",t(e.accept),e.name,e.multiple),this.trigger("ready")}};return e.FileInput=t}),n("moxie/runtime/silverlight/file/FileDrop",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Dom","moxie/core/utils/Events"],function(e,t,i){var n={init:function(){var e,n=this,r=n.getRuntime();return e=r.getShimContainer(),i.addEvent(e,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},n.uid),i.addEvent(e,"dragenter",function(e){e.preventDefault();var i=t.get(r.uid).dragEnter(e);i&&e.stopPropagation()},n.uid),i.addEvent(e,"drop",function(e){e.preventDefault();var i=t.get(r.uid).dragDrop(e);i&&e.stopPropagation()},n.uid),r.shimExec.call(this,"FileDrop","init")}};return e.FileDrop=n}),n("moxie/runtime/silverlight/file/FileReader",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/FileReader"],function(e,t,i){return e.FileReader=t.extend({},i)}),n("moxie/runtime/silverlight/file/FileReaderSync",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/FileReaderSync"],function(e,t,i){return e.FileReaderSync=t.extend({},i)}),n("moxie/runtime/silverlight/xhr/XMLHttpRequest",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/xhr/XMLHttpRequest"],function(e,t,i){return e.XMLHttpRequest=t.extend({},i)}),n("moxie/runtime/silverlight/runtime/Transporter",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/runtime/Transporter"],function(e,t,i){return e.Transporter=t.extend({},i)}),n("moxie/runtime/silverlight/image/Image",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/image/Image"],function(e,t,i){return e.Image=t.extend({},i,{getInfo:function(){var e=this.getRuntime(),i=["tiff","exif","gps"],n={meta:{}},r=e.shimExec.call(this,"Image","getInfo");return r.meta&&t.each(i,function(e){var t,i,o,a,s=r.meta[e];if(s&&s.keys)for(n.meta[e]={},i=0,o=s.keys.length;i<o;i++)t=s.keys[i],a=s[t],a&&(/^(\d|[1-9]\d+)$/.test(a)?a=parseInt(a,10):/^\d*\.\d+$/.test(a)&&(a=parseFloat(a)),n.meta[e][t]=a)}),n.width=parseInt(r.width,10),n.height=parseInt(r.height,10),n.size=parseInt(r.size,10),n.type=r.type,n.name=r.name,n}})}),n("moxie/runtime/html4/Runtime",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/Runtime","moxie/core/utils/Env"],function(e,t,i,n){function r(t){var r=this,s=i.capTest,u=i.capTrue;i.call(this,t,o,{access_binary:s(window.FileReader||window.File&&File.getAsDataURL),access_image_binary:!1,display_media:s(a.Image&&(n.can("create_canvas")||n.can("use_data_uri_over32kb"))),do_cors:!1,drag_and_drop:!1,filter_by_extension:s(function(){return"Chrome"===n.browser&&n.version>=28||"IE"===n.browser&&n.version>=10}()),resize_image:function(){return a.Image&&r.can("access_binary")&&n.can("create_canvas")},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(t){return!("json"!==t||!window.JSON)||!!~e.inArray(t,["text","document",""])},return_status_code:function(t){return!e.arrayDiff(t,[200,404])},select_file:function(){return n.can("use_fileinput")},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return r.can("select_file")},summon_file_dialog:s(function(){return"Firefox"===n.browser&&n.version>=4||"Opera"===n.browser&&n.version>=12||!!~e.inArray(n.browser,["Chrome","Safari"])}()),upload_filesize:u,use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}}),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html4",a={};return i.addConstructor(o,r),a}),n("moxie/runtime/html4/file/FileInput",["moxie/runtime/html4/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o){function a(){function e(){var r,l,d,m,f,p,h=this,g=h.getRuntime();p=t.guid("uid_"),r=g.getShimContainer(),a&&(d=i.get(a+"_form"),d&&t.extend(d.style,{top:"100%"})),m=document.createElement("form"),m.setAttribute("id",p+"_form"),m.setAttribute("method","post"),m.setAttribute("enctype","multipart/form-data"),m.setAttribute("encoding","multipart/form-data"),t.extend(m.style,{overflow:"hidden",position:"absolute",top:0,left:0,width:"100%",height:"100%"}),f=document.createElement("input"),f.setAttribute("id",p),f.setAttribute("type","file"),f.setAttribute("name",s.name||"Filedata"),f.setAttribute("accept",c.join(",")),t.extend(f.style,{fontSize:"999px",opacity:0}),m.appendChild(f),r.appendChild(m),t.extend(f.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),"IE"===o.browser&&o.version<10&&t.extend(f.style,{filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}),f.onchange=function(){var t;this.value&&(t=this.files?this.files[0]:{name:this.value},u=[t],this.onchange=function(){},e.call(h),h.bind("change",function e(){var t,n=i.get(p),r=i.get(p+"_form");h.unbind("change",e),h.files.length&&n&&r&&(t=h.files[0],n.setAttribute("id",t.uid),r.setAttribute("id",t.uid+"_form"),r.setAttribute("target",t.uid+"_iframe")),n=r=null},998),f=m=null,h.trigger("change"))},g.can("summon_file_dialog")&&(l=i.get(s.browse_button),n.removeEvent(l,"click",h.uid),n.addEvent(l,"click",function(e){f&&!f.disabled&&f.click(),e.preventDefault()},h.uid)),a=p,r=d=l=null}var a,s,u=[],c=[];t.extend(this,{init:function(t){var o,a=this,u=a.getRuntime();s=t,c=t.accept.mimes||r.extList2mimes(t.accept,u.can("filter_by_extension")),o=u.getShimContainer(),function(){var e,r,s;e=i.get(t.browse_button),u.can("summon_file_dialog")&&("static"===i.getStyle(e,"position")&&(e.style.position="relative"),r=parseInt(i.getStyle(e,"z-index"),10)||1,e.style.zIndex=r,o.style.zIndex=r-1),s=u.can("summon_file_dialog")?e:o,n.addEvent(s,"mouseover",function(){a.trigger("mouseenter")},a.uid),n.addEvent(s,"mouseout",function(){a.trigger("mouseleave")},a.uid),n.addEvent(s,"mousedown",function(){a.trigger("mousedown")},a.uid),n.addEvent(i.get(t.container),"mouseup",function(){a.trigger("mouseup")},a.uid),e=null}(),e.call(this),o=null,a.trigger({type:"ready",async:!0})},getFiles:function(){return u},disable:function(e){var t;(t=i.get(a))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),r=e.getShimContainer();n.removeAllEvents(r,this.uid),n.removeAllEvents(s&&i.get(s.container),this.uid),n.removeAllEvents(s&&i.get(s.browse_button),this.uid),r&&(r.innerHTML=""),t.removeInstance(this.uid),a=u=c=s=r=t=null}})}return e.FileInput=a}),n("moxie/runtime/html4/file/FileReader",["moxie/runtime/html4/Runtime","moxie/runtime/html5/file/FileReader"],function(e,t){return e.FileReader=t}),n("moxie/runtime/html4/xhr/XMLHttpRequest",["moxie/runtime/html4/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Url","moxie/core/Exceptions","moxie/core/utils/Events","moxie/file/Blob","moxie/xhr/FormData"],function(e,t,i,n,r,o,a,s){function u(){function e(e){var t,n,r,a,s=this,u=!1;if(l){if(t=l.id.replace(/_iframe$/,""),n=i.get(t+"_form")){for(r=n.getElementsByTagName("input"),a=r.length;a--;)switch(r[a].getAttribute("type")){case"hidden":r[a].parentNode.removeChild(r[a]);break;case"file":u=!0}r=[],u||n.parentNode.removeChild(n),n=null}setTimeout(function(){o.removeEvent(l,"load",s.uid),l.parentNode&&l.parentNode.removeChild(l);var t=s.getRuntime().getShimContainer();t.children.length||t.parentNode.removeChild(t),t=l=null,e()},1)}}var u,c,l;t.extend(this,{send:function(d,m){function f(){var i=y.getShimContainer()||document.body,r=document.createElement("div");r.innerHTML='<iframe id="'+p+'_iframe" name="'+p+'_iframe" src="javascript:&quot;&quot;" style="display:none"></iframe>',l=r.firstChild,i.appendChild(l),o.addEvent(l,"load",function(){var i;try{i=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(i.title)?u=i.title.replace(/^(\d+).*$/,"$1"):(u=200,c=t.trim(i.body.innerHTML),v.trigger({type:"progress",loaded:c.length,total:c.length}),x&&v.trigger({type:"uploadprogress",loaded:x.size||1025,total:x.size||1025}))}catch(t){if(!n.hasSameOrigin(d.url))return void e.call(v,function(){v.trigger("error")});u=404}e.call(v,function(){v.trigger("load")})},v.uid)}var p,h,g,x,v=this,y=v.getRuntime();if(u=c=null,m instanceof s&&m.hasBlob()){if(x=m.getBlob(),p=x.uid,g=i.get(p),h=i.get(p+"_form"),!h)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)}else p=t.guid("uid_"),h=document.createElement("form"),h.setAttribute("id",p+"_form"),h.setAttribute("method",d.method),h.setAttribute("enctype","multipart/form-data"),h.setAttribute("encoding","multipart/form-data"),h.setAttribute("target",p+"_iframe"),y.getShimContainer().appendChild(h);m instanceof s&&m.each(function(e,i){if(e instanceof a)g&&g.setAttribute("name",i);else{var n=document.createElement("input");t.extend(n,{type:"hidden",name:i,value:e}),g?h.insertBefore(n,g):h.appendChild(n)}}),h.setAttribute("action",d.url),f(),h.submit(),v.trigger("loadstart")},getStatus:function(){return u},getResponse:function(e){if("json"===e&&"string"===t.typeOf(c)&&window.JSON)try{
-return JSON.parse(c.replace(/^\s*<pre[^>]*>/,"").replace(/<\/pre>\s*$/,""))}catch(e){return null}return c},abort:function(){var t=this;l&&l.contentWindow&&(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand("Stop"):l.src="about:blank"),e.call(this,function(){t.dispatchEvent("abort")})}})}return e.XMLHttpRequest=u}),n("moxie/runtime/html4/image/Image",["moxie/runtime/html4/Runtime","moxie/runtime/html5/image/Image"],function(e,t){return e.Image=t}),o(["moxie/core/utils/Basic","moxie/core/I18n","moxie/core/utils/Mime","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/utils/Encode","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/file/Blob","moxie/file/File","moxie/file/FileInput","moxie/file/FileDrop","moxie/runtime/RuntimeTarget","moxie/file/FileReader","moxie/core/utils/Url","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/xhr/XMLHttpRequest","moxie/runtime/Transporter","moxie/image/Image","moxie/core/utils/Events"])}(this),function(){"use strict";var e={},t=moxie.core.utils.Basic.inArray;return function i(n){var r,o;for(r in n)o=typeof n[r],"object"!==o||~t(r,["Exceptions","Env","Mime"])?"function"===o&&(e[r]=n[r]):i(n[r])}(window.moxie),e.Env=window.moxie.core.utils.Env,e.Mime=window.moxie.core.utils.Mime,e.Exceptions=window.moxie.core.Exceptions,window.mOxie=e,window.o||(window.o=e),e}();
\ No newline at end of file
+!function(e,t){"use strict";function i(e,t){for(var i,n=[],a=0;a<e.length;++a){if(!(i=o[e[a]]||r(e[a])))throw"module definition dependecy not found: "+e[a];n.push(i)}t.apply(null,n)}function n(e,n,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(n===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";i(n,function(){o[e]=r.apply(null,arguments)})}function r(t){for(var i=e,n=t.split(/[.\/]/),r=0;r<n.length;++r){if(!i[n[r]])return;i=i[n[r]]}return i}var o={};n("moxie/core/utils/Basic",[],function(){var e=function(e){return void 0===e?"undefined":null===e?"null":e.nodeType?"node":{}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},t=function(n){return i(arguments,function(r,o){o>0&&i(r,function(i,r){void 0!==i&&(e(n[r])===e(i)&&~a(e(i),["array","object"])?t(n[r],i):n[r]=i)})}),n},i=function(e,t){var i,n,r;if(e){try{i=e.length}catch(e){i=void 0}if(void 0===i){for(n in e)if(e.hasOwnProperty(n)&&!1===t(e[n],n))return}else for(r=0;r<i;r++)if(!1===t(e[r],r))return}},n=function(t){var i;if(!t||"object"!==e(t))return!0;for(i in t)return!1;return!0},r=function(t,i){function n(o){"function"===e(t[o])&&t[o](function(e){++o<r&&!e?n(o):i(e)})}var r=t.length;"function"!==e(i)&&(i=function(){}),t&&t.length||i(),n(0)},o=function(e,t){var n=0,r=e.length,o=new Array(r);i(e,function(e,i){e(function(e){if(e)return t(e);var a=[].slice.call(arguments);a.shift(),o[i]=a,++n===r&&(o.unshift(null),t.apply(this,o))})})},a=function(e,t){if(t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(t,e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1},s=function(t,i){var n=[];"array"!==e(t)&&(t=[t]),"array"!==e(i)&&(i=[i]);for(var r in t)-1===a(t[r],i)&&n.push(t[r]);return!!n.length&&n},u=function(e,t){var n=[];return i(e,function(e){-1!==a(e,t)&&n.push(e)}),n.length?n:null},c=function(e){var t,i=[];for(t=0;t<e.length;t++)i[t]=e[t];return i};return{guid:function(){var e=0;return function(t){var i,n=(new Date).getTime().toString(32);for(i=0;i<5;i++)n+=Math.floor(65535*Math.random()).toString(32);return(t||"o_")+n+(e++).toString(32)}}(),typeOf:e,extend:t,each:i,isEmptyObj:n,inSeries:r,inParallel:o,inArray:a,arrayDiff:s,arrayIntersect:u,toArray:c,trim:function(e){return e?String.prototype.trim?String.prototype.trim.call(e):e.toString().replace(/^\s*/,"").replace(/\s*$/,""):e},parseSizeStr:function(e){if("string"!=typeof e)return e;var t,i={t:1099511627776,g:1073741824,m:1048576,k:1024};return e=/^([0-9]+)([mgk]?)$/.exec(e.toLowerCase().replace(/[^0-9mkg]/g,"")),t=e[2],e=+e[1],i.hasOwnProperty(t)&&(e*=i[t]),e}}}),n("moxie/core/I18n",["moxie/core/utils/Basic"],function(e){var t={};return{addI18n:function(i){return e.extend(t,i)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(t){var i=[].slice.call(arguments,1);return t.replace(/%[a-z]/g,function(){var t=i.shift();return"undefined"!==e.typeOf(t)?t:""})}}}),n("moxie/core/utils/Mime",["moxie/core/utils/Basic","moxie/core/I18n"],function(e,t){var i={mimes:{},extensions:{},addMimeType:function(e){var t,i,n,r=e.split(/,/);for(t=0;t<r.length;t+=2){for(n=r[t+1].split(/ /),i=0;i<n.length;i++)this.mimes[n[i]]=r[t];this.extensions[r[t]]=n}},extList2mimes:function(t,i){var n,r,o,a,s=this,u=[];for(r=0;r<t.length;r++)for(n=t[r].extensions.split(/\s*,\s*/),o=0;o<n.length;o++){if("*"===n[o])return[];if(a=s.mimes[n[o]])-1===e.inArray(a,u)&&u.push(a);else{if(!i||!/^\w+$/.test(n[o]))return[];u.push("."+n[o])}}return u},mimes2exts:function(t){var i=this,n=[];return e.each(t,function(t){if("*"===t)return n=[],!1;var r=t.match(/^(\w+)\/(\*|\w+)$/);r&&("*"===r[2]?e.each(i.extensions,function(e,t){new RegExp("^"+r[1]+"/").test(t)&&[].push.apply(n,i.extensions[t])}):i.extensions[t]&&[].push.apply(n,i.extensions[t]))}),n},mimes2extList:function(i){var n=[],r=[];return"string"===e.typeOf(i)&&(i=e.trim(i).split(/\s*,\s*/)),r=this.mimes2exts(i),n.push({title:t.translate("Files"),extensions:r.length?r.join(","):"*"}),n.mimes=i,n},getFileExtension:function(e){var t=e&&e.match(/\.([^.]+)$/);return t?t[1].toLowerCase():""},getFileMime:function(e){return this.mimes[this.getFileExtension(e)]||""}};return i.addMimeType("application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe"),i}),n("moxie/core/utils/Env",["moxie/core/utils/Basic"],function(e){function t(e,t,i){var n=0,r=0,o=0,a={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},s=function(e){return e=(""+e).replace(/[_\-+]/g,"."),e=e.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,"."),e.length?e.split("."):[-8]},u=function(e){return e?isNaN(e)?a[e]||-7:parseInt(e,10):0};for(e=s(e),t=s(t),r=Math.max(e.length,t.length),n=0;n<r;n++)if(e[n]!=t[n]){if(e[n]=u(e[n]),t[n]=u(t[n]),e[n]<t[n]){o=-1;break}if(e[n]>t[n]){o=1;break}}if(!i)return o;switch(i){case">":case"gt":return o>0;case">=":case"ge":return o>=0;case"<=":case"le":return o<=0;case"==":case"=":case"eq":return 0===o;case"<>":case"!=":case"ne":return 0!==o;case"":case"<":case"lt":return o<0;default:return null}}var i=function(e){var t="major",i="name",n="version",r={has:function(e,t){return-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()}},o={rgx:function(){for(var e,t,i,n,r,o,a,s=0,u=arguments;s<u.length;s+=2){var c=u[s],l=u[s+1];if(void 0===e){e={};for(n in l)r=l[n],"object"==typeof r?e[r[0]]=void 0:e[r]=void 0}for(t=i=0;t<c.length;t++)if(o=c[t].exec(this.getUA())){for(n=0;n<l.length;n++)a=o[++i],r=l[n],"object"==typeof r&&r.length>0?2==r.length?"function"==typeof r[1]?e[r[0]]=r[1].call(this,a):e[r[0]]=r[1]:3==r.length?"function"!=typeof r[1]||r[1].exec&&r[1].test?e[r[0]]=a?a.replace(r[1],r[2]):void 0:e[r[0]]=a?r[1].call(this,a,r[2]):void 0:4==r.length&&(e[r[0]]=a?r[3].call(this,a.replace(r[1],r[2])):void 0):e[r]=a||void 0;break}if(o)break}return e},str:function(e,t){for(var i in t)if("object"==typeof t[i]&&t[i].length>0){for(var n=0;n<t[i].length;n++)if(r.has(t[i][n],e))return"?"===i?void 0:i}else if(r.has(t[i],e))return"?"===i?void 0:i;return e}},a={browser:{oldsafari:{major:{1:["/8","/1","/3"],2:"/4","?":"/"},version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",RT:"ARM"}}}},s={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[i,n,t],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[i,"Opera"],n,t],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[i,n,t],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[i,"IE"],n,t],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[i,"Yandex"],n,t],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[i,/_/g," "],n,t],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],[i,n,t],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[i,"Dolphin"],n,t],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[i,"Chrome"],n,t],[/((?:android.+))version\/((\d+)?[\w\.]+)\smobile\ssafari/i],[[i,"Android Browser"],n,t],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[n,t,[i,"Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[n,t,i],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[i,[t,o.str,a.browser.oldsafari.major],[n,o.str,a.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[i,n,t],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[i,"Netscape"],n,t],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[i,n,t]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[i,n],[/rv\:([\w\.]+).*(gecko)/i],[n,i]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[i,[n,o.str,a.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[i,"Windows"],[n,o.str,a.os.windows.version]],[/\((bb)(10);/i],[[i,"BlackBerry"],n],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],[i,n],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[i,"Symbian"],n],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[i,"Firefox OS"],n],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[i,n],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[i,"Chromium OS"],n],[/(sunos)\s?([\w\.]+\d)*/i],[[i,"Solaris"],n],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[i,n],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[i,"iOS"],[n,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],[i,[n,/_/g,"."]],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i,/(unix)\s?([\w\.]+)*/i],[i,n]]};return(new function(e){var t=e||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:"");this.getBrowser=function(){return o.rgx.apply(this,s.browser)},this.getEngine=function(){return o.rgx.apply(this,s.engine)},this.getOS=function(){return o.rgx.apply(this,s.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS()}},this.getUA=function(){return t},this.setUA=function(e){return t=e,this},this.setUA(t)}).getResult()}(),n=function(){var t={define_property:!1,create_canvas:function(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))}(),return_response_type:function(t){try{if(-1!==e.inArray(t,["","text","document"]))return!0;if(window.XMLHttpRequest){var i=new XMLHttpRequest;if(i.open("get","/"),"responseType"in i)return i.responseType=t,i.responseType===t}}catch(e){}return!1},use_data_uri:function(){var e=new Image;return e.onload=function(){t.use_data_uri=1===e.width&&1===e.height},setTimeout(function(){e.src="data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="},1),!1}(),use_data_uri_over32kb:function(){return t.use_data_uri&&("IE"!==r.browser||r.version>=9)},use_data_uri_of:function(e){return t.use_data_uri&&e<33e3||t.use_data_uri_over32kb()},use_fileinput:function(){var e=document.createElement("input");return e.setAttribute("type","file"),!e.disabled}};return function(i){var n=[].slice.call(arguments);return n.shift(),"function"===e.typeOf(t[i])?t[i].apply(this,n):!!t[i]}}(),r={can:n,browser:i.browser.name,version:parseFloat(i.browser.major),os:i.os.name,osVersion:i.os.version,verComp:t,swf_url:"../flash/Moxie.swf",xap_url:"../silverlight/Moxie.xap",global_event_dispatcher:"moxie.core.EventTarget.instance.dispatchEvent"};return r.OS=r.os,r}),n("moxie/core/utils/Dom",["moxie/core/utils/Env"],function(e){var t=function(e){return"string"!=typeof e?e:document.getElementById(e)},i=function(e,t){return!!e.className&&new RegExp("(^|\\s+)"+t+"(\\s+|$)").test(e.className)};return{get:t,hasClass:i,addClass:function(e,t){i(e,t)||(e.className=e.className?e.className.replace(/\s+$/,"")+" "+t:t)},removeClass:function(e,t){if(e.className){var i=new RegExp("(^|\\s+)"+t+"(\\s+|$)");e.className=e.className.replace(i,function(e,t,i){return" "===t&&" "===i?" ":""})}},getStyle:function(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?window.getComputedStyle(e,null)[t]:void 0},getPos:function(t,i){function n(e){var t,i,n=0,r=0;return e&&(i=e.getBoundingClientRect(),t="CSS1Compat"===c.compatMode?c.documentElement:c.body,n=i.left+t.scrollLeft,r=i.top+t.scrollTop),{x:n,y:r}}var r,o,a,s=0,u=0,c=document;if(t=t,i=i||c.body,t&&t.getBoundingClientRect&&"IE"===e.browser&&(!c.documentMode||c.documentMode<8))return o=n(t),a=n(i),{x:o.x-a.x,y:o.y-a.y};for(r=t;r&&r!=i&&r.nodeType;)s+=r.offsetLeft||0,u+=r.offsetTop||0,r=r.offsetParent;for(r=t.parentNode;r&&r!=i&&r.nodeType;)s-=r.scrollLeft||0,u-=r.scrollTop||0,r=r.parentNode;return{x:s,y:u}},getSize:function(e){return{w:e.offsetWidth||e.clientWidth,h:e.offsetHeight||e.clientHeight}}}}),n("moxie/core/Exceptions",["moxie/core/utils/Basic"],function(e){function t(e,t){var i;for(i in e)if(e[i]===t)return i;return null}return{RuntimeError:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": RuntimeError "+this.code}var n={NOT_INIT_ERR:1,NOT_SUPPORTED_ERR:9,JS_ERR:4};return e.extend(i,n),i.prototype=Error.prototype,i}(),OperationNotAllowedException:function(){function t(e){this.code=e,this.name="OperationNotAllowedException"}return e.extend(t,{NOT_ALLOWED_ERR:1}),t.prototype=Error.prototype,t}(),ImageError:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": ImageError "+this.code}var n={WRONG_FORMAT:1,MAX_RESOLUTION_ERR:2};return e.extend(i,n),i.prototype=Error.prototype,i}(),FileException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": FileException "+this.code}var n={NOT_FOUND_ERR:1,SECURITY_ERR:2,ABORT_ERR:3,NOT_READABLE_ERR:4,ENCODING_ERR:5,NO_MODIFICATION_ALLOWED_ERR:6,INVALID_STATE_ERR:7,SYNTAX_ERR:8};return e.extend(i,n),i.prototype=Error.prototype,i}(),DOMException:function(){function i(e){this.code=e,this.name=t(n,e),this.message=this.name+": DOMException "+this.code}var n={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25};return e.extend(i,n),i.prototype=Error.prototype,i}(),EventException:function(){function t(e){this.code=e,this.name="EventException"}return e.extend(t,{UNSPECIFIED_EVENT_TYPE_ERR:0}),t.prototype=Error.prototype,t}()}}),n("moxie/core/EventTarget",["moxie/core/Exceptions","moxie/core/utils/Basic"],function(e,t){function i(){var i={};t.extend(this,{uid:null,init:function(){this.uid||(this.uid=t.guid("uid_"))},addEventListener:function(e,n,r,o){var a,s=this;if(e=t.trim(e),/\s/.test(e))return void t.each(e.split(/\s+/),function(e){s.addEventListener(e,n,r,o)});e=e.toLowerCase(),r=parseInt(r,10)||0,a=i[this.uid]&&i[this.uid][e]||[],a.push({fn:n,priority:r,scope:o||this}),i[this.uid]||(i[this.uid]={}),i[this.uid][e]=a},hasEventListener:function(e){return e?!(!i[this.uid]||!i[this.uid][e]):!!i[this.uid]},removeEventListener:function(e,n){e=e.toLowerCase();var r,o=i[this.uid]&&i[this.uid][e];if(o){if(n){for(r=o.length-1;r>=0;r--)if(o[r].fn===n){o.splice(r,1);break}}else o=[];o.length||(delete i[this.uid][e],t.isEmptyObj(i[this.uid])&&delete i[this.uid])}},removeAllEventListeners:function(){i[this.uid]&&delete i[this.uid]},dispatchEvent:function(n){var r,o,a,s,u={},c=!0;if("string"!==t.typeOf(n)){if(s=n,"string"!==t.typeOf(s.type))throw new e.EventException(e.EventException.UNSPECIFIED_EVENT_TYPE_ERR);n=s.type,void 0!==s.total&&void 0!==s.loaded&&(u.total=s.total,u.loaded=s.loaded),u.async=s.async||!1}if(-1!==n.indexOf("::")?function(e){r=e[0],n=e[1]}(n.split("::")):r=this.uid,n=n.toLowerCase(),o=i[r]&&i[r][n]){o.sort(function(e,t){return t.priority-e.priority}),a=[].slice.call(arguments),a.shift(),u.type=n,a.unshift(u);var l=[];t.each(o,function(e){a[0].target=e.scope,u.async?l.push(function(t){setTimeout(function(){t(!1===e.fn.apply(e.scope,a))},1)}):l.push(function(t){t(!1===e.fn.apply(e.scope,a))})}),l.length&&t.inSeries(l,function(e){c=!e})}return c},bind:function(){this.addEventListener.apply(this,arguments)},unbind:function(){this.removeEventListener.apply(this,arguments)},unbindAll:function(){this.removeAllEventListeners.apply(this,arguments)},trigger:function(){return this.dispatchEvent.apply(this,arguments)},convertEventPropsToHandlers:function(e){var i;"array"!==t.typeOf(e)&&(e=[e]);for(var n=0;n<e.length;n++)i="on"+e[n],"function"===t.typeOf(this[i])?this.addEventListener(e[n],this[i]):"undefined"===t.typeOf(this[i])&&(this[i]=null)}})}return i.instance=new i,i}),n("moxie/core/utils/Encode",[],function(){var e=function(e){return unescape(encodeURIComponent(e))},t=function(e){return decodeURIComponent(escape(e))};return{utf8_encode:e,utf8_decode:t,atob:function(e,i){if("function"==typeof window.atob)return i?t(window.atob(e)):window.atob(e);var n,r,o,a,s,u,c,l,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,f=0,h="",p=[];if(!e)return e;e+="";do{a=d.indexOf(e.charAt(m++)),s=d.indexOf(e.charAt(m++)),u=d.indexOf(e.charAt(m++)),c=d.indexOf(e.charAt(m++)),l=a<<18|s<<12|u<<6|c,n=l>>16&255,r=l>>8&255,o=255&l,p[f++]=64==u?String.fromCharCode(n):64==c?String.fromCharCode(n,r):String.fromCharCode(n,r,o)}while(m<e.length);return h=p.join(""),i?t(h):h},btoa:function(t,i){if(i&&e(t),"function"==typeof window.btoa)return window.btoa(t);var n,r,o,a,s,u,c,l,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,f=0,h="",p=[];if(!t)return t;do{n=t.charCodeAt(m++),r=t.charCodeAt(m++),o=t.charCodeAt(m++),l=n<<16|r<<8|o,a=l>>18&63,s=l>>12&63,u=l>>6&63,c=63&l,p[f++]=d.charAt(a)+d.charAt(s)+d.charAt(u)+d.charAt(c)}while(m<t.length);h=p.join("");var g=t.length%3;return(g?h.slice(0,g-3):h)+"===".slice(g||3)}}}),n("moxie/runtime/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/EventTarget"],function(e,t,i){function n(i,r,a,s,u){var c,l=this,d=e.guid(r+"_"),m=u||"browser";i=i||{},o[d]=this,a=e.extend({access_binary:!1,access_image_binary:!1,display_media:!1,do_cors:!1,drag_and_drop:!1,filter_by_extension:!0,resize_image:!1,report_upload_progress:!1,return_response_headers:!1,return_response_type:!1,return_status_code:!0,send_custom_headers:!1,select_file:!1,select_folder:!1,select_multiple:!0,send_binary_string:!1,send_browser_cookies:!0,send_multipart:!0,slice_blob:!1,stream_upload:!1,summon_file_dialog:!1,upload_filesize:!0,use_http_method:!0},a),i.preferred_caps&&(m=n.getMode(s,i.preferred_caps,m)),c=function(){var t={};return{exec:function(e,i,n,r){if(c[i]&&(t[e]||(t[e]={context:this,instance:new c[i]}),t[e].instance[n]))return t[e].instance[n].apply(this,r)},removeInstance:function(e){delete t[e]},removeAllInstances:function(){var i=this;e.each(t,function(t,n){"function"===e.typeOf(t.instance.destroy)&&t.instance.destroy.call(t.context),i.removeInstance(n)})}}}(),e.extend(this,{initialized:!1,uid:d,type:r,mode:n.getMode(s,i.required_caps,m),shimid:d+"_container",clients:0,options:i,can:function(t,i){var r=arguments[2]||a;if("string"===e.typeOf(t)&&"undefined"===e.typeOf(i)&&(t=n.parseCaps(t)),"object"===e.typeOf(t)){for(var o in t)if(!this.can(o,t[o],r))return!1;return!0}return"function"===e.typeOf(r[t])?r[t].call(this,i):i===r[t]},getShimContainer:function(){var i,n=t.get(this.shimid);return n||(i=this.options.container?t.get(this.options.container):document.body,n=document.createElement("div"),n.id=this.shimid,n.className="moxie-shim moxie-shim-"+this.type,e.extend(n.style,{position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),i.appendChild(n),i=null),n},getShim:function(){return c},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec.call(this,this.uid,e,t,i)},exec:function(e,t){var i=[].slice.call(arguments,2);return l[e]&&l[e][t]?l[e][t].apply(this,i):l.shimExec.apply(this,arguments)},destroy:function(){if(l){var e=t.get(this.shimid);e&&e.parentNode.removeChild(e),c&&c.removeAllInstances(),this.unbindAll(),delete o[this.uid],this.uid=null,d=l=c=e=null}}}),this.mode&&i.required_caps&&!this.can(i.required_caps)&&(this.mode=!1)}var r={},o={};return n.order="html5,flash,silverlight,html4",n.getRuntime=function(e){return!!o[e]&&o[e]},n.addConstructor=function(e,t){t.prototype=i.instance,r[e]=t},n.getConstructor=function(e){return r[e]||null},n.getInfo=function(e){var t=n.getRuntime(e);return t?{uid:t.uid,type:t.type,mode:t.mode,can:function(){return t.can.apply(t,arguments)}}:null},n.parseCaps=function(t){var i={};return"string"!==e.typeOf(t)?t||{}:(e.each(t.split(","),function(e){i[e]=!0}),i)},n.can=function(e,t){var i,r,o=n.getConstructor(e);return!!o&&(i=new o({required_caps:t}),r=i.mode,i.destroy(),!!r)},n.thatCan=function(e,t){var i=(t||n.order).split(/\s*,\s*/);for(var r in i)if(n.can(i[r],e))return i[r];return null},n.getMode=function(t,i,n){var r=null;if("undefined"===e.typeOf(n)&&(n="browser"),i&&!e.isEmptyObj(t)){if(e.each(i,function(i,n){if(t.hasOwnProperty(n)){var o=t[n](i);if("string"==typeof o&&(o=[o]),r){if(!(r=e.arrayIntersect(r,o)))return r=!1}else r=o}}),r)return-1!==e.inArray(n,r)?n:r[0];if(!1===r)return!1}return n},n.capTrue=function(){return!0},n.capFalse=function(){return!1},n.capTest=function(e){return function(){return!!e}},n}),n("moxie/runtime/RuntimeClient",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/runtime/Runtime"],function(e,t,i){return function(){var n;t.extend(this,{connectRuntime:function(r){function o(t){var a,u;return t.length?(a=t.shift(),(u=i.getConstructor(a))?(n=new u(r),n.bind("Init",function(){n.initialized=!0,setTimeout(function(){n.clients++,s.trigger("RuntimeInit",n)},1)}),n.bind("Error",function(){n.destroy(),o(t)}),n.mode?void n.init():void n.trigger("Error")):void o(t)):(s.trigger("RuntimeError",new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)),void(n=null))}var a,s=this;if("string"===t.typeOf(r)?a=r:"string"===t.typeOf(r.ruid)&&(a=r.ruid),a){if(n=i.getRuntime(a))return n.clients++,n;throw new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)}o((r.runtime_order||i.order).split(/\s*,\s*/))},getRuntime:function(){return n&&n.uid?n:(n=null,null)},disconnectRuntime:function(){n&&--n.clients<=0&&(n.destroy(),n=null)}})}}),n("moxie/file/Blob",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/runtime/RuntimeClient"],function(e,t,i){function n(o,a){function s(t,i,o){var a,s=r[this.uid];return"string"===e.typeOf(s)&&s.length?(a=new n(null,{type:o,size:i-t}),a.detach(s.substr(t,a.size)),a):null}i.call(this),o&&this.connectRuntime(o),a?"string"===e.typeOf(a)&&(a={data:a}):a={},e.extend(this,{uid:a.uid||e.guid("uid_"),ruid:o,size:a.size||0,type:a.type||"",slice:function(e,t,i){return this.isDetached()?s.apply(this,arguments):this.getRuntime().exec.call(this,"Blob","slice",this.getSource(),e,t,i)},getSource:function(){return r[this.uid]?r[this.uid]:null},detach:function(e){this.ruid&&(this.getRuntime().exec.call(this,"Blob","destroy",r[this.uid]),this.disconnectRuntime(),this.ruid=null),e=e||"";var i=e.match(/^data:([^;]*);base64,/);i&&(this.type=i[1],e=t.atob(e.substring(e.indexOf("base64,")+7))),this.size=e.length,r[this.uid]=e},isDetached:function(){return!this.ruid&&"string"===e.typeOf(r[this.uid])},destroy:function(){this.detach(),delete r[this.uid]}}),a.data?this.detach(a.data):r[this.uid]=a}var r={};return n}),n("moxie/file/File",["moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/file/Blob"],function(e,t,i){function n(n,r){var o,a;if(r||(r={}),a=r.type&&""!==r.type?r.type:t.getFileMime(r.name),r.name)o=r.name.replace(/\\/g,"/"),o=o.substr(o.lastIndexOf("/")+1);else{var s=a.split("/")[0];o=e.guid((""!==s?s:"file")+"_"),t.extensions[a]&&(o+="."+t.extensions[a][0])}i.apply(this,arguments),e.extend(this,{type:a||"",name:o||e.guid("file_"),lastModifiedDate:r.lastModifiedDate||(new Date).toLocaleString()})}return n.prototype=i.prototype,n}),n("moxie/file/FileInput",["moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/I18n","moxie/file/File","moxie/runtime/Runtime","moxie/runtime/RuntimeClient"],function(e,t,i,n,r,o,a,s,u){function c(r){var c,d,m,f=this;if(-1!==e.inArray(e.typeOf(r),["string","node"])&&(r={browse_button:r}),!(d=i.get(r.browse_button)))throw new n.DOMException(n.DOMException.NOT_FOUND_ERR);m={accept:[{title:o.translate("All Files"),extensions:"*"}],name:"file",multiple:!1,required_caps:!1,container:d.parentNode||document.body},r=e.extend({},m,r),"string"==typeof r.required_caps&&(r.required_caps=s.parseCaps(r.required_caps)),"string"==typeof r.accept&&(r.accept=t.mimes2extList(r.accept)),c=i.get(r.container),c||(c=document.body),"static"===i.getStyle(c,"position")&&(c.style.position="relative"),c=d=null,u.call(f),e.extend(f,{uid:e.guid("uid_"),ruid:null,shimid:null,files:null,init:function(){f.convertEventPropsToHandlers(l),f.bind("RuntimeInit",function(t,n){f.ruid=n.uid,f.shimid=n.shimid,f.bind("Ready",function(){f.trigger("Refresh")},999),f.bind("Change",function(){var t=n.exec.call(f,"FileInput","getFiles");f.files=[],e.each(t,function(e){if(0===e.size)return!0;f.files.push(new a(f.ruid,e))})},999),f.bind("Refresh",function(){var t,o,a,s;a=i.get(r.browse_button),s=i.get(n.shimid),a&&(t=i.getPos(a,i.get(r.container)),o=i.getSize(a),s&&e.extend(s.style,{top:t.y+"px",left:t.x+"px",width:o.w+"px",height:o.h+"px"})),s=a=null}),n.exec.call(f,"FileInput","init",r)}),f.connectRuntime(e.extend({},r,{required_caps:{select_file:!0}}))},disable:function(t){var i=this.getRuntime();i&&i.exec.call(this,"FileInput","disable","undefined"===e.typeOf(t)||t)},refresh:function(){f.trigger("Refresh")},destroy:function(){var t=this.getRuntime();t&&(t.exec.call(this,"FileInput","destroy"),this.disconnectRuntime()),"array"===e.typeOf(this.files)&&e.each(this.files,function(e){e.destroy()}),this.files=null}})}var l=["ready","change","cancel","mouseenter","mouseleave","mousedown","mouseup"];return c.prototype=r.instance,c}),n("moxie/file/FileDrop",["moxie/core/I18n","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/utils/Basic","moxie/file/File","moxie/runtime/RuntimeClient","moxie/core/EventTarget","moxie/core/utils/Mime"],function(e,t,i,n,r,o,a,s){function u(i){var a,u=this;"string"==typeof i&&(i={drop_zone:i}),a={accept:[{title:e.translate("All Files"),extensions:"*"}],required_caps:{drag_and_drop:!0}},i="object"==typeof i?n.extend({},a,i):a,i.container=t.get(i.drop_zone)||document.body,"static"===t.getStyle(i.container,"position")&&(i.container.style.position="relative"),"string"==typeof i.accept&&(i.accept=s.mimes2extList(i.accept)),o.call(u),n.extend(u,{uid:n.guid("uid_"),ruid:null,files:null,init:function(){u.convertEventPropsToHandlers(c),u.bind("RuntimeInit",function(e,t){u.ruid=t.uid,u.bind("Drop",function(){var e=t.exec.call(u,"FileDrop","getFiles");u.files=[],n.each(e,function(e){u.files.push(new r(u.ruid,e))})},999),t.exec.call(u,"FileDrop","init",i),u.dispatchEvent("ready")}),u.connectRuntime(i)},destroy:function(){var e=this.getRuntime();e&&(e.exec.call(this,"FileDrop","destroy"),this.disconnectRuntime()),this.files=null}})}var c=["ready","dragenter","dragleave","drop","error"];return u.prototype=a.instance,u}),n("moxie/runtime/RuntimeTarget",["moxie/core/utils/Basic","moxie/runtime/RuntimeClient","moxie/core/EventTarget"],function(e,t,i){function n(){this.uid=e.guid("uid_"),t.call(this),this.destroy=function(){this.disconnectRuntime(),this.unbindAll()}}return n.prototype=i.instance,n}),n("moxie/file/FileReader",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/core/Exceptions","moxie/core/EventTarget","moxie/file/Blob","moxie/file/File","moxie/runtime/RuntimeTarget"],function(e,t,i,n,r,o,a){function s(){function n(e,n){function l(e){c.readyState=s.DONE,c.error=e,c.trigger("error"),d()}function d(){o.destroy(),o=null,c.trigger("loadend")}if(o=new a,this.convertEventPropsToHandlers(u),this.readyState===s.LOADING)return l(new i.DOMException(i.DOMException.INVALID_STATE_ERR));if(this.readyState=s.LOADING,this.trigger("loadstart"),n instanceof r)if(n.isDetached()){var m=n.getSource();switch(e){case"readAsText":case"readAsBinaryString":this.result=m;break;case"readAsDataURL":this.result="data:"+n.type+";base64,"+t.btoa(m)}this.readyState=s.DONE,this.trigger("load"),d()}else!function(t){o.bind("Error",function(e,t){l(t)}),o.bind("Progress",function(e){c.result=t.exec.call(o,"FileReader","getResult"),c.trigger(e)}),o.bind("Load",function(e){c.readyState=s.DONE,c.result=t.exec.call(o,"FileReader","getResult"),c.trigger(e),d()}),t.exec.call(o,"FileReader","read",e,n)}(o.connectRuntime(n.ruid));else l(new i.DOMException(i.DOMException.NOT_FOUND_ERR))}var o,c=this;e.extend(this,{uid:e.guid("uid_"),readyState:s.EMPTY,result:null,error:null,readAsBinaryString:function(e){n.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){n.call(this,"readAsDataURL",e)},readAsText:function(e){n.call(this,"readAsText",e)},abort:function(){this.result=null,-1===e.inArray(this.readyState,[s.EMPTY,s.DONE])&&(this.readyState===s.LOADING&&(this.readyState=s.DONE),o&&o.getRuntime().exec.call(this,"FileReader","abort"),this.trigger("abort"),this.trigger("loadend"))},destroy:function(){this.abort(),o&&(o.getRuntime().exec.call(this,"FileReader","destroy"),o.disconnectRuntime()),c=o=null}})}var u=["loadstart","progress","load","abort","error","loadend"];return s.EMPTY=0,s.LOADING=1,s.DONE=2,s.prototype=n.instance,s}),n("moxie/core/utils/Url",[],function(){var e=function(t,i){for(var n=["source","scheme","authority","userInfo","user","pass","host","port","relative","path","directory","file","query","fragment"],r=n.length,o={http:80,https:443},a={},s=/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,u=s.exec(t||"");r--;)u[r]&&(a[n[r]]=u[r]);if(!a.scheme){i&&"string"!=typeof i||(i=e(i||document.location.href)),a.scheme=i.scheme,
+a.host=i.host,a.port=i.port;var c="";/^[^\/]/.test(a.path)&&(c=i.path,/(\/|\/[^\.]+)$/.test(c)?c+="/":c=c.replace(/\/[^\/]+$/,"/")),a.path=c+(a.path||"")}return a.port||(a.port=o[a.scheme]||80),a.port=parseInt(a.port,10),a.path||(a.path="/"),delete a.source,a};return{parseUrl:e,resolveUrl:function(t){var i={http:80,https:443},n=e(t);return n.scheme+"://"+n.host+(n.port!==i[n.scheme]?":"+n.port:"")+n.path+(n.query?n.query:"")},hasSameOrigin:function(t){function i(e){return[e.scheme,e.host,e.port].join("/")}return"string"==typeof t&&(t=e(t)),i(e())===i(t)}}}),n("moxie/file/FileReaderSync",["moxie/core/utils/Basic","moxie/runtime/RuntimeClient","moxie/core/utils/Encode"],function(e,t,i){return function(){function n(e,t){if(!t.isDetached()){var n=this.connectRuntime(t.ruid).exec.call(this,"FileReaderSync","read",e,t);return this.disconnectRuntime(),n}var r=t.getSource();switch(e){case"readAsBinaryString":return r;case"readAsDataURL":return"data:"+t.type+";base64,"+i.btoa(r);case"readAsText":for(var o="",a=0,s=r.length;a<s;a++)o+=String.fromCharCode(r[a]);return o}}t.call(this),e.extend(this,{uid:e.guid("uid_"),readAsBinaryString:function(e){return n.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){return n.call(this,"readAsDataURL",e)},readAsText:function(e){return n.call(this,"readAsText",e)}})}}),n("moxie/xhr/FormData",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/file/Blob"],function(e,t,i){function n(){var e,n=[];t.extend(this,{append:function(r,o){var a=this,s=t.typeOf(o);o instanceof i?e={name:r,value:o}:"array"===s?(r+="[]",t.each(o,function(e){a.append(r,e)})):"object"===s?t.each(o,function(e,t){a.append(r+"["+t+"]",e)}):"null"===s||"undefined"===s||"number"===s&&isNaN(o)?a.append(r,"false"):n.push({name:r,value:o.toString()})},hasBlob:function(){return!!this.getBlob()},getBlob:function(){return e&&e.value||null},getBlobName:function(){return e&&e.name||null},each:function(i){t.each(n,function(e){i(e.value,e.name)}),e&&i(e.value,e.name)},destroy:function(){e=null,n=[]}})}return n}),n("moxie/xhr/XMLHttpRequest",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/utils/Encode","moxie/core/utils/Url","moxie/runtime/Runtime","moxie/runtime/RuntimeTarget","moxie/file/Blob","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/core/utils/Env","moxie/core/utils/Mime"],function(e,t,i,n,r,o,a,s,u,c,l,d){function m(){this.uid=e.guid("uid_")}function f(){function i(e,t){if(S.hasOwnProperty(e))return 1===arguments.length?l.can("define_property")?S[e]:T[e]:void(l.can("define_property")?S[e]=t:T[e]=t)}function u(t){function n(){_.destroy(),_=null,s.dispatchEvent("loadend"),s=null}function r(r){_.bind("LoadStart",function(e){i("readyState",f.LOADING),s.dispatchEvent("readystatechange"),s.dispatchEvent(e),M&&s.upload.dispatchEvent(e)}),_.bind("Progress",function(e){i("readyState")!==f.LOADING&&(i("readyState",f.LOADING),s.dispatchEvent("readystatechange")),s.dispatchEvent(e)}),_.bind("UploadProgress",function(e){M&&s.upload.dispatchEvent({type:"progress",lengthComputable:!1,total:e.total,loaded:e.loaded})}),_.bind("Load",function(t){i("readyState",f.DONE),i("status",Number(r.exec.call(_,"XMLHttpRequest","getStatus")||0)),i("statusText",h[i("status")]||""),i("response",r.exec.call(_,"XMLHttpRequest","getResponse",i("responseType"))),~e.inArray(i("responseType"),["text",""])?i("responseText",i("response")):"document"===i("responseType")&&i("responseXML",i("response")),U=r.exec.call(_,"XMLHttpRequest","getAllResponseHeaders"),s.dispatchEvent("readystatechange"),i("status")>0?(M&&s.upload.dispatchEvent(t),s.dispatchEvent(t)):(F=!0,s.dispatchEvent("error")),n()}),_.bind("Abort",function(e){s.dispatchEvent(e),n()}),_.bind("Error",function(e){F=!0,i("readyState",f.DONE),s.dispatchEvent("readystatechange"),C=!0,s.dispatchEvent(e),n()}),r.exec.call(_,"XMLHttpRequest","send",{url:x,method:v,async:A,user:y,password:w,headers:O,mimeType:D,encoding:I,responseType:s.responseType,withCredentials:s.withCredentials,options:k},t)}var s=this;E=(new Date).getTime(),_=new a,"string"==typeof k.required_caps&&(k.required_caps=o.parseCaps(k.required_caps)),k.required_caps=e.extend({},k.required_caps,{return_response_type:s.responseType}),t instanceof c&&(k.required_caps.send_multipart=!0),B||(k.required_caps.do_cors=!0),k.ruid?r(_.connectRuntime(k)):(_.bind("RuntimeInit",function(e,t){r(t)}),_.bind("RuntimeError",function(e,t){s.dispatchEvent("RuntimeError",t)}),_.connectRuntime(k))}function g(){i("responseText",""),i("responseXML",null),i("response",null),i("status",0),i("statusText",""),E=R=null}var x,v,y,w,E,R,_,b,T=this,S={timeout:0,readyState:f.UNSENT,withCredentials:!1,status:0,statusText:"",responseType:"",responseXML:null,responseText:null,response:null},A=!0,O={},I=null,D=null,N=!1,L=!1,M=!1,C=!1,F=!1,B=!1,H=null,P=null,k={},U="";e.extend(this,S,{uid:e.guid("uid_"),upload:new m,open:function(o,a,s,u,c){var l;if(!o||!a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(/[\u0100-\uffff]/.test(o)||n.utf8_encode(o)!==o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(~e.inArray(o.toUpperCase(),["CONNECT","DELETE","GET","HEAD","OPTIONS","POST","PUT","TRACE","TRACK"])&&(v=o.toUpperCase()),~e.inArray(v,["CONNECT","TRACE","TRACK"]))throw new t.DOMException(t.DOMException.SECURITY_ERR);if(a=n.utf8_encode(a),l=r.parseUrl(a),B=r.hasSameOrigin(l),x=r.resolveUrl(a),(u||c)&&!B)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);if(y=u||l.user,w=c||l.pass,!1===(A=s||!0)&&(i("timeout")||i("withCredentials")||""!==i("responseType")))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);N=!A,L=!1,O={},g.call(this),i("readyState",f.OPENED),this.convertEventPropsToHandlers(["readystatechange"]),this.dispatchEvent("readystatechange")},setRequestHeader:function(r,o){var a=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];if(i("readyState")!==f.OPENED||L)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(/[\u0100-\uffff]/.test(r)||n.utf8_encode(r)!==r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);return r=e.trim(r).toLowerCase(),!~e.inArray(r,a)&&!/^(proxy\-|sec\-)/.test(r)&&(O[r]?O[r]+=", "+o:O[r]=o,!0)},getAllResponseHeaders:function(){return U||""},getResponseHeader:function(t){return t=t.toLowerCase(),F||~e.inArray(t,["set-cookie","set-cookie2"])?null:U&&""!==U&&(b||(b={},e.each(U.split(/\r\n/),function(t){var i=t.split(/:\s+/);2===i.length&&(i[0]=e.trim(i[0]),b[i[0].toLowerCase()]={header:i[0],value:e.trim(i[1])})})),b.hasOwnProperty(t))?b[t].header+": "+b[t].value:null},overrideMimeType:function(n){var r,o;if(~e.inArray(i("readyState"),[f.LOADING,f.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(n=e.trim(n.toLowerCase()),/;/.test(n)&&(r=n.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))&&(n=r[1],r[2]&&(o=r[2])),!d.mimes[n])throw new t.DOMException(t.DOMException.SYNTAX_ERR);H=n,P=o},send:function(i,r){if(k="string"===e.typeOf(r)?{ruid:r}:r||{},this.convertEventPropsToHandlers(p),this.upload.convertEventPropsToHandlers(p),this.readyState!==f.OPENED||L)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(i instanceof s)k.ruid=i.ruid,D=i.type||"application/octet-stream";else if(i instanceof c){if(i.hasBlob()){var o=i.getBlob();k.ruid=o.ruid,D=o.type||"application/octet-stream"}}else"string"==typeof i&&(I="UTF-8",D="text/plain;charset=UTF-8",i=n.utf8_encode(i));this.withCredentials||(this.withCredentials=k.required_caps&&k.required_caps.send_browser_cookies&&!B),M=!N&&this.upload.hasEventListener(),F=!1,C=!i,N||(L=!0),u.call(this,i)},abort:function(){if(F=!0,N=!1,~e.inArray(i("readyState"),[f.UNSENT,f.OPENED,f.DONE]))i("readyState",f.UNSENT);else{if(i("readyState",f.DONE),L=!1,!_)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);_.getRuntime().exec.call(_,"XMLHttpRequest","abort",C),C=!0}},destroy:function(){_&&("function"===e.typeOf(_.destroy)&&_.destroy(),_=null),this.unbindAll(),this.upload&&(this.upload.unbindAll(),this.upload=null)}})}var h={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Reserved",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",510:"Not Extended"};m.prototype=i.instance;var p=["loadstart","progress","abort","error","load","timeout","loadend"];return f.UNSENT=0,f.OPENED=1,f.HEADERS_RECEIVED=2,f.LOADING=3,f.DONE=4,f.prototype=i.instance,f}),n("moxie/runtime/Transporter",["moxie/core/utils/Basic","moxie/core/utils/Encode","moxie/runtime/RuntimeClient","moxie/core/EventTarget"],function(e,t,i,n){function r(){function n(){l=d=0,c=this.result=null}function o(t,i){var n=this;u=i,n.bind("TransportingProgress",function(t){(d=t.loaded)<l&&-1===e.inArray(n.state,[r.IDLE,r.DONE])&&a.call(n)},999),n.bind("TransportingComplete",function(){d=l,n.state=r.DONE,c=null,n.result=u.exec.call(n,"Transporter","getAsBlob",t||"")},999),n.state=r.BUSY,n.trigger("TransportingStarted"),a.call(n)}function a(){var e,i=this,n=l-d;m>n&&(m=n),e=t.btoa(c.substr(d,m)),u.exec.call(i,"Transporter","receive",e,l)}var s,u,c,l,d,m;i.call(this),e.extend(this,{uid:e.guid("uid_"),state:r.IDLE,result:null,transport:function(t,i,r){var a=this;if(r=e.extend({chunk_size:204798},r),(s=r.chunk_size%3)&&(r.chunk_size+=3-s),m=r.chunk_size,n.call(this),c=t,l=t.length,"string"===e.typeOf(r)||r.ruid)o.call(a,i,this.connectRuntime(r));else{var u=function(e,t){a.unbind("RuntimeInit",u),o.call(a,i,t)};this.bind("RuntimeInit",u),this.connectRuntime(r)}},abort:function(){var e=this;e.state=r.IDLE,u&&(u.exec.call(e,"Transporter","clear"),e.trigger("TransportingAborted")),n.call(e)},destroy:function(){this.unbindAll(),u=null,this.disconnectRuntime(),n.call(this)}})}return r.IDLE=0,r.BUSY=1,r.DONE=2,r.prototype=n.instance,r}),n("moxie/image/Image",["moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/file/FileReaderSync","moxie/xhr/XMLHttpRequest","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/runtime/Transporter","moxie/core/utils/Env","moxie/core/EventTarget","moxie/file/Blob","moxie/file/File","moxie/core/utils/Encode"],function(e,t,i,n,r,o,a,s,u,c,l,d,m){function f(){function n(e){e||(e=this.getRuntime().exec.call(this,"Image","getInfo")),this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,""===this.name&&(this.name=e.name)}function c(t){var n=e.typeOf(t);try{if(t instanceof f){if(!t.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);p.apply(this,arguments)}else if(t instanceof l){if(!~e.inArray(t.type,["image/jpeg","image/png"]))throw new i.ImageError(i.ImageError.WRONG_FORMAT);g.apply(this,arguments)}else if(-1!==e.inArray(n,["blob","file"]))c.call(this,new d(null,t),arguments[1]);else if("string"===n)/^data:[^;]*;base64,/.test(t)?c.call(this,new l(null,{data:t}),arguments[1]):x.apply(this,arguments);else{if("node"!==n||"img"!==t.nodeName.toLowerCase())throw new i.DOMException(i.DOMException.TYPE_MISMATCH_ERR);c.call(this,t.src,arguments[1])}}catch(e){this.trigger("error",e)}}function p(t,i){var n=this.connectRuntime(t.ruid);this.ruid=n.uid,n.exec.call(this,"Image","loadFromImage",t,"undefined"===e.typeOf(i)||i)}function g(t,i){function n(e){r.ruid=e.uid,e.exec.call(r,"Image","loadFromBlob",t)}var r=this;r.name=t.name||"",t.isDetached()?(this.bind("RuntimeInit",function(e,t){n(t)}),i&&"string"==typeof i.required_caps&&(i.required_caps=o.parseCaps(i.required_caps)),this.connectRuntime(e.extend({required_caps:{access_image_binary:!0,resize_image:!0}},i))):n(this.connectRuntime(t.ruid))}function x(e,t){var i,n=this;i=new r,i.open("get",e),i.responseType="blob",i.onprogress=function(e){n.trigger(e)},i.onload=function(){g.call(n,i.response,!0)},i.onerror=function(e){n.trigger(e)},i.onloadend=function(){i.destroy()},i.bind("RuntimeError",function(e,t){n.trigger("RuntimeError",t)}),i.send(null,t)}a.call(this),e.extend(this,{uid:e.guid("uid_"),ruid:null,name:"",size:0,width:0,height:0,type:"",meta:{},clone:function(){this.load.apply(this,arguments)},load:function(){this.bind("Load Resize",function(){n.call(this)},999),this.convertEventPropsToHandlers(h),c.apply(this,arguments)},downsize:function(t,n,r,o){try{if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);if(this.width>f.MAX_RESIZE_WIDTH||this.height>f.MAX_RESIZE_HEIGHT)throw new i.ImageError(i.ImageError.MAX_RESOLUTION_ERR);(t||n)&&"undefined"!==e.typeOf(r)||(r=!1),t=t||this.width,n=n||this.height,o="undefined"===e.typeOf(o)||!!o,this.getRuntime().exec.call(this,"Image","downsize",t,n,r,o)}catch(e){this.trigger("error",e)}},crop:function(e,t,i){this.downsize(e,t,!0,i)},getAsCanvas:function(){if(!u.can("create_canvas"))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);return this.connectRuntime(this.ruid).exec.call(this,"Image","getAsCanvas")},getAsBlob:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return e||(e="image/jpeg"),"image/jpeg"!==e||t||(t=90),this.getRuntime().exec.call(this,"Image","getAsBlob",e,t)},getAsDataURL:function(e,t){if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);return this.getRuntime().exec.call(this,"Image","getAsDataURL",e,t)},getAsBinaryString:function(e,t){var i=this.getAsDataURL(e,t);return m.atob(i.substring(i.indexOf("base64,")+7))},embed:function(n){function r(){if(u.can("create_canvas")){var t=o.getAsCanvas();if(t)return n.appendChild(t),t=null,o.destroy(),void h.trigger("embedded")}var r=o.getAsDataURL(a,c);if(!r)throw new i.ImageError(i.ImageError.WRONG_FORMAT);if(u.can("use_data_uri_of",r.length))n.innerHTML='<img src="'+r+'" width="'+o.width+'" height="'+o.height+'" />',o.destroy(),h.trigger("embedded");else{var l=new s;l.bind("TransportingComplete",function(){d=h.connectRuntime(this.result.ruid),h.bind("Embedded",function(){e.extend(d.getShimContainer().style,{top:"0px",left:"0px",width:o.width+"px",height:o.height+"px"}),d=null},999),d.exec.call(h,"ImageView","display",this.result.uid,g,x),o.destroy()}),l.transport(m.atob(r.substring(r.indexOf("base64,")+7)),a,e.extend({},p,{required_caps:{display_media:!0},runtime_order:"flash,silverlight",container:n}))}}var o,a,c,l,d,h=this,p=arguments[1]||{},g=this.width,x=this.height;try{if(!(n=t.get(n)))throw new i.DOMException(i.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new i.DOMException(i.DOMException.INVALID_STATE_ERR);if(this.width>f.MAX_RESIZE_WIDTH||this.height>f.MAX_RESIZE_HEIGHT)throw new i.ImageError(i.ImageError.MAX_RESOLUTION_ERR);if(a=p.type||this.type||"image/jpeg",c=p.quality||90,l="undefined"!==e.typeOf(p.crop)&&p.crop,p.width)g=p.width,x=p.height||g;else{var v=t.getSize(n);v.w&&v.h&&(g=v.w,x=v.h)}return o=new f,o.bind("Resize",function(){r.call(h)}),o.bind("Load",function(){o.downsize(g,x,l,!1)}),o.clone(this,!1),o}catch(e){this.trigger("error",e)}},destroy:function(){this.ruid&&(this.getRuntime().exec.call(this,"Image","destroy"),this.disconnectRuntime()),this.unbindAll()}})}var h=["progress","load","error","resize","embedded"];return f.MAX_RESIZE_WIDTH=6500,f.MAX_RESIZE_HEIGHT=6500,f.prototype=c.instance,f}),n("moxie/runtime/html5/Runtime",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/Runtime","moxie/core/utils/Env"],function(e,t,i,n){function r(t){var r=this,s=i.capTest,u=i.capTrue,c=e.extend({access_binary:s(window.FileReader||window.File&&window.File.getAsDataURL),access_image_binary:function(){return r.can("access_binary")&&!!a.Image},display_media:s(n.can("create_canvas")||n.can("use_data_uri_over32kb")),do_cors:s(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest),drag_and_drop:s(function(){var e=document.createElement("div");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&("IE"!==n.browser||n.version>9)}()),filter_by_extension:s(function(){return"Chrome"===n.browser&&n.version>=28||"IE"===n.browser&&n.version>=10}()),return_response_headers:u,return_response_type:function(e){return!("json"!==e||!window.JSON)||n.can("return_response_type",e)},return_status_code:u,report_upload_progress:s(window.XMLHttpRequest&&(new XMLHttpRequest).upload),resize_image:function(){return r.can("access_binary")&&n.can("create_canvas")},select_file:function(){return n.can("use_fileinput")&&window.File},select_folder:function(){return r.can("select_file")&&"Chrome"===n.browser&&n.version>=21},select_multiple:function(){return r.can("select_file")&&!("Safari"===n.browser&&"Windows"===n.os)&&!("iOS"===n.os&&n.verComp(n.osVersion,"7.0.4","<"))},send_binary_string:s(window.XMLHttpRequest&&((new XMLHttpRequest).sendAsBinary||window.Uint8Array&&window.ArrayBuffer)),send_custom_headers:s(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&&(new XMLHttpRequest).upload&&window.FormData)||r.can("send_binary_string")},slice_blob:s(window.File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return r.can("slice_blob")&&r.can("send_multipart")},summon_file_dialog:s(function(){return"Firefox"===n.browser&&n.version>=4||"Opera"===n.browser&&n.version>=12||"IE"===n.browser&&n.version>=10||!!~e.inArray(n.browser,["Chrome","Safari"])}()),upload_filesize:u},arguments[2]);i.call(this,t,arguments[1]||o,c),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html5",a={};return i.addConstructor(o,r),a}),n("moxie/runtime/html5/file/Blob",["moxie/runtime/html5/Runtime","moxie/file/Blob"],function(e,t){function i(){function e(e,t,i){var n;if(!window.File.prototype.slice)return(n=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?n.call(e,t,i):null;try{return e.slice(),e.slice(t,i)}catch(n){return e.slice(t,i-t)}}this.slice=function(){return new t(this.getRuntime().uid,e.apply(this,arguments))}}return e.Blob=i}),n("moxie/core/utils/Events",["moxie/core/utils/Basic"],function(e){function t(){this.returnValue=!1}function i(){this.cancelBubble=!0}var n={},r="moxie_"+e.guid(),o=function(o,a,s,u){var c,l;a=a.toLowerCase(),o.addEventListener?(c=s,o.addEventListener(a,c,!1)):o.attachEvent&&(c=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=t,e.stopPropagation=i,s(e)},o.attachEvent("on"+a,c)),o[r]||(o[r]=e.guid()),n.hasOwnProperty(o[r])||(n[o[r]]={}),l=n[o[r]],l.hasOwnProperty(a)||(l[a]=[]),l[a].push({func:c,orig:s,key:u})},a=function(t,i,o){var a;if(i=i.toLowerCase(),t[r]&&n[t[r]]&&n[t[r]][i]){a=n[t[r]][i];for(var s=a.length-1;s>=0&&(a[s].orig!==o&&a[s].key!==o||(t.removeEventListener?t.removeEventListener(i,a[s].func,!1):t.detachEvent&&t.detachEvent("on"+i,a[s].func),a[s].orig=null,a[s].func=null,a.splice(s,1),void 0===o));s--);if(a.length||delete n[t[r]][i],e.isEmptyObj(n[t[r]])){delete n[t[r]];try{delete t[r]}catch(e){t[r]=void 0}}}};return{addEvent:o,removeEvent:a,removeAllEvents:function(t,i){t&&t[r]&&e.each(n[t[r]],function(e,n){a(t,n,i)})}}}),n("moxie/runtime/html5/file/FileInput",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o){function a(){var e,a=[];t.extend(this,{init:function(s){var u,c,l,d,m,f,h=this,p=h.getRuntime();e=s,a=[],l=e.accept.mimes||r.extList2mimes(e.accept,p.can("filter_by_extension")),c=p.getShimContainer(),c.innerHTML='<input id="'+p.uid+'" type="file" style="font-size:999px;opacity:0;"'+(e.multiple&&p.can("select_multiple")?"multiple":"")+(e.directory&&p.can("select_folder")?"webkitdirectory directory":"")+(l?' accept="'+l.join(",")+'"':"")+" />",u=i.get(p.uid),t.extend(u.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),d=i.get(e.browse_button),p.can("summon_file_dialog")&&("static"===i.getStyle(d,"position")&&(d.style.position="relative"),m=parseInt(i.getStyle(d,"z-index"),10)||1,d.style.zIndex=m,c.style.zIndex=m-1,n.addEvent(d,"click",function(e){var t=i.get(p.uid);t&&!t.disabled&&t.click(),e.preventDefault()},h.uid)),f=p.can("summon_file_dialog")?d:c,n.addEvent(f,"mouseover",function(){h.trigger("mouseenter")},h.uid),n.addEvent(f,"mouseout",function(){h.trigger("mouseleave")},h.uid),n.addEvent(f,"mousedown",function(){h.trigger("mousedown")},h.uid),n.addEvent(i.get(e.container),"mouseup",function(){h.trigger("mouseup")},h.uid),u.onchange=function i(){if(a=[],e.directory?t.each(this.files,function(e){"."!==e.name&&a.push(e)}):a=[].slice.call(this.files),"IE"!==o.browser)this.value="";else{var n=this.cloneNode(!0);this.parentNode.replaceChild(n,this),n.onchange=i}h.trigger("change")},h.trigger({type:"ready",async:!0}),c=null},getFiles:function(){return a},disable:function(e){var t,n=this.getRuntime();(t=i.get(n.uid))&&(t.disabled=!!e)},destroy:function(){var t=this.getRuntime(),r=t.getShim(),o=t.getShimContainer();n.removeAllEvents(o,this.uid),n.removeAllEvents(e&&i.get(e.container),this.uid),n.removeAllEvents(e&&i.get(e.browse_button),this.uid),o&&(o.innerHTML=""),r.removeInstance(this.uid),a=e=o=r=null}})}return e.FileInput=a}),n("moxie/runtime/html5/file/FileDrop",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime"],function(e,t,i,n,r){function o(){function e(e){for(var i=[],n=0;n<e.length;n++)[].push.apply(i,e[n].extensions.split(/\s*,\s*/));return-1===t.inArray("*",i)?i:[]}function o(e){var i=r.getFileExtension(e.name);return!i||!m.length||-1!==t.inArray(i,m)}function a(e,i){var n=[];t.each(e,function(e){var t=e.webkitGetAsEntry();if(t)if(t.isFile){var i=e.getAsFile();o(i)&&d.push(i)}else n.push(t)}),n.length?s(n,i):i()}function s(e,i){var n=[];t.each(e,function(e){n.push(function(t){u(e,t)})}),t.inSeries(n,function(){i()})}function u(e,t){e.isFile?e.file(function(e){o(e)&&d.push(e),t()},function(){t()}):e.isDirectory?c(e,t):t()}function c(e,t){function i(e){r.readEntries(function(t){t.length?([].push.apply(n,t),i(e)):e()},e)}var n=[],r=e.createReader();i(function(){s(n,t)})}var l,d=[],m=[];t.extend(this,{init:function(i){var r,s=this;l=i,m=e(l.accept),r=l.container,n.addEvent(r,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},s.uid),n.addEvent(r,"drop",function(e){e.preventDefault(),e.stopPropagation(),d=[],e.dataTransfer.items&&e.dataTransfer.items[0].webkitGetAsEntry?a(e.dataTransfer.items,function(){s.trigger("drop")}):(t.each(e.dataTransfer.files,function(e){o(e)&&d.push(e)}),s.trigger("drop"))},s.uid),n.addEvent(r,"dragenter",function(e){e.preventDefault(),e.stopPropagation(),s.trigger("dragenter")},s.uid),n.addEvent(r,"dragleave",function(e){e.preventDefault(),e.stopPropagation(),s.trigger("dragleave")},s.uid)},getFiles:function(){return d},destroy:function(){n.removeAllEvents(l&&i.get(l.container),this.uid),d=m=l=null}})}return e.FileDrop=o}),n("moxie/runtime/html5/file/FileReader",["moxie/runtime/html5/Runtime","moxie/core/utils/Encode","moxie/core/utils/Basic"],function(e,t,i){function n(){function e(e){return t.atob(e.substring(e.indexOf("base64,")+7))}var n,r=!1;i.extend(this,{read:function(e,t){var o=this;n=new window.FileReader,n.addEventListener("progress",function(e){o.trigger(e)}),n.addEventListener("load",function(e){o.trigger(e)}),n.addEventListener("error",function(e){o.trigger(e,n.error)}),n.addEventListener("loadend",function(){n=null}),"function"===i.typeOf(n[e])?(r=!1,n[e](t.getSource())):"readAsBinaryString"===e&&(r=!0,n.readAsDataURL(t.getSource()))},getResult:function(){return n&&n.result?r?e(n.result):n.result:null},abort:function(){n&&n.abort()},destroy:function(){n=null}})}return e.FileReader=n}),n("moxie/runtime/html5/xhr/XMLHttpRequest",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/utils/Mime","moxie/core/utils/Url","moxie/file/File","moxie/file/Blob","moxie/xhr/FormData","moxie/core/Exceptions","moxie/core/utils/Env"],function(e,t,i,n,r,o,a,s,u){function c(){function e(e,t){var i,n,r=this;i=t.getBlob().getSource(),n=new window.FileReader,n.onload=function(){t.append(t.getBlobName(),new o(null,{type:i.type,data:n.result})),h.send.call(r,e,t)},n.readAsBinaryString(i)}function c(){return!window.XMLHttpRequest||"IE"===u.browser&&u.version<8?function(){for(var e=["Msxml2.XMLHTTP.6.0","Microsoft.XMLHTTP"],t=0;t<e.length;t++)try{return new ActiveXObject(e[t])}catch(e){}}():new window.XMLHttpRequest}function l(e){var t=e.responseXML,i=e.responseText;return"IE"===u.browser&&i&&t&&!t.documentElement&&/[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader("Content-Type"))&&(t=new window.ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.validateOnParse=!1,t.loadXML(i)),t&&("IE"===u.browser&&0!==t.parseError||!t.documentElement||"parsererror"===t.documentElement.tagName)?null:t}function d(e){var t="----moxieboundary"+(new Date).getTime(),i="\r\n",n="";if(!this.getRuntime().can("send_binary_string"))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);return m.setRequestHeader("Content-Type","multipart/form-data; boundary="+t),e.each(function(e,r){n+=e instanceof o?"--"+t+i+'Content-Disposition: form-data; name="'+r+'"; filename="'+unescape(encodeURIComponent(e.name||"blob"))+'"'+i+"Content-Type: "+(e.type||"application/octet-stream")+i+i+e.getSource()+i:"--"+t+i+'Content-Disposition: form-data; name="'+r+'"'+i+i+unescape(encodeURIComponent(e))+i}),n+="--"+t+"--"+i}var m,f,h=this;t.extend(this,{send:function(i,r){var s=this,l="Mozilla"===u.browser&&u.version>=4&&u.version<7,h="Android Browser"===u.browser,p=!1;if(f=i.url.replace(/^.+?\/([\w\-\.]+)$/,"$1").toLowerCase(),m=c(),m.open(i.method,i.url,i.async,i.user,i.password),r instanceof o)r.isDetached()&&(p=!0),r=r.getSource();else if(r instanceof a){if(r.hasBlob())if(r.getBlob().isDetached())r=d.call(s,r),p=!0;else if((l||h)&&"blob"===t.typeOf(r.getBlob().getSource())&&window.FileReader)return void e.call(s,i,r);if(r instanceof a){var g=new window.FormData;r.each(function(e,t){e instanceof o?g.append(t,e.getSource()):g.append(t,e)}),r=g}}m.upload?(i.withCredentials&&(m.withCredentials=!0),m.addEventListener("load",function(e){s.trigger(e)}),m.addEventListener("error",function(e){s.trigger(e)}),m.addEventListener("progress",function(e){s.trigger(e)}),m.upload.addEventListener("progress",function(e){s.trigger({type:"UploadProgress",loaded:e.loaded,total:e.total})})):m.onreadystatechange=function(){switch(m.readyState){case 1:case 2:break;case 3:var e,t;try{n.hasSameOrigin(i.url)&&(e=m.getResponseHeader("Content-Length")||0),m.responseText&&(t=m.responseText.length)}catch(i){e=t=0}s.trigger({type:"progress",lengthComputable:!!e,total:parseInt(e,10),loaded:t});break;case 4:m.onreadystatechange=function(){},0===m.status?s.trigger("error"):s.trigger("load")}},t.isEmptyObj(i.headers)||t.each(i.headers,function(e,t){m.setRequestHeader(t,e)}),""!==i.responseType&&"responseType"in m&&("json"!==i.responseType||u.can("return_response_type","json")?m.responseType=i.responseType:m.responseType="text"),p?m.sendAsBinary?m.sendAsBinary(r):function(){for(var e=new Uint8Array(r.length),t=0;t<r.length;t++)e[t]=255&r.charCodeAt(t);m.send(e.buffer)}():m.send(r),s.trigger("loadstart")},getStatus:function(){try{if(m)return m.status}catch(e){}return 0},getResponse:function(e){var t=this.getRuntime();try{switch(e){case"blob":var n=new r(t.uid,m.response),o=m.getResponseHeader("Content-Disposition");if(o){var a=o.match(/filename=([\'\"'])([^\1]+)\1/);a&&(f=a[2])}return n.name=f,n.type||(n.type=i.getFileMime(f)),n;case"json":return u.can("return_response_type","json")?m.response:200===m.status&&window.JSON?JSON.parse(m.responseText):null;case"document":return l(m);default:return""!==m.responseText?m.responseText:null}}catch(e){return null}},getAllResponseHeaders:function(){try{return m.getAllResponseHeaders()}catch(e){}return""},abort:function(){m&&m.abort()},destroy:function(){h=f=null}})}return e.XMLHttpRequest=c}),n("moxie/runtime/html5/utils/BinaryReader",[],function(){return function(){function e(e,t){var i,n=o?0:-8*(t-1),a=0;for(i=0;i<t;i++)a|=r.charCodeAt(e+i)<<Math.abs(n+8*i);return a}function i(e,t,i){i=3===arguments.length?i:r.length-t-1,r=r.substr(0,t)+e+r.substr(i+t)}function n(e,t,n){var r,a="",s=o?0:-8*(n-1);for(r=0;r<n;r++)a+=String.fromCharCode(t>>Math.abs(s+8*r)&255);i(a,e,n)}var r,o=!1;return{II:function(e){if(e===t)return o;o=e},init:function(e){o=!1,r=e},SEGMENT:function(e,t,n){switch(arguments.length){case 1:return r.substr(e,r.length-e-1);case 2:return r.substr(e,t);case 3:i(n,e,t);break;default:return r}},BYTE:function(t){return e(t,1)},SHORT:function(t){return e(t,2)},LONG:function(i,r){if(r===t)return e(i,4);n(i,r,4)},SLONG:function(t){var i=e(t,4);return i>2147483647?i-4294967296:i},STRING:function(t,i){var n="";for(i+=t;t<i;t++)n+=String.fromCharCode(e(t,1));return n}}}}),n("moxie/runtime/html5/image/JPEGHeaders",["moxie/runtime/html5/utils/BinaryReader"],function(e){return function t(i){var n,r,o,a=[],s=0;if(n=new e,n.init(i),65496===n.SHORT(0)){for(r=2;r<=i.length;)if((o=n.SHORT(r))>=65488&&o<=65495)r+=2;else{if(65498===o||65497===o)break;s=n.SHORT(r+2)+2,o>=65505&&o<=65519&&a.push({hex:o,name:"APP"+(15&o),start:r,length:s,segment:n.SEGMENT(r,s)}),r+=s}return n.init(null),{headers:a,restore:function(e){var t,i;for(n.init(e),r=65504==n.SHORT(2)?4+n.SHORT(4):2,i=0,t=a.length;i<t;i++)n.SEGMENT(r,0,a[i].segment),r+=a[i].length;return e=n.SEGMENT(),n.init(null),e},strip:function(e){var i,r,o;for(r=new t(e),i=r.headers,r.purge(),n.init(e),o=i.length;o--;)n.SEGMENT(i[o].start,i[o].length,"");return e=n.SEGMENT(),n.init(null),e},get:function(e){for(var t=[],i=0,n=a.length;i<n;i++)a[i].name===e.toUpperCase()&&t.push(a[i].segment);return t},set:function(e,t){var i,n,r,o=[];for("string"==typeof t?o.push(t):o=t,i=n=0,r=a.length;i<r&&(a[i].name===e.toUpperCase()&&(a[i].segment=o[n],a[i].length=o[n].length,n++),!(n>=o.length));i++);},purge:function(){a=[],n.init(null),n=null}}}}}),n("moxie/runtime/html5/image/ExifParser",["moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader"],function(e,i){return function(){function n(e,i){var n,r,o,s,u,d,m,f=a.SHORT(e),h=[],p={};for(n=0;n<f;n++)if(d=e+12*n+2,(o=i[a.SHORT(d)])!==t){switch(s=a.SHORT(d+=2),u=a.LONG(d+=2),d+=4,h=[],s){case 1:case 7:for(u>4&&(d=a.LONG(d)+l.tiffHeader),r=0;r<u;r++)h[r]=a.BYTE(d+r);break;case 2:u>4&&(d=a.LONG(d)+l.tiffHeader),p[o]=a.STRING(d,u-1);continue;case 3:for(u>2&&(d=a.LONG(d)+l.tiffHeader),r=0;r<u;r++)h[r]=a.SHORT(d+2*r);break;case 4:for(u>1&&(d=a.LONG(d)+l.tiffHeader),r=0;r<u;r++)h[r]=a.LONG(d+4*r);break;case 5:for(d=a.LONG(d)+l.tiffHeader,r=0;r<u;r++)h[r]=a.LONG(d+4*r)/a.LONG(d+4*r+4);break;case 9:for(d=a.LONG(d)+l.tiffHeader,r=0;r<u;r++)h[r]=a.SLONG(d+4*r);break;case 10:for(d=a.LONG(d)+l.tiffHeader,r=0;r<u;r++)h[r]=a.SLONG(d+4*r)/a.SLONG(d+4*r+4);break;default:continue}m=1==u?h[0]:h,c.hasOwnProperty(o)&&"object"!=typeof m?p[o]=c[o][m]:p[o]=m}return p}function r(){var e=l.tiffHeader
+;return a.II(18761==a.SHORT(e)),42===a.SHORT(e+=2)&&(l.IFD0=l.tiffHeader+a.LONG(e+=2),u=n(l.IFD0,s.tiff),"ExifIFDPointer"in u&&(l.exifIFD=l.tiffHeader+u.ExifIFDPointer,delete u.ExifIFDPointer),"GPSInfoIFDPointer"in u&&(l.gpsIFD=l.tiffHeader+u.GPSInfoIFDPointer,delete u.GPSInfoIFDPointer),!0)}function o(e,t,i){var n,r,o,u=0;if("string"==typeof t){var c=s[e.toLowerCase()];for(var d in c)if(c[d]===t){t=d;break}}n=l[e.toLowerCase()+"IFD"],r=a.SHORT(n);for(var m=0;m<r;m++)if(o=n+12*m+2,a.SHORT(o)==t){u=o+8;break}return!!u&&(a.LONG(u,i),!0)}var a,s,u,c,l={};return a=new i,s={tiff:{274:"Orientation",270:"ImageDescription",271:"Make",272:"Model",305:"Software",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}},c={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}},{init:function(e){return l={tiffHeader:10},!(e===t||!e.length)&&(a.init(e),65505===a.SHORT(0)&&"EXIF\0"===a.STRING(4,5).toUpperCase()&&r())},TIFF:function(){return u},EXIF:function(){var t;if(t=n(l.exifIFD,s.exif),t.ExifVersion&&"array"===e.typeOf(t.ExifVersion)){for(var i=0,r="";i<t.ExifVersion.length;i++)r+=String.fromCharCode(t.ExifVersion[i]);t.ExifVersion=r}return t},GPS:function(){var t;return t=n(l.gpsIFD,s.gps),t.GPSVersionID&&"array"===e.typeOf(t.GPSVersionID)&&(t.GPSVersionID=t.GPSVersionID.join(".")),t},setExif:function(e,t){return("PixelXDimension"===e||"PixelYDimension"===e)&&o("exif",e,t)},getBinary:function(){return a.SEGMENT()},purge:function(){a.init(null),a=u=null,l={}}}}}),n("moxie/runtime/html5/image/JPEG",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/html5/image/JPEGHeaders","moxie/runtime/html5/utils/BinaryReader","moxie/runtime/html5/image/ExifParser"],function(e,t,i,n,r){function o(o){function a(){for(var e,t,i=0;i<=u.length;){if((e=c.SHORT(i+=2))>=65472&&e<=65475)return i+=5,{height:c.SHORT(i),width:c.SHORT(i+=2)};t=c.SHORT(i+=2),i+=t-2}return null}function s(){d&&l&&c&&(d.purge(),l.purge(),c.init(null),u=m=l=d=c=null)}var u,c,l,d,m,f;if(u=o,c=new n,c.init(u),65496!==c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);l=new i(o),d=new r,f=!!d.init(l.get("app1")[0]),m=a.call(this),e.extend(this,{type:"image/jpeg",size:u.length,width:m&&m.width||0,height:m&&m.height||0,setExif:function(t,i){if(!f)return!1;"object"===e.typeOf(t)?e.each(t,function(e,t){d.setExif(t,e)}):d.setExif(t,i),l.set("app1",d.getBinary())},writeHeaders:function(){return arguments.length?l.restore(arguments[0]):u=l.restore(u)},stripHeaders:function(e){return l.strip(e)},purge:function(){s.call(this)}}),f&&(this.meta={tiff:d.TIFF(),exif:d.EXIF(),gps:d.GPS()})}return o}),n("moxie/runtime/html5/image/PNG",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader"],function(e,t,i){function n(n){function r(){var e,t;return e=a.call(this,8),"IHDR"==e.type?(t=e.start,{width:u.LONG(t),height:u.LONG(t+=4)}):null}function o(){u&&(u.init(null),s=d=c=l=u=null)}function a(e){var t,i,n,r;return t=u.LONG(e),i=u.STRING(e+=4,4),n=e+=4,r=u.LONG(e+t),{length:t,type:i,start:n,CRC:r}}var s,u,c,l,d;s=n,u=new i,u.init(s),function(){var t=0,i=0,n=[35152,20039,3338,6666];for(i=0;i<n.length;i++,t+=2)if(n[i]!=u.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)}(),d=r.call(this),t.extend(this,{type:"image/png",size:s.length,width:d.width,height:d.height,purge:function(){o.call(this)}}),o.call(this)}return n}),n("moxie/runtime/html5/image/ImageInfo",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/html5/image/JPEG","moxie/runtime/html5/image/PNG"],function(e,t,i,n){return function(r){var o,a=[i,n];o=function(){for(var e=0;e<a.length;e++)try{return new a[e](r)}catch(e){}throw new t.ImageError(t.ImageError.WRONG_FORMAT)}(),e.extend(this,{type:"",size:0,width:0,height:0,setExif:function(){},writeHeaders:function(e){return e},stripHeaders:function(e){return e},purge:function(){}}),e.extend(this,o),this.purge=function(){o.purge(),o=null}}}),n("moxie/runtime/html5/image/MegaPixel",[],function(){function e(e,n,r){var o=e.naturalWidth,a=e.naturalHeight,s=r.width,u=r.height,c=r.x||0,l=r.y||0,d=n.getContext("2d");t(e)&&(o/=2,a/=2);var m=1024,f=document.createElement("canvas");f.width=f.height=m;for(var h=f.getContext("2d"),p=i(e,o,a),g=0;g<a;){for(var x=g+m>a?a-g:m,v=0;v<o;){var y=v+m>o?o-v:m;h.clearRect(0,0,m,m),h.drawImage(e,-v,-g);var w=v*s/o+c<<0,E=Math.ceil(y*s/o),R=g*u/a/p+l<<0,_=Math.ceil(x*u/a/p);d.drawImage(f,0,0,y,x,w,R,E,_),v+=m}g+=m}f=h=null}function t(e){var t=e.naturalWidth;if(t*e.naturalHeight>1048576){var i=document.createElement("canvas");i.width=i.height=1;var n=i.getContext("2d");return n.drawImage(e,1-t,0),0===n.getImageData(0,0,1,1).data[3]}return!1}function i(e,t,i){var n=document.createElement("canvas");n.width=1,n.height=i;var r=n.getContext("2d");r.drawImage(e,0,0);for(var o=r.getImageData(0,0,1,i).data,a=0,s=i,u=i;u>a;){0===o[4*(u-1)+3]?s=u:a=u,u=s+a>>1}n=null;var c=u/i;return 0===c?1:c}return{isSubsampled:t,renderTo:e}}),n("moxie/runtime/html5/image/Image",["moxie/runtime/html5/Runtime","moxie/core/utils/Basic","moxie/core/Exceptions","moxie/core/utils/Encode","moxie/file/File","moxie/runtime/html5/image/ImageInfo","moxie/runtime/html5/image/MegaPixel","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o,a,s,u){function c(){function e(){if(!y&&!x)throw new i.ImageError(i.DOMException.INVALID_STATE_ERR);return y||x}function c(e){return n.atob(e.substring(e.indexOf("base64,")+7))}function l(e,t){return"data:"+(t||"")+";base64,"+n.btoa(e)}function d(e){var t=this;x=new Image,x.onerror=function(){g.call(this),t.trigger("error",new i.ImageError(i.ImageError.WRONG_FORMAT))},x.onload=function(){t.trigger("load")},x.src=/^data:[^;]*;base64,/.test(e)?e:l(e,E.type)}function m(e,t){var n,r=this;if(!window.FileReader)return t(e.getAsDataURL());n=new FileReader,n.onload=function(){t(this.result)},n.onerror=function(){r.trigger("error",new i.FileException(i.FileException.NOT_READABLE_ERR))},n.readAsDataURL(e)}function f(i,n,r,o){var a,s,u,c,l,d,m=this,f=0,g=0;if(b=o,d=this.meta&&this.meta.tiff&&this.meta.tiff.Orientation||1,-1!==t.inArray(d,[5,6,7,8])){var x=i;i=n,n=x}if(u=e(),s=r?Math.max:Math.min,(a=s(i/u.width,n/u.height))>1&&(!r||o))return void this.trigger("Resize");y||(y=document.createElement("canvas")),c=Math.round(u.width*a),l=Math.round(u.height*a),r?(y.width=i,y.height=n,c>i&&(f=Math.round((c-i)/2)),l>n&&(g=Math.round((l-n)/2))):(y.width=c,y.height=l),b||p(y.width,y.height,d),h.call(this,u,y,-f,-g,c,l),this.width=y.width,this.height=y.height,_=!0,m.trigger("Resize")}function h(e,t,i,n,r,o){if("iOS"===u.OS)a.renderTo(e,t,{width:r,height:o,x:i,y:n});else{t.getContext("2d").drawImage(e,i,n,r,o)}}function p(e,t,i){switch(i){case 5:case 6:case 7:case 8:y.width=t,y.height=e;break;default:y.width=e,y.height=t}var n=y.getContext("2d");switch(i){case 2:n.translate(e,0),n.scale(-1,1);break;case 3:n.translate(e,t),n.rotate(Math.PI);break;case 4:n.translate(0,t),n.scale(1,-1);break;case 5:n.rotate(.5*Math.PI),n.scale(1,-1);break;case 6:n.rotate(.5*Math.PI),n.translate(0,-t);break;case 7:n.rotate(.5*Math.PI),n.translate(e,-t),n.scale(-1,1);break;case 8:n.rotate(-.5*Math.PI),n.translate(-e,0)}}function g(){v&&(v.purge(),v=null),w=x=y=E=null,_=!1}var x,v,y,w,E,R=this,_=!1,b=!0;t.extend(this,{loadFromBlob:function(e){var t=this,n=t.getRuntime(),r=!(arguments.length>1)||arguments[1];if(!n.can("access_binary"))throw new i.RuntimeError(i.RuntimeError.NOT_SUPPORTED_ERR);if(E=e,e.isDetached())return w=e.getSource(),void d.call(this,w);m.call(this,e.getSource(),function(e){r&&(w=c(e)),d.call(t,e)})},loadFromImage:function(e,t){this.meta=e.meta,E=new r(null,{name:e.name,size:e.size,type:e.type}),d.call(this,t?w=e.getAsBinaryString():e.getAsDataURL())},getInfo:function(){var t=this.getRuntime();return!v&&w&&t.can("access_image_binary")&&(v=new o(w)),{width:e().width||0,height:e().height||0,type:E.type||s.getFileMime(E.name),size:w&&w.length||E.size||0,name:E.name||"",meta:v&&v.meta||this.meta||{}}},downsize:function(){f.apply(this,arguments)},getAsCanvas:function(){return y&&(y.id=this.uid+"_canvas"),y},getAsBlob:function(e,t){return e!==this.type&&f.call(this,this.width,this.height,!1),new r(null,{name:E.name||"",type:e,data:R.getAsBinaryString.call(this,e,t)})},getAsDataURL:function(e){var t=arguments[1]||90;if(!_)return x.src;if("image/jpeg"!==e)return y.toDataURL("image/png");try{return y.toDataURL("image/jpeg",t/100)}catch(e){return y.toDataURL("image/jpeg")}},getAsBinaryString:function(e,t){if(!_)return w||(w=c(R.getAsDataURL(e,t))),w;if("image/jpeg"!==e)w=c(R.getAsDataURL(e,t));else{var i;t||(t=90);try{i=y.toDataURL("image/jpeg",t/100)}catch(e){i=y.toDataURL("image/jpeg")}w=c(i),v&&(w=v.stripHeaders(w),b&&(v.meta&&v.meta.exif&&v.setExif({PixelXDimension:this.width,PixelYDimension:this.height}),w=v.writeHeaders(w)),v.purge(),v=null)}return _=!1,w},destroy:function(){R=null,g.call(this),this.getRuntime().getShim().removeInstance(this.uid)}})}return e.Image=c}),n("moxie/runtime/flash/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/runtime/Runtime"],function(e,t,i,n,r){function o(){var e;try{e=navigator.plugins["Shockwave Flash"],e=e.description}catch(t){try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(t){e="0.0"}}return e=e.match(/\d+/g),parseFloat(e[0]+"."+e[1])}function a(a){var c,l=this;a=e.extend({swf_url:t.swf_url},a),r.call(this,a,s,{access_binary:function(e){return e&&"browser"===l.mode},access_image_binary:function(e){return e&&"browser"===l.mode},display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:function(){return"client"===l.mode},resize_image:r.capTrue,return_response_headers:!1,return_response_type:function(t){return!("json"!==t||!window.JSON)||(!e.arrayDiff(t,["","text","document"])||"browser"===l.mode)},return_status_code:function(t){return"browser"===l.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:function(e){return e&&"browser"===l.mode},send_browser_cookies:function(e){return e&&"browser"===l.mode},send_custom_headers:function(e){return e&&"browser"===l.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:function(e){return e&&"browser"===l.mode},summon_file_dialog:!1,upload_filesize:function(t){return e.parseSizeStr(t)<=2097152||"client"===l.mode},use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}},{access_binary:function(e){return e?"browser":"client"},access_image_binary:function(e){return e?"browser":"client"},report_upload_progress:function(e){return e?"browser":"client"},return_response_type:function(t){return e.arrayDiff(t,["","text","json","document"])?"browser":["client","browser"]},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"browser":["client","browser"]},send_binary_string:function(e){return e?"browser":"client"},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"browser":"client"},stream_upload:function(e){return e?"client":"browser"},upload_filesize:function(t){return e.parseSizeStr(t)>=2097152?"client":"browser"}},"client"),o()<10&&(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid)},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec(this.uid,e,t,i)},init:function(){var i,r,o;o=this.getShimContainer(),e.extend(o.style,{position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),i='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+a.swf_url+'" ',"IE"===t.browser&&(i+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),i+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+a.swf_url+'" /><param name="flashvars" value="uid='+escape(this.uid)+"&target="+t.global_event_dispatcher+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>',"IE"===t.browser?(r=document.createElement("div"),o.appendChild(r),r.outerHTML=i,r=o=null):o.innerHTML=i,c=setTimeout(function(){l&&!l.initialized&&l.trigger("Error",new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},5e3)},destroy:function(e){return function(){e.call(l),clearTimeout(c),a=c=e=l=null}}(this.destroy)},u)}var s="flash",u={};return r.addConstructor(s,a),u}),n("moxie/runtime/flash/file/Blob",["moxie/runtime/flash/Runtime","moxie/file/Blob"],function(e,t){var i={slice:function(e,i,n,r){var o=this.getRuntime();return i<0?i=Math.max(e.size+i,0):i>0&&(i=Math.min(i,e.size)),n<0?n=Math.max(e.size+n,0):n>0&&(n=Math.min(n,e.size)),e=o.shimExec.call(this,"Blob","slice",i,n,r||""),e&&(e=new t(o.uid,e)),e}};return e.Blob=i}),n("moxie/runtime/flash/file/FileInput",["moxie/runtime/flash/Runtime"],function(e){var t={init:function(e){this.getRuntime().shimExec.call(this,"FileInput","init",{name:e.name,accept:e.accept,multiple:e.multiple}),this.trigger("ready")}};return e.FileInput=t}),n("moxie/runtime/flash/file/FileReader",["moxie/runtime/flash/Runtime","moxie/core/utils/Encode"],function(e,t){function i(e,i){switch(i){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var n="",r={read:function(e,t){var r=this,o=r.getRuntime();return"readAsDataURL"===e&&(n="data:"+(t.type||"")+";base64,"),r.bind("Progress",function(t,r){r&&(n+=i(r,e))}),o.shimExec.call(this,"FileReader","readAsBase64",t.uid)},getResult:function(){return n},destroy:function(){n=null}};return e.FileReader=r}),n("moxie/runtime/flash/file/FileReaderSync",["moxie/runtime/flash/Runtime","moxie/core/utils/Encode"],function(e,t){function i(e,i){switch(i){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var n={read:function(e,t){var n;return(n=this.getRuntime().shimExec.call(this,"FileReaderSync","readAsBase64",t.uid))?("readAsDataURL"===e&&(n="data:"+(t.type||"")+";base64,"+n),i(n,e,t.type)):null}};return e.FileReaderSync=n}),n("moxie/runtime/flash/xhr/XMLHttpRequest",["moxie/runtime/flash/Runtime","moxie/core/utils/Basic","moxie/file/Blob","moxie/file/File","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/runtime/Transporter"],function(e,t,i,n,r,o,a){var s={send:function(e,n){function r(){e.transport=l.mode,l.shimExec.call(c,"XMLHttpRequest","send",e,n)}function s(e,t){l.shimExec.call(c,"XMLHttpRequest","appendBlob",e,t.uid),n=null,r()}function u(e,t){var i=new a;i.bind("TransportingComplete",function(){t(this.result)}),i.transport(e.getSource(),e.type,{ruid:l.uid})}var c=this,l=c.getRuntime();if(t.isEmptyObj(e.headers)||t.each(e.headers,function(e,t){l.shimExec.call(c,"XMLHttpRequest","setRequestHeader",t,e.toString())}),n instanceof o){var d;if(n.each(function(e,t){e instanceof i?d=t:l.shimExec.call(c,"XMLHttpRequest","append",t,e)}),n.hasBlob()){var m=n.getBlob();m.isDetached()?u(m,function(e){m.destroy(),s(d,e)}):s(d,m)}else n=null,r()}else n instanceof i?n.isDetached()?u(n,function(e){n.destroy(),n=e.uid,r()}):(n=n.uid,r()):r()},getResponse:function(e){var i,o,a=this.getRuntime();if(o=a.shimExec.call(this,"XMLHttpRequest","getResponseAsBlob")){if(o=new n(a.uid,o),"blob"===e)return o;try{if(i=new r,~t.inArray(e,["","text"]))return i.readAsText(o);if("json"===e&&window.JSON)return JSON.parse(i.readAsText(o))}finally{o.destroy()}}return null},abort:function(e){this.getRuntime().shimExec.call(this,"XMLHttpRequest","abort"),this.dispatchEvent("readystatechange"),this.dispatchEvent("abort")}};return e.XMLHttpRequest=s}),n("moxie/runtime/flash/runtime/Transporter",["moxie/runtime/flash/Runtime","moxie/file/Blob"],function(e,t){var i={getAsBlob:function(e){var i=this.getRuntime(),n=i.shimExec.call(this,"Transporter","getAsBlob",e);return n?new t(i.uid,n):null}};return e.Transporter=i}),n("moxie/runtime/flash/image/Image",["moxie/runtime/flash/Runtime","moxie/core/utils/Basic","moxie/runtime/Transporter","moxie/file/Blob","moxie/file/FileReaderSync"],function(e,t,i,n,r){var o={loadFromBlob:function(e){function t(e){r.shimExec.call(n,"Image","loadFromBlob",e.uid),n=r=null}var n=this,r=n.getRuntime();if(e.isDetached()){var o=new i;o.bind("TransportingComplete",function(){t(o.result.getSource())}),o.transport(e.getSource(),e.type,{ruid:r.uid})}else t(e.getSource())},loadFromImage:function(e){return this.getRuntime().shimExec.call(this,"Image","loadFromImage",e.uid)},getAsBlob:function(e,t){var i=this.getRuntime(),r=i.shimExec.call(this,"Image","getAsBlob",e,t);return r?new n(i.uid,r):null},getAsDataURL:function(){var e,t=this.getRuntime(),i=t.Image.getAsBlob.apply(this,arguments);return i?(e=new r,e.readAsDataURL(i)):null}};return e.Image=o}),n("moxie/runtime/silverlight/Runtime",["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/runtime/Runtime"],function(e,t,i,n,r){function o(e){var t,i,n,r,o,a=!1,s=null,u=0;try{try{s=new ActiveXObject("AgControl.AgControl"),s.IsVersionSupported(e)&&(a=!0),s=null}catch(s){var c=navigator.plugins["Silverlight Plug-In"];if(c){for(t=c.description,"1.0.30226.2"===t&&(t="2.0.30226.2"),i=t.split(".");i.length>3;)i.pop();for(;i.length<4;)i.push(0);for(n=e.split(".");n.length>4;)n.pop();do{r=parseInt(n[u],10),o=parseInt(i[u],10),u++}while(u<n.length&&r===o);r<=o&&!isNaN(r)&&(a=!0)}}}catch(e){a=!1}return a}function a(a){var c,l=this;a=e.extend({xap_url:t.xap_url},a),r.call(this,a,s,{access_binary:r.capTrue,access_image_binary:r.capTrue,display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:r.capTrue,resize_image:r.capTrue,return_response_headers:function(e){return e&&"client"===l.mode},return_response_type:function(e){return"json"!==e||!!window.JSON},return_status_code:function(t){return"client"===l.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:r.capTrue,send_browser_cookies:function(e){return e&&"browser"===l.mode},send_custom_headers:function(e){return e&&"client"===l.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:!0,summon_file_dialog:!1,upload_filesize:r.capTrue,use_http_method:function(t){return"client"===l.mode||!e.arrayDiff(t,["GET","POST"])}},{return_response_headers:function(e){return e?"client":"browser"},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"client":["client","browser"]},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"client":"browser"},use_http_method:function(t){return e.arrayDiff(t,["GET","POST"])?"client":["client","browser"]}}),o("2.0.31005.0")&&"Opera"!==t.browser||(this.mode=!1),e.extend(this,{getShim:function(){return i.get(this.uid).content.Moxie},shimExec:function(e,t){var i=[].slice.call(arguments,2);return l.getShim().exec(this.uid,e,t,i)},init:function(){var e;e=this.getShimContainer(),e.innerHTML='<object id="'+this.uid+'" data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" style="outline:none;"><param name="source" value="'+a.xap_url+'"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="uid='+this.uid+",target="+t.global_event_dispatcher+'"/></object>',c=setTimeout(function(){l&&!l.initialized&&l.trigger("Error",new n.RuntimeError(n.RuntimeError.NOT_INIT_ERR))},"Windows"!==t.OS?1e4:5e3)},destroy:function(e){return function(){e.call(l),clearTimeout(c),a=c=e=l=null}}(this.destroy)},u)}var s="silverlight",u={};return r.addConstructor(s,a),u}),n("moxie/runtime/silverlight/file/Blob",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/Blob"],function(e,t,i){return e.Blob=t.extend({},i)}),n("moxie/runtime/silverlight/file/FileInput",["moxie/runtime/silverlight/Runtime"],function(e){var t={init:function(e){this.getRuntime().shimExec.call(this,"FileInput","init",function(e){for(var t="",i=0;i<e.length;i++)t+=(""!==t?"|":"")+e[i].title+" | *."+e[i].extensions.replace(/,/g,";*.");return t}(e.accept),e.name,e.multiple),this.trigger("ready")}};return e.FileInput=t}),n("moxie/runtime/silverlight/file/FileDrop",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Dom","moxie/core/utils/Events"],function(e,t,i){var n={init:function(){var e,n=this,r=n.getRuntime();return e=r.getShimContainer(),i.addEvent(e,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},n.uid),i.addEvent(e,"dragenter",function(e){e.preventDefault(),t.get(r.uid).dragEnter(e)&&e.stopPropagation()},n.uid),i.addEvent(e,"drop",function(e){e.preventDefault(),t.get(r.uid).dragDrop(e)&&e.stopPropagation()},n.uid),r.shimExec.call(this,"FileDrop","init")}};return e.FileDrop=n}),n("moxie/runtime/silverlight/file/FileReader",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/FileReader"],function(e,t,i){return e.FileReader=t.extend({},i)}),n("moxie/runtime/silverlight/file/FileReaderSync",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/file/FileReaderSync"],function(e,t,i){return e.FileReaderSync=t.extend({},i)}),n("moxie/runtime/silverlight/xhr/XMLHttpRequest",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/xhr/XMLHttpRequest"],function(e,t,i){return e.XMLHttpRequest=t.extend({},i)}),n("moxie/runtime/silverlight/runtime/Transporter",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/runtime/Transporter"],function(e,t,i){return e.Transporter=t.extend({},i)}),n("moxie/runtime/silverlight/image/Image",["moxie/runtime/silverlight/Runtime","moxie/core/utils/Basic","moxie/runtime/flash/image/Image"],function(e,t,i){return e.Image=t.extend({},i,{getInfo:function(){var e=this.getRuntime(),i=["tiff","exif","gps"],n={meta:{}},r=e.shimExec.call(this,"Image","getInfo");return r.meta&&t.each(i,function(e){var t,i,o,a,s=r.meta[e];if(s&&s.keys)for(n.meta[e]={},i=0,o=s.keys.length;i<o;i++)t=s.keys[i],(a=s[t])&&(/^(\d|[1-9]\d+)$/.test(a)?a=parseInt(a,10):/^\d*\.\d+$/.test(a)&&(a=parseFloat(a)),n.meta[e][t]=a)}),n.width=parseInt(r.width,10),n.height=parseInt(r.height,10),n.size=parseInt(r.size,10),n.type=r.type,n.name=r.name,n}})}),n("moxie/runtime/html4/Runtime",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/Runtime","moxie/core/utils/Env"],function(e,t,i,n){function r(t){var r=this,s=i.capTest,u=i.capTrue;i.call(this,t,o,{access_binary:s(window.FileReader||window.File&&File.getAsDataURL),access_image_binary:!1,display_media:s(a.Image&&(n.can("create_canvas")||n.can("use_data_uri_over32kb"))),do_cors:!1,drag_and_drop:!1,filter_by_extension:s(function(){return"Chrome"===n.browser&&n.version>=28||"IE"===n.browser&&n.version>=10}()),resize_image:function(){return a.Image&&r.can("access_binary")&&n.can("create_canvas")},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(t){return!("json"!==t||!window.JSON)||!!~e.inArray(t,["text","document",""])},return_status_code:function(t){return!e.arrayDiff(t,[200,404])},select_file:function(){return n.can("use_fileinput")},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return r.can("select_file")},summon_file_dialog:s(function(){return"Firefox"===n.browser&&n.version>=4||"Opera"===n.browser&&n.version>=12||!!~e.inArray(n.browser,["Chrome","Safari"])}()),upload_filesize:u,use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}}),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html4",a={};return i.addConstructor(o,r),a}),n("moxie/runtime/html4/file/FileInput",["moxie/runtime/html4/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,t,i,n,r,o){function a(){function e(){var r,l,d,m,f,h,p=this,g=p.getRuntime();h=t.guid("uid_"),r=g.getShimContainer(),a&&(d=i.get(a+"_form"))&&t.extend(d.style,{top:"100%"}),m=document.createElement("form"),m.setAttribute("id",h+"_form"),m.setAttribute("method","post"),m.setAttribute("enctype","multipart/form-data"),m.setAttribute("encoding","multipart/form-data"),t.extend(m.style,{overflow:"hidden",position:"absolute",top:0,left:0,width:"100%",height:"100%"}),f=document.createElement("input"),f.setAttribute("id",h),f.setAttribute("type","file"),f.setAttribute("name",s.name||"Filedata"),f.setAttribute("accept",c.join(",")),t.extend(f.style,{fontSize:"999px",opacity:0}),m.appendChild(f),r.appendChild(m),t.extend(f.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),"IE"===o.browser&&o.version<10&&t.extend(f.style,{filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}),f.onchange=function(){var t;this.value&&(t=this.files?this.files[0]:{name:this.value},u=[t],this.onchange=function(){},e.call(p),p.bind("change",function e(){var t,n=i.get(h),r=i.get(h+"_form");p.unbind("change",e),p.files.length&&n&&r&&(t=p.files[0],n.setAttribute("id",t.uid),r.setAttribute("id",t.uid+"_form"),r.setAttribute("target",t.uid+"_iframe")),n=r=null},998),f=m=null,p.trigger("change"))},g.can("summon_file_dialog")&&(l=i.get(s.browse_button),n.removeEvent(l,"click",p.uid),n.addEvent(l,"click",function(e){f&&!f.disabled&&f.click(),e.preventDefault()},p.uid)),a=h,r=d=l=null}var a,s,u=[],c=[];t.extend(this,{init:function(t){var o,a=this,u=a.getRuntime();s=t,c=t.accept.mimes||r.extList2mimes(t.accept,u.can("filter_by_extension")),o=u.getShimContainer(),function(){var e,r,s;e=i.get(t.browse_button),u.can("summon_file_dialog")&&("static"===i.getStyle(e,"position")&&(e.style.position="relative"),r=parseInt(i.getStyle(e,"z-index"),10)||1,e.style.zIndex=r,o.style.zIndex=r-1),s=u.can("summon_file_dialog")?e:o,n.addEvent(s,"mouseover",function(){a.trigger("mouseenter")},a.uid),n.addEvent(s,"mouseout",function(){a.trigger("mouseleave")},a.uid),n.addEvent(s,"mousedown",function(){a.trigger("mousedown")},a.uid),n.addEvent(i.get(t.container),"mouseup",function(){a.trigger("mouseup")},a.uid),e=null}(),e.call(this),o=null,a.trigger({type:"ready",async:!0})},getFiles:function(){return u},disable:function(e){var t;(t=i.get(a))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),r=e.getShimContainer();n.removeAllEvents(r,this.uid),n.removeAllEvents(s&&i.get(s.container),this.uid),n.removeAllEvents(s&&i.get(s.browse_button),this.uid),r&&(r.innerHTML=""),t.removeInstance(this.uid),a=u=c=s=r=t=null}})}return e.FileInput=a}),n("moxie/runtime/html4/file/FileReader",["moxie/runtime/html4/Runtime","moxie/runtime/html5/file/FileReader"],function(e,t){return e.FileReader=t}),n("moxie/runtime/html4/xhr/XMLHttpRequest",["moxie/runtime/html4/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Url","moxie/core/Exceptions","moxie/core/utils/Events","moxie/file/Blob","moxie/xhr/FormData"],function(e,t,i,n,r,o,a,s){function u(){function e(e){var t,n,r,a,s=this,u=!1;if(l){if(t=l.id.replace(/_iframe$/,""),n=i.get(t+"_form")){for(r=n.getElementsByTagName("input"),a=r.length;a--;)switch(r[a].getAttribute("type")){case"hidden":r[a].parentNode.removeChild(r[a]);break;case"file":u=!0}r=[],u||n.parentNode.removeChild(n),n=null}setTimeout(function(){o.removeEvent(l,"load",s.uid),l.parentNode&&l.parentNode.removeChild(l);var t=s.getRuntime().getShimContainer();t.children.length||t.parentNode.removeChild(t),t=l=null,e()},1)}}var u,c,l;t.extend(this,{send:function(d,m){var f,h,p,g,x=this,v=x.getRuntime();if(u=c=null,m instanceof s&&m.hasBlob()){if(g=m.getBlob(),f=g.uid,p=i.get(f),!(h=i.get(f+"_form")))throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)}else f=t.guid("uid_"),h=document.createElement("form"),h.setAttribute("id",f+"_form"),h.setAttribute("method",d.method),h.setAttribute("enctype","multipart/form-data"),h.setAttribute("encoding","multipart/form-data"),h.setAttribute("target",f+"_iframe"),v.getShimContainer().appendChild(h);m instanceof s&&m.each(function(e,i){if(e instanceof a)p&&p.setAttribute("name",i);else{var n=document.createElement("input");t.extend(n,{type:"hidden",name:i,value:e}),p?h.insertBefore(n,p):h.appendChild(n)}}),h.setAttribute("action",d.url),function(){var i=v.getShimContainer()||document.body,r=document.createElement("div");r.innerHTML='<iframe id="'+f+'_iframe" name="'+f+'_iframe" src="javascript:&quot;&quot;" style="display:none"></iframe>',l=r.firstChild,i.appendChild(l),o.addEvent(l,"load",function(){var i;try{i=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(i.title)?u=i.title.replace(/^(\d+).*$/,"$1"):(u=200,c=t.trim(i.body.innerHTML),x.trigger({type:"progress",loaded:c.length,total:c.length}),g&&x.trigger({type:"uploadprogress",loaded:g.size||1025,total:g.size||1025}))}catch(t){if(!n.hasSameOrigin(d.url))return void e.call(x,function(){x.trigger("error")});u=404}e.call(x,function(){x.trigger("load")})},x.uid)}(),h.submit(),x.trigger("loadstart")},getStatus:function(){return u},getResponse:function(e){if("json"===e&&"string"===t.typeOf(c)&&window.JSON)try{return JSON.parse(c.replace(/^\s*<pre[^>]*>/,"").replace(/<\/pre>\s*$/,""))}catch(e){
+return null}return c},abort:function(){var t=this;l&&l.contentWindow&&(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand("Stop"):l.src="about:blank"),e.call(this,function(){t.dispatchEvent("abort")})}})}return e.XMLHttpRequest=u}),n("moxie/runtime/html4/image/Image",["moxie/runtime/html4/Runtime","moxie/runtime/html5/image/Image"],function(e,t){return e.Image=t}),function(i){for(var n=0;n<i.length;n++){for(var r=e,a=i[n],s=a.split(/[.\/]/),u=0;u<s.length-1;++u)r[s[u]]===t&&(r[s[u]]={}),r=r[s[u]];r[s[s.length-1]]=o[a]}}(["moxie/core/utils/Basic","moxie/core/I18n","moxie/core/utils/Mime","moxie/core/utils/Env","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/core/utils/Encode","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/file/Blob","moxie/file/File","moxie/file/FileInput","moxie/file/FileDrop","moxie/runtime/RuntimeTarget","moxie/file/FileReader","moxie/core/utils/Url","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/xhr/XMLHttpRequest","moxie/runtime/Transporter","moxie/image/Image","moxie/core/utils/Events"])}(this),function(){"use strict";var e={},t=moxie.core.utils.Basic.inArray;(function i(n){var r,o;for(r in n)o=typeof n[r],"object"!==o||~t(r,["Exceptions","Env","Mime"])?"function"===o&&(e[r]=n[r]):i(n[r])})(window.moxie),e.Env=window.moxie.core.utils.Env,e.Mime=window.moxie.core.utils.Mime,e.Exceptions=window.moxie.core.Exceptions,window.mOxie=e,window.o||(window.o=e)}();
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.dev.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.dev.min.js
index a0139aa2734be166e9cd55ff219a19f8513d5d16..8f08b175d4127c903cf1d15ae2ab6e48596dd304 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.dev.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.dev.min.js
@@ -1 +1 @@
-!function(e,t,i){function n(e){function t(e,t,i){var r={chunks:"slice_blob",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",dragdrop:"drag_and_drop",drop_element:"drag_and_drop",headers:"send_custom_headers",canSendBinary:"send_binary",triggerDialog:"summon_file_dialog"};r[e]?n[r[e]]=t:i||(n[e]=t)}var i=e.required_features,n={};return"string"==typeof i?a.each(i.split(/\s*,\s*/),function(e){t(e,!0)}):"object"==typeof i?a.each(i,function(e,i){t(i,e)}):i===!0&&(e.multipart||(n.send_binary_string=!0),e.chunk_size>0&&(n.slice_blob=!0),e.resize.enabled&&(n.send_binary_string=!0),a.each(e,function(e,i){t(i,!!e,!0)})),n}var r=e.setTimeout,s={},a={VERSION:"2.1.1",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:t.mimes,ua:t.ua,typeOf:t.typeOf,extend:t.extend,guid:t.guid,get:function(e){var i,n=[];"array"!==t.typeOf(e)&&(e=[e]);for(var r=e.length;r--;)i=t.get(e[r]),i&&n.push(i);return n.length?n:null},each:t.each,getPos:t.getPos,getSize:t.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},i=/[<>&\"\']/g;return e?(""+e).replace(i,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:t.toArray,inArray:t.inArray,addI18n:t.addI18n,translate:t.translate,isEmptyObj:t.isEmptyObj,hasClass:t.hasClass,addClass:t.addClass,removeClass:t.removeClass,getStyle:t.getStyle,addEvent:t.addEvent,removeEvent:t.removeEvent,removeAllEvents:t.removeAllEvents,cleanName:function(e){var t,i;for(i=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"],t=0;t<i.length;t+=2)e=e.replace(i[t],i[t+1]);return e=e.replace(/\s+/g,"_"),e=e.replace(/[^a-z0-9_\-\.]+/gi,"")},buildUrl:function(e,t){var i="";return a.each(t,function(e,t){i+=(i?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)}),i&&(e+=(e.indexOf("?")>0?"&":"?")+i),e},formatSize:function(e){function t(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}if(e===i||/\D/.test(e))return a.translate("N/A");var n=Math.pow(1024,4);return e>n?t(e/n,1)+" "+a.translate("tb"):e>(n/=1024)?t(e/n,1)+" "+a.translate("gb"):e>(n/=1024)?t(e/n,1)+" "+a.translate("mb"):e>1024?Math.round(e/1024)+" "+a.translate("kb"):e+" "+a.translate("b")},parseSize:t.parseSizeStr,predictRuntime:function(e,i){var n,r;return n=new a.Uploader(e),r=t.Runtime.thatCan(n.getOption().required_features,i||e.runtimes),n.destroy(),r},addFileFilter:function(e,t){s[e]=t}};a.addFileFilter("mime_types",function(e,t,i){e.length&&!e.regexp.test(t.name)?(this.trigger("Error",{code:a.FILE_EXTENSION_ERROR,message:a.translate("File extension error."),file:t}),i(!1)):i(!0)}),a.addFileFilter("max_file_size",function(e,t,i){var n;e=a.parseSize(e),t.size!==n&&e&&t.size>e?(this.trigger("Error",{code:a.FILE_SIZE_ERROR,message:a.translate("File size error."),file:t}),i(!1)):i(!0)}),a.addFileFilter("prevent_duplicates",function(e,t,i){if(e)for(var n=this.files.length;n--;)if(t.name===this.files[n].name&&t.size===this.files[n].size)return this.trigger("Error",{code:a.FILE_DUPLICATE_ERROR,message:a.translate("Duplicate file error."),file:t}),void i(!1);i(!0)}),a.Uploader=function(e){function o(){var e,t,i=0;if(this.state==a.STARTED){for(t=0;t<T.length;t++)e||T[t].status!=a.QUEUED?i++:(e=T[t],this.trigger("BeforeUpload",e)&&(e.status=a.UPLOADING,this.trigger("UploadFile",e)));i==T.length&&(this.state!==a.STOPPED&&(this.state=a.STOPPED,this.trigger("StateChanged")),this.trigger("UploadComplete",T))}}function l(e){e.percent=e.size>0?Math.ceil(e.loaded/e.size*100):100,u()}function u(){var e,t;for(w.reset(),e=0;e<T.length;e++)t=T[e],t.size!==i?(w.size+=t.origSize,w.loaded+=t.loaded*t.origSize/t.size):w.size=i,t.status==a.DONE?w.uploaded++:t.status==a.FAILED?w.failed++:w.queued++;w.size===i?w.percent=T.length>0?Math.ceil(w.uploaded/T.length*100):0:(w.bytesPerSec=Math.ceil(w.loaded/((+new Date-I||1)/1e3)),w.percent=w.size>0?Math.ceil(w.loaded/w.size*100):0)}function d(){var e=A[0]||U[0];return!!e&&e.getRuntime().uid}function c(e,i){if(e.ruid){var n=t.Runtime.getInfo(e.ruid);if(n)return n.can(i)}return!1}function f(){this.bind("FilesAdded",_),this.bind("CancelUpload",v),this.bind("BeforeUpload",m),this.bind("UploadFile",E),this.bind("UploadProgress",R),this.bind("StateChanged",b),this.bind("QueueChanged",u),this.bind("Error",z),this.bind("FileUploaded",y),this.bind("Destroy",S)}function g(e,i){var n=this,r=0,s=[],o={accept:e.filters.mime_types,runtime_order:e.runtimes,required_caps:e.required_features,preferred_caps:F,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};a.each(e.runtimes.split(/\s*,\s*/),function(t){e[t]&&(o[t]=e[t])}),e.browse_button&&a.each(e.browse_button,function(i){s.push(function(s){var l=new t.FileInput(a.extend({},o,{name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:i}));l.onready=function(){var e=t.Runtime.getInfo(this.ruid);t.extend(n.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),r++,A.push(this),s()},l.onchange=function(){n.addFile(this.files)},l.bind("mouseenter mouseleave mousedown mouseup",function(n){P||(e.browse_button_hover&&("mouseenter"===n.type?t.addClass(i,e.browse_button_hover):"mouseleave"===n.type&&t.removeClass(i,e.browse_button_hover)),e.browse_button_active&&("mousedown"===n.type?t.addClass(i,e.browse_button_active):"mouseup"===n.type&&t.removeClass(i,e.browse_button_active)))}),l.bind("error runtimeerror",function(){l=null,s()}),l.init()})}),e.drop_element&&a.each(e.drop_element,function(e){s.push(function(i){var s=new t.FileDrop(a.extend({},o,{drop_zone:e}));s.onready=function(){var e=t.Runtime.getInfo(this.ruid);n.features.dragdrop=e.can("drag_and_drop"),r++,U.push(this),i()},s.ondrop=function(){n.addFile(this.files)},s.bind("error runtimeerror",function(){s=null,i()}),s.init()})}),t.inSeries(s,function(){"function"==typeof i&&i(r)})}function p(e,i,n){var r=new t.Image;try{r.onload=function(){r.downsize(i.width,i.height,i.crop,i.preserve_headers)},r.onresize=function(){n(this.getAsBlob(e.type,i.quality)),this.destroy()},r.onerror=function(){n(e)},r.load(e)}catch(t){n(e)}}function h(e,i,r){function s(e,t,i){var n=O[e];switch(e){case"max_file_size":"max_file_size"===e&&(O.max_file_size=O.filters.max_file_size=t);break;case"chunk_size":(t=a.parseSize(t))&&(O[e]=t);break;case"filters":"array"===a.typeOf(t)&&(t={mime_types:t}),i?a.extend(O.filters,t):O.filters=t,t.mime_types&&(O.filters.mime_types.regexp=function(e){var t=[];return a.each(e,function(e){a.each(e.extensions.split(/,/),function(e){/^\s*\*\s*$/.test(e)?t.push("\\.*"):t.push("\\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\\".replace(/./g,"\\$&")+"]","g"),"\\$&"))})}),new RegExp("("+t.join("|")+")$","i")}(O.filters.mime_types));break;case"resize":i?a.extend(O.resize,t,{enabled:!0}):O.resize=t;break;case"prevent_duplicates":O.prevent_duplicates=O.filters.prevent_duplicates=!!t;break;case"browse_button":case"drop_element":t=a.get(t);case"container":case"runtimes":case"multi_selection":case"flash_swf_url":case"silverlight_xap_url":O[e]=t,i||(l=!0);break;default:O[e]=t}i||o.trigger("OptionChanged",e,t,n)}var o=this,l=!1;"object"==typeof e?a.each(e,function(e,t){s(t,e,r)}):s(e,i,r),r?(O.required_features=n(a.extend({},O)),F=n(a.extend({},O,{required_features:!0}))):l&&(o.trigger("Destroy"),g.call(o,O,function(e){e?(o.runtime=t.Runtime.getInfo(d()).type,o.trigger("Init",{runtime:o.runtime}),o.trigger("PostInit")):o.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")})}))}function _(e,t){[].push.apply(T,t),e.trigger("QueueChanged"),e.refresh()}function m(e,t){if(O.unique_names){var i=t.name.match(/\.([^.]+)$/),n="part";i&&(n=i[1]),t.target_name=t.id+"."+n}}function E(e,i){function n(){d-- >0?r(s,1e3):(i.loaded=g,e.trigger("Error",{code:a.HTTP_ERROR,message:a.translate("HTTP Error."),file:i,response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()}))}function s(){var c,p,h,_;i.status!=a.DONE&&i.status!=a.FAILED&&e.state!=a.STOPPED&&(h={name:i.target_name||i.name},u&&f.chunks&&o.size>u?(_=Math.min(u,o.size-g),c=o.slice(g,g+_)):(_=o.size,c=o),u&&f.chunks&&(e.settings.send_chunk_number?(h.chunk=Math.ceil(g/u),h.chunks=Math.ceil(o.size/u)):(h.offset=g,h.total=o.size)),D=new t.XMLHttpRequest,D.upload&&(D.upload.onprogress=function(t){i.loaded=Math.min(i.size,g+t.loaded),e.trigger("UploadProgress",i)}),D.onload=function(){return D.status>=400?void n():(d=e.settings.max_retries,_<o.size?(c.destroy(),g+=_,i.loaded=Math.min(g,o.size),e.trigger("ChunkUploaded",i,{offset:i.loaded,total:o.size,response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()}),"Android Browser"===t.Env.browser&&e.trigger("UploadProgress",i)):i.loaded=i.size,c=p=null,void(!g||g>=o.size?(i.size!=i.origSize&&(o.destroy(),o=null),e.trigger("UploadProgress",i),i.status=a.DONE,e.trigger("FileUploaded",i,{response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()})):r(s,1)))},D.onerror=function(){n()},D.onloadend=function(){this.destroy(),D=null},e.settings.multipart&&f.multipart?(h.name=i.target_name||i.name,D.open("post",l,!0),a.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),p=new t.FormData,a.each(a.extend(h,e.settings.multipart_params),function(e,t){p.append(t,e)}),p.append(e.settings.file_data_name,c),D.send(p,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})):(l=a.buildUrl(e.settings.url,a.extend(h,e.settings.multipart_params)),D.open("post",l,!0),D.setRequestHeader("Content-Type","application/octet-stream"),a.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),D.send(c,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})))}var o,l=e.settings.url,u=e.settings.chunk_size,d=e.settings.max_retries,f=e.features,g=0;i.loaded&&(g=i.loaded=u*Math.floor(i.loaded/u)),o=i.getSource(),e.settings.resize.enabled&&c(o,"send_binary_string")&&~t.inArray(o.type,["image/jpeg","image/png"])?p.call(this,o,e.settings.resize,function(e){o=e,i.size=e.size,s()}):s()}function R(e,t){l(t)}function b(e){if(e.state==a.STARTED)I=+new Date;else if(e.state==a.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==a.UPLOADING&&(e.files[t].status=a.QUEUED,u())}function v(){D&&D.abort()}function y(e){u(),r(function(){o.call(e)},1)}function z(e,t){t.file&&(t.file.status=a.FAILED,l(t.file),e.state==a.STARTED&&(e.trigger("CancelUpload"),r(function(){o.call(e)},1)))}function S(e){e.stop(),a.each(T,function(e){e.destroy()}),T=[],A.length&&(a.each(A,function(e){e.destroy()}),A=[]),U.length&&(a.each(U,function(e){e.destroy()}),U=[]),F={},P=!1,I=D=null,w.reset()}var O,I,w,D,x=a.guid(),T=[],F={},A=[],U=[],P=!1;O={runtimes:t.Runtime.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",flash_swf_url:"js/Moxie.swf",silverlight_xap_url:"js/Moxie.xap",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:{enabled:!1,preserve_headers:!0,crop:!1},send_chunk_number:!0},h.call(this,e,null,!0),w=new a.QueueProgress,a.extend(this,{id:x,uid:x,state:a.STOPPED,features:{},runtime:null,files:T,settings:O,total:w,init:function(){var e=this;return"function"==typeof O.preinit?O.preinit(e):a.each(O.preinit,function(t,i){e.bind(i,t)}),O.browse_button&&O.url?(f.call(this),void g.call(this,O,function(i){"function"==typeof O.init?O.init(e):a.each(O.init,function(t,i){e.bind(i,t)}),i?(e.runtime=t.Runtime.getInfo(d()).type,e.trigger("Init",{runtime:e.runtime}),e.trigger("PostInit")):e.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")})})):void this.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")})},setOption:function(e,t){h.call(this,e,t,!this.runtime)},getOption:function(e){return e?O[e]:O},refresh:function(){A.length&&a.each(A,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=a.STARTED&&(this.state=a.STARTED,this.trigger("StateChanged"),o.call(this))},stop:function(){this.state!=a.STOPPED&&(this.state=a.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){P=arguments[0]===i||arguments[0],A.length&&a.each(A,function(e){e.disable(P)}),this.trigger("DisableBrowse",P)},getFile:function(e){var t;for(t=T.length-1;t>=0;t--)if(T[t].id===e)return T[t]},addFile:function(e,i){function n(e,i){var n=[];t.each(u.settings.filters,function(t,i){s[i]&&n.push(function(n){s[i].call(u,t,e,function(e){n(!e)})})}),t.inSeries(n,i)}function o(e){var s=t.typeOf(e);if(e instanceof t.File){if(!e.ruid&&!e.isDetached()){if(!l)return!1;e.ruid=l,e.connectRuntime(l)}o(new a.File(e))}else e instanceof t.Blob?(o(e.getSource()),e.destroy()):e instanceof a.File?(i&&(e.name=i),c.push(function(t){n(e,function(i){i||(f.push(e),u.trigger("FileFiltered",e)),r(t,1)})})):t.inArray(s,["file","blob"])!==-1?o(new t.File(null,e)):"node"===s&&"filelist"===t.typeOf(e.files)?t.each(e.files,o):"array"===s&&(i=null,t.each(e,o))}var l,u=this,c=[],f=[];l=d(),o(e),c.length&&t.inSeries(c,function(){f.length&&u.trigger("FilesAdded",f)})},removeFile:function(e){for(var t="string"==typeof e?e:e.id,i=T.length-1;i>=0;i--)if(T[i].id===t)return this.splice(i,1)[0]},splice:function(e,t){var n=T.splice(e===i?0:e,t===i?T.length:t),r=!1;return this.state==a.STARTED&&(r=!0,this.stop()),this.trigger("FilesRemoved",n),a.each(n,function(e){e.destroy()}),this.trigger("QueueChanged"),this.refresh(),r&&this.start(),n},bind:function(e,t,i){var n=this;a.Uploader.prototype.bind.call(this,e,function(){var e=[].slice.call(arguments);return e.splice(0,1,n),t.apply(this,e)},0,i)},destroy:function(){this.trigger("Destroy"),O=w=null,this.unbindAll()}})},a.Uploader.prototype=t.EventTarget.instance,a.File=function(){function e(e){a.extend(this,{id:a.guid(),name:e.name||e.fileName,type:e.type||"",size:e.size||e.fileSize,origSize:e.size||e.fileSize,loaded:0,percent:0,status:a.QUEUED,lastModifiedDate:e.lastModifiedDate||(new Date).toLocaleString(),getNative:function(){var e=this.getSource().getSource();return t.inArray(t.typeOf(e),["blob","file"])!==-1?e:null},getSource:function(){return i[this.id]?i[this.id]:null},destroy:function(){var e=this.getSource();e&&(e.destroy(),delete i[this.id])}}),i[this.id]=e}var i={};return e}(),a.QueueProgress=function(){var e=this;e.size=0,e.loaded=0,e.uploaded=0,e.failed=0,e.queued=0,e.percent=0,e.bytesPerSec=0,e.reset=function(){e.size=e.loaded=e.uploaded=e.failed=e.queued=e.percent=e.bytesPerSec=0}},e.plupload=a}(window,mOxie);
\ No newline at end of file
+!function(e,t,i){function n(e){function t(e,t,i){var r={chunks:"slice_blob",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",dragdrop:"drag_and_drop",drop_element:"drag_and_drop",headers:"send_custom_headers",canSendBinary:"send_binary",triggerDialog:"summon_file_dialog"};r[e]?n[r[e]]=t:i||(n[e]=t)}var i=e.required_features,n={};return"string"==typeof i?a.each(i.split(/\s*,\s*/),function(e){t(e,!0)}):"object"==typeof i?a.each(i,function(e,i){t(i,e)}):!0===i&&(e.multipart||(n.send_binary_string=!0),e.chunk_size>0&&(n.slice_blob=!0),e.resize.enabled&&(n.send_binary_string=!0),a.each(e,function(e,i){t(i,!!e,!0)})),n}var r=e.setTimeout,s={},a={VERSION:"2.1.1",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:t.mimes,ua:t.ua,typeOf:t.typeOf,extend:t.extend,guid:t.guid,get:function(e){var i,n=[];"array"!==t.typeOf(e)&&(e=[e]);for(var r=e.length;r--;)(i=t.get(e[r]))&&n.push(i);return n.length?n:null},each:t.each,getPos:t.getPos,getSize:t.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},i=/[<>&\"\']/g;return e?(""+e).replace(i,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:t.toArray,inArray:t.inArray,addI18n:t.addI18n,translate:t.translate,isEmptyObj:t.isEmptyObj,hasClass:t.hasClass,addClass:t.addClass,removeClass:t.removeClass,getStyle:t.getStyle,addEvent:t.addEvent,removeEvent:t.removeEvent,removeAllEvents:t.removeAllEvents,cleanName:function(e){var t,i;for(i=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"],t=0;t<i.length;t+=2)e=e.replace(i[t],i[t+1]);return e=e.replace(/\s+/g,"_"),e=e.replace(/[^a-z0-9_\-\.]+/gi,"")},buildUrl:function(e,t){var i="";return a.each(t,function(e,t){i+=(i?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)}),i&&(e+=(e.indexOf("?")>0?"&":"?")+i),e},formatSize:function(e){function t(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}if(e===i||/\D/.test(e))return a.translate("N/A");var n=Math.pow(1024,4);return e>n?t(e/n,1)+" "+a.translate("tb"):e>(n/=1024)?t(e/n,1)+" "+a.translate("gb"):e>(n/=1024)?t(e/n,1)+" "+a.translate("mb"):e>1024?Math.round(e/1024)+" "+a.translate("kb"):e+" "+a.translate("b")},parseSize:t.parseSizeStr,predictRuntime:function(e,i){var n,r;return n=new a.Uploader(e),r=t.Runtime.thatCan(n.getOption().required_features,i||e.runtimes),n.destroy(),r},addFileFilter:function(e,t){s[e]=t}};a.addFileFilter("mime_types",function(e,t,i){e.length&&!e.regexp.test(t.name)?(this.trigger("Error",{code:a.FILE_EXTENSION_ERROR,message:a.translate("File extension error."),file:t}),i(!1)):i(!0)}),a.addFileFilter("max_file_size",function(e,t,i){e=a.parseSize(e),void 0!==t.size&&e&&t.size>e?(this.trigger("Error",{code:a.FILE_SIZE_ERROR,message:a.translate("File size error."),file:t}),i(!1)):i(!0)}),a.addFileFilter("prevent_duplicates",function(e,t,i){if(e)for(var n=this.files.length;n--;)if(t.name===this.files[n].name&&t.size===this.files[n].size)return this.trigger("Error",{code:a.FILE_DUPLICATE_ERROR,message:a.translate("Duplicate file error."),file:t}),void i(!1);i(!0)}),a.Uploader=function(e){function o(){var e,t,i=0;if(this.state==a.STARTED){for(t=0;t<T.length;t++)e||T[t].status!=a.QUEUED?i++:(e=T[t],this.trigger("BeforeUpload",e)&&(e.status=a.UPLOADING,this.trigger("UploadFile",e)));i==T.length&&(this.state!==a.STOPPED&&(this.state=a.STOPPED,this.trigger("StateChanged")),this.trigger("UploadComplete",T))}}function l(e){e.percent=e.size>0?Math.ceil(e.loaded/e.size*100):100,u()}function u(){var e,t;for(w.reset(),e=0;e<T.length;e++)t=T[e],t.size!==i?(w.size+=t.origSize,w.loaded+=t.loaded*t.origSize/t.size):w.size=i,t.status==a.DONE?w.uploaded++:t.status==a.FAILED?w.failed++:w.queued++;w.size===i?w.percent=T.length>0?Math.ceil(w.uploaded/T.length*100):0:(w.bytesPerSec=Math.ceil(w.loaded/((+new Date-I||1)/1e3)),w.percent=w.size>0?Math.ceil(w.loaded/w.size*100):0)}function d(){var e=A[0]||U[0];return!!e&&e.getRuntime().uid}function c(e,i){if(e.ruid){var n=t.Runtime.getInfo(e.ruid);if(n)return n.can(i)}return!1}function f(){this.bind("FilesAdded",_),this.bind("CancelUpload",v),this.bind("BeforeUpload",m),this.bind("UploadFile",E),this.bind("UploadProgress",R),this.bind("StateChanged",b),this.bind("QueueChanged",u),this.bind("Error",z),this.bind("FileUploaded",y),this.bind("Destroy",S)}function g(e,i){var n=this,r=0,s=[],o={accept:e.filters.mime_types,runtime_order:e.runtimes,required_caps:e.required_features,preferred_caps:F,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};a.each(e.runtimes.split(/\s*,\s*/),function(t){e[t]&&(o[t]=e[t])}),e.browse_button&&a.each(e.browse_button,function(i){s.push(function(s){var l=new t.FileInput(a.extend({},o,{name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:i}));l.onready=function(){var e=t.Runtime.getInfo(this.ruid);t.extend(n.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),r++,A.push(this),s()},l.onchange=function(){n.addFile(this.files)},l.bind("mouseenter mouseleave mousedown mouseup",function(n){P||(e.browse_button_hover&&("mouseenter"===n.type?t.addClass(i,e.browse_button_hover):"mouseleave"===n.type&&t.removeClass(i,e.browse_button_hover)),e.browse_button_active&&("mousedown"===n.type?t.addClass(i,e.browse_button_active):"mouseup"===n.type&&t.removeClass(i,e.browse_button_active)))}),l.bind("error runtimeerror",function(){l=null,s()}),l.init()})}),e.drop_element&&a.each(e.drop_element,function(e){s.push(function(i){var s=new t.FileDrop(a.extend({},o,{drop_zone:e}));s.onready=function(){var e=t.Runtime.getInfo(this.ruid);n.features.dragdrop=e.can("drag_and_drop"),r++,U.push(this),i()},s.ondrop=function(){n.addFile(this.files)},s.bind("error runtimeerror",function(){s=null,i()}),s.init()})}),t.inSeries(s,function(){"function"==typeof i&&i(r)})}function p(e,i,n){var r=new t.Image;try{r.onload=function(){r.downsize(i.width,i.height,i.crop,i.preserve_headers)},r.onresize=function(){n(this.getAsBlob(e.type,i.quality)),this.destroy()},r.onerror=function(){n(e)},r.load(e)}catch(t){n(e)}}function h(e,i,r){function s(e,t,i){var n=O[e];switch(e){case"max_file_size":"max_file_size"===e&&(O.max_file_size=O.filters.max_file_size=t);break;case"chunk_size":(t=a.parseSize(t))&&(O[e]=t);break;case"filters":"array"===a.typeOf(t)&&(t={mime_types:t}),i?a.extend(O.filters,t):O.filters=t,t.mime_types&&(O.filters.mime_types.regexp=function(e){var t=[];return a.each(e,function(e){a.each(e.extensions.split(/,/),function(e){/^\s*\*\s*$/.test(e)?t.push("\\.*"):t.push("\\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\\".replace(/./g,"\\$&")+"]","g"),"\\$&"))})}),new RegExp("("+t.join("|")+")$","i")}(O.filters.mime_types));break;case"resize":i?a.extend(O.resize,t,{enabled:!0}):O.resize=t;break;case"prevent_duplicates":O.prevent_duplicates=O.filters.prevent_duplicates=!!t;break;case"browse_button":case"drop_element":t=a.get(t);case"container":case"runtimes":case"multi_selection":case"flash_swf_url":case"silverlight_xap_url":O[e]=t,i||(l=!0);break;default:O[e]=t}i||o.trigger("OptionChanged",e,t,n)}var o=this,l=!1;"object"==typeof e?a.each(e,function(e,t){s(t,e,r)}):s(e,i,r),r?(O.required_features=n(a.extend({},O)),F=n(a.extend({},O,{required_features:!0}))):l&&(o.trigger("Destroy"),g.call(o,O,function(e){e?(o.runtime=t.Runtime.getInfo(d()).type,o.trigger("Init",{runtime:o.runtime}),o.trigger("PostInit")):o.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")})}))}function _(e,t){[].push.apply(T,t),e.trigger("QueueChanged"),e.refresh()}function m(e,t){if(O.unique_names){var i=t.name.match(/\.([^.]+)$/),n="part";i&&(n=i[1]),t.target_name=t.id+"."+n}}function E(e,i){function n(){d-- >0?r(s,1e3):(i.loaded=g,e.trigger("Error",{code:a.HTTP_ERROR,message:a.translate("HTTP Error."),file:i,response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()}))}function s(){var c,p,h,_;i.status!=a.DONE&&i.status!=a.FAILED&&e.state!=a.STOPPED&&(h={name:i.target_name||i.name},u&&f.chunks&&o.size>u?(_=Math.min(u,o.size-g),c=o.slice(g,g+_)):(_=o.size,c=o),u&&f.chunks&&(e.settings.send_chunk_number?(h.chunk=Math.ceil(g/u),h.chunks=Math.ceil(o.size/u)):(h.offset=g,h.total=o.size)),D=new t.XMLHttpRequest,D.upload&&(D.upload.onprogress=function(t){i.loaded=Math.min(i.size,g+t.loaded),e.trigger("UploadProgress",i)}),D.onload=function(){if(D.status>=400)return void n();d=e.settings.max_retries,_<o.size?(c.destroy(),g+=_,i.loaded=Math.min(g,o.size),e.trigger("ChunkUploaded",i,{offset:i.loaded,total:o.size,response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()}),"Android Browser"===t.Env.browser&&e.trigger("UploadProgress",i)):i.loaded=i.size,c=p=null,!g||g>=o.size?(i.size!=i.origSize&&(o.destroy(),o=null),e.trigger("UploadProgress",i),i.status=a.DONE,e.trigger("FileUploaded",i,{response:D.responseText,status:D.status,responseHeaders:D.getAllResponseHeaders()})):r(s,1)},D.onerror=function(){n()},D.onloadend=function(){this.destroy(),D=null},e.settings.multipart&&f.multipart?(h.name=i.target_name||i.name,D.open("post",l,!0),a.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),p=new t.FormData,a.each(a.extend(h,e.settings.multipart_params),function(e,t){p.append(t,e)}),p.append(e.settings.file_data_name,c),D.send(p,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})):(l=a.buildUrl(e.settings.url,a.extend(h,e.settings.multipart_params)),D.open("post",l,!0),D.setRequestHeader("Content-Type","application/octet-stream"),a.each(e.settings.headers,function(e,t){D.setRequestHeader(t,e)}),D.send(c,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:F,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})))}var o,l=e.settings.url,u=e.settings.chunk_size,d=e.settings.max_retries,f=e.features,g=0;i.loaded&&(g=i.loaded=u*Math.floor(i.loaded/u)),o=i.getSource(),e.settings.resize.enabled&&c(o,"send_binary_string")&&~t.inArray(o.type,["image/jpeg","image/png"])?p.call(this,o,e.settings.resize,function(e){o=e,i.size=e.size,s()}):s()}function R(e,t){l(t)}function b(e){if(e.state==a.STARTED)I=+new Date;else if(e.state==a.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==a.UPLOADING&&(e.files[t].status=a.QUEUED,u())}function v(){D&&D.abort()}function y(e){u(),r(function(){o.call(e)},1)}function z(e,t){t.file&&(t.file.status=a.FAILED,l(t.file),e.state==a.STARTED&&(e.trigger("CancelUpload"),r(function(){o.call(e)},1)))}function S(e){e.stop(),a.each(T,function(e){e.destroy()}),T=[],A.length&&(a.each(A,function(e){e.destroy()}),A=[]),U.length&&(a.each(U,function(e){e.destroy()}),U=[]),F={},P=!1,I=D=null,w.reset()}var O,I,w,D,x=a.guid(),T=[],F={},A=[],U=[],P=!1;O={runtimes:t.Runtime.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",flash_swf_url:"js/Moxie.swf",silverlight_xap_url:"js/Moxie.xap",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:{enabled:!1,preserve_headers:!0,crop:!1},send_chunk_number:!0},h.call(this,e,null,!0),w=new a.QueueProgress,a.extend(this,{id:x,uid:x,state:a.STOPPED,features:{},runtime:null,files:T,settings:O,total:w,init:function(){var e=this;if("function"==typeof O.preinit?O.preinit(e):a.each(O.preinit,function(t,i){e.bind(i,t)}),!O.browse_button||!O.url)return void this.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")});f.call(this),g.call(this,O,function(i){"function"==typeof O.init?O.init(e):a.each(O.init,function(t,i){e.bind(i,t)}),i?(e.runtime=t.Runtime.getInfo(d()).type,e.trigger("Init",{runtime:e.runtime}),e.trigger("PostInit")):e.trigger("Error",{code:a.INIT_ERROR,message:a.translate("Init error.")})})},setOption:function(e,t){h.call(this,e,t,!this.runtime)},getOption:function(e){return e?O[e]:O},refresh:function(){A.length&&a.each(A,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=a.STARTED&&(this.state=a.STARTED,this.trigger("StateChanged"),o.call(this))},stop:function(){this.state!=a.STOPPED&&(this.state=a.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){P=arguments[0]===i||arguments[0],A.length&&a.each(A,function(e){e.disable(P)}),this.trigger("DisableBrowse",P)},getFile:function(e){var t;for(t=T.length-1;t>=0;t--)if(T[t].id===e)return T[t]},addFile:function(e,i){function n(e,i){var n=[];t.each(u.settings.filters,function(t,i){s[i]&&n.push(function(n){s[i].call(u,t,e,function(e){n(!e)})})}),t.inSeries(n,i)}function o(e){var s=t.typeOf(e);if(e instanceof t.File){if(!e.ruid&&!e.isDetached()){if(!l)return!1;e.ruid=l,e.connectRuntime(l)}o(new a.File(e))}else e instanceof t.Blob?(o(e.getSource()),e.destroy()):e instanceof a.File?(i&&(e.name=i),c.push(function(t){n(e,function(i){i||(f.push(e),u.trigger("FileFiltered",e)),r(t,1)})})):-1!==t.inArray(s,["file","blob"])?o(new t.File(null,e)):"node"===s&&"filelist"===t.typeOf(e.files)?t.each(e.files,o):"array"===s&&(i=null,t.each(e,o))}var l,u=this,c=[],f=[];l=d(),o(e),c.length&&t.inSeries(c,function(){f.length&&u.trigger("FilesAdded",f)})},removeFile:function(e){for(var t="string"==typeof e?e:e.id,i=T.length-1;i>=0;i--)if(T[i].id===t)return this.splice(i,1)[0]},splice:function(e,t){var n=T.splice(e===i?0:e,t===i?T.length:t),r=!1;return this.state==a.STARTED&&(r=!0,this.stop()),this.trigger("FilesRemoved",n),a.each(n,function(e){e.destroy()}),this.trigger("QueueChanged"),this.refresh(),r&&this.start(),n},bind:function(e,t,i){var n=this;a.Uploader.prototype.bind.call(this,e,function(){var e=[].slice.call(arguments);return e.splice(0,1,n),t.apply(this,e)},0,i)},destroy:function(){this.trigger("Destroy"),O=w=null,this.unbindAll()}})},a.Uploader.prototype=t.EventTarget.instance,a.File=function(){function e(e){a.extend(this,{id:a.guid(),name:e.name||e.fileName,type:e.type||"",size:e.size||e.fileSize,origSize:e.size||e.fileSize,loaded:0,percent:0,status:a.QUEUED,lastModifiedDate:e.lastModifiedDate||(new Date).toLocaleString(),getNative:function(){var e=this.getSource().getSource();return-1!==t.inArray(t.typeOf(e),["blob","file"])?e:null},getSource:function(){return i[this.id]?i[this.id]:null},destroy:function(){var e=this.getSource();e&&(e.destroy(),delete i[this.id])}}),i[this.id]=e}var i={};return e}(),a.QueueProgress=function(){var e=this;e.size=0,e.loaded=0,e.uploaded=0,e.failed=0,e.queued=0,e.percent=0,e.bytesPerSec=0,e.reset=function(){e.size=e.loaded=e.uploaded=e.failed=e.queued=e.percent=e.bytesPerSec=0}},e.plupload=a}(window,mOxie);
\ 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 5137aed94ea774cb558f06c5b6627456189ae452..5f5e6c774510e6f82a370b22a62862d991ebfc88 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
@@ -10,7 +10,9 @@
 }
 
 #gallery_selection .plupload_buttons a {
-    margin-right: 4px;
+    margin-right: 6px;
+    width: 130px !important;
+    text-align: center;
 }
 
 #gallery_name {
@@ -35,7 +37,8 @@
 }
 
 .plupload_buttons {
-    display: inline
+    display: inline;
+    margin-left: 20px;
 }
 
 .plupload_droptext {
@@ -43,6 +46,155 @@
     color: silver;
 }
 
+/* Gritter customizations */
+
+#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-top, 
+.gritter-item,
+.gritter-bottom {
+    background: none;
+}
+
+.gritter-item {
+    padding: 2px 11px 0 11px;
+}
+
+.gritter-title {
+    text-shadow: none;
+}
+
 #gritter-notice-wrapper a {
-    color: #00b9eb;
+    color: #b8d433;
+    text-decoration: none;
+    padding-top: 5px;
+    display: block;
+}
+
+.gritter-close {
+    width: auto;
+    height: auto;
+    background: none;
+    display: block !important;
+    top: 10px;
+    right: 10px;
+}
+
+.gritter-close:after {
+    content: 'X';
+    font-weight: bold;
+    font-size: 13px;
+}
+
+/* For Redesign */
+
+.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, 0.13) !important;
+}
+
+#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;
+    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_menu,
+    .gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main  {
+        width: 100%;
+    }
+}
+
+@media (max-width: 1140px) {
+    .plupload_buttons {
+        display: block;
+        margin: 10px 0 0 75px;
+    }
+    .gallery_page_ngg_addgallery #ngg_page_content button,
+    .gallery_page_ngg_addgallery #ngg_page_content .button-primary,
+    .gallery_page_ngg_addgallery #ngg_page_content .button-secondary {
+        width: 201px !important;
+    }
+}
+
+@media (max-width: 800px) {
+    .gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_menu,
+    .gallery_page_ngg_addgallery #ngg_page_content .ngg_page_content_main  {
+        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,
+    .gallery_page_ngg_addgallery #ngg_page_content .button-primary,
+    .gallery_page_ngg_addgallery #ngg_page_content .button-secondary {
+        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/static/styles.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.min.css
index 2d3a31ddd4ec243b5c608cb74fcdde593f1b4b81..61418ad14a41ef0521458865fa551372f3006459 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:4px}#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}.plupload_droptext{font-size:16px;color:silver}#gritter-notice-wrapper a{color:#00b9eb}
\ 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;width:130px!important;text-align:center}#gallery_name{width:auto;min-width:200px}#gallery_name.error{border:solid 1px red}#upload_images_content{padding:0}#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-item,.gritter-top{background:0 0}.gritter-item{padding:2px 11px 0 11px}.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;background:0 0;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
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 f0e8b91ba8ddf5e6b6297071ebb4e9146aeddc5c..7a646baf4c1095202a2c1f3d293f8654d6bb0e55 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
@@ -8,7 +8,7 @@
     </label>
 </p>
 <p>
-    <input type="checkbox" id="import_keep_location" name="keep_location" value="on" /> <label for="import_keep_location"> <?php esc_html_e('Keep images in original location.', 'nggallery'); ?> <span style="font-size: 85%"><?php esc_html_e('Caution: If you keep images in the original folder and later delete the gallery, the images in that folder might be deleted depending on your settings.', 'nggallery'); ?></span></label><br/><br/>
+    <input type="checkbox" id="import_keep_location" name="keep_location" value="on" /> <label for="import_keep_location"> <?php esc_html_e('Keep images in original location. Caution: If you keep images in the original folder and later delete the gallery, the images in that folder might be deleted depending on your settings.', 'nggallery'); ?></label><br/><br/>
     <input type="button" id="import_button" name="import_folder" value="<?php _e('Import Folder', 'nggallery'); ?>" class="button-primary"/>
 </p>
 <script type="text/javascript">
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 84c29ba44ae01ba6fedcba83d25d8c2ec94521df..47339635214e3fbdbc36e3d30cea76c9d2ee45e8 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
@@ -11,6 +11,6 @@
 </div>
 
 <button id='ngg-importML-select-opener'
-        class='button-primary hidden'><?php echo $i18n['select-opener']; ?></button>
+        class='button-primary'><?php echo $i18n['select-opener']; ?></button>
 <button id='ngg-importML-selected-image-import'
         class='button-primary hidden'></button>
\ No newline at end of file
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 824e47d17ac71be30d0d0468dde01357e2057c44..3d93130c41c036eb0cfe87fbe98c75641a08b1f2 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
@@ -210,7 +210,7 @@
 								}
 								else {
 									$.gritter.add({
-										title: '<?php _e("Upload complete", 'nggallery'); ?>',
+										title: '<?php _e("Upload complete. Great job!", 'nggallery'); ?>',
 										text: msg,
 										sticky: true
 									});
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 ffd539dcf096834c876da8359450c6ca7b703f65..01aef0471966b7a8bf6ad5d517e12b538a4696f0 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
@@ -26,7 +26,7 @@ class M_NextGen_Admin extends C_Base_Module
 			'photocrati-nextgen_admin',
 			'NextGEN Administration',
 			'Provides a framework for adding Administration pages',
-			'0.16',
+			'3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -59,7 +59,7 @@ class M_NextGen_Admin extends C_Base_Module
 
         $this->get_registry()->add_utility(
             'I_Page_Manager',
-            'C_Page_Manager'
+            'C_NextGen_Admin_Page_Manager'
         );
 
         // Provides a form manager
@@ -84,14 +84,62 @@ class M_NextGen_Admin extends C_Base_Module
 			'I_MVC_Controller',
 			'A_MVC_Validation'
 		);
+	}
 
-        if (is_admin()) {
-            $this->get_registry('I_NextGen_Admin_Page', 'A_Fs_Access_Page', NGG_FS_ACCESS_SLUG);
-            $this->get_registry()->add_adapter(
-                'I_Page_Manager',
-                'A_NextGen_Admin_Default_Pages'
-            );
-        }
+
+	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;
+	}
+
+	// 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, NULL, NULL, $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, NULL, NULL, $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);
 	}
 
 	/**
@@ -101,14 +149,31 @@ class M_NextGen_Admin extends C_Base_Module
 	{
         // Register scripts
         add_action('init', array($this, 'register_scripts'), 9);
+		add_action('admin_enqueue_scripts', array($this, 'enqueue_wizard_components'));
         add_action('init', array($this, 'init_wizards'), 5);
 
+        // 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'));
+
 		// 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'));
 
+        // 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
+        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_action( 'admin_footer', array($this, 'custom_post_type_markup_bottom'));
+
 		// Provides admin notices
 		$notices = C_Admin_Notification_Manager::get_instance();
 		add_action('init', array($notices, 'serve_ajax_request'));
@@ -231,59 +296,142 @@ class M_NextGen_Admin extends C_Base_Module
 	        'gritter',
 	        $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'),
 	        array('jquery'),
-	        NGG_SCRIPT_VERSION
+	        $this->module_version
         );
         wp_register_style(
 	        'gritter',
 	        $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css'),
 	        FALSE,
-	        NGG_SCRIPT_VERSION
+	        $this->module_version
         );
         wp_register_script(
 	        'ngg_progressbar',
 	        $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'),
 	        array('gritter'),
-	        NGG_SCRIPT_VERSION
+	        $this->module_version
         );
         wp_register_style(
 	        'ngg_progressbar',
 	        $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'),
 	        array('gritter'),
-	        NGG_SCRIPT_VERSION
+	        $this->module_version
         );
         wp_register_style(
 	        'ngg_select2',
 	        $router->get_static_url('photocrati-nextgen_admin#select2/select2.css'),
 	        FALSE,
-	        NGG_SCRIPT_VERSION
+	        $this->module_version
         );
         wp_register_script(
 	        'ngg_select2',
-	        $router->get_static_url('photocrati-nextgen_admin#select2/select2.modded.js'),
+	        $router->get_static_url('photocrati-nextgen_admin#select2/select2.js'),
 	        FALSE,
-	        NGG_SCRIPT_VERSION
+	        $this->module_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
+	        $this->module_version
         );
-
-        if (preg_match("#/wp-admin/post(-new)?.php#", $_SERVER['REQUEST_URI']))
-        {
-            wp_enqueue_script('ngg_progressbar');
-            wp_enqueue_style('ngg_progressbar');
-        }
-
         wp_register_style(
 	        'ngg-jquery-ui',
 	        $router->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css'),
 	        FALSE,
-	        NGG_SCRIPT_VERSION
+	        '1.10.4'
         );
+        wp_register_script(
+            'iris',
+            $router->get_url('/wp-admin/js/iris.min.js', FALSE, TRUE),
+            array('jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch')
+        );
+        wp_register_script(
+            'wp-color-picker',
+            $router->get_url('/wp-admin/js/color-picker.js', FALSE, TRUE),
+            array('iris')
+        );
+        wp_localize_script('wp-color-picker', 'wpColorPickerL10n', array(
+            'clear' => __('Clear', 'nggallery'),
+            'defaultString' => __('Default', 'nggallery'),
+            'pick' => __('Select Color', 'nggallery'),
+            'current' => __('Current Color', 'nggallery'),
+        ));
 
-		$this->enqueue_wizard_components();
+        wp_register_style(
+            'nextgen_admin_css', 
+            $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'), 
+            array('wp-color-picker'), 
+            $this->module_version
+        );
+        wp_register_script(
+            'nextgen_admin_js',
+            $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'),
+            array('wp-color-picker'),
+	        $this->module_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;
+			}
+        ');
+	}
+
+	/**
+	 * 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
+     *
+     * @param $classes
+     *
+     * @return string
+     */
+    function add_ngg_post_type_class( $classes )
+    {
+        $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;
+        }
+        
+    }
+
+	/* 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()
@@ -292,40 +440,50 @@ class M_NextGen_Admin extends C_Base_Module
 		$wizards->set_starter(__('Do you need help with NextGEN?', 'nggallery'));
 		$wizards->set_active(false);
 		
-		// Add gallery creation wizard for new users
-		$wizard = $wizards->add_wizard('nextgen.beginner.gallery_creation');
-		$wizard->add_step('start');
-		$wizard->set_step_text('start', __('Hello, it looks like you don\'t have any galleries, this wizard will guide you through creating your first gallery.', 'nggallery'));
-		$wizard->set_step_view('start', 'a.toplevel_page_nextgen-gallery');
-		$wizard->add_step('gallery_menu');
-		$wizard->set_step_text('gallery_menu', __('Click on the Gallery menu to access NextGEN\'s functionality.', 'nggallery'));
-		$wizard->set_step_target('gallery_menu', 'a.toplevel_page_nextgen-gallery', 'right center', 'left center');
-		$wizard->set_step_view('gallery_menu', 'a.toplevel_page_nextgen-gallery');
-		$wizard->add_step('add_gallery_menu');
-		$wizard->set_step_text('add_gallery_menu', __('Click on the "Add Gallery / Images" menu to create new galleries with images.', 'nggallery'));
-		$wizard->set_step_target('add_gallery_menu', 'a[href*="admin.php?page=ngg_addgallery"]', 'right center', 'left center');
-		$wizard->set_step_view('add_gallery_menu', 'a[href*="admin.php?page=ngg_addgallery"]');
-		$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', 'bottom center', 'top center');
-		$wizard->set_step_target_wait('input_gallery_name', '5');
-		$wizard->set_step_view('input_gallery_name', 'input#gallery_name');
-		$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', 'right center', 'left center');
-		$wizard->set_step_target_wait('select_images', '5');
-		$wizard->set_step_view('select_images', 'a#uploader_browse');
-		$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', 'right center', 'left center');
-		$wizard->set_step_target_wait('upload_images', '5');
-		$wizard->set_step_view('upload_images', 'a#uploader_upload');
-		$wizard->add_step('finish');
-		$wizard->set_step_text('finish', __('Congratulations! You just created your first gallery.', 'nggallery'));
+		/* 
+         * This first sequence was established to just add a gallery via the 
+         * central gallery area. We decided instead on an alternative sequence
+         * below that also inserts the gallery into a page. Just keeping this 
+         * code for reference
+         */
+		// $wizard = $wizards->add_wizard('nextgen.beginner.gallery_creation');
+		// $wizard->add_step('start');
+		// $wizard->set_step_text('start', __('Hello, it looks like you don\'t have any galleries, this wizard will guide you through creating your first gallery.', 'nggallery'));
+		// $wizard->set_step_view('start', 'a.toplevel_page_nextgen-gallery');
+		// $wizard->add_step('gallery_menu');
+		// $wizard->set_step_text('gallery_menu', __('Click on the Gallery menu to access NextGEN\'s functionality.', 'nggallery'));
+		// $wizard->set_step_target('gallery_menu', 'a.toplevel_page_nextgen-gallery', 'right center', 'left center');
+		// $wizard->set_step_view('gallery_menu', 'a.toplevel_page_nextgen-gallery');
+		// $wizard->add_step('add_gallery_menu');
+		// $wizard->set_step_text('add_gallery_menu', __('Click on the "Add Gallery / Images" menu to create new galleries with images.', 'nggallery'));
+		// $wizard->set_step_target('add_gallery_menu', 'a[href*="admin.php?page=ngg_addgallery"]', 'right center', 'left center');
+		// $wizard->set_step_view('add_gallery_menu', 'a[href*="admin.php?page=ngg_addgallery"]');
+		// $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', 'bottom center', 'top center');
+		// $wizard->set_step_target_wait('input_gallery_name', '5');
+		// $wizard->set_step_view('input_gallery_name', 'input#gallery_name');
+		// $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', 'right center', 'left center');
+		// $wizard->set_step_target_wait('select_images', '5');
+		// $wizard->set_step_view('select_images', 'a#uploader_browse');
+		// $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', 'right center', 'left center');
+		// $wizard->set_step_target_wait('upload_images', '5');
+		// $wizard->set_step_view('upload_images', 'a#uploader_upload');
+		// $wizard->add_step('finish');
+		// $wizard->set_step_text('finish', __('Congratulations! You just created your first gallery.', 'nggallery'));
 		
+        /* 
+         * 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->set_step_target('start', 'a.ngg-wizard-invoker', 'bottom center', 'top center');
 		$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');
@@ -342,35 +500,36 @@ class M_NextGen_Admin extends C_Base_Module
 		$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 "Add Gallery / Images" tab to add a new gallery.', 'nggallery'));
-		$wizard->set_step_target('add_gallery_tab', '#attach_to_post_tabs a#ui-id-2', 'bottom center', 'top center');
-		$wizard->set_step_view('add_gallery_tab', '#attach_to_post_tabs a#ui-id-2');
-		$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('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');
+        $wizard->set_step_view('add_gallery_tab', '#attach_to_post_tabs a#ui-id-2');
+        $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->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_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_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', 'right center', 'left center');
+		$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', 'right center', 'left center');
+		$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 "Display Galleries" tab.', 'nggallery'));
-		$wizard->set_step_target('display_gallery_tab', '#attach_to_post_tabs a#ui-id-1', 'bottom center', 'top center');
+		$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);
@@ -381,20 +540,6 @@ class M_NextGen_Admin extends C_Base_Module
 		$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('display_accordion_close');
-		$wizard->set_step_text('display_accordion_close', __('Now let\'s specify which gallery to display. Start by clicking on the "Select a display type" section header to collapse it.', 'nggallery'));
-		$wizard->set_step_target('display_accordion_close', '#displayed_tab #display_type_tab', 'bottom center', 'top center');
-		$wizard->set_step_view('display_accordion_close', '#displayed_tab #display_type_tab');
-		$wizard->set_step_context('display_accordion_close', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('display_accordion_close', true);
-		$wizard->set_step_condition('display_accordion_close', 'wait', '1000');
-		$wizard->add_step('source_accordion_open');
-		$wizard->set_step_text('source_accordion_open', __('Now click on the "What would you like to display?" section\'s header to expand it.', 'nggallery'));
-		$wizard->set_step_target('source_accordion_open', '#displayed_tab #source_tab', 'bottom center', 'top center');
-		$wizard->set_step_view('source_accordion_open', '#displayed_tab #source_tab');
-		$wizard->set_step_context('source_accordion_open', 'iframe[src*="' . NGG_ATTACH_TO_POST_SLUG . '"]');
-		$wizard->set_step_lazy('source_accordion_open', true);
-		$wizard->set_step_condition('source_accordion_open', 'wait', '1000');
 		$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');
@@ -402,8 +547,8 @@ class M_NextGen_Admin extends C_Base_Module
 		$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 Displayed Gallery" button to insert the gallery in your page.', 'nggallery'));
-		$wizard->set_step_target('insert_gallery', '#displayed_tab #save_displayed_gallery', 'right center', 'left center');
+		$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);
@@ -479,10 +624,10 @@ class M_NextGen_Admin extends C_Base_Module
         
 		$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#wizard_starter_icon.png'));
+			$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());
@@ -505,7 +650,7 @@ class M_NextGen_Admin extends C_Base_Module
 	 */
 	function add_menu_pages()
 	{
-		C_Page_Manager::get_instance()->setup();
+		C_NextGen_Admin_Page_Manager::get_instance()->setup();
 	}
 
     function get_type_list()
@@ -519,7 +664,7 @@ class M_NextGen_Admin extends C_Base_Module
             'C_Form' => 'class.form.php',
             'C_Form_Manager' => 'class.form_manager.php',
             'C_Nextgen_Admin_Page_Controller' => 'class.nextgen_admin_page_controller.php',
-            'C_Page_Manager' => 'class.page_manager.php',
+            'C_NextGen_Admin_Page_Manager' => 'class.nextgen_admin_page_manager.php',
 	        'C_Admin_Notification_Manager'  =>  'class.admin_notification_manager.php',
             'C_NextGEN_Wizard_Manager' => 'class.nextgen_wizard_manager.php',
         );
@@ -593,3 +738,4 @@ class C_NextGen_Admin_Option_Handler
 }
 
 new M_NextGen_Admin();
+
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 e1b9895ebf4efe799a24adc89785d0a131f26790..9b5427d38b52fbb4873b76427b4b8ec9f2bd5adb 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
@@ -63,7 +63,7 @@ class A_MVC_Validation extends Mixin
 }
 /**
  * Class A_NextGen_Admin_Default_Pages
- * @mixin C_Page_Manager
+ * @mixin C_NextGen_Admin_Page_Manager
  * @adapts I_Page_Manager
  */
 class A_NextGen_Admin_Default_Pages extends Mixin
@@ -754,21 +754,38 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
     {
         return $this->object->name;
     }
+    // Sets an appropriate screen for NextGEN Admin Pages
+    function set_screen()
+    {
+        $screen = get_current_screen();
+        if ($screen) {
+            $screen->ngg = TRUE;
+        } else {
+            if (is_null($screen)) {
+                $screen = WP_Screen::get($this->object->name);
+                $screen->ngg = TRUE;
+                set_current_screen($this->object->name);
+            }
+        }
+    }
     /**
      * Enqueues resources required by a NextGEN Admin page
      */
     function enqueue_backend_resources()
     {
+        $this->set_screen();
+        if (C_NextGen_Admin_Page_Manager::is_requested()) {
+            M_NextGen_Admin::enqueue_common_admin_static_resources();
+        }
         wp_enqueue_script('jquery');
         $this->object->enqueue_jquery_ui_theme();
         wp_enqueue_script('photocrati_ajax');
         wp_enqueue_script('jquery-ui-accordion');
         wp_enqueue_script('nextgen_display_settings_page_placeholder_stub', $this->get_static_url('photocrati-nextgen_admin#jquery.placeholder.min.js'), array('jquery'), NGG_SCRIPT_VERSION, TRUE);
-        wp_register_script('iris', $this->get_router()->get_url('/wp-admin/js/iris.min.js', FALSE, TRUE), array('jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch'), NGG_SCRIPT_VERSION);
-        wp_register_script('wp-color-picker', $this->get_router()->get_url('/wp-admin/js/color-picker.js', FALSE, TRUE), array('iris'), NGG_SCRIPT_VERSION);
-        wp_localize_script('wp-color-picker', 'wpColorPickerL10n', array('clear' => __('Clear', 'nggallery'), 'defaultString' => __('Default', 'nggallery'), 'pick' => __('Select Color', 'nggallery'), 'current' => __('Current Color', 'nggallery')));
-        wp_enqueue_script('nextgen_admin_page', $this->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'), array('wp-color-picker'), NGG_SCRIPT_VERSION);
-        wp_enqueue_style('nextgen_admin_page', $this->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'), array('wp-color-picker'), NGG_SCRIPT_VERSION);
+        wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', false, NGG_SCRIPT_VERSION);
+        if (method_exists('M_Gallery_Display', 'enqueue_fontawesome')) {
+            M_Gallery_Display::enqueue_fontawesome();
+        }
         // Ensure select2
         wp_enqueue_style('ngg_select2');
         wp_enqueue_script('ngg_select2');
@@ -794,6 +811,19 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
     {
         return $this->object->get_page_title();
     }
+    /**
+     * Returns a header message
+     * @return string
+     */
+    function get_header_message()
+    {
+        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>';
+        }
+        return $message;
+    }
     /**
      * Returns the type of forms to render on this page
      * @return string
@@ -888,6 +918,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
                     }
                 }
                 $tabs[] = $this->object->to_accordion_tab($form);
+                $forms[] = $form;
                 if ($form->has_method('get_model') && $form->get_model()) {
                     if ($form->get_model()->is_invalid()) {
                         if ($form_errors = $this->object->show_errors_for($form->get_model(), TRUE)) {
@@ -898,7 +929,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, 'errors' => $errors, 'success' => $success, '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);
+            $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_merge($index_params, $this->object->get_index_params());
             $this->render_partial($this->object->index_template(), $index_params);
         } else {
@@ -906,6 +937,200 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
         }
     }
 }
+/**
+ * Class C_NextGen_Admin_Page_Manager
+ * @mixin Mixin_Page_Manager
+ * @implements I_Page_Manager
+ */
+class C_NextGen_Admin_Page_Manager extends C_Component
+{
+    static $_instance = NULL;
+    var $_pages = array();
+    /**
+     * Gets an instance of the Page Manager
+     * @param string $context
+     * @return C_NextGen_Admin_Page_Manager
+     */
+    static function &get_instance($context = FALSE)
+    {
+        if (is_null(self::$_instance)) {
+            $klass = get_class();
+            self::$_instance = new $klass($context);
+        }
+        return self::$_instance;
+    }
+    /**
+     * Defines the instance of the Page Manager
+     * @param type $context
+     */
+    function define($context = FALSE)
+    {
+        parent::define($context);
+        $this->add_mixin('Mixin_Page_Manager');
+        $this->implement('I_Page_Manager');
+    }
+    /**
+     * Determines if a NextGEN Admin page is being requested
+     * @return bool|string
+     */
+    static function is_requested()
+    {
+        $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;
+        } else {
+            foreach (self::get_instance()->get_all() as $slug => $properties) {
+                // Are we rendering a NGG added page?
+                if (isset($properties['hook_suffix'])) {
+                    $hook_suffix = $properties['hook_suffix'];
+                    if (did_action("load-{$hook_suffix}")) {
+                        $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);
+    }
+}
+class Mixin_Page_Manager extends Mixin
+{
+    function add($slug, $properties = array())
+    {
+        if (!isset($properties['adapter'])) {
+            $properties['adapter'] = NULL;
+        }
+        if (!isset($properties['parent'])) {
+            $properties['parent'] = NULL;
+        }
+        if (!isset($properties['add_menu'])) {
+            $properties['add_menu'] = TRUE;
+        }
+        if (!isset($properties['before'])) {
+            $properties['before'] = NULL;
+        }
+        if (!isset($properties['url'])) {
+            $properties['url'] = NULL;
+        }
+        $this->object->_pages[$slug] = $properties;
+    }
+    function move_page($slug, $other_slug, $after = false)
+    {
+        $page_list = $this->object->_pages;
+        if (isset($page_list[$slug]) && isset($page_list[$other_slug])) {
+            $slug_list = array_keys($page_list);
+            $item_list = array_values($page_list);
+            $slug_idx = array_search($slug, $slug_list);
+            $item = $page_list[$slug];
+            unset($slug_list[$slug_idx]);
+            unset($item_list[$slug_idx]);
+            $slug_list = array_values($slug_list);
+            $item_list = array_values($item_list);
+            $other_idx = array_search($other_slug, $slug_list);
+            array_splice($slug_list, $other_idx, 0, array($slug));
+            array_splice($item_list, $other_idx, 0, array($item));
+            $this->object->_pages = array_combine($slug_list, $item_list);
+        }
+    }
+    function remove($slug)
+    {
+        unset($this->object->_pages[$slug]);
+    }
+    function get_all()
+    {
+        return $this->object->_pages;
+    }
+    function setup()
+    {
+        $registry = $this->get_registry();
+        $controllers = array();
+        foreach ($this->object->_pages as $slug => $properties) {
+            $post_type = NULL;
+            $page_title = "Unnamed Page";
+            $menu_title = "Unnamed Page";
+            $permission = NULL;
+            $callback = NULL;
+            // There's two type of pages we can have. Some are powered by our controllers, and others
+            // are powered by WordPress, such as a custom post type page.
+            // Is this powered by a controller? If so, we expect an adapter
+            if ($properties['adapter']) {
+                $controllers[$slug] = $registry->get_utility('I_NextGen_Admin_Page', $slug);
+                $menu_title = $controllers[$slug]->get_page_heading();
+                $page_title = $controllers[$slug]->get_page_title();
+                $permission = $controllers[$slug]->get_required_permission();
+                $callback = array(&$controllers[$slug], 'index_action');
+            } elseif ($properties['url']) {
+                $url = $properties['url'];
+                if (preg_match("/post_type=([^&]+)/", $url, $matches)) {
+                    $this->object->_pages[$slug]['post_type'] = $matches[1];
+                }
+                $slug = $url;
+                if (isset($properties['menu_title'])) {
+                    $menu_title = $properties['menu_title'];
+                }
+                if (isset($properties['permission'])) {
+                    $permission = $properties['permission'];
+                }
+            }
+            // Are we to add a menu?
+            if ($properties['add_menu'] && current_user_can($permission)) {
+                $this->object->_pages[$slug]['hook_suffix'] = add_submenu_page($properties['parent'], $page_title, $menu_title, $permission, $slug, $callback);
+                if ($properties['before']) {
+                    global $submenu;
+                    if (empty($submenu[$properties['parent']])) {
+                        $parent = null;
+                    } else {
+                        $parent = $submenu[$properties['parent']];
+                    }
+                    $item_index = -1;
+                    $before_index = -1;
+                    if ($parent != null) {
+                        foreach ($parent as $index => $menu) {
+                            // under add_submenu_page, $menu_slug is index 2
+                            // $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title );
+                            if ($menu[2] == $slug) {
+                                $item_index = $index;
+                            } else {
+                                if ($menu[2] == $properties['before']) {
+                                    $before_index = $index;
+                                }
+                            }
+                        }
+                    }
+                    if ($item_index > -1 && $before_index > -1) {
+                        $item = $parent[$item_index];
+                        unset($parent[$item_index]);
+                        $parent = array_values($parent);
+                        if ($item_index < $before_index) {
+                            $before_index--;
+                        }
+                        array_splice($parent, $before_index, 0, array($item));
+                        $submenu[$properties['parent']] = $parent;
+                    }
+                }
+            }
+        }
+        do_action('ngg_pages_setup');
+    }
+}
+// For backwards compatibility
+// TODO: Remove some time in 2018
+class C_Page_Manager
+{
+    static function get_instance()
+    {
+        return C_NextGen_Admin_Page_Manager::get_instance();
+    }
+    static function is_requested()
+    {
+        return C_NextGen_Admin_Page_Manager::is_requested();
+    }
+}
 /**
  * Class C_NextGEN_Wizard
  */
@@ -1285,151 +1510,4 @@ class C_NextGEN_Wizard_Manager extends C_Component
             $this->_handled_query = true;
         }
     }
-}
-/**
- * Class C_Page_Manager
- * @mixin Mixin_Page_Manager
- * @implements I_Page_Manager
- */
-class C_Page_Manager extends C_Component
-{
-    static $_instance = NULL;
-    var $_pages = array();
-    /**
-     * Gets an instance of the Page Manager
-     * @param string $context
-     * @return C_Page_Manager
-     */
-    static function &get_instance($context = FALSE)
-    {
-        if (is_null(self::$_instance)) {
-            $klass = get_class();
-            self::$_instance = new $klass($context);
-        }
-        return self::$_instance;
-    }
-    /**
-     * Defines the instance of the Page Manager
-     * @param type $context
-     */
-    function define($context = FALSE)
-    {
-        parent::define($context);
-        $this->add_mixin('Mixin_Page_Manager');
-        $this->implement('I_Page_Manager');
-    }
-}
-class Mixin_Page_Manager extends Mixin
-{
-    function add($slug, $properties = array())
-    {
-        if (!isset($properties['adapter'])) {
-            $properties['adapter'] = NULL;
-        }
-        if (!isset($properties['parent'])) {
-            $properties['parent'] = NULL;
-        }
-        if (!isset($properties['add_menu'])) {
-            $properties['add_menu'] = TRUE;
-        }
-        if (!isset($properties['before'])) {
-            $properties['before'] = NULL;
-        }
-        if (!isset($properties['url'])) {
-            $properties['url'] = NULL;
-        }
-        $this->object->_pages[$slug] = $properties;
-    }
-    function move_page($slug, $other_slug, $after = false)
-    {
-        $page_list = $this->object->_pages;
-        if (isset($page_list[$slug]) && isset($page_list[$other_slug])) {
-            $slug_list = array_keys($page_list);
-            $item_list = array_values($page_list);
-            $slug_idx = array_search($slug, $slug_list);
-            $item = $page_list[$slug];
-            unset($slug_list[$slug_idx]);
-            unset($item_list[$slug_idx]);
-            $slug_list = array_values($slug_list);
-            $item_list = array_values($item_list);
-            $other_idx = array_search($other_slug, $slug_list);
-            array_splice($slug_list, $other_idx, 0, array($slug));
-            array_splice($item_list, $other_idx, 0, array($item));
-            $this->object->_pages = array_combine($slug_list, $item_list);
-        }
-    }
-    function remove($slug)
-    {
-        unset($this->object->_pages[$slug]);
-    }
-    function get_all()
-    {
-        return $this->object->_pages;
-    }
-    function setup()
-    {
-        $registry = $this->get_registry();
-        $controllers = array();
-        foreach ($this->object->_pages as $slug => $properties) {
-            $page_title = "Unnamed Page";
-            $menu_title = "Unnamed Page";
-            $permission = NULL;
-            $callback = NULL;
-            // There's two type of pages we can have. Some are powered by our controllers, and others
-            // are powered by WordPress, such as a custom post type page.
-            // Is this powered by a controller? If so, we expect an adapter
-            if ($properties['adapter']) {
-                $controllers[$slug] = $registry->get_utility('I_NextGen_Admin_Page', $slug);
-                $menu_title = $controllers[$slug]->get_page_heading();
-                $page_title = $controllers[$slug]->get_page_title();
-                $permission = $controllers[$slug]->get_required_permission();
-                $callback = array(&$controllers[$slug], 'index_action');
-            } elseif ($properties['url']) {
-                $slug = $properties['url'];
-                if (isset($properties['menu_title'])) {
-                    $menu_title = $properties['menu_title'];
-                }
-                if (isset($properties['permission'])) {
-                    $permission = $properties['permission'];
-                }
-            }
-            // Are we to add a menu?
-            if ($properties['add_menu'] && current_user_can($permission)) {
-                add_submenu_page($properties['parent'], $page_title, $menu_title, $permission, $slug, $callback);
-                if ($properties['before']) {
-                    global $submenu;
-                    if (empty($submenu[$properties['parent']])) {
-                        $parent = null;
-                    } else {
-                        $parent = $submenu[$properties['parent']];
-                    }
-                    $item_index = -1;
-                    $before_index = -1;
-                    if ($parent != null) {
-                        foreach ($parent as $index => $menu) {
-                            // under add_submenu_page, $menu_slug is index 2
-                            // $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title );
-                            if ($menu[2] == $slug) {
-                                $item_index = $index;
-                            } else {
-                                if ($menu[2] == $properties['before']) {
-                                    $before_index = $index;
-                                }
-                            }
-                        }
-                    }
-                    if ($item_index > -1 && $before_index > -1) {
-                        $item = $parent[$item_index];
-                        unset($parent[$item_index]);
-                        $parent = array_values($parent);
-                        if ($item_index < $before_index) {
-                            $before_index--;
-                        }
-                        array_splice($parent, $before_index, 0, array($item));
-                        $submenu[$properties['parent']] = $parent;
-                    }
-                }
-            }
-        }
-    }
 }
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-theme.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-theme.min.css
index a7046af59888307fe92917cc80d9c14ccfbf9f46..8baaea9fa9be024f6997a23be651362249de77a4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-theme.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-theme.min.css
@@ -2,4 +2,4 @@
  * Bootstrap v3.3.7 (http://getbootstrap.com)
  * Copyright 2011-2016 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.navbar-default,.navbar-inverse{border-radius:4px;background-repeat:repeat-x}.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
\ No newline at end of file
+ */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.min.css
index 05e5d2c5f5c8cd15430bb0451fcc3d2b21113e47..1cf6972c7ca9616533d5deeae9df60eae4e5f27a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.min.css
@@ -2,4 +2,4 @@
  * Bootstrap v3.3.7 (Tooltips) (http://getbootstrap.com)
  * Copyright 2011-2016 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.tourist-popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.tourist-popover.top{margin-top:-10px}.tourist-popover.right{margin-left:10px}.tourist-popover.bottom{margin-top:10px}.tourist-popover.left{margin-left:-10px}.tourist-popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.tourist-popover-content{padding:9px 14px}.tourist-popover>.arrow,.tourist-popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tourist-popover>.arrow{border-width:11px}.tourist-popover>.arrow:after{content:"";border-width:10px}.tourist-popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.tourist-popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.tourist-popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.tourist-popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.tourist-popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.tourist-popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.tourist-popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.tourist-popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.tourist-popover .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.428;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.tourist-popover .btn.active.focus,.tourist-popover .btn.active:focus,.tourist-popover .btn.focus,.tourist-popover .btn:active.focus,.tourist-popover .btn:active:focus,.tourist-popover .btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.tourist-popover .btn.focus,.tourist-popover .btn:focus,.tourist-popover .btn:hover{color:#333;text-decoration:none}.tourist-popover .btn.active,.tourist-popover .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
\ No newline at end of file
+ */.tourist-popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.tourist-popover.top{margin-top:-10px}.tourist-popover.right{margin-left:10px}.tourist-popover.bottom{margin-top:10px}.tourist-popover.left{margin-left:-10px}.tourist-popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.tourist-popover-content{padding:9px 14px}.tourist-popover>.arrow,.tourist-popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tourist-popover>.arrow{border-width:11px}.tourist-popover>.arrow:after{content:"";border-width:10px}.tourist-popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.tourist-popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.tourist-popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.tourist-popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.tourist-popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.tourist-popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.tourist-popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.tourist-popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.tourist-popover .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.428;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.tourist-popover .btn.active.focus,.tourist-popover .btn.active:focus,.tourist-popover .btn.focus,.tourist-popover .btn:active.focus,.tourist-popover .btn:active:focus,.tourist-popover .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.tourist-popover .btn.focus,.tourist-popover .btn:focus,.tourist-popover .btn:hover{color:#333;text-decoration:none}.tourist-popover .btn.active,.tourist-popover .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap.min.css
index 7076114c8eb0cd8f13ca3d4580420e92d6cab112..ea3c03b30ff1d330e51cdd71341911df73ee4194 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap.min.css
@@ -2,4 +2,4 @@
  * Bootstrap v3.3.7 (http://getbootstrap.com)
  * Copyright 2011-2016 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.carousel-inner,.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;line-break:auto;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.carousel-control,.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;text-align:left;text-align:start;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;text-align:left;text-align:start;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}
\ No newline at end of file
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.tooltip.in{opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/js/bootstrap.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/js/bootstrap.min.js
index bcd13acfc6d28fe62f6cff827f12a75f54c46bd1..39c1e1b1170637780bd4c295404fec7ebadcb4b9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/js/bootstrap.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/js/bootstrap.min.js
@@ -1,2 +1,2 @@
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.7",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===s?[]:s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.7",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i).prop(i,!1))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target).closest(".btn");e.call(o,"toggle"),t(i.target).is('input[type="radio"], input[type="checkbox"]')||(i.preventDefault(),o.is("input,button")?o.trigger("focus"):o.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e),o="prev"==t&&0===i||"next"==t&&i==this.$items.length-1;if(o&&!this.options.wrap)return e;var n="prev"==t?-1:1,s=(i+n)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){if(!this.sliding)return this.slide("next")},i.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},i.prototype.slide=function(e,o){var n=this.$element.find(".item.active"),s=o||this.getItemForDirection(e,n),a=this.interval,r="next"==e?"left":"right",l=this;if(s.hasClass("active"))return this.sliding=!1;var h=s[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(s)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(s.addClass(e),s[0].offsetWidth,n.addClass(r),s.addClass(r),n.one("bsTransitionEnd",function(){s.removeClass([e,r].join(" ")).addClass("active"),n.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(n.removeClass("active"),s.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var n=function(i){var o,n=t(this),s=t(n.attr("data-target")||(o=n.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(s.hasClass("carousel")){var a=t.extend({},s.data(),n.data()),r=n.attr("data-slide-to");r&&(a.interval=!1),e.call(s,a),r&&s.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",n).on("click.bs.carousel.data-api","[data-slide-to]",n),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.3.7",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l])}}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION):n.call(this)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),+function(t){"use strict";function e(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function i(i){i&&3===i.which||(t(n).remove(),t(s).each(function(){var o=t(this),n=e(o),s={relatedTarget:this};n.hasClass("open")&&(i&&"click"==i.type&&/input|textarea/i.test(i.target.tagName)&&t.contains(n[0],i.target)||(n.trigger(i=t.Event("hide.bs.dropdown",s)),i.isDefaultPrevented()||(o.attr("aria-expanded","false"),n.removeClass("open").trigger(t.Event("hidden.bs.dropdown",s)))))}))}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(o){var n=t(this);if(!n.is(".disabled, :disabled")){var s=e(n),a=s.hasClass("open");if(i(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",i);var r={relatedTarget:this};if(s.trigger(o=t.Event("show.bs.dropdown",r)),o.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger(t.Event("shown.bs.dropdown",r))}return!1}},a.prototype.keydown=function(i){if(/(38|40|27|32)/.test(i.which)&&!/input|textarea/i.test(i.target.tagName)){var o=t(this);if(i.preventDefault(),i.stopPropagation(),!o.is(".disabled, :disabled")){var n=e(o),a=n.hasClass("open");if(!a&&27!=i.which||a&&27==i.which)return 27==i.which&&n.find(s).trigger("focus"),o.trigger("click");var r=" li:not(.disabled):visible a",l=n.find(".dropdown-menu"+r);if(l.length){var h=l.index(i.target);38==i.which&&h>0&&h--,40==i.which&&h<l.length-1&&h++,~h||(h=0),l.eq(h).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=o,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",i).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e,o){return this.each(function(){var n=t(this),s=n.data("bs.modal"),a=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);s||n.data("bs.modal",s=new i(this,a)),"string"==typeof e?s[e](o):a.show&&s.show(o)})}var i=function(e,i){this.options=i,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=300,i.BACKDROP_TRANSITION_DURATION=150,i.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},i.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},i.prototype.show=function(e){var o=this,n=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(n),this.isShown||n.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var n=t.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),n&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var s=t.Event("shown.bs.modal",{relatedTarget:e});n?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(s)}).emulateTransitionEnd(i.TRANSITION_DURATION):o.$element.trigger("focus").trigger(s)}))},i.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(i.TRANSITION_DURATION):this.hideModal())},i.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},i.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},i.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},i.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},i.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},i.prototype.backdrop=function(e){var o=this,n=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var s=t.support.transition&&n;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+n).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),s&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;s?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){o.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},i.prototype.handleUpdate=function(){this.adjustDialog()},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},i.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var o=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=o,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(i){var o=t(this),n=o.attr("href"),s=t(o.attr("data-target")||n&&n.replace(/.*(?=#[^\s]+$)/,"")),a=s.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},s.data(),o.data());o.is("a")&&i.preventDefault(),s.one("show.bs.modal",function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",function(){o.is(":visible")&&o.trigger("focus")})}),e.call(s,a,this)})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tooltip"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.tooltip",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),!i.isInStateTrue())return clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide()},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var o=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!o)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,h=l.test(r);h&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var d=this.getPosition(),p=s[0].offsetWidth,c=s[0].offsetHeight;if(h){var f=r,u=this.getPosition(this.$viewport);r="bottom"==r&&d.bottom+c>u.bottom?"top":"top"==r&&d.top-c<u.top?"bottom":"right"==r&&d.right+p>u.width?"left":"left"==r&&d.left-p<u.left?"right":r,s.removeClass(f).addClass(r)}var g=this.getCalculatedOffset(r,d,p,c);this.applyPlacement(g,r);var m=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",m).emulateTransitionEnd(i.TRANSITION_DURATION):m()}},i.prototype.applyPlacement=function(e,i){var o=this.tip(),n=o[0].offsetWidth,s=o[0].offsetHeight,a=parseInt(o.css("margin-top"),10),r=parseInt(o.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top+=a,e.left+=r,t.offset.setOffset(o[0],t.extend({using:function(t){o.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),o.addClass("in");var l=o[0].offsetWidth,h=o[0].offsetHeight;"top"==i&&h!=s&&(e.top=e.top+s-h);var d=this.getViewportAdjustedDelta(i,e,l,h);d.left?e.left+=d.left:e.top+=d.top;var p=/top|bottom/.test(i),c=p?2*d.left-n+l:2*d.top-s+h,f=p?"offsetWidth":"offsetHeight";o.offset(e),this.replaceArrow(c,o[0][f],p)},i.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},i.prototype.hide=function(e){function o(){"in"!=n.hoverState&&s.detach(),n.$element&&n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);if(this.$element.trigger(a),!a.isDefaultPrevented())return s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o(),this.hoverState=null,this},i.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},i.prototype.hasContent=function(){return this.getTitle()},i.prototype.getPosition=function(e){e=e||this.$element;var i=e[0],o="BODY"==i.tagName,n=i.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=window.SVGElement&&i instanceof window.SVGElement,a=o?{top:0,left:0}:s?null:e.offset(),r={scroll:o?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=o?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,r,l,a)},i.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},i.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},i.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},i.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},i.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var o=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.7",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),+function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},e.prototype.activate=function(e){
-this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.7",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&n<=i?"top":null!=o&&l+h>=t-o&&"bottom"},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery);
\ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.7",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===s?[]:s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.7",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i).prop(i,!1))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target).closest(".btn");e.call(o,"toggle"),t(i.target).is('input[type="radio"], input[type="checkbox"]')||(i.preventDefault(),o.is("input,button")?o.trigger("focus"):o.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o="prev"==t?-1:1,n=(i+o)%this.$items.length;return this.$items.eq(n)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){if(!this.sliding)return this.slide("next")},i.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},i.prototype.slide=function(e,o){var n=this.$element.find(".item.active"),s=o||this.getItemForDirection(e,n),a=this.interval,r="next"==e?"left":"right",l=this;if(s.hasClass("active"))return this.sliding=!1;var h=s[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(s)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(s.addClass(e),s[0].offsetWidth,n.addClass(r),s.addClass(r),n.one("bsTransitionEnd",function(){s.removeClass([e,r].join(" ")).addClass("active"),n.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(n.removeClass("active"),s.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var n=function(i){var o,n=t(this),s=t(n.attr("data-target")||(o=n.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(s.hasClass("carousel")){var a=t.extend({},s.data(),n.data()),r=n.attr("data-slide-to");r&&(a.interval=!1),e.call(s,a),r&&s.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",n).on("click.bs.carousel.data-api","[data-slide-to]",n),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.3.7",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"))&&e.transitioning)){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l])}}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!t.support.transition)return n.call(this);this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),function(t){"use strict";function e(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function i(i){i&&3===i.which||(t(n).remove(),t(s).each(function(){var o=t(this),n=e(o),s={relatedTarget:this};n.hasClass("open")&&(i&&"click"==i.type&&/input|textarea/i.test(i.target.tagName)&&t.contains(n[0],i.target)||(n.trigger(i=t.Event("hide.bs.dropdown",s)),i.isDefaultPrevented()||(o.attr("aria-expanded","false"),n.removeClass("open").trigger(t.Event("hidden.bs.dropdown",s)))))}))}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(o){var n=t(this);if(!n.is(".disabled, :disabled")){var s=e(n),a=s.hasClass("open");if(i(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",i);var r={relatedTarget:this};if(s.trigger(o=t.Event("show.bs.dropdown",r)),o.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger(t.Event("shown.bs.dropdown",r))}return!1}},a.prototype.keydown=function(i){if(/(38|40|27|32)/.test(i.which)&&!/input|textarea/i.test(i.target.tagName)){var o=t(this);if(i.preventDefault(),i.stopPropagation(),!o.is(".disabled, :disabled")){var n=e(o),a=n.hasClass("open");if(!a&&27!=i.which||a&&27==i.which)return 27==i.which&&n.find(s).trigger("focus"),o.trigger("click");var r=n.find(".dropdown-menu li:not(.disabled):visible a");if(r.length){var l=r.index(i.target);38==i.which&&l>0&&l--,40==i.which&&l<r.length-1&&l++,~l||(l=0),r.eq(l).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=o,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",i).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),function(t){"use strict";function e(e,o){return this.each(function(){var n=t(this),s=n.data("bs.modal"),a=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);s||n.data("bs.modal",s=new i(this,a)),"string"==typeof e?s[e](o):a.show&&s.show(o)})}var i=function(e,i){this.options=i,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};i.VERSION="3.3.7",i.TRANSITION_DURATION=300,i.BACKDROP_TRANSITION_DURATION=150,i.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},i.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},i.prototype.show=function(e){var o=this,n=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(n),this.isShown||n.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var n=t.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),n&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var s=t.Event("shown.bs.modal",{relatedTarget:e});n?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(s)}).emulateTransitionEnd(i.TRANSITION_DURATION):o.$element.trigger("focus").trigger(s)}))},i.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(i.TRANSITION_DURATION):this.hideModal())},i.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},i.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},i.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},i.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},i.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},i.prototype.backdrop=function(e){var o=this,n=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var s=t.support.transition&&n;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+n).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){if(this.ignoreBackdropClick)return void(this.ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),s&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;s?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){o.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},i.prototype.handleUpdate=function(){this.adjustDialog()},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},i.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var o=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=o,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(i){var o=t(this),n=o.attr("href"),s=t(o.attr("data-target")||n&&n.replace(/.*(?=#[^\s]+$)/,"")),a=s.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},s.data(),o.data());o.is("a")&&i.preventDefault(),s.one("show.bs.modal",function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",function(){o.is(":visible")&&o.trigger("focus")})}),e.call(s,a,this)})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tooltip"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.tooltip",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),!i.isInStateTrue()){if(clearTimeout(i.timeout),i.hoverState="out",!i.options.delay||!i.options.delay.hide)return i.hide();i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)}},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var o=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!o)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,h=l.test(r);h&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var d=this.getPosition(),p=s[0].offsetWidth,c=s[0].offsetHeight;if(h){var f=r,u=this.getPosition(this.$viewport);r="bottom"==r&&d.bottom+c>u.bottom?"top":"top"==r&&d.top-c<u.top?"bottom":"right"==r&&d.right+p>u.width?"left":"left"==r&&d.left-p<u.left?"right":r,s.removeClass(f).addClass(r)}var g=this.getCalculatedOffset(r,d,p,c);this.applyPlacement(g,r);var m=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",m).emulateTransitionEnd(i.TRANSITION_DURATION):m()}},i.prototype.applyPlacement=function(e,i){var o=this.tip(),n=o[0].offsetWidth,s=o[0].offsetHeight,a=parseInt(o.css("margin-top"),10),r=parseInt(o.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top+=a,e.left+=r,t.offset.setOffset(o[0],t.extend({using:function(t){o.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),o.addClass("in");var l=o[0].offsetWidth,h=o[0].offsetHeight;"top"==i&&h!=s&&(e.top=e.top+s-h);var d=this.getViewportAdjustedDelta(i,e,l,h);d.left?e.left+=d.left:e.top+=d.top;var p=/top|bottom/.test(i),c=p?2*d.left-n+l:2*d.top-s+h,f=p?"offsetWidth":"offsetHeight";o.offset(e),this.replaceArrow(c,o[0][f],p)},i.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},i.prototype.hide=function(e){function o(){"in"!=n.hoverState&&s.detach(),n.$element&&n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);if(this.$element.trigger(a),!a.isDefaultPrevented())return s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o(),this.hoverState=null,this},i.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},i.prototype.hasContent=function(){return this.getTitle()},i.prototype.getPosition=function(e){e=e||this.$element;var i=e[0],o="BODY"==i.tagName,n=i.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=window.SVGElement&&i instanceof window.SVGElement,a=o?{top:0,left:0}:s?null:e.offset(),r={scroll:o?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=o?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,r,l,a)},i.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},i.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},i.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},i.prototype.getUID=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},i.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&((i=t(e.currentTarget).data("bs."+this.type))||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var o=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.7",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},e.prototype.activate=function(e){
+this.activeTarget=e,this.clear();var i=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.7",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.7",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&n<=i?"top":null!=o&&l+h>=t-o&&"bottom"},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css
index 348e1cf448a3ae7feed3134c94b78bfe5a6780cb..2e3949522fc705fc6a0a5328c52fd0c7f391bdbf 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css
@@ -1 +1 @@
-#gritter-notice-wrapper{position:fixed;top:30px;right:20px;width:301px;z-index:999999}#gritter-notice-wrapper.top-left{left:20px;right:auto}#gritter-notice-wrapper.bottom-right{top:auto;left:auto;bottom:20px;right:20px}#gritter-notice-wrapper.bottom-left{top:auto;right:auto;bottom:20px;left:20px}.gritter-item-wrapper{position:relative;margin:0 0 10px;background:url(../images/ie-spacer.gif)}.gritter-top{background:url(../images/gritter.png) left -30px no-repeat;height:10px}.hover .gritter-top{background-position:right -30px}.gritter-bottom{background:url(../images/gritter.png) left bottom no-repeat;height:8px;margin:0}.hover .gritter-bottom{background-position:bottom right}.gritter-item{display:block;background:url(../images/gritter.png) left -40px no-repeat;color:#eee;padding:2px 11px 8px;font-size:11px;font-family:verdana}.hover .gritter-item{background-position:right -40px}.gritter-item p{padding:0;margin:0;word-wrap:break-word}.gritter-close{display:none;position:absolute;top:5px;right:3px;background:url(../images/gritter.png) left top no-repeat;cursor:pointer;width:30px;height:30px}.gritter-title{font-size:14px;font-weight:700;padding:0 0 7px;display:block;text-shadow:1px 1px 0 #000}.gritter-image{width:48px;height:48px;float:left}.gritter-with-image,.gritter-without-image{padding:0}.gritter-with-image{width:220px;float:right}.gritter-light .gritter-bottom,.gritter-light .gritter-close,.gritter-light .gritter-item,.gritter-light .gritter-top{background-image:url(../images/gritter-light.png);color:#222}.gritter-light .gritter-title{text-shadow:none}
\ No newline at end of file
+#gritter-notice-wrapper{position:fixed;top:30px;right:20px;width:301px;z-index:999999}#gritter-notice-wrapper.top-left{left:20px;right:auto}#gritter-notice-wrapper.bottom-right{top:auto;left:auto;bottom:20px;right:20px}#gritter-notice-wrapper.bottom-left{top:auto;right:auto;bottom:20px;left:20px}.gritter-item-wrapper{position:relative;margin:0 0 10px 0;background:url(../images/ie-spacer.gif)}.gritter-top{background:url(../images/gritter.png) no-repeat left -30px;height:10px}.hover .gritter-top{background-position:right -30px}.gritter-bottom{background:url(../images/gritter.png) no-repeat left bottom;height:8px;margin:0}.hover .gritter-bottom{background-position:bottom right}.gritter-item{display:block;background:url(../images/gritter.png) no-repeat left -40px;color:#eee;padding:2px 11px 8px 11px;font-size:11px;font-family:verdana}.hover .gritter-item{background-position:right -40px}.gritter-item p{padding:0;margin:0;word-wrap:break-word}.gritter-close{display:none;position:absolute;top:5px;right:3px;background:url(../images/gritter.png) no-repeat left top;cursor:pointer;width:30px;height:30px}.gritter-title{font-size:14px;font-weight:700;padding:0 0 7px 0;display:block;text-shadow:1px 1px 0 #000}.gritter-image{width:48px;height:48px;float:left}.gritter-with-image,.gritter-without-image{padding:0}.gritter-with-image{width:220px;float:right}.gritter-light .gritter-bottom,.gritter-light .gritter-close,.gritter-light .gritter-item,.gritter-light .gritter-top{background-image:url(../images/gritter-light.png);color:#222}.gritter-light .gritter-title{text-shadow:none}
\ No newline at end of file
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
new file mode 100644
index 0000000000000000000000000000000000000000..2cef0cae5026801384bf570e89bc9674d9e1537c
Binary files /dev/null and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_icon.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_logo.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b9566007a5068d3e454a1f77585492e92e2580b
Binary files /dev/null and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/imagely_logo.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png
index 60a3aac3aa2ef1a78e7a8f362ae0ba9f52fa5840..07b9c0f7cd75ad8c77717977a60ccf95ab7051d3 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.css
index bdf3113325871da5ff5e45d14aef1a1f3bc369aa..af79bd37ee317c3882f119444a74a45909a440a3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.css
@@ -1239,7 +1239,6 @@ body .ui-tooltip {
 
 .ui-tabs-icon {
     float: left;
-    background: url('images/nextgen-logo-small.jpg') no-repeat left center;
     font-size: 18px;
     font-family: HelveticaNeue-Light, 'Helvetica Neue Light', 'Helvetica Neue', sans-serif;
     width: 200px;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.min.css
index 69aa87791dde3efb1a8324c4cc71f622c310c9d3..5a693ea6c677e2664e6cd5100e736a7d19902e59 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.min.css
@@ -2,4 +2,4 @@
  * * http://jqueryui.com
  * * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
  * * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=%22Open%20Sans%22%2C%20sans-serif&fwDefault=normal&fsDefault=13px&cornerRadius=0&bgColorHeader=%23333&bgTextureHeader=flat&bgImgOpacityHeader=0&borderColorHeader=%23333&fcHeader=%23eee&iconColorHeader=%23eee&bgColorContent=%23fff&bgTextureContent=flat&bgImgOpacityContent=0&borderColorContent=%23eee&fcContent=%23333333&iconColorContent=%23cccccc&bgColorDefault=%23f5f5f5&bgTextureDefault=flat&bgImgOpacityDefault=0&borderColorDefault=%23dfdfdf&fcDefault=%23222&iconColorDefault=%23222&bgColorHover=%23e1e1e1&bgTextureHover=flat&bgImgOpacityHover=0&borderColorHover=%23dfdfdf&fcHover=%23222&iconColorHover=%23222&bgColorActive=%23e1e1e1&bgTextureActive=flat&bgImgOpacityActive=65&borderColorActive=%23dfdfdf&fcActive=%23222&iconColorActive=%23222&bgColorHighlight=%23e1e1e1&bgTextureHighlight=flat&bgImgOpacityHighlight=55&borderColorHighlight=%23dfdfdf&fcHighlight=%23222&iconColorHighlight=%23222&bgColorError=%23D54E21&bgTextureError=flat&bgImgOpacityError=0&borderColorError=%23D54E21&fcError=%23eee&iconColorError=%23eee&bgColorOverlay=%23333&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=2px&offsetTopShadow=-2px&offsetLeftShadow=-2px&cornerRadiusShadow=2px
- * * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */.ui-button,.ui-spinner,.ui-spinner-input{vertical-align:middle}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:10px;padding:.5em .5em .5em .7em;border:1px solid #e5e5e5;min-height:0}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;right:.5em;left:initial;top:50%;margin-top:-8px;color:#a0a5aa}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border:1px solid #e5e5e5;border-top:0;overflow:auto;margin:0 0 10px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04) box-shadow: 0 1px 1px rgba(0,0,0,.04)}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;text-align:center;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-multi .ui-datepicker-group,.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-slider-vertical .ui-slider-range-min,.ui-spinner-down{bottom:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0}.ui-spinner-input{border:none;background:0 0;color:inherit;padding:0;margin:.2em 22px .2em .4em}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:"Open Sans",sans-serif;font-size:13px}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:"Open Sans",sans-serif;font-size:1em}.ui-widget-content{border:1px solid #eee;background:url(images/ui-bg_flat_0_fff_40x100.png) 50% 50% repeat-x #fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #333;background:url(images/ui-bg_flat_0_333_40x100.png) 50% 50% repeat-x #333;color:#eee;font-weight:700}.ui-widget-header a{color:#eee}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{background:#fff;font-weight:400;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{font-weight:400;color:#222}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#fff;font-weight:400;color:#222}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#222;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dfdfdf;background:url(images/ui-bg_flat_55_e1e1e1_40x100.png) 50% 50% repeat-x #e1e1e1;color:#222}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#222}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #D54E21;background:url(images/ui-bg_flat_0_D54E21_40x100.png) 50% 50% repeat-x #D54E21;color:#eee}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#eee}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_cccccc_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_eee_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_999999_256x240.png)}.ui-state-active .ui-icon,.ui-state-focus .ui-icon,.ui-state-highlight .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_222_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_eee_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:0}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:0}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:0}.ui-widget-shadow{margin:-2px 0 0 -2px;padding:2px;background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:2px}.ui-tabs-nav .ui-corner-top{-khtml-border-top-left-radius:4px;-khtml-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid #dfdfdf}.ngg_settings_template_wrapper .ui-combobox-input{padding:0!important}.ui-tabs .ui-tabs-nav li{background:#fff;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;margin-bottom:-1px;margin-right:.5em}.ui-tabs .ui-tabs-nav li a{color:#aaa;outline:0;font-size:120%}.ui-tabs .ui-tabs-nav li a:hover{color:#d54e21}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#464646}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{border-top:1px solid #8a8a8a;border-right:1px solid #8a8a8a;border-left:1px solid #8a8a8a;border-bottom:1px solid #fff}.ui-tabs-icon+ul.ui-tabs-nav{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-tabs-icon{float:left;background:url(images/nextgen-logo-small.jpg) left center no-repeat;font-size:18px;font-family:HelveticaNeue-Light,'Helvetica Neue Light','Helvetica Neue',sans-serif;width:200px;height:40px}.ui-tabs-icon .nextgen_logo{display:none}.ui-tabs-icon .nextgen_logo_sub{display:none;font-size:14px}.ui-widget-overlay{background:50% 50% repeat-x #000;opacity:.4;filter:Alpha(Opacity=40);filter:-\9}.ui-widget select{height:2em}.ui-autocomplete{z-index:250}h3.ui-accordion-header,h3.ui-accordion-header.ui-state-default{margin:3px 0 0;font-size:14px;font-weight:600;line-height:20px}h3.ui-accordion-header a:focus,h3.ui-accordion-header:focus{outline:0;box-shadow:none}h3.ui-accordion-header.ui-state-active{border-bottom:1px solid #eee}div.accordion{margin-top:10px}
\ No newline at end of file
+ * * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:10px;padding:.5em .5em .5em .7em;border:1px solid #e5e5e5;min-height:0}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;right:.5em;left:initial;top:50%;margin-top:-8px;color:#a0a5aa}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border:1px solid #e5e5e5;border-top:0;overflow:auto;margin:0 0 10px 0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04) box-shadow: 0 1px 1px rgba(0,0,0,.04)}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:0 0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:"Open Sans",sans-serif;font-size:13px}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:"Open Sans",sans-serif;font-size:1em}.ui-widget-content{border:1px solid #eee;background:#fff url(images/ui-bg_flat_0_fff_40x100.png) 50% 50% repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #333;background:#333 url(images/ui-bg_flat_0_333_40x100.png) 50% 50% repeat-x;color:#eee;font-weight:700}.ui-widget-header a{color:#eee}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{background:#fff;font-weight:400;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{font-weight:400;color:#222}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#fff;font-weight:400;color:#222}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#222;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dfdfdf;background:#e1e1e1 url(images/ui-bg_flat_55_e1e1e1_40x100.png) 50% 50% repeat-x;color:#222}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#222}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #d54e21;background:#d54e21 url(images/ui-bg_flat_0_D54E21_40x100.png) 50% 50% repeat-x;color:#eee}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#eee}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#eee}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_cccccc_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_eee_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_999999_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_222_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_222_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_222_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_eee_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:0}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:0}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:0}.ui-widget-overlay{background:#333 url(images/ui-bg_flat_0_333_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-2px 0 0 -2px;padding:2px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:2px}.ui-tabs-nav .ui-corner-top{-khtml-border-top-left-radius:4px;-khtml-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid #dfdfdf}.ngg_settings_template_wrapper .ui-combobox-input{padding:0!important}.ui-tabs .ui-tabs-nav li{background:#fff;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;margin-bottom:-1px;margin-right:.5em}.ui-tabs .ui-tabs-nav li a{color:#aaa;outline:0;font-size:120%}.ui-tabs .ui-tabs-nav li a:hover{color:#d54e21}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#464646}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{border-top:1px solid #8a8a8a;border-right:1px solid #8a8a8a;border-left:1px solid #8a8a8a;border-bottom:1px solid #fff}.ui-tabs-icon+ul.ui-tabs-nav{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-tabs-icon{float:left;font-size:18px;font-family:HelveticaNeue-Light,'Helvetica Neue Light','Helvetica Neue',sans-serif;width:200px;height:40px}.ui-tabs-icon .nextgen_logo{display:none}.ui-tabs-icon .nextgen_logo_sub{display:none;font-size:14px}.ui-widget-overlay{background:#000 50% 50% repeat-x;opacity:.4;filter:Alpha(Opacity = 40)}.ui-widget select{height:2em}.ui-autocomplete{z-index:250}h3.ui-accordion-header,h3.ui-accordion-header.ui-state-default{margin:3px 0 0 0;font-size:14px;font-weight:600;line-height:20px}h3.ui-accordion-header a:focus,h3.ui-accordion-header:focus{outline:0;box-shadow:none}h3.ui-accordion-header.ui-state-active{border-bottom:1px solid #eee}div.accordion{margin-top:10px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css
index b9d77ec02641f7f1e14704138014beb5b269aef5..bfd91b22e90ec5673293c60ad5ee53711184fe83 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css
@@ -1863,7 +1863,6 @@ body .ui-tooltip {
 
 .ui-tabs-icon {
     float: left;
-    background: url('images/nextgen-logo-small.jpg') no-repeat left center;
     font-size: 18px;
     font-family: HelveticaNeue-Light, 'Helvetica Neue Light', 'Helvetica Neue', sans-serif;
     width: 200px;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.min.css
index 20d9dd2b2ba063732d4d9b1619d25c1c65fce40a..df61f2c7a0f327509df2baef6fb5b14b94ef5afa 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.min.css
@@ -2,4 +2,4 @@
 * http://jqueryui.com
 * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
 * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=sans-serif&fwDefault=normal&fsDefault=12px&cornerRadius=4px&bgColorHeader=ececec&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=dfdfdf&fcHeader=333333&iconColorHeader=999999&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=dfdfdf&fcContent=333333&iconColorContent=333333&bgColorDefault=ececec&bgTextureDefault=04_highlight_hard.png&bgImgOpacityDefault=75&borderColorDefault=dfdfdf&fcDefault=333333&iconColorDefault=333333&bgColorHover=ececec&bgTextureHover=06_inset_hard.png&bgImgOpacityHover=75&borderColorHover=cccccc&fcHover=000000&iconColorHover=333333&bgColorActive=ececec&bgTextureActive=01_flat.png&bgImgOpacityActive=65&borderColorActive=dfdfdf&fcActive=333333&iconColorActive=333333&bgColorHighlight=ffffe0&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=e6db55&fcHighlight=333333&iconColorHighlight=21759b&bgColorError=ffebe8&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cc0000&fcError=cc0000&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=3px
-* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */.ui-spinner,.ui-spinner-input{vertical-align:middle;padding:0}.ui-helper-reset,.ui-menu{list-style:none;outline:0}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-zfix,.ui-widget-overlay{position:absolute;top:0;height:100%;width:100%;left:0}.ui-helper-reset{margin:0;padding:0;border:0;line-height:1.3;text-decoration:none;font-size:100%}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;zoom:1}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;zoom:1}.ui-autocomplete{position:absolute;top:0;cursor:default}* html .ui-autocomplete{width:1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-multi .ui-datepicker-group,.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-dialog{position:absolute;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block}.ui-dialog .ui-dialog-titlebar-close:focus,.ui-dialog .ui-dialog-titlebar-close:hover{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin:.5em 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-slider-vertical .ui-slider-range-min,.ui-spinner-down{bottom:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{padding:2px;margin:0;display:block}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden}.ui-spinner-input{border:none;background:0 0;margin:.2em 22px .2em .4em}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px}.ui-widget{font-family:sans-serif;font-size:12px}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:sans-serif;font-size:1em}.ui-widget-content{border:1px solid #dfdfdf;background:url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x #fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #dfdfdf;background:url(images/ui-bg_highlight-soft_75_ececec_1x100.png) 50% 50% repeat-x #ececec;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #dfdfdf;background:url(images/ui-bg_highlight-hard_75_ececec_1x100.png) 50% 50% repeat-x #ececec;font-weight:400;color:#333}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:url(images/ui-bg_inset-hard_75_ececec_1x100.png) 50% 50% repeat-x #ececec;font-weight:400;color:#000}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #dfdfdf;background:url(images/ui-bg_flat_65_ececec_40x100.png) 50% 50% repeat-x #ececec;font-weight:400;color:#333}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#333;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #e6db55;background:url(images/ui-bg_glass_55_ffffe0_1x400.png) 50% 50% repeat-x #ffffe0;color:#333}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#333}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #c00;background:url(images/ui-bg_glass_95_ffebe8_1x400.png) 50% 50% repeat-x #ffebe8;color:#c00}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#c00}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;float:left}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_999999_256x240.png)}.ui-state-active .ui-icon,.ui-state-default .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_21759b_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ui-accordion .ui-accordion-header{font-size:1.17em;text-shadow:#fff 0 1px 0;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1}.ui-tabs .ui-tabs-nav li{background:#fff;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;margin-bottom:-1px;margin-right:.5em}.ui-tabs .ui-tabs-nav li a{color:#aaa;outline:0;font-size:120%}.ui-tabs .ui-tabs-nav li a:hover{color:#d54e21}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#464646}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{border-top:1px solid #8a8a8a;border-right:1px solid #8a8a8a;border-left:1px solid #8a8a8a;border-bottom:1px solid #fff}.ui-tabs-icon+ul.ui-tabs-nav{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-tabs-icon{float:left;background:url(images/nextgen-logo-small.jpg) left center no-repeat;font-size:18px;font-family:HelveticaNeue-Light,'Helvetica Neue Light','Helvetica Neue',sans-serif;width:200px;height:40px}.ui-tabs-icon .nextgen_logo{display:none}.ui-tabs-icon .nextgen_logo_sub{display:none;font-size:14px}.ui-widget-overlay{background:50% 50% repeat-x #000;opacity:.4;filter:Alpha(Opacity=40);filter:-\9}.ui-widget select{height:2em}
\ No newline at end of file
+* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity = 0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;zoom:1}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;zoom:1}.ui-autocomplete{position:absolute;top:0;cursor:default}* html .ui-autocomplete{width:1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-dialog{position:absolute;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block}.ui-dialog .ui-dialog-titlebar-close:focus,.ui-dialog .ui-dialog-titlebar-close:hover{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:0 0;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px}.ui-widget{font-family:sans-serif;font-size:12px}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:sans-serif;font-size:1em}.ui-widget-content{border:1px solid #dfdfdf;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #dfdfdf;background:#ececec url(images/ui-bg_highlight-soft_75_ececec_1x100.png) 50% 50% repeat-x;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #dfdfdf;background:#ececec url(images/ui-bg_highlight-hard_75_ececec_1x100.png) 50% 50% repeat-x;font-weight:400;color:#333}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#ececec url(images/ui-bg_inset-hard_75_ececec_1x100.png) 50% 50% repeat-x;font-weight:400;color:#000}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #dfdfdf;background:#ececec url(images/ui-bg_flat_65_ececec_40x100.png) 50% 50% repeat-x;font-weight:400;color:#333}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#333;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #e6db55;background:#ffffe0 url(images/ui-bg_glass_55_ffffe0_1x400.png) 50% 50% repeat-x;color:#333}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#333}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #c00;background:#ffebe8 url(images/ui-bg_glass_95_ffebe8_1x400.png) 50% 50% repeat-x;color:#c00}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#c00}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#c00}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity = 70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity = 35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity = 35)}.ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_333333_256x240.png)}.ui-widget-content .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_999999_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_333333_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_21759b_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity = 30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity = 30);-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ui-icon{float:left}.ui-accordion .ui-accordion-header{font-size:1.17em;text-shadow:#fff 0 1px 0;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1}.ui-tabs .ui-tabs-nav li{background:#fff;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;margin-bottom:-1px;margin-right:.5em}.ui-tabs .ui-tabs-nav li a{color:#aaa;outline:0;font-size:120%}.ui-tabs .ui-tabs-nav li a:hover{color:#d54e21}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#464646}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{border-top:1px solid #8a8a8a;border-right:1px solid #8a8a8a;border-left:1px solid #8a8a8a;border-bottom:1px solid #fff}.ui-tabs-icon+ul.ui-tabs-nav{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-tabs-icon{float:left;font-size:18px;font-family:HelveticaNeue-Light,'Helvetica Neue Light','Helvetica Neue',sans-serif;width:200px;height:40px}.ui-tabs-icon .nextgen_logo{display:none}.ui-tabs-icon .nextgen_logo_sub{display:none;font-size:14px}.ui-widget-overlay{background:#000 50% 50% repeat-x;opacity:.4;filter:Alpha(Opacity = 40)}.ui-widget select{height:2em}
\ No newline at end of file
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 e97a670f86c92d7757c051cf4b3738c4c858a895..f781330f8832d9d83e91ec9cddcfc451cc4f1807 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
@@ -1,3 +1,43 @@
+/***
+ *
+ *  CONTENTS
+ * 
+ *  1) NGG Admin CSS: Original 2.0 CSS
+ *      Note: This is original NextGEN 2.0 Admin CSS. We've 
+ *      left here as a backward compatibility safety net.
+ *  2) NGG Admin CSS: General Styles
+ *  3) NGG Admin CSS: Header and Menu
+ *  4) NGG Admin CSS: Main Content
+ *      Note: This CSS sheet also includes substantial CSS for the Attach to Post window. Although 
+ *      better separateion of concerns could be achieved by moving it to the attach_to_post module, 
+ *      it is here because it directly mimics styling of other pages, and keeping it here ensures 
+ *      consistency and simplifies changes. 
+ *  5) NGG Admin CSS: Tables 
+ *  6) NGG Admin CSS: Custom Post Types
+ *      Note: This CSS mostly affects Pro functionality (Orders, Pricelists, Proofs, Coupons, etc), 
+ *      but is included here using generic CSS selectors because a) it is common to all of the above, 
+ *      and b) centralizing it here allows for more efficient changes and c) future custom post type
+ *      interfaces will use the same styling, be they basic or pro. Adding it here also acts to 
+ *      ensure style consistency for users who update to the NextGEN redesign version, while still 
+ *      running an older version of NextGEN Pro.
+ *  7) NGG Admin CSS: Media Queries
+ *
+ ***/
+
+/***** 1) NGG Admin CSS: Original 2.0 CSS *****/
+
+.ngg-admin .notice, 
+.ngg-admin div.updated, 
+.ngg-admin div.error {
+    margin: 20px 15px 0 0;
+}
+
+.ngg-admin #ngg_page_content .notice, 
+.ngg-admin #ngg_page_content div.updated, 
+.ngg-admin #ngg_page_content div.error {
+    margin: 20px 0 20px 0;
+}
+
 .hidden {
 	display: none;
 }
@@ -11,6 +51,7 @@
 
 .url_field {
 	width: 400px;
+    max-width: 100%;
 }
 
 .nextgen_settings_colorpicker {
@@ -29,13 +70,14 @@ table.nextgen_settings_position {
 }
 
 
-span.tooltip,
-label.tooltip {
+#ngg_page_content span.tooltip,
+#ngg_page_content label.tooltip {
     outline: none;
     background-image: url('information.png');
     background-repeat: no-repeat;
-    padding-left: 18px;
+    padding-left: 22px;
     padding-bottom: 4px;
+    background-size: 18px;
 }
 
 #poststuff .ui-accordion h3 {
@@ -51,4 +93,939 @@ label.tooltip {
 
 #lightbox_effects_content tr {
     height: 28px;
+}
+
+/***** 2) NGG Admin CSS: General Styles *****/
+
+.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;
+    /*background: rgb(247, 248, 243);*/
+    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: rgb(247, 248, 243);
+}
+
+.ngg_manage_albums, 
+.ngg_manage_galleries, 
+.ngg_manage_images,
+.ngg_manage_images,
+.ngg_gallery_sort {
+    background: #fcfcfc;
+}
+
+#ngg_page_content .wrap {
+    margin: 0;
+}
+
+#ngg_page_content .about-wrap {
+    max-width: 100%;
+    background: #fff;
+    float: left;
+    background: rgb(247, 248, 243);
+}
+
+#ngg_page_content a {
+    color: #9fbb1a;
+}
+
+#ngg_page_content button,
+#ngg_page_content .button-primary,
+#ngg_page_content .button-secondary {
+    /*background-color: #9FBB1A !important;*/
+    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;
+}
+
+#ngg_page_content button:hover,
+#ngg_page_content .button-primary:hover,
+#ngg_page_content .button-secondary:hover {
+    background-color: #A9C524;
+}
+
+#ngg_page_content button:active,
+#ngg_page_content .button-primary:active,
+#ngg_page_content .button-secondary: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.updated button, 
+.ngg-admin #ngg_page_content div.error button {
+    background-color: transparent !important;
+    padding: 0;
+}
+
+#ngg_page_content button,
+.ngg-admin .notice button, 
+.ngg-admin div.updated button, 
+.ngg-admin div.error button {
+    background: transparent;
+}
+
+#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 .button span.wp-color-result-text {
+    /*background: transparent;
+    color: inherit;
+    padding: inherit;
+    border: none;*/
+    /*border: 1px solid #dbdbdb;*/
+}
+
+#ngg_page_content input[type="checkbox"] {
+    height: 16px !important;
+    width: 16px !important;
+}
+
+#ngg_page_content.ngg_settings_page form > p {
+    width: 83%;
+    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 { /* Chrome */
+  color: #aaa;
+}
+#ngg_page_content :-ms-input-placeholder { /* IE 10+ */
+  color: #aaa;
+}
+#ngg_page_content ::-moz-placeholder { /* Firefox 19+ */
+  color: #aaa;
+  opacity: 1;
+}
+#ngg_page_content :-moz-placeholder { /* Firefox 4 - 18 */
+  color: #aaa;
+  opacity: 1;
+}
+
+.ngg-admin .select2-drop.select2-drop-above .select2-search input {
+    width: 100%;
+}
+
+/***** 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;
+} 
+
+#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 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;
+}
+
+#ngg_page_content .ngg_page_content_header .ngg_save_settings_button {
+    margin: 0 !important;;
+}
+
+#ngg_page_content .ngg_page_content_menu {
+    padding: 20px;
+    width: 17%;
+    float: left;
+    padding: 0;
+    height: 100%;
+    background: rgb(247, 248, 243);
+    margin-top: 5px;
+}
+
+#ngg_page_content .ngg_page_content_menu a {   
+    border-top: 1px solid #f7f8f3;
+    border-bottom: 1px solid #f7f8f3; 
+    border-right: 1px solid #f7f8f3;
+    border-left: 5px solid rgba(247,248,243,.76);
+    box-shadow: none!important;
+    color: #9fbb1a;
+    cursor: pointer;
+    display: block;
+    font-weight: 400;
+    font-size: 14px;
+    padding: 15px 10px 15px 15px;
+    line-height: 22px;
+    margin: 0;
+    text-decoration: none;
+    border-top: 1px solid #f7f8f3;
+    border-bottom: 1px solid #f7f8f3;
+}
+
+/* Responsive Navigation */
+.responsive-menu-icon {
+   cursor: pointer;
+   display: none;
+   margin-bottom: 5px;
+   text-align: left;
+}
+
+.responsive-menu-icon::before {
+   color: #fff;
+   content: '\f0c9';
+   display: block;
+   font: normal 20px/1 'FontAwesome';
+   margin: 0 auto;
+   text-align: center;
+}
+
+#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active, 
+#ngg_page_content .ngg_page_content_menu a:active {
+    outline: 0;
+    outline-width: 0;
+    outline-color: transparent;
+    border-left: 5px solid #b7d243;
+    border-right: 1px solid #fff;
+    background-color: #fff;
+    color: #2e4453;
+    border-top: 1px solid rgba(159, 187, 26, 0.2);
+    border-bottom: 1px solid rgba(159, 187, 26, 0.2); 
+}
+
+#ngg_page_content .ngg_page_content_menu a:before {
+    content: "\f107";
+    float: left;
+    font: normal 16px/1 'FontAwesome';
+    height: 16px;
+    right: 0;
+    margin-top: 3px;
+    text-align: right;
+    z-index: 9999;
+    padding-right: 10px;
+    content: "\f1de";
+}
+
+/***** 4) NGG Admin CSS: Main Content *****/
+
+#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%;
+}
+
+#ngg_page_content .ngg_overview .ngg_page_content_main, 
+#ngg_page_content.ngg_settings_page .ngg_page_content_main {
+    width: 83%;
+}
+
+.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;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main > div,
+#ngg_page_content .ngg_overview .ngg_page_content_main > div,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main > div {
+    display: none;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main > div:first-of-type,
+#ngg_page_content .ngg_overview .ngg_page_content_main > div:first-of-type,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .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, 0.85);
+    font-size: 18px;
+    margin: 20px 0;
+    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 #eee;
+    padding-left: 10px;
+    box-shadow: none;
+    width: 200px;
+}
+
+#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;
+    background-image: none;
+    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"] input, 
+#ngg_page_content .ngg_page_content_main div[data-id="lightbox_effects"] select,
+#ngg_page_content .ngg_page_content_main div[data-id="lightbox_effects"] .select2-container {
+    width: 250px;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type="radio"],
+#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type="radio"] {
+    border-radius: 50% !important;
+    height: 16px !important;
+    width: 16px !important;
+    padding: 0 !important;
+    vertical-align: middle;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type="radio"]:checked:before,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .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;
+}
+
+/***** 5) NGG Admin CSS: Tables *****/
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main table,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table {
+    color: rgba(29, 36, 42, 0.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 rgb(247, 248, 243);
+    padding: 5px 0 !important;
+    height: auto;
+}
+
+#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,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td {
+    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: rgba(118, 169, 52, 0.75);
+    color: #aaa;
+    vertical-align: middle;
+}
+ 
+.ngg-admin #ngg_page_content .widefat thead th,
+.ngg-admin #ngg_page_content .widefat tfoot th {
+    padding: 0 10px;
+    color: #fff;
+    text-transform: uppercase;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th {
+    font-weight: normal !important;
+    font-size: 13px !important;
+    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;
+    font-weight: 400;
+    padding-top: 8px;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main table table tr td:first-of-type,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table table tr td:first-of-type {
+    width: auto;
+    font-weight: 400;
+    padding: 10px 20px;
+}
+
+#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);
+}
+
+#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%;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main label,
+#attach_to_post_tabs #displayed_tab #ngg_page_content .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 tr:nth-of-type(2n),
+#ngg_page_content.ngg_settings_page .nextgen_settings_position td {
+    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;
+}
+
+/***** 6) NGG Admin CSS: NextGEN Pro Custom Post Types *****/
+
+/* First, CSS for post type lists */
+
+.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_admin_notice {
+    display: none;
+}
+
+.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-pages-navspan,
+.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages a {
+    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, 0.08)
+}
+
+.ngg-post-type .ngg_page_content_main table thead,
+.ngg-post-type .ngg_page_content_main table tfoot {
+    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 thead a,
+.ngg-post-type .ngg_page_content_main table tfoot a {
+    padding: 0;
+}
+
+.ngg-post-type .ngg_page_content_main table thead span,
+.ngg-post-type .ngg_page_content_main table tfoot span {
+    color: #fff;
+    font-size: 15px;
+}
+
+.ngg-post-type .ngg_page_content_main table thead th, 
+.ngg-post-type .ngg_page_content_main table thead td {
+    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: rgb(247, 248, 243);
+} 
+
+.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: rgba(118, 169, 52, 0.75) !important;
+    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: rgba(118, 169, 52, 0.75);
+    color: #aaa;
+    vertical-align: middle;
+}
+ 
+.ngg-post-type #ngg_page_content .widefat thead th,
+.ngg-post-type #ngg_page_content .widefat tfoot th {
+    padding: 0 10px;
+    color: #fff;
+    text-transform: uppercase;
+}
+
+.ngg-post-type .ngg_page_content_main .tablenav.bottom {
+    margin: 10px 0 0;
+}
+
+/* Second, CSS for individual post type edit pages */
+
+.ngg-post-type #ngg_page_content h3.accordion_tab,
+.ngg-admin #postbox-container-2 h2.ui-sortable-handle {
+    padding: 10px;
+    background: #38576f;
+    margin-bottom: 0;
+}
+
+.ngg-post-type #ngg_page_content h3.accordion_tab a,
+.ngg-admin #postbox-container-2 h2.ui-sortable-handle {
+    color: #fff;
+    text-decoration: none;
+}
+
+.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);
+    margin-bottom: 30px;
+    background-color: rgb(247, 248, 243);
+}
+
+.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 th,
+.ngg-admin #postbox-container-2 .postbox .inside td {
+    padding: 5px 10px;
+}
+
+.ngg-post-type .accordion > div .button-primary,
+.ngg-admin #postbox-container-2 .postbox .inside .button-primary {
+    margin: 15px 0 0;
+}
+
+.ngg-post-type table input[type=text] {
+    margin: 0;
+}
+
+/* 7) NGG Admin CSS: Media Queries */
+
+@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: transparent !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_page_content_header h3,
+    #ngg_page_content .ngg_overview .ngg_page_content_header h3 {
+        font-size: 14px;
+    }
+    #ngg_page_content .ngg_page_content_menu, 
+    #ngg_page_content .ngg_overview .ngg_page_content_main, 
+    #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;
+    }
+    #ngg_page_content.ngg_settings_page .ngg_page_content_main table,
+    #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,
+    #ngg_page_content.ngg_settings_page .ngg_page_content_main tbody,
+    #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main tbody {
+        display: block !important;
+        max-width: 100%;
+    }
+    #ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden {
+        display: none !important;
+    }
+    #attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration {
+        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;
+    }
+    #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,
+    #attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td {
+        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 input[type="text"],
+    #ngg_page_content .ngg_page_content_main input[type="number"],
+    #ngg_page_content .ngg_page_content_main select,
+    #ngg_page_content .ngg_page_content_main .select2-container {
+        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 {
+        width: 100%;
+    }
+    .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,
+    #ngg_page_content .button-primary,
+    #ngg_page_content .button-secondary {
+        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;
+        margin: 4px 0;
+        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;
+    }
+    /* Responsive Navigation on Mobile */
+    #ngg_page_content .responsive-menu-icon {
+        display: block;
+        background: #9fbb1a;
+        padding: 10px 0 20px;
+    }
+    #ngg_page_content .responsive-menu {
+        display: none;
+        float: none;
+        margin: 0;
+    }
+    #ngg_page_content .responsive-menu a {
+        display: block;
+    }
 }
\ 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 4a90db6bd3bc24a99d07462689e28aed27e7b73c..f882851173832f56e0ca933f60383e7b79936fb5 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
@@ -1,14 +1,39 @@
 jQuery(function($){
 
-    // Activate accordions
-    $('.accordion').accordion({
-        clearStyle: true,
-        autoHeight: false,
-        heightStyle: 'content',
-        collapsible: true,
-        icons: {
-            header: 'ui-icon-triangle-1-s',
-            activeHeader: 'ui-icon-triangle-1-n'
+    /* Set active link color and show form sections when menu item is clicked */
+    $('.ngg_page_content_menu a:first-of-type').addClass("ngg_page_content_menu_active");
+
+    $('.ngg_page_content_menu a').click( function(e) {
+        
+        /* Add color to only the active link */
+        $('.ngg_page_content_menu a').removeClass("ngg_page_content_menu_active");
+        $(this).addClass("ngg_page_content_menu_active");
+
+        /* Show the associated div */
+        var id = $(this).attr('data-id');
+        $('.ngg_page_content_main > div').css("display", "none");
+        $('div[data-id="' + $(this).attr('data-id') + '"]').css("display", "block");
+
+    });
+
+    /* Set up responsive menu for mobile devices. */   
+    $(".responsive-menu-icon").remove();
+    $(".ngg_page_content_menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>');
+
+    $(".responsive-menu-icon").click(function(){
+        $(this).next(".ngg_page_content_menu").slideToggle( "fast" );
+    });
+
+    $(window).resize(function(){
+        if(window.innerWidth > 640) {
+            $(".ngg_page_content_menu").removeAttr("style");
+            $(".responsive-menu > a").removeClass("menu-open");
+        }
+    });
+
+    $(".responsive-menu > a").click(function(event){
+        if(window.innerWidth < 782) {
+            $(this).parent(".ngg_page_content_menu").slideToggle( "fast" );
         }
     });
 
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 2c1626ca6fd734354b26e41396d30154dca61712..d76a4c66327dde09e907e98025cae0f3cccdff19 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 @@
-.hidden{display:none}.nextgen_advanced_toggle_link{font-size:11px;position:relative;bottom:5px;color:#444}.url_field{width:400px}.nextgen_settings_colorpicker{width:85px!important;text-align:center;margin-left:50px}#nextgen_settings_wmXpos,#nextgen_settings_wmYpos{width:65px!important}table.nextgen_settings_position{width:auto!important}label.tooltip,span.tooltip{outline:0;background-image:url(information.png);background-repeat:no-repeat;padding-left:18px;padding-bottom:4px}#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}
\ 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 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_colorpicker{width:85px!important;text-align:center;margin-left:50px}#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:#f7f8f3}.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%;background:#fff;float:left;background:#f7f8f3}#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}#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:83%;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 0;font-size:15px;font-style:italic;font-weight:400;color:#cdd3d8;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{padding:20px;width:17%;float:left;padding:0;height:100%;background:#f7f8f3;margin-top:5px}#ngg_page_content .ngg_page_content_menu a{border-top:1px solid #f7f8f3;border-bottom:1px solid #f7f8f3;border-right:1px solid #f7f8f3;border-left:5px solid rgba(247,248,243,.76);box-shadow:none!important;color:#9fbb1a;cursor:pointer;display:block;font-weight:400;font-size:14px;padding:15px 10px 15px 15px;line-height:22px;margin:0;text-decoration:none;border-top:1px solid #f7f8f3;border-bottom:1px solid #f7f8f3}.responsive-menu-icon{cursor:pointer;display:none;margin-bottom:5px;text-align:left}.responsive-menu-icon::before{color:#fff;content:'\f0c9';display:block;font:normal 20px/1 FontAwesome;margin:0 auto;text-align:center}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#ngg_page_content .ngg_page_content_menu a:active{outline:0;outline-width:0;outline-color:transparent;border-left:5px solid #b7d243;border-right:1px solid #fff;background-color:#fff;color:#2e4453;border-top:1px solid rgba(159,187,26,.2);border-bottom:1px solid rgba(159,187,26,.2)}#ngg_page_content .ngg_page_content_menu a:before{content:"\f107";float:left;font:normal 16px/1 FontAwesome;height:16px;right:0;margin-top:3px;text-align:right;z-index:9999;padding-right:10px;content:"\f1de"}#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%}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:83%}.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;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 #eee;padding-left:10px;box-shadow:none;width:200px}#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;background-image:none;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}#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:rgba(118,169,52,.75);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}#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:#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_admin_notice{display:none}.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:rgba(118,169,52,.75)!important;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:rgba(118,169,52,.75);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%}#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden{display:none!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration{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{width:100%}.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;margin:4px 0;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 20px}#ngg_page_content .responsive-menu{display:none;float:none;margin:0}#ngg_page_content .responsive-menu a{display:block}}
\ 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 c477e605fd2ff4be0aed8f7167895ce3b7a69b7e..41b801d25a52d5a857b9f36f154a09d73d8ef25d 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(t){t(".accordion").accordion({clearStyle:!0,autoHeight:!1,heightStyle:"content",collapsible:!0,icons:{header:"ui-icon-triangle-1-s",activeHeader:"ui-icon-triangle-1-n"}}),t('input[type="submit"], button[type="submit"]').click(function(e){var i=t(this),n=!1;if((n=i.attr("data-confirm"))&&!confirm(n))return void e.preventDefault();if(i.attr("name").indexOf("_proxy")!=-1){var a=i.attr("data-proxy-value");a||(a=i.attr("value"));var r=i.attr("name").replace("_proxy",""),l=t('input[name="'+r+'"]');l.length>0?l.val(a):(l=t("<input/>").attr({type:"hidden",name:r,value:a}),i.parents("form").append(l))}}),t(".nextgen_advanced_toggle_link").on("click",function(e){e.preventDefault();var i="#"+t(this).attr("rel"),n=t(this);t(i).toggle(500,"swing",function(){t(this).hasClass("hidden")?(t(this).removeClass("hidden"),n.text(n.attr("active_label"))):(t(this).addClass("hidden"),n.text(n.attr("hidden_label")))})}),t("input.nextgen_settings_field_colorpicker").wpColorPicker(),t("#ngg_page_content").css("visibility","visible")});
\ 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(n){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(n){window.innerWidth<782&&e(this).parent(".ngg_page_content_menu").slideToggle("fast")}),e('input[type="submit"], button[type="submit"]').click(function(n){var t=e(this),i=!1;if((i=t.attr("data-confirm"))&&!confirm(i))return void n.preventDefault();if(-1!=t.attr("name").indexOf("_proxy")){var a=t.attr("data-proxy-value");a||(a=t.attr("value"));var s=t.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}),t.parents("form").append(o))}}),e(".nextgen_advanced_toggle_link").on("click",function(n){n.preventDefault();var t="#"+e(this).attr("rel"),i=e(this);e(t).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")});
\ 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 38bec514a32e5bae790718fe4631c6b33ae6b0b1..cb7734e7655d4f0ca59c55e7e4879f2f5ef78beb 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
@@ -69,7 +69,7 @@ overflow: visible;
 transform: none;
 }
 .tourist-popover .ngg-wizard-text {
-margin: 1em 1.4em 1em 1.1em;
+margin: 30px 20px;
 }
 .tourist-popover .ngg-wizard-loading {
 text-align: center;
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 0bb87fd6a265d2b947bebd8959380ec5765f5c4b..cd2c1096eea51025fb691be72766c2374f0d465a 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:100100!important}.tourist-popover .arrow:after{background-color:transparent;box-shadow:none;left:auto;top:auto;transform:none}.tourist-popover .ngg-wizard-text{margin:1em 1.4em 1em 1.1em}.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:50px;height:50px}#ngg-wizard-anchor{position:fixed;top:50%;left:50%;margin-left:-25px;margin-top:-25px}.tourist-popover{z-index:100100!important}.tourist-popover .arrow{margin-left:0;bottom:auto;overflow:visible}.tourist-popover .arrow:after{background-color:transparent;box-shadow:none;margin-left:0;bottom:auto;left:auto;top:auto;overflow:visible;transform:none}.tourist-popover .ngg-wizard-text{margin:30px 20px}.tourist-popover .ngg-wizard-loading{text-align:center;margin:5px 0 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 4d93cb91d8a082d50906f1d3d66cd75cba7a1b58..aa29813465aeddc309cac3f556e7e479b54c916c 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++){var i=this.steps[e];if(i.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.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.hasClass("thickbox"))&&i.done(e)}),this.reset=function(){if(e.is("a")){var t=e.attr("href");t.startsWith("#")||(t+=t.indexOf("?")==-1?"?":"&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.attr("href",t))}}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.reset=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.reset=function(){}}function o(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 a=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){a.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(o.prototype,t.prototype);var s=null;s={handler:o,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']"},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 fa fa-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=[],o=0;o<i.size();o++){var a=jQuery(i.get(o));try{if(a.prop("contentWindow").document==e)return[a]}catch(t){continue}var s=r(a.contents(),e);if(s.length>0){n.push(a);for(var u=0;u<s.length;u++)n.push(s[u]);break}}return n},o=r(jQuery(document),t.get(0).ownerDocument),a=0;a<o.length;a++){var s=o[a],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 o=e.wizards[r];if(o.id==i){n=o;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("undefined"==typeof 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++){var i=this.nggEvents[e];if(i.type==t)return!0}return!1},getViewForSelector:function(t,e){var i=null;"undefined"==typeof 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,o=i.running_wizard;if(n>0){var a=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');a.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),a.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),a.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),a.hide(),a.appendTo("body"),this.starter=a;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==o?(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,o=e.view,a=null,s=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(a=l.find(r),a.size()>0?d=!0:a=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else a=this.anchor;return null!=o&&(s=l.find(o),s.size()>0&&(u=this.getViewFor(s,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d,i.target=a,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,o=[],a=null;if(null!=e.view&&(a=this.getViewFor(jQuery(e.view),t.id),null==a))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,o=this.ngg_step_data,a=!0;if(null!=o.condition&&(this.condition_met||(a=!1,this.condition_setup||this.setupCondition(t,e))),a&&null!=r){var s=r.getNextStep(this.ngg_step_id);if(null!=s&&s.lazy){a=!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")?(a=r.manager.computeStepTarget(r,s,u),!a||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(a=!1)):a=!0)}}if(a)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)}}},d=this.computeStepTarget(t,u,l);if(!d)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,o=r.type,a=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([]),d=null;if(s){s=s.slice(0);var h=s.pop();l=i.manager.getContextObject(s).find(h)}if(l.size()>0){var c=l.get(0).ownerDocument;d=c.defaultView||c.parentWindow}switch(o){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var g=this;Frame_Event_Publisher.listen_for(a,function(){g.condition_met=!0})}break;case"event_bind":case"plupload_bind":var p=l.size()>0;if("plupload_bind"==o&&("undefined"!=typeof l.pluploadQueue?l=l.pluploadQueue():p=!1),p){this.condition_setup=!0;var g=this;l.bind(a,function(){g.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(a))this.condition_met=!0;else{var g=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==a&&(g.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var g=this;setTimeout(function(){g.condition_met=!0},a)}}var f=jQuery(".tourist-popover .ngg-wizard-text"),v=f.find(".ngg-wizard-loading");if(v.hide(),this.condition_setup&&!this.condition_met&&u>0){this.condition_timeout=0,0==v.length&&(v=jQuery('<div class="ngg-wizard-loading"></div>'),f.append(v)),v.html("Loading... ("+Math.ceil(u/1e3).toString()+")"),v.show();var w=1e3,g=this;g.condition_timer=setInterval(function(){g.condition_timeout+=w,g.condition_timeout>=u&&(g.condition_met=!0);var t=(Math.floor(g.condition_timeout/1e3),Math.ceil(u/1e3),Math.floor((u-g.condition_timeout)/1e3));v.html("Loading... ("+t.toString()+")"),g.condition_met&&(v.hide(),clearInterval(g.condition_timer),g.condition_timer=null)},w)}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.reset(),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))},o.push(l)}var h={steps:o,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=a&&(h.stepOptions.view=a);var c=new Tourist.Tour(h);for(c.ngg_wizard_id=t.id,c.ngg_wizard=t;r>0;)c.next(),r--;return{result:"ok",tour:c}}},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.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.hasClass("thickbox"))&&i.done(e)}),this.reset=function(){if(e.is("a")){var t=e.attr("href");t.startsWith("#")||(-1==t.indexOf("?")?t+="?":t+="&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.attr("href",t))}}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.reset=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.reset=function(){}}function o(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 a=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){a.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(o.prototype,t.prototype);var s=null;s={handler:o,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']"},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 fa fa-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=[],o=0;o<i.size();o++){var a=jQuery(i.get(o));try{if(a.prop("contentWindow").document==e)return[a]}catch(t){continue}var s=r(a.contents(),e);if(s.length>0){n.push(a);for(var u=0;u<s.length;u++)n.push(s[u]);break}}return n},o=r(jQuery(document),t.get(0).ownerDocument),a=0;a<o.length;a++){var s=o[a],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 o=e.wizards[r];if(o.id==i){n=o;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,o=i.running_wizard;if(n>0){var a=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');a.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),a.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),a.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),a.hide(),a.appendTo("body"),this.starter=a;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==o?(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,o=e.view,a=null,s=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(a=l.find(r),a.size()>0?d=!0:a=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else a=this.anchor;return null!=o&&(s=l.find(o),s.size()>0&&(u=this.getViewFor(s,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d,i.target=a,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,o=[],a=null;if(null!=e.view&&null==(a=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,o=this.ngg_step_data,a=!0;if(null!=o.condition&&(this.condition_met||(a=!1,this.condition_setup||this.setupCondition(t,e))),a&&null!=r){var s=r.getNextStep(this.ngg_step_id);if(null!=s&&s.lazy){a=!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")?!(a=r.manager.computeStepTarget(r,s,u))||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(a=!1):a=!0)}}if(a)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,o=r.type,a=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(o){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var c=this;Frame_Event_Publisher.listen_for(a,function(){c.condition_met=!0})}break;case"event_bind":case"plupload_bind":var g=l.size()>0;if("plupload_bind"==o&&(void 0!==l.pluploadQueue?l=l.pluploadQueue():g=!1),g){this.condition_setup=!0;var c=this;l.bind(a,function(){c.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(a))this.condition_met=!0;else{var c=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==a&&(c.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var c=this;setTimeout(function(){c.condition_met=!0},a)}}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.reset(),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))},o.push(l)}var d={steps:o,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=a&&(d.stepOptions.view=a);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/ngg_progressbar.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.css
index 263241ba33c2843de0af9671d1003422e332c509..b34cb659e039c8df8437968f26686a329bd0dfc9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.css
@@ -1 +1 @@
-.ngg_progressbar{width:100%;background:#292929;border:1px solid #111;border-radius:5px;overflow:hidden;box-shadow:0 0 5px #333;height:25px}.ngg_progressbar div{width:0;text-align:right;color:#fff;background-image:url(animation.gif);border:1px solid #556b2f;overflow:hidden;border-radius:5px;height:100%;font-size:12px;padding-top:3px;font-family:Helvetica,Arial}.ngg_progressbar.infinite div{width:100%;text-align:center}
\ No newline at end of file
+.ngg_progressbar{width:100%;background:#292929;border:1px solid #111;border-radius:5px;overflow:hidden;box-shadow:0 0 5px #333;height:25px}.ngg_progressbar div{width:0%;text-align:right;color:#fff;background-image:url(animation.gif);border:solid 1px #556b2f;overflow:hidden;border-radius:5px;height:100%;font-size:12px;padding-top:3px;font-family:Helvetica,Arial}.ngg_progressbar.infinite div{width:100%;text-align:center}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.js
index 6af5bbe1dcbc689d3e952107f9806d840de2e577..b6899a83e2ca83d02796eb103f33dc6e9dbf45ca 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.min.js
@@ -1 +1 @@
-!function(t){t.nggProgressBar=function(i){var e={defaults:{starting_value:0,infinite:!1,in_progress_text:"In progress...",finished_text:"Done!"},init:function(i){this.options=t.extend(this.defaults,i),this.gritter_id=this.find_gritter(window).add({progressBar:this,sticky:!0,title:this.options.title,text:"<div class='ngg_progressbar'><div></div></div>"}),this.find_gritter_el(window),this.options.infinite&&this.gritter_el.find(".ngg_progressbar").addClass("infinite"),this.set(this.options.starting_value)},set:function(t,i){isNaN(t)&&(i=t,t=100),t+="%","undefined"==typeof i&&(i=t),this.status_el.animate({width:t}).text(i)},close:function(t){"undefined"==typeof t&&(t=1e3);var i=this.find_gritter(window),e=this.gritter_id;setTimeout(function(){i.remove(e)},t)},find_parent:function(t){var i=t;try{for(;i.document!==i.parent.document;)i=i.parent}catch(t){"undefined"!=typeof console&&console.log(t)}return i},find_gritter:function(t){return this.find_parent(t).jQuery.gritter},find_gritter_el:function(i){var e="#gritter-item-"+this.gritter_id;return this.gritter_el=t(e),0==this.gritter_el.length&&(this.gritter_el=this.find_parent(i).jQuery(e)),this.status_el=this.gritter_el.find(".ngg_progressbar:first div"),this.gritter_el.data("nggProgressBar",this),this.gritter_el}};return e.init(i),e}}(jQuery);
\ No newline at end of file
+!function(t){t.nggProgressBar=function(i){var e={defaults:{starting_value:0,infinite:!1,in_progress_text:"In progress...",finished_text:"Done!"},init:function(i){this.options=t.extend(this.defaults,i),this.gritter_id=this.find_gritter(window).add({progressBar:this,sticky:!0,title:this.options.title,text:"<div class='ngg_progressbar'><div></div></div>"}),this.find_gritter_el(window),this.options.infinite&&this.gritter_el.find(".ngg_progressbar").addClass("infinite"),this.set(this.options.starting_value)},set:function(t,i){isNaN(t)&&(i=t,t=100),t+="%",void 0===i&&(i=t),this.status_el.animate({width:t}).text(i)},close:function(t){void 0===t&&(t=1e3);var i=this.find_gritter(window),e=this.gritter_id;setTimeout(function(){i.remove(e)},t)},find_parent:function(t){var i=t;try{for(;i.document!==i.parent.document;)i=i.parent}catch(t){"undefined"!=typeof console&&console.log(t)}return i},find_gritter:function(t){return this.find_parent(t).jQuery.gritter},find_gritter_el:function(i){var e="#gritter-item-"+this.gritter_id;return this.gritter_el=t(e),0==this.gritter_el.length&&(this.gritter_el=this.find_parent(i).jQuery(e)),this.status_el=this.gritter_el.find(".ngg_progressbar:first div"),this.gritter_el.data("nggProgressBar",this),this.gritter_el}};return e.init(i),e}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css
index a57e15dedd044fdbaf1c1fb249bd20c88be774a8..447b2b86cc0001f80523f2c3194d449e99659f50 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css
@@ -1,704 +1,484 @@
-/*
-Version: 3.5.2 Timestamp: Sat Nov  1 14:43:36 EDT 2014
-*/
 .select2-container {
-    margin: 0;
-    position: relative;
-    display: inline-block;
-    /* inline-block for ie7 */
-    zoom: 1;
-    *display: inline;
-    vertical-align: middle;
-}
-
-.select2-container,
-.select2-drop,
-.select2-search,
-.select2-search input {
-    /*
-      Force border-box so that % widths fit the parent
-      container without overlap because of margin/padding.
-      More Info : http://www.quirksmode.org/css/box.html
-    */
-    -webkit-box-sizing: border-box; /* webkit */
-    -moz-box-sizing: border-box; /* firefox */
-    box-sizing: border-box; /* css3 */
-}
-
-.select2-container .select2-choice {
+  box-sizing: border-box;
+  display: inline-block;
+  margin: 0;
+  position: relative;
+  vertical-align: middle; }
+  .select2-container .select2-selection--single {
+    box-sizing: border-box;
+    cursor: pointer;
     display: block;
-    height: 26px;
-    padding: 0 0 0 8px;
-    overflow: hidden;
-    position: relative;
-
-    border: 1px solid #aaa;
-    white-space: nowrap;
-    line-height: 26px;
-    color: #444;
-    text-decoration: none;
-
-    border-radius: 4px;
-
-    background-clip: padding-box;
-
-    -webkit-touch-callout: none;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
+    height: 28px;
     user-select: none;
-
-    background-color: #fff;
-    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
-    background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
-    background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
-    background-image: linear-gradient(to top, #eee 0%, #fff 50%);
-}
-
-html[dir="rtl"] .select2-container .select2-choice {
-    padding: 0 8px 0 0;
-}
-
-.select2-container.select2-drop-above .select2-choice {
-    border-bottom-color: #aaa;
-
-    border-radius: 0 0 4px 4px;
-
-    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
-    background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
-    background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
-    background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
-}
-
-.select2-container.select2-allowclear .select2-choice .select2-chosen {
-    margin-right: 42px;
-}
-
-.select2-container .select2-choice > .select2-chosen {
-    margin-right: 26px;
-    display: block;
-    overflow: hidden;
-
-    white-space: nowrap;
-
-    text-overflow: ellipsis;
-    float: none;
-    width: auto;
-}
-
-html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
-    margin-left: 26px;
-    margin-right: 0;
-}
-
-.select2-container .select2-choice abbr {
-    display: none;
-    width: 12px;
-    height: 12px;
-    position: absolute;
-    right: 24px;
-    top: 8px;
-
-    font-size: 1px;
-    text-decoration: none;
-
-    border: 0;
-    background: url('select2.png') right top no-repeat;
-    cursor: pointer;
-    outline: 0;
-}
-
-.select2-container.select2-allowclear .select2-choice abbr {
-    display: inline-block;
-}
-
-.select2-container .select2-choice abbr:hover {
-    background-position: right -11px;
+    -webkit-user-select: none; }
+    .select2-container .select2-selection--single .select2-selection__rendered {
+      display: block;
+      padding-left: 8px;
+      padding-right: 20px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap; }
+    .select2-container .select2-selection--single .select2-selection__clear {
+      position: relative; }
+  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
+    padding-right: 8px;
+    padding-left: 20px; }
+  .select2-container .select2-selection--multiple {
+    box-sizing: border-box;
     cursor: pointer;
-}
-
-.select2-drop-mask {
-    border: 0;
-    margin: 0;
-    padding: 0;
-    position: fixed;
-    left: 0;
-    top: 0;
-    min-height: 100%;
-    min-width: 100%;
-    height: auto;
-    width: auto;
-    opacity: 0;
-    z-index: 9998;
-    /* styles required for IE to work */
-    background-color: #fff;
-    filter: alpha(opacity=0);
-}
-
-.select2-drop {
-    width: 100%;
-    margin-top: -1px;
-    position: absolute;
-    z-index: 9999;
-    top: 100%;
-
-    background: #fff;
-    color: #000;
-    border: 1px solid #aaa;
-    border-top: 0;
-
-    border-radius: 0 0 4px 4px;
-
-    -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
-    box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
-}
-
-.select2-drop.select2-drop-above {
-    margin-top: 1px;
-    border-top: 1px solid #aaa;
-    border-bottom: 0;
-
-    border-radius: 4px 4px 0 0;
-
-    -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
-    box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
-}
-
-.select2-drop-active {
-    border: 1px solid #5897fb;
-    border-top: none;
-}
-
-.select2-drop.select2-drop-above.select2-drop-active {
-    border-top: 1px solid #5897fb;
-}
-
-.select2-drop-auto-width {
-    border-top: 1px solid #aaa;
-    width: auto;
-}
-
-.select2-drop-auto-width .select2-search {
-    padding-top: 4px;
-}
-
-.select2-container .select2-choice .select2-arrow {
-    display: inline-block;
-    width: 18px;
-    height: 100%;
-    position: absolute;
-    right: 0;
-    top: 0;
-
-    border-left: 1px solid #aaa;
-    border-radius: 0 4px 4px 0;
-
-    background-clip: padding-box;
-
-    background: #ccc;
-    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
-    background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
-    background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
-    background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
-}
-
-html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
-    left: 0;
-    right: auto;
-
-    border-left: none;
-    border-right: 1px solid #aaa;
-    border-radius: 4px 0 0 4px;
-}
-
-.select2-container .select2-choice .select2-arrow b {
     display: block;
-    width: 100%;
-    height: 100%;
-    background: url('select2.png') no-repeat 0 1px;
-}
-
-html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
-    background-position: 2px 1px;
-}
+    min-height: 32px;
+    user-select: none;
+    -webkit-user-select: none; }
+    .select2-container .select2-selection--multiple .select2-selection__rendered {
+      display: inline-block;
+      overflow: hidden;
+      padding-left: 8px;
+      text-overflow: ellipsis;
+      white-space: nowrap; }
+  .select2-container .select2-search--inline {
+    float: left; }
+    .select2-container .select2-search--inline .select2-search__field {
+      box-sizing: border-box;
+      border: none;
+      font-size: 100%;
+      margin-top: 5px;
+      padding: 0; }
+      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
+        -webkit-appearance: none; }
+
+.select2-dropdown {
+  background-color: white;
+  border: 1px solid #aaa;
+  border-radius: 4px;
+  box-sizing: border-box;
+  display: block;
+  position: absolute;
+  left: -100000px;
+  width: 100%;
+  z-index: 1051; }
 
-.select2-search {
-    display: inline-block;
+.select2-results {
+  display: block; }
+
+.select2-results__options {
+  list-style: none;
+  margin: 0;
+  padding: 0; }
+
+.select2-results__option {
+  padding: 6px;
+  user-select: none;
+  -webkit-user-select: none; }
+  .select2-results__option[aria-selected] {
+    cursor: pointer; }
+
+.select2-container--open .select2-dropdown {
+  left: 0; }
+
+.select2-container--open .select2-dropdown--above {
+  border-bottom: none;
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0; }
+
+.select2-container--open .select2-dropdown--below {
+  border-top: none;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0; }
+
+.select2-search--dropdown {
+  display: block;
+  padding: 4px; }
+  .select2-search--dropdown .select2-search__field {
+    padding: 4px;
     width: 100%;
-    min-height: 26px;
-    margin: 0;
-    padding-left: 4px;
-    padding-right: 4px;
-
-    position: relative;
-    z-index: 10000;
-
-    white-space: nowrap;
-}
-
-.select2-search input {
-    width: 100%;
-    height: auto !important;
-    min-height: 26px;
-    padding: 4px 20px 4px 5px;
-    margin: 0;
-
-    outline: 0;
-    font-family: sans-serif;
-    font-size: 1em;
-
-    border: 1px solid #aaa;
-    border-radius: 0;
-
-    -webkit-box-shadow: none;
-    box-shadow: none;
-
-    background: #fff url('select2.png') no-repeat 100% -22px;
-    background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
-    background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
-}
-
-html[dir="rtl"] .select2-search input {
-    padding: 4px 5px 4px 20px;
-
-    background: #fff url('select2.png') no-repeat -37px -22px;
-    background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
-    background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
-}
-
-.select2-drop.select2-drop-above .select2-search input {
-    margin-top: 4px;
-}
-
-.select2-search input.select2-active {
-    background: #fff url('select2-spinner.gif') no-repeat 100%;
-    background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
-    background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
-    background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
-}
-
-.select2-container-active .select2-choice,
-.select2-container-active .select2-choices {
-    border: 1px solid #5897fb;
-    outline: none;
-
-    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-    box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-}
-
-.select2-dropdown-open .select2-choice {
-    border-bottom-color: transparent;
-    -webkit-box-shadow: 0 1px 0 #fff inset;
-    box-shadow: 0 1px 0 #fff inset;
-
-    border-bottom-left-radius: 0;
-    border-bottom-right-radius: 0;
-
-    background-color: #eee;
-    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
-    background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
-    background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
-    background-image: linear-gradient(to top, #fff 0%, #eee 50%);
-}
-
-.select2-dropdown-open.select2-drop-above .select2-choice,
-.select2-dropdown-open.select2-drop-above .select2-choices {
-    border: 1px solid #5897fb;
-    border-top-color: transparent;
-
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
-    background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
-    background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
-    background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
-}
-
-.select2-dropdown-open .select2-choice .select2-arrow {
-    background: transparent;
-    border-left: none;
-    filter: none;
-}
-html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
-    border-right: none;
-}
-
-.select2-dropdown-open .select2-choice .select2-arrow b {
-    background-position: -18px 1px;
-}
-
-html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
-    background-position: -16px 1px;
-}
+    box-sizing: border-box; }
+    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
+      -webkit-appearance: none; }
+  .select2-search--dropdown.select2-search--hide {
+    display: none; }
+
+.select2-close-mask {
+  border: 0;
+  margin: 0;
+  padding: 0;
+  display: block;
+  position: fixed;
+  left: 0;
+  top: 0;
+  min-height: 100%;
+  min-width: 100%;
+  height: auto;
+  width: auto;
+  opacity: 0;
+  z-index: 99;
+  background-color: #fff;
+  filter: alpha(opacity=0); }
 
 .select2-hidden-accessible {
-    border: 0;
-    clip: rect(0 0 0 0);
-    height: 1px;
-    margin: -1px;
-    overflow: hidden;
-    padding: 0;
+  border: 0 !important;
+  clip: rect(0 0 0 0) !important;
+  height: 1px !important;
+  margin: -1px !important;
+  overflow: hidden !important;
+  padding: 0 !important;
+  position: absolute !important;
+  width: 1px !important; }
+
+.select2-container--default .select2-selection--single {
+  background-color: #fff;
+  border: 1px solid #aaa;
+  border-radius: 4px; }
+  .select2-container--default .select2-selection--single .select2-selection__rendered {
+    color: #444;
+    line-height: 28px; }
+  .select2-container--default .select2-selection--single .select2-selection__clear {
+    cursor: pointer;
+    float: right;
+    font-weight: bold; }
+  .select2-container--default .select2-selection--single .select2-selection__placeholder {
+    color: #999; }
+  .select2-container--default .select2-selection--single .select2-selection__arrow {
+    height: 26px;
     position: absolute;
-    width: 1px;
-}
-
-/* results */
-.select2-results {
-    max-height: 200px;
-    padding: 0 0 0 4px;
-    margin: 4px 4px 4px 0;
-    position: relative;
-    overflow-x: hidden;
-    overflow-y: auto;
-    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-html[dir="rtl"] .select2-results {
-    padding: 0 4px 0 0;
-    margin: 4px 0 4px 4px;
-}
-
-.select2-results ul.select2-result-sub {
-    margin: 0;
-    padding-left: 0;
-}
-
-.select2-results li {
+    top: 1px;
+    right: 1px;
+    width: 20px; }
+    .select2-container--default .select2-selection--single .select2-selection__arrow b {
+      border-color: #888 transparent transparent transparent;
+      border-style: solid;
+      border-width: 5px 4px 0 4px;
+      height: 0;
+      left: 50%;
+      margin-left: -4px;
+      margin-top: -2px;
+      position: absolute;
+      top: 50%;
+      width: 0; }
+
+.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
+  float: left; }
+
+.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
+  left: 1px;
+  right: auto; }
+
+.select2-container--default.select2-container--disabled .select2-selection--single {
+  background-color: #eee;
+  cursor: default; }
+  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
+    display: none; }
+
+.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
+  border-color: transparent transparent #888 transparent;
+  border-width: 0 4px 5px 4px; }
+
+.select2-container--default .select2-selection--multiple {
+  background-color: white;
+  border: 1px solid #aaa;
+  border-radius: 4px;
+  cursor: text; }
+  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
+    box-sizing: border-box;
     list-style: none;
-    display: list-item;
-    background-image: none;
-}
-
-.select2-results li.select2-result-with-children > .select2-result-label {
-    font-weight: bold;
-}
-
-.select2-results .select2-result-label {
-    padding: 3px 7px 4px;
     margin: 0;
+    padding: 0 5px;
+    width: 100%; }
+    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
+      list-style: none; }
+  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
+    color: #999;
+    margin-top: 5px;
+    float: left; }
+  .select2-container--default .select2-selection--multiple .select2-selection__clear {
     cursor: pointer;
-
-    min-height: 1em;
-
-    -webkit-touch-callout: none;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-}
-
-.select2-results-dept-1 .select2-result-label { padding-left: 20px }
-.select2-results-dept-2 .select2-result-label { padding-left: 40px }
-.select2-results-dept-3 .select2-result-label { padding-left: 60px }
-.select2-results-dept-4 .select2-result-label { padding-left: 80px }
-.select2-results-dept-5 .select2-result-label { padding-left: 100px }
-.select2-results-dept-6 .select2-result-label { padding-left: 110px }
-.select2-results-dept-7 .select2-result-label { padding-left: 120px }
-
-.select2-results .select2-highlighted {
-    background: #3875d7;
-    color: #fff;
-}
-
-.select2-results li em {
-    background: #feffde;
-    font-style: normal;
-}
-
-.select2-results .select2-highlighted em {
-    background: transparent;
-}
-
-.select2-results .select2-highlighted ul {
-    background: #fff;
-    color: #000;
-}
-
-.select2-results .select2-no-results,
-.select2-results .select2-searching,
-.select2-results .select2-ajax-error,
-.select2-results .select2-selection-limit {
-    background: #f4f4f4;
-    display: list-item;
-    padding-left: 5px;
-}
-
-/*
-disabled look for disabled choices in the results dropdown
-*/
-.select2-results .select2-disabled.select2-highlighted {
-    color: #666;
-    background: #f4f4f4;
-    display: list-item;
+    float: right;
+    font-weight: bold;
+    margin-top: 5px;
+    margin-right: 10px; }
+  .select2-container--default .select2-selection--multiple .select2-selection__choice {
+    background-color: #e4e4e4;
+    border: 1px solid #aaa;
+    border-radius: 4px;
     cursor: default;
-}
-.select2-results .select2-disabled {
-    background: #f4f4f4;
-    display: list-item;
+    float: left;
+    margin-right: 5px;
+    margin-top: 5px;
+    padding: 0 5px; }
+  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
+    color: #999;
+    cursor: pointer;
+    display: inline-block;
+    font-weight: bold;
+    margin-right: 2px; }
+    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
+      color: #333; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
+  float: right; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+  margin-left: 5px;
+  margin-right: auto; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
+  margin-left: 2px;
+  margin-right: auto; }
+
+.select2-container--default.select2-container--focus .select2-selection--multiple {
+  border: solid black 1px;
+  outline: 0; }
+
+.select2-container--default.select2-container--disabled .select2-selection--multiple {
+  background-color: #eee;
+  cursor: default; }
+
+.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
+  display: none; }
+
+.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0; }
+
+.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0; }
+
+.select2-container--default .select2-search--dropdown .select2-search__field {
+  border: 1px solid #aaa; }
+
+.select2-container--default .select2-search--inline .select2-search__field {
+  background: transparent;
+  border: none;
+  outline: 0;
+  box-shadow: none;
+  -webkit-appearance: textfield; }
+
+.select2-container--default .select2-results > .select2-results__options {
+  max-height: 200px;
+  overflow-y: auto; }
+
+.select2-container--default .select2-results__option[role=group] {
+  padding: 0; }
+
+.select2-container--default .select2-results__option[aria-disabled=true] {
+  color: #999; }
+
+.select2-container--default .select2-results__option[aria-selected=true] {
+  background-color: #ddd; }
+
+.select2-container--default .select2-results__option .select2-results__option {
+  padding-left: 1em; }
+  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
+    padding-left: 0; }
+  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
+    margin-left: -1em;
+    padding-left: 2em; }
+    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+      margin-left: -2em;
+      padding-left: 3em; }
+      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+        margin-left: -3em;
+        padding-left: 4em; }
+        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+          margin-left: -4em;
+          padding-left: 5em; }
+          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+            margin-left: -5em;
+            padding-left: 6em; }
+
+.select2-container--default .select2-results__option--highlighted[aria-selected] {
+  background-color: #5897fb;
+  color: white; }
+
+.select2-container--default .select2-results__group {
+  cursor: default;
+  display: block;
+  padding: 6px; }
+
+.select2-container--classic .select2-selection--single {
+  background-color: #f7f7f7;
+  border: 1px solid #aaa;
+  border-radius: 4px;
+  outline: 0;
+  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
+  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
+  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
+  .select2-container--classic .select2-selection--single:focus {
+    border: 1px solid #5897fb; }
+  .select2-container--classic .select2-selection--single .select2-selection__rendered {
+    color: #444;
+    line-height: 28px; }
+  .select2-container--classic .select2-selection--single .select2-selection__clear {
+    cursor: pointer;
+    float: right;
+    font-weight: bold;
+    margin-right: 10px; }
+  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
+    color: #999; }
+  .select2-container--classic .select2-selection--single .select2-selection__arrow {
+    background-color: #ddd;
+    border: none;
+    border-left: 1px solid #aaa;
+    border-top-right-radius: 4px;
+    border-bottom-right-radius: 4px;
+    height: 26px;
+    position: absolute;
+    top: 1px;
+    right: 1px;
+    width: 20px;
+    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
+    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
+    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
+    background-repeat: repeat-x;
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
+    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
+      border-color: #888 transparent transparent transparent;
+      border-style: solid;
+      border-width: 5px 4px 0 4px;
+      height: 0;
+      left: 50%;
+      margin-left: -4px;
+      margin-top: -2px;
+      position: absolute;
+      top: 50%;
+      width: 0; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
+  float: left; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
+  border: none;
+  border-right: 1px solid #aaa;
+  border-radius: 0;
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+  left: 1px;
+  right: auto; }
+
+.select2-container--classic.select2-container--open .select2-selection--single {
+  border: 1px solid #5897fb; }
+  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
+    background: transparent;
+    border: none; }
+    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
+      border-color: transparent transparent #888 transparent;
+      border-width: 0 4px 5px 4px; }
+
+.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
+  border-top: none;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
+  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
+  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
+
+.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
+  border-bottom: none;
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0;
+  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
+  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
+  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
+
+.select2-container--classic .select2-selection--multiple {
+  background-color: white;
+  border: 1px solid #aaa;
+  border-radius: 4px;
+  cursor: text;
+  outline: 0; }
+  .select2-container--classic .select2-selection--multiple:focus {
+    border: 1px solid #5897fb; }
+  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
+    list-style: none;
+    margin: 0;
+    padding: 0 5px; }
+  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
+    display: none; }
+  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
+    background-color: #e4e4e4;
+    border: 1px solid #aaa;
+    border-radius: 4px;
     cursor: default;
-}
-
-.select2-results .select2-selected {
-    display: none;
-}
+    float: left;
+    margin-right: 5px;
+    margin-top: 5px;
+    padding: 0 5px; }
+  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
+    color: #888;
+    cursor: pointer;
+    display: inline-block;
+    font-weight: bold;
+    margin-right: 2px; }
+    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
+      color: #555; }
 
-.select2-more-results.select2-active {
-    background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
-}
+.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+  float: right; }
 
-.select2-results .select2-ajax-error {
-    background: rgba(255, 50, 50, .2);
-}
+.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+  margin-left: 5px;
+  margin-right: auto; }
 
-.select2-more-results {
-    background: #f4f4f4;
-    display: list-item;
-}
+.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
+  margin-left: 2px;
+  margin-right: auto; }
 
-/* disabled styles */
+.select2-container--classic.select2-container--open .select2-selection--multiple {
+  border: 1px solid #5897fb; }
 
-.select2-container.select2-container-disabled .select2-choice {
-    background-color: #f4f4f4;
-    background-image: none;
-    border: 1px solid #ddd;
-    cursor: default;
-}
+.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
+  border-top: none;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0; }
 
-.select2-container.select2-container-disabled .select2-choice .select2-arrow {
-    background-color: #f4f4f4;
-    background-image: none;
-    border-left: 0;
-}
+.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
+  border-bottom: none;
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0; }
 
-.select2-container.select2-container-disabled .select2-choice abbr {
-    display: none;
-}
+.select2-container--classic .select2-search--dropdown .select2-search__field {
+  border: 1px solid #aaa;
+  outline: 0; }
 
+.select2-container--classic .select2-search--inline .select2-search__field {
+  outline: 0;
+  box-shadow: none; }
 
-/* multiselect */
+.select2-container--classic .select2-dropdown {
+  background-color: white;
+  border: 1px solid transparent; }
 
-.select2-container-multi .select2-choices {
-    height: auto !important;
-    height: 1%;
-    margin: 0;
-    padding: 0 5px 0 0;
-    position: relative;
+.select2-container--classic .select2-dropdown--above {
+  border-bottom: none; }
 
-    border: 1px solid #aaa;
-    cursor: text;
-    overflow: hidden;
-
-    background-color: #fff;
-    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
-    background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
-    background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
-    background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
-}
-
-html[dir="rtl"] .select2-container-multi .select2-choices {
-    padding: 0 0 0 5px;
-}
-
-.select2-locked {
-    padding: 3px 5px 3px 5px !important;
-}
-
-.select2-container-multi .select2-choices {
-    min-height: 26px;
-}
-
-.select2-container-multi.select2-container-active .select2-choices {
-    border: 1px solid #5897fb;
-    outline: none;
-
-    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-    box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-}
-.select2-container-multi .select2-choices li {
-    float: left;
-    list-style: none;
-}
-html[dir="rtl"] .select2-container-multi .select2-choices li
-{
-    float: right;
-}
-.select2-container-multi .select2-choices .select2-search-field {
-    margin: 0;
-    padding: 0;
-    white-space: nowrap;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input {
-    padding: 5px;
-    margin: 1px 0;
-
-    font-family: sans-serif;
-    font-size: 100%;
-    color: #666;
-    outline: 0;
-    border: 0;
-    -webkit-box-shadow: none;
-    box-shadow: none;
-    background: transparent !important;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input.select2-active {
-    background: #fff url('select2-spinner.gif') no-repeat 100% !important;
-}
-
-.select2-default {
-    color: #999 !important;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice {
-    padding: 3px 5px 3px 18px;
-    margin: 3px 0 3px 5px;
-    position: relative;
-
-    line-height: 13px;
-    color: #333;
-    cursor: default;
-    border: 1px solid #aaaaaa;
+.select2-container--classic .select2-dropdown--below {
+  border-top: none; }
 
-    border-radius: 3px;
+.select2-container--classic .select2-results > .select2-results__options {
+  max-height: 200px;
+  overflow-y: auto; }
 
-    -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
-    box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
+.select2-container--classic .select2-results__option[role=group] {
+  padding: 0; }
 
-    background-clip: padding-box;
+.select2-container--classic .select2-results__option[aria-disabled=true] {
+  color: grey; }
 
-    -webkit-touch-callout: none;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
+.select2-container--classic .select2-results__option--highlighted[aria-selected] {
+  background-color: #3875d7;
+  color: white; }
 
-    background-color: #e4e4e4;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
-    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
-    background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
-    background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
-    background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
-}
-html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
-{
-    margin: 3px 5px 3px 0;
-    padding: 3px 18px 3px 5px;
-}
-.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
-    cursor: default;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus {
-    background: #d4d4d4;
-}
+.select2-container--classic .select2-results__group {
+  cursor: default;
+  display: block;
+  padding: 6px; }
 
-.select2-search-choice-close {
-    display: block;
-    width: 12px;
-    height: 13px;
-    position: absolute;
-    right: 3px;
-    top: 4px;
-
-    font-size: 1px;
-    outline: none;
-    background: url('select2.png') right top no-repeat;
-}
-html[dir="rtl"] .select2-search-choice-close {
-    right: auto;
-    left: 3px;
-}
-
-.select2-container-multi .select2-search-choice-close {
-    left: 3px;
-}
-
-html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
-    left: auto;
-    right: 2px;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
-    background-position: right -11px;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
-    background-position: right -11px;
-}
-
-/* disabled styles */
-.select2-container-multi.select2-container-disabled .select2-choices {
-    background-color: #f4f4f4;
-    background-image: none;
-    border: 1px solid #ddd;
-    cursor: default;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
-    padding: 3px 5px 3px 5px;
-    border: 1px solid #ddd;
-    background-image: none;
-    background-color: #f4f4f4;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {    display: none;
-    background: none;
-}
-/* end multiselect */
-
-
-.select2-result-selectable .select2-match,
-.select2-result-unselectable .select2-match {
-    text-decoration: underline;
-}
-
-.select2-offscreen, .select2-offscreen:focus {
-    clip: rect(0 0 0 0) !important;
-    width: 1px !important;
-    height: 1px !important;
-    border: 0 !important;
-    margin: 0 !important;
-    padding: 0 !important;
-    overflow: hidden !important;
-    position: absolute !important;
-    outline: 0 !important;
-    left: 0px !important;
-    top: 0px !important;
-}
-
-.select2-display-none {
-    display: none;
-}
-
-.select2-measure-scrollbar {
-    position: absolute;
-    top: -10000px;
-    left: -10000px;
-    width: 100px;
-    height: 100px;
-    overflow: scroll;
-}
-
-/* Retina-ize icons */
-
-@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx)  {
-    .select2-search input,
-    .select2-search-choice-close,
-    .select2-container .select2-choice abbr,
-    .select2-container .select2-choice .select2-arrow b {
-        background-image: url('select2x2.png') !important;
-        background-repeat: no-repeat !important;
-        background-size: 60px 40px !important;
-    }
-
-    .select2-search input {
-        background-position: 100% -21px !important;
-    }
-}
+.select2-container--classic.select2-container--open .select2-dropdown {
+  border-color: #5897fb; }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.js
new file mode 100644
index 0000000000000000000000000000000000000000..1b0bf0b2449d5b038797e34d2a93572d80c7d4db
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.js
@@ -0,0 +1,6463 @@
+/*!
+ * Select2 4.0.5
+ * https://select2.github.io
+ *
+ * Released under the MIT license
+ * https://github.com/select2/select2/blob/master/LICENSE.md
+ */
+(function (factory) {
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define(['jquery'], factory);
+  } else if (typeof module === 'object' && module.exports) {
+    // Node/CommonJS
+    module.exports = function (root, jQuery) {
+      if (jQuery === undefined) {
+        // require('jQuery') returns a factory that requires window to
+        // build a jQuery instance, we normalize how we use modules
+        // that require this pattern but the window provided is a noop
+        // if it's defined (how jquery works)
+        if (typeof window !== 'undefined') {
+          jQuery = require('jquery');
+        }
+        else {
+          jQuery = require('jquery')(root);
+        }
+      }
+      factory(jQuery);
+      return jQuery;
+    };
+  } else {
+    // Browser globals
+    factory(jQuery);
+  }
+} (function (jQuery) {
+  // This is needed so we can catch the AMD loader configuration and use it
+  // The inner file should be wrapped (by `banner.start.js`) in a function that
+  // returns the AMD loader references.
+  var S2 =(function () {
+  // Restore the Select2 AMD loader so it can be used
+  // Needed mostly in the language files, where the loader is not inserted
+  if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
+    var S2 = jQuery.fn.select2.amd;
+  }
+var S2;(function () { if (!S2 || !S2.requirejs) {
+if (!S2) { S2 = {}; } else { require = S2; }
+/**
+ * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
+ * Released under MIT license, http://github.com/requirejs/almond/LICENSE
+ */
+//Going sloppy to avoid 'use strict' string cost, but strict practices should
+//be followed.
+/*global setTimeout: false */
+
+var requirejs, require, define;
+(function (undef) {
+    var main, req, makeMap, handlers,
+        defined = {},
+        waiting = {},
+        config = {},
+        defining = {},
+        hasOwn = Object.prototype.hasOwnProperty,
+        aps = [].slice,
+        jsSuffixRegExp = /\.js$/;
+
+    function hasProp(obj, prop) {
+        return hasOwn.call(obj, prop);
+    }
+
+    /**
+     * Given a relative module name, like ./something, normalize it to
+     * a real name that can be mapped to a path.
+     * @param {String} name the relative name
+     * @param {String} baseName a real name that the name arg is relative
+     * to.
+     * @returns {String} normalized name
+     */
+    function normalize(name, baseName) {
+        var nameParts, nameSegment, mapValue, foundMap, lastIndex,
+            foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
+            baseParts = baseName && baseName.split("/"),
+            map = config.map,
+            starMap = (map && map['*']) || {};
+
+        //Adjust any relative paths.
+        if (name) {
+            name = name.split('/');
+            lastIndex = name.length - 1;
+
+            // If wanting node ID compatibility, strip .js from end
+            // of IDs. Have to do this here, and not in nameToUrl
+            // because node allows either .js or non .js to map
+            // to same file.
+            if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
+                name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
+            }
+
+            // Starts with a '.' so need the baseName
+            if (name[0].charAt(0) === '.' && baseParts) {
+                //Convert baseName to array, and lop off the last part,
+                //so that . matches that 'directory' and not name of the baseName's
+                //module. For instance, baseName of 'one/two/three', maps to
+                //'one/two/three.js', but we want the directory, 'one/two' for
+                //this normalization.
+                normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
+                name = normalizedBaseParts.concat(name);
+            }
+
+            //start trimDots
+            for (i = 0; i < name.length; i++) {
+                part = name[i];
+                if (part === '.') {
+                    name.splice(i, 1);
+                    i -= 1;
+                } else if (part === '..') {
+                    // If at the start, or previous value is still ..,
+                    // keep them so that when converted to a path it may
+                    // still work when converted to a path, even though
+                    // as an ID it is less than ideal. In larger point
+                    // releases, may be better to just kick out an error.
+                    if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
+                        continue;
+                    } else if (i > 0) {
+                        name.splice(i - 1, 2);
+                        i -= 2;
+                    }
+                }
+            }
+            //end trimDots
+
+            name = name.join('/');
+        }
+
+        //Apply map config if available.
+        if ((baseParts || starMap) && map) {
+            nameParts = name.split('/');
+
+            for (i = nameParts.length; i > 0; i -= 1) {
+                nameSegment = nameParts.slice(0, i).join("/");
+
+                if (baseParts) {
+                    //Find the longest baseName segment match in the config.
+                    //So, do joins on the biggest to smallest lengths of baseParts.
+                    for (j = baseParts.length; j > 0; j -= 1) {
+                        mapValue = map[baseParts.slice(0, j).join('/')];
+
+                        //baseName segment has  config, find if it has one for
+                        //this name.
+                        if (mapValue) {
+                            mapValue = mapValue[nameSegment];
+                            if (mapValue) {
+                                //Match, update name to the new value.
+                                foundMap = mapValue;
+                                foundI = i;
+                                break;
+                            }
+                        }
+                    }
+                }
+
+                if (foundMap) {
+                    break;
+                }
+
+                //Check for a star map match, but just hold on to it,
+                //if there is a shorter segment match later in a matching
+                //config, then favor over this star map.
+                if (!foundStarMap && starMap && starMap[nameSegment]) {
+                    foundStarMap = starMap[nameSegment];
+                    starI = i;
+                }
+            }
+
+            if (!foundMap && foundStarMap) {
+                foundMap = foundStarMap;
+                foundI = starI;
+            }
+
+            if (foundMap) {
+                nameParts.splice(0, foundI, foundMap);
+                name = nameParts.join('/');
+            }
+        }
+
+        return name;
+    }
+
+    function makeRequire(relName, forceSync) {
+        return function () {
+            //A version of a require function that passes a moduleName
+            //value for items that may need to
+            //look up paths relative to the moduleName
+            var args = aps.call(arguments, 0);
+
+            //If first arg is not require('string'), and there is only
+            //one arg, it is the array form without a callback. Insert
+            //a null so that the following concat is correct.
+            if (typeof args[0] !== 'string' && args.length === 1) {
+                args.push(null);
+            }
+            return req.apply(undef, args.concat([relName, forceSync]));
+        };
+    }
+
+    function makeNormalize(relName) {
+        return function (name) {
+            return normalize(name, relName);
+        };
+    }
+
+    function makeLoad(depName) {
+        return function (value) {
+            defined[depName] = value;
+        };
+    }
+
+    function callDep(name) {
+        if (hasProp(waiting, name)) {
+            var args = waiting[name];
+            delete waiting[name];
+            defining[name] = true;
+            main.apply(undef, args);
+        }
+
+        if (!hasProp(defined, name) && !hasProp(defining, name)) {
+            throw new Error('No ' + name);
+        }
+        return defined[name];
+    }
+
+    //Turns a plugin!resource to [plugin, resource]
+    //with the plugin being undefined if the name
+    //did not have a plugin prefix.
+    function splitPrefix(name) {
+        var prefix,
+            index = name ? name.indexOf('!') : -1;
+        if (index > -1) {
+            prefix = name.substring(0, index);
+            name = name.substring(index + 1, name.length);
+        }
+        return [prefix, name];
+    }
+
+    //Creates a parts array for a relName where first part is plugin ID,
+    //second part is resource ID. Assumes relName has already been normalized.
+    function makeRelParts(relName) {
+        return relName ? splitPrefix(relName) : [];
+    }
+
+    /**
+     * Makes a name map, normalizing the name, and using a plugin
+     * for normalization if necessary. Grabs a ref to plugin
+     * too, as an optimization.
+     */
+    makeMap = function (name, relParts) {
+        var plugin,
+            parts = splitPrefix(name),
+            prefix = parts[0],
+            relResourceName = relParts[1];
+
+        name = parts[1];
+
+        if (prefix) {
+            prefix = normalize(prefix, relResourceName);
+            plugin = callDep(prefix);
+        }
+
+        //Normalize according
+        if (prefix) {
+            if (plugin && plugin.normalize) {
+                name = plugin.normalize(name, makeNormalize(relResourceName));
+            } else {
+                name = normalize(name, relResourceName);
+            }
+        } else {
+            name = normalize(name, relResourceName);
+            parts = splitPrefix(name);
+            prefix = parts[0];
+            name = parts[1];
+            if (prefix) {
+                plugin = callDep(prefix);
+            }
+        }
+
+        //Using ridiculous property names for space reasons
+        return {
+            f: prefix ? prefix + '!' + name : name, //fullName
+            n: name,
+            pr: prefix,
+            p: plugin
+        };
+    };
+
+    function makeConfig(name) {
+        return function () {
+            return (config && config.config && config.config[name]) || {};
+        };
+    }
+
+    handlers = {
+        require: function (name) {
+            return makeRequire(name);
+        },
+        exports: function (name) {
+            var e = defined[name];
+            if (typeof e !== 'undefined') {
+                return e;
+            } else {
+                return (defined[name] = {});
+            }
+        },
+        module: function (name) {
+            return {
+                id: name,
+                uri: '',
+                exports: defined[name],
+                config: makeConfig(name)
+            };
+        }
+    };
+
+    main = function (name, deps, callback, relName) {
+        var cjsModule, depName, ret, map, i, relParts,
+            args = [],
+            callbackType = typeof callback,
+            usingExports;
+
+        //Use name if no relName
+        relName = relName || name;
+        relParts = makeRelParts(relName);
+
+        //Call the callback to define the module, if necessary.
+        if (callbackType === 'undefined' || callbackType === 'function') {
+            //Pull out the defined dependencies and pass the ordered
+            //values to the callback.
+            //Default to [require, exports, module] if no deps
+            deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
+            for (i = 0; i < deps.length; i += 1) {
+                map = makeMap(deps[i], relParts);
+                depName = map.f;
+
+                //Fast path CommonJS standard dependencies.
+                if (depName === "require") {
+                    args[i] = handlers.require(name);
+                } else if (depName === "exports") {
+                    //CommonJS module spec 1.1
+                    args[i] = handlers.exports(name);
+                    usingExports = true;
+                } else if (depName === "module") {
+                    //CommonJS module spec 1.1
+                    cjsModule = args[i] = handlers.module(name);
+                } else if (hasProp(defined, depName) ||
+                           hasProp(waiting, depName) ||
+                           hasProp(defining, depName)) {
+                    args[i] = callDep(depName);
+                } else if (map.p) {
+                    map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
+                    args[i] = defined[depName];
+                } else {
+                    throw new Error(name + ' missing ' + depName);
+                }
+            }
+
+            ret = callback ? callback.apply(defined[name], args) : undefined;
+
+            if (name) {
+                //If setting exports via "module" is in play,
+                //favor that over return value and exports. After that,
+                //favor a non-undefined return value over exports use.
+                if (cjsModule && cjsModule.exports !== undef &&
+                        cjsModule.exports !== defined[name]) {
+                    defined[name] = cjsModule.exports;
+                } else if (ret !== undef || !usingExports) {
+                    //Use the return value from the function.
+                    defined[name] = ret;
+                }
+            }
+        } else if (name) {
+            //May just be an object definition for the module. Only
+            //worry about defining if have a module name.
+            defined[name] = callback;
+        }
+    };
+
+    requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
+        if (typeof deps === "string") {
+            if (handlers[deps]) {
+                //callback in this case is really relName
+                return handlers[deps](callback);
+            }
+            //Just return the module wanted. In this scenario, the
+            //deps arg is the module name, and second arg (if passed)
+            //is just the relName.
+            //Normalize module name, if it contains . or ..
+            return callDep(makeMap(deps, makeRelParts(callback)).f);
+        } else if (!deps.splice) {
+            //deps is a config object, not an array.
+            config = deps;
+            if (config.deps) {
+                req(config.deps, config.callback);
+            }
+            if (!callback) {
+                return;
+            }
+
+            if (callback.splice) {
+                //callback is an array, which means it is a dependency list.
+                //Adjust args if there are dependencies
+                deps = callback;
+                callback = relName;
+                relName = null;
+            } else {
+                deps = undef;
+            }
+        }
+
+        //Support require(['a'])
+        callback = callback || function () {};
+
+        //If relName is a function, it is an errback handler,
+        //so remove it.
+        if (typeof relName === 'function') {
+            relName = forceSync;
+            forceSync = alt;
+        }
+
+        //Simulate async callback;
+        if (forceSync) {
+            main(undef, deps, callback, relName);
+        } else {
+            //Using a non-zero value because of concern for what old browsers
+            //do, and latest browsers "upgrade" to 4 if lower value is used:
+            //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
+            //If want a value immediately, use require('id') instead -- something
+            //that works in almond on the global level, but not guaranteed and
+            //unlikely to work in other AMD implementations.
+            setTimeout(function () {
+                main(undef, deps, callback, relName);
+            }, 4);
+        }
+
+        return req;
+    };
+
+    /**
+     * Just drops the config on the floor, but returns req in case
+     * the config return value is used.
+     */
+    req.config = function (cfg) {
+        return req(cfg);
+    };
+
+    /**
+     * Expose module registry for debugging and tooling
+     */
+    requirejs._defined = defined;
+
+    define = function (name, deps, callback) {
+        if (typeof name !== 'string') {
+            throw new Error('See almond README: incorrect module build, no module name');
+        }
+
+        //This module may not have dependencies
+        if (!deps.splice) {
+            //deps is not an array, so probably means
+            //an object literal or factory function for
+            //the value. Adjust args.
+            callback = deps;
+            deps = [];
+        }
+
+        if (!hasProp(defined, name) && !hasProp(waiting, name)) {
+            waiting[name] = [name, deps, callback];
+        }
+    };
+
+    define.amd = {
+        jQuery: true
+    };
+}());
+
+S2.requirejs = requirejs;S2.require = require;S2.define = define;
+}
+}());
+S2.define("almond", function(){});
+
+/* global jQuery:false, $:false */
+S2.define('jquery',[],function () {
+  var _$ = jQuery || $;
+
+  if (_$ == null && console && console.error) {
+    console.error(
+      'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
+      'found. Make sure that you are including jQuery before Select2 on your ' +
+      'web page.'
+    );
+  }
+
+  return _$;
+});
+
+S2.define('select2/utils',[
+  'jquery'
+], function ($) {
+  var Utils = {};
+
+  Utils.Extend = function (ChildClass, SuperClass) {
+    var __hasProp = {}.hasOwnProperty;
+
+    function BaseConstructor () {
+      this.constructor = ChildClass;
+    }
+
+    for (var key in SuperClass) {
+      if (__hasProp.call(SuperClass, key)) {
+        ChildClass[key] = SuperClass[key];
+      }
+    }
+
+    BaseConstructor.prototype = SuperClass.prototype;
+    ChildClass.prototype = new BaseConstructor();
+    ChildClass.__super__ = SuperClass.prototype;
+
+    return ChildClass;
+  };
+
+  function getMethods (theClass) {
+    var proto = theClass.prototype;
+
+    var methods = [];
+
+    for (var methodName in proto) {
+      var m = proto[methodName];
+
+      if (typeof m !== 'function') {
+        continue;
+      }
+
+      if (methodName === 'constructor') {
+        continue;
+      }
+
+      methods.push(methodName);
+    }
+
+    return methods;
+  }
+
+  Utils.Decorate = function (SuperClass, DecoratorClass) {
+    var decoratedMethods = getMethods(DecoratorClass);
+    var superMethods = getMethods(SuperClass);
+
+    function DecoratedClass () {
+      var unshift = Array.prototype.unshift;
+
+      var argCount = DecoratorClass.prototype.constructor.length;
+
+      var calledConstructor = SuperClass.prototype.constructor;
+
+      if (argCount > 0) {
+        unshift.call(arguments, SuperClass.prototype.constructor);
+
+        calledConstructor = DecoratorClass.prototype.constructor;
+      }
+
+      calledConstructor.apply(this, arguments);
+    }
+
+    DecoratorClass.displayName = SuperClass.displayName;
+
+    function ctr () {
+      this.constructor = DecoratedClass;
+    }
+
+    DecoratedClass.prototype = new ctr();
+
+    for (var m = 0; m < superMethods.length; m++) {
+        var superMethod = superMethods[m];
+
+        DecoratedClass.prototype[superMethod] =
+          SuperClass.prototype[superMethod];
+    }
+
+    var calledMethod = function (methodName) {
+      // Stub out the original method if it's not decorating an actual method
+      var originalMethod = function () {};
+
+      if (methodName in DecoratedClass.prototype) {
+        originalMethod = DecoratedClass.prototype[methodName];
+      }
+
+      var decoratedMethod = DecoratorClass.prototype[methodName];
+
+      return function () {
+        var unshift = Array.prototype.unshift;
+
+        unshift.call(arguments, originalMethod);
+
+        return decoratedMethod.apply(this, arguments);
+      };
+    };
+
+    for (var d = 0; d < decoratedMethods.length; d++) {
+      var decoratedMethod = decoratedMethods[d];
+
+      DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
+    }
+
+    return DecoratedClass;
+  };
+
+  var Observable = function () {
+    this.listeners = {};
+  };
+
+  Observable.prototype.on = function (event, callback) {
+    this.listeners = this.listeners || {};
+
+    if (event in this.listeners) {
+      this.listeners[event].push(callback);
+    } else {
+      this.listeners[event] = [callback];
+    }
+  };
+
+  Observable.prototype.trigger = function (event) {
+    var slice = Array.prototype.slice;
+    var params = slice.call(arguments, 1);
+
+    this.listeners = this.listeners || {};
+
+    // Params should always come in as an array
+    if (params == null) {
+      params = [];
+    }
+
+    // If there are no arguments to the event, use a temporary object
+    if (params.length === 0) {
+      params.push({});
+    }
+
+    // Set the `_type` of the first object to the event
+    params[0]._type = event;
+
+    if (event in this.listeners) {
+      this.invoke(this.listeners[event], slice.call(arguments, 1));
+    }
+
+    if ('*' in this.listeners) {
+      this.invoke(this.listeners['*'], arguments);
+    }
+  };
+
+  Observable.prototype.invoke = function (listeners, params) {
+    for (var i = 0, len = listeners.length; i < len; i++) {
+      listeners[i].apply(this, params);
+    }
+  };
+
+  Utils.Observable = Observable;
+
+  Utils.generateChars = function (length) {
+    var chars = '';
+
+    for (var i = 0; i < length; i++) {
+      var randomChar = Math.floor(Math.random() * 36);
+      chars += randomChar.toString(36);
+    }
+
+    return chars;
+  };
+
+  Utils.bind = function (func, context) {
+    return function () {
+      func.apply(context, arguments);
+    };
+  };
+
+  Utils._convertData = function (data) {
+    for (var originalKey in data) {
+      var keys = originalKey.split('-');
+
+      var dataLevel = data;
+
+      if (keys.length === 1) {
+        continue;
+      }
+
+      for (var k = 0; k < keys.length; k++) {
+        var key = keys[k];
+
+        // Lowercase the first letter
+        // By default, dash-separated becomes camelCase
+        key = key.substring(0, 1).toLowerCase() + key.substring(1);
+
+        if (!(key in dataLevel)) {
+          dataLevel[key] = {};
+        }
+
+        if (k == keys.length - 1) {
+          dataLevel[key] = data[originalKey];
+        }
+
+        dataLevel = dataLevel[key];
+      }
+
+      delete data[originalKey];
+    }
+
+    return data;
+  };
+
+  Utils.hasScroll = function (index, el) {
+    // Adapted from the function created by @ShadowScripter
+    // and adapted by @BillBarry on the Stack Exchange Code Review website.
+    // The original code can be found at
+    // http://codereview.stackexchange.com/q/13338
+    // and was designed to be used with the Sizzle selector engine.
+
+    var $el = $(el);
+    var overflowX = el.style.overflowX;
+    var overflowY = el.style.overflowY;
+
+    //Check both x and y declarations
+    if (overflowX === overflowY &&
+        (overflowY === 'hidden' || overflowY === 'visible')) {
+      return false;
+    }
+
+    if (overflowX === 'scroll' || overflowY === 'scroll') {
+      return true;
+    }
+
+    return ($el.innerHeight() < el.scrollHeight ||
+      $el.innerWidth() < el.scrollWidth);
+  };
+
+  Utils.escapeMarkup = function (markup) {
+    var replaceMap = {
+      '\\': '&#92;',
+      '&': '&amp;',
+      '<': '&lt;',
+      '>': '&gt;',
+      '"': '&quot;',
+      '\'': '&#39;',
+      '/': '&#47;'
+    };
+
+    // Do not try to escape the markup if it's not a string
+    if (typeof markup !== 'string') {
+      return markup;
+    }
+
+    return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
+      return replaceMap[match];
+    });
+  };
+
+  // Append an array of jQuery nodes to a given element.
+  Utils.appendMany = function ($element, $nodes) {
+    // jQuery 1.7.x does not support $.fn.append() with an array
+    // Fall back to a jQuery object collection using $.fn.add()
+    if ($.fn.jquery.substr(0, 3) === '1.7') {
+      var $jqNodes = $();
+
+      $.map($nodes, function (node) {
+        $jqNodes = $jqNodes.add(node);
+      });
+
+      $nodes = $jqNodes;
+    }
+
+    $element.append($nodes);
+  };
+
+  return Utils;
+});
+
+S2.define('select2/results',[
+  'jquery',
+  './utils'
+], function ($, Utils) {
+  function Results ($element, options, dataAdapter) {
+    this.$element = $element;
+    this.data = dataAdapter;
+    this.options = options;
+
+    Results.__super__.constructor.call(this);
+  }
+
+  Utils.Extend(Results, Utils.Observable);
+
+  Results.prototype.render = function () {
+    var $results = $(
+      '<ul class="select2-results__options" role="tree"></ul>'
+    );
+
+    if (this.options.get('multiple')) {
+      $results.attr('aria-multiselectable', 'true');
+    }
+
+    this.$results = $results;
+
+    return $results;
+  };
+
+  Results.prototype.clear = function () {
+    this.$results.empty();
+  };
+
+  Results.prototype.displayMessage = function (params) {
+    var escapeMarkup = this.options.get('escapeMarkup');
+
+    this.clear();
+    this.hideLoading();
+
+    var $message = $(
+      '<li role="treeitem" aria-live="assertive"' +
+      ' class="select2-results__option"></li>'
+    );
+
+    var message = this.options.get('translations').get(params.message);
+
+    $message.append(
+      escapeMarkup(
+        message(params.args)
+      )
+    );
+
+    $message[0].className += ' select2-results__message';
+
+    this.$results.append($message);
+  };
+
+  Results.prototype.hideMessages = function () {
+    this.$results.find('.select2-results__message').remove();
+  };
+
+  Results.prototype.append = function (data) {
+    this.hideLoading();
+
+    var $options = [];
+
+    if (data.results == null || data.results.length === 0) {
+      if (this.$results.children().length === 0) {
+        this.trigger('results:message', {
+          message: 'noResults'
+        });
+      }
+
+      return;
+    }
+
+    data.results = this.sort(data.results);
+
+    for (var d = 0; d < data.results.length; d++) {
+      var item = data.results[d];
+
+      var $option = this.option(item);
+
+      $options.push($option);
+    }
+
+    this.$results.append($options);
+  };
+
+  Results.prototype.position = function ($results, $dropdown) {
+    var $resultsContainer = $dropdown.find('.select2-results');
+    $resultsContainer.append($results);
+  };
+
+  Results.prototype.sort = function (data) {
+    var sorter = this.options.get('sorter');
+
+    return sorter(data);
+  };
+
+  Results.prototype.highlightFirstItem = function () {
+    var $options = this.$results
+      .find('.select2-results__option[aria-selected]');
+
+    var $selected = $options.filter('[aria-selected=true]');
+
+    // Check if there are any selected options
+    if ($selected.length > 0) {
+      // If there are selected options, highlight the first
+      $selected.first().trigger('mouseenter');
+    } else {
+      // If there are no selected options, highlight the first option
+      // in the dropdown
+      $options.first().trigger('mouseenter');
+    }
+
+    this.ensureHighlightVisible();
+  };
+
+  Results.prototype.setClasses = function () {
+    var self = this;
+
+    this.data.current(function (selected) {
+      var selectedIds = $.map(selected, function (s) {
+        return s.id.toString();
+      });
+
+      var $options = self.$results
+        .find('.select2-results__option[aria-selected]');
+
+      $options.each(function () {
+        var $option = $(this);
+
+        var item = $.data(this, 'data');
+
+        // id needs to be converted to a string when comparing
+        var id = '' + item.id;
+
+        if ((item.element != null && item.element.selected) ||
+            (item.element == null && $.inArray(id, selectedIds) > -1)) {
+          $option.attr('aria-selected', 'true');
+        } else {
+          $option.attr('aria-selected', 'false');
+        }
+      });
+
+    });
+  };
+
+  Results.prototype.showLoading = function (params) {
+    this.hideLoading();
+
+    var loadingMore = this.options.get('translations').get('searching');
+
+    var loading = {
+      disabled: true,
+      loading: true,
+      text: loadingMore(params)
+    };
+    var $loading = this.option(loading);
+    $loading.className += ' loading-results';
+
+    this.$results.prepend($loading);
+  };
+
+  Results.prototype.hideLoading = function () {
+    this.$results.find('.loading-results').remove();
+  };
+
+  Results.prototype.option = function (data) {
+    var option = document.createElement('li');
+    option.className = 'select2-results__option';
+
+    var attrs = {
+      'role': 'treeitem',
+      'aria-selected': 'false'
+    };
+
+    if (data.disabled) {
+      delete attrs['aria-selected'];
+      attrs['aria-disabled'] = 'true';
+    }
+
+    if (data.id == null) {
+      delete attrs['aria-selected'];
+    }
+
+    if (data._resultId != null) {
+      option.id = data._resultId;
+    }
+
+    if (data.title) {
+      option.title = data.title;
+    }
+
+    if (data.children) {
+      attrs.role = 'group';
+      attrs['aria-label'] = data.text;
+      delete attrs['aria-selected'];
+    }
+
+    for (var attr in attrs) {
+      var val = attrs[attr];
+
+      option.setAttribute(attr, val);
+    }
+
+    if (data.children) {
+      var $option = $(option);
+
+      var label = document.createElement('strong');
+      label.className = 'select2-results__group';
+
+      var $label = $(label);
+      this.template(data, label);
+
+      var $children = [];
+
+      for (var c = 0; c < data.children.length; c++) {
+        var child = data.children[c];
+
+        var $child = this.option(child);
+
+        $children.push($child);
+      }
+
+      var $childrenContainer = $('<ul></ul>', {
+        'class': 'select2-results__options select2-results__options--nested'
+      });
+
+      $childrenContainer.append($children);
+
+      $option.append(label);
+      $option.append($childrenContainer);
+    } else {
+      this.template(data, option);
+    }
+
+    $.data(option, 'data', data);
+
+    return option;
+  };
+
+  Results.prototype.bind = function (container, $container) {
+    var self = this;
+
+    var id = container.id + '-results';
+
+    this.$results.attr('id', id);
+
+    container.on('results:all', function (params) {
+      self.clear();
+      self.append(params.data);
+
+      if (container.isOpen()) {
+        self.setClasses();
+        self.highlightFirstItem();
+      }
+    });
+
+    container.on('results:append', function (params) {
+      self.append(params.data);
+
+      if (container.isOpen()) {
+        self.setClasses();
+      }
+    });
+
+    container.on('query', function (params) {
+      self.hideMessages();
+      self.showLoading(params);
+    });
+
+    container.on('select', function () {
+      if (!container.isOpen()) {
+        return;
+      }
+
+      self.setClasses();
+      self.highlightFirstItem();
+    });
+
+    container.on('unselect', function () {
+      if (!container.isOpen()) {
+        return;
+      }
+
+      self.setClasses();
+      self.highlightFirstItem();
+    });
+
+    container.on('open', function () {
+      // When the dropdown is open, aria-expended="true"
+      self.$results.attr('aria-expanded', 'true');
+      self.$results.attr('aria-hidden', 'false');
+
+      self.setClasses();
+      self.ensureHighlightVisible();
+    });
+
+    container.on('close', function () {
+      // When the dropdown is closed, aria-expended="false"
+      self.$results.attr('aria-expanded', 'false');
+      self.$results.attr('aria-hidden', 'true');
+      self.$results.removeAttr('aria-activedescendant');
+    });
+
+    container.on('results:toggle', function () {
+      var $highlighted = self.getHighlightedResults();
+
+      if ($highlighted.length === 0) {
+        return;
+      }
+
+      $highlighted.trigger('mouseup');
+    });
+
+    container.on('results:select', function () {
+      var $highlighted = self.getHighlightedResults();
+
+      if ($highlighted.length === 0) {
+        return;
+      }
+
+      var data = $highlighted.data('data');
+
+      if ($highlighted.attr('aria-selected') == 'true') {
+        self.trigger('close', {});
+      } else {
+        self.trigger('select', {
+          data: data
+        });
+      }
+    });
+
+    container.on('results:previous', function () {
+      var $highlighted = self.getHighlightedResults();
+
+      var $options = self.$results.find('[aria-selected]');
+
+      var currentIndex = $options.index($highlighted);
+
+      // If we are already at te top, don't move further
+      if (currentIndex === 0) {
+        return;
+      }
+
+      var nextIndex = currentIndex - 1;
+
+      // If none are highlighted, highlight the first
+      if ($highlighted.length === 0) {
+        nextIndex = 0;
+      }
+
+      var $next = $options.eq(nextIndex);
+
+      $next.trigger('mouseenter');
+
+      var currentOffset = self.$results.offset().top;
+      var nextTop = $next.offset().top;
+      var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
+
+      if (nextIndex === 0) {
+        self.$results.scrollTop(0);
+      } else if (nextTop - currentOffset < 0) {
+        self.$results.scrollTop(nextOffset);
+      }
+    });
+
+    container.on('results:next', function () {
+      var $highlighted = self.getHighlightedResults();
+
+      var $options = self.$results.find('[aria-selected]');
+
+      var currentIndex = $options.index($highlighted);
+
+      var nextIndex = currentIndex + 1;
+
+      // If we are at the last option, stay there
+      if (nextIndex >= $options.length) {
+        return;
+      }
+
+      var $next = $options.eq(nextIndex);
+
+      $next.trigger('mouseenter');
+
+      var currentOffset = self.$results.offset().top +
+        self.$results.outerHeight(false);
+      var nextBottom = $next.offset().top + $next.outerHeight(false);
+      var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
+
+      if (nextIndex === 0) {
+        self.$results.scrollTop(0);
+      } else if (nextBottom > currentOffset) {
+        self.$results.scrollTop(nextOffset);
+      }
+    });
+
+    container.on('results:focus', function (params) {
+      params.element.addClass('select2-results__option--highlighted');
+    });
+
+    container.on('results:message', function (params) {
+      self.displayMessage(params);
+    });
+
+    if ($.fn.mousewheel) {
+      this.$results.on('mousewheel', function (e) {
+        var top = self.$results.scrollTop();
+
+        var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
+
+        var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
+        var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
+
+        if (isAtTop) {
+          self.$results.scrollTop(0);
+
+          e.preventDefault();
+          e.stopPropagation();
+        } else if (isAtBottom) {
+          self.$results.scrollTop(
+            self.$results.get(0).scrollHeight - self.$results.height()
+          );
+
+          e.preventDefault();
+          e.stopPropagation();
+        }
+      });
+    }
+
+    this.$results.on('mouseup', '.select2-results__option[aria-selected]',
+      function (evt) {
+      var $this = $(this);
+
+      var data = $this.data('data');
+
+      if ($this.attr('aria-selected') === 'true') {
+        if (self.options.get('multiple')) {
+          self.trigger('unselect', {
+            originalEvent: evt,
+            data: data
+          });
+        } else {
+          self.trigger('close', {});
+        }
+
+        return;
+      }
+
+      self.trigger('select', {
+        originalEvent: evt,
+        data: data
+      });
+    });
+
+    this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
+      function (evt) {
+      var data = $(this).data('data');
+
+      self.getHighlightedResults()
+          .removeClass('select2-results__option--highlighted');
+
+      self.trigger('results:focus', {
+        data: data,
+        element: $(this)
+      });
+    });
+  };
+
+  Results.prototype.getHighlightedResults = function () {
+    var $highlighted = this.$results
+    .find('.select2-results__option--highlighted');
+
+    return $highlighted;
+  };
+
+  Results.prototype.destroy = function () {
+    this.$results.remove();
+  };
+
+  Results.prototype.ensureHighlightVisible = function () {
+    var $highlighted = this.getHighlightedResults();
+
+    if ($highlighted.length === 0) {
+      return;
+    }
+
+    var $options = this.$results.find('[aria-selected]');
+
+    var currentIndex = $options.index($highlighted);
+
+    var currentOffset = this.$results.offset().top;
+    var nextTop = $highlighted.offset().top;
+    var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
+
+    var offsetDelta = nextTop - currentOffset;
+    nextOffset -= $highlighted.outerHeight(false) * 2;
+
+    if (currentIndex <= 2) {
+      this.$results.scrollTop(0);
+    } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
+      this.$results.scrollTop(nextOffset);
+    }
+  };
+
+  Results.prototype.template = function (result, container) {
+    var template = this.options.get('templateResult');
+    var escapeMarkup = this.options.get('escapeMarkup');
+
+    var content = template(result, container);
+
+    if (content == null) {
+      container.style.display = 'none';
+    } else if (typeof content === 'string') {
+      container.innerHTML = escapeMarkup(content);
+    } else {
+      $(container).append(content);
+    }
+  };
+
+  return Results;
+});
+
+S2.define('select2/keys',[
+
+], function () {
+  var KEYS = {
+    BACKSPACE: 8,
+    TAB: 9,
+    ENTER: 13,
+    SHIFT: 16,
+    CTRL: 17,
+    ALT: 18,
+    ESC: 27,
+    SPACE: 32,
+    PAGE_UP: 33,
+    PAGE_DOWN: 34,
+    END: 35,
+    HOME: 36,
+    LEFT: 37,
+    UP: 38,
+    RIGHT: 39,
+    DOWN: 40,
+    DELETE: 46
+  };
+
+  return KEYS;
+});
+
+S2.define('select2/selection/base',[
+  'jquery',
+  '../utils',
+  '../keys'
+], function ($, Utils, KEYS) {
+  function BaseSelection ($element, options) {
+    this.$element = $element;
+    this.options = options;
+
+    BaseSelection.__super__.constructor.call(this);
+  }
+
+  Utils.Extend(BaseSelection, Utils.Observable);
+
+  BaseSelection.prototype.render = function () {
+    var $selection = $(
+      '<span class="select2-selection" role="combobox" ' +
+      ' aria-haspopup="true" aria-expanded="false">' +
+      '</span>'
+    );
+
+    this._tabindex = 0;
+
+    if (this.$element.data('old-tabindex') != null) {
+      this._tabindex = this.$element.data('old-tabindex');
+    } else if (this.$element.attr('tabindex') != null) {
+      this._tabindex = this.$element.attr('tabindex');
+    }
+
+    $selection.attr('title', this.$element.attr('title'));
+    $selection.attr('tabindex', this._tabindex);
+
+    this.$selection = $selection;
+
+    return $selection;
+  };
+
+  BaseSelection.prototype.bind = function (container, $container) {
+    var self = this;
+
+    var id = container.id + '-container';
+    var resultsId = container.id + '-results';
+
+    this.container = container;
+
+    this.$selection.on('focus', function (evt) {
+      self.trigger('focus', evt);
+    });
+
+    this.$selection.on('blur', function (evt) {
+      self._handleBlur(evt);
+    });
+
+    this.$selection.on('keydown', function (evt) {
+      self.trigger('keypress', evt);
+
+      if (evt.which === KEYS.SPACE) {
+        evt.preventDefault();
+      }
+    });
+
+    container.on('results:focus', function (params) {
+      self.$selection.attr('aria-activedescendant', params.data._resultId);
+    });
+
+    container.on('selection:update', function (params) {
+      self.update(params.data);
+    });
+
+    container.on('open', function () {
+      // When the dropdown is open, aria-expanded="true"
+      self.$selection.attr('aria-expanded', 'true');
+      self.$selection.attr('aria-owns', resultsId);
+
+      self._attachCloseHandler(container);
+    });
+
+    container.on('close', function () {
+      // When the dropdown is closed, aria-expanded="false"
+      self.$selection.attr('aria-expanded', 'false');
+      self.$selection.removeAttr('aria-activedescendant');
+      self.$selection.removeAttr('aria-owns');
+
+      self.$selection.focus();
+
+      self._detachCloseHandler(container);
+    });
+
+    container.on('enable', function () {
+      self.$selection.attr('tabindex', self._tabindex);
+    });
+
+    container.on('disable', function () {
+      self.$selection.attr('tabindex', '-1');
+    });
+  };
+
+  BaseSelection.prototype._handleBlur = function (evt) {
+    var self = this;
+
+    // This needs to be delayed as the active element is the body when the tab
+    // key is pressed, possibly along with others.
+    window.setTimeout(function () {
+      // Don't trigger `blur` if the focus is still in the selection
+      if (
+        (document.activeElement == self.$selection[0]) ||
+        ($.contains(self.$selection[0], document.activeElement))
+      ) {
+        return;
+      }
+
+      self.trigger('blur', evt);
+    }, 1);
+  };
+
+  BaseSelection.prototype._attachCloseHandler = function (container) {
+    var self = this;
+
+    $(document.body).on('mousedown.select2.' + container.id, function (e) {
+      var $target = $(e.target);
+
+      var $select = $target.closest('.select2');
+
+      var $all = $('.select2.select2-container--open');
+
+      $all.each(function () {
+        var $this = $(this);
+
+        if (this == $select[0]) {
+          return;
+        }
+
+        var $element = $this.data('element');
+
+        $element.select2('close');
+      });
+    });
+  };
+
+  BaseSelection.prototype._detachCloseHandler = function (container) {
+    $(document.body).off('mousedown.select2.' + container.id);
+  };
+
+  BaseSelection.prototype.position = function ($selection, $container) {
+    var $selectionContainer = $container.find('.selection');
+    $selectionContainer.append($selection);
+  };
+
+  BaseSelection.prototype.destroy = function () {
+    this._detachCloseHandler(this.container);
+  };
+
+  BaseSelection.prototype.update = function (data) {
+    throw new Error('The `update` method must be defined in child classes.');
+  };
+
+  return BaseSelection;
+});
+
+S2.define('select2/selection/single',[
+  'jquery',
+  './base',
+  '../utils',
+  '../keys'
+], function ($, BaseSelection, Utils, KEYS) {
+  function SingleSelection () {
+    SingleSelection.__super__.constructor.apply(this, arguments);
+  }
+
+  Utils.Extend(SingleSelection, BaseSelection);
+
+  SingleSelection.prototype.render = function () {
+    var $selection = SingleSelection.__super__.render.call(this);
+
+    $selection.addClass('select2-selection--single');
+
+    $selection.html(
+      '<span class="select2-selection__rendered"></span>' +
+      '<span class="select2-selection__arrow" role="presentation">' +
+        '<b role="presentation"></b>' +
+      '</span>'
+    );
+
+    return $selection;
+  };
+
+  SingleSelection.prototype.bind = function (container, $container) {
+    var self = this;
+
+    SingleSelection.__super__.bind.apply(this, arguments);
+
+    var id = container.id + '-container';
+
+    this.$selection.find('.select2-selection__rendered').attr('id', id);
+    this.$selection.attr('aria-labelledby', id);
+
+    this.$selection.on('mousedown', function (evt) {
+      // Only respond to left clicks
+      if (evt.which !== 1) {
+        return;
+      }
+
+      self.trigger('toggle', {
+        originalEvent: evt
+      });
+    });
+
+    this.$selection.on('focus', function (evt) {
+      // User focuses on the container
+    });
+
+    this.$selection.on('blur', function (evt) {
+      // User exits the container
+    });
+
+    container.on('focus', function (evt) {
+      if (!container.isOpen()) {
+        self.$selection.focus();
+      }
+    });
+
+    container.on('selection:update', function (params) {
+      self.update(params.data);
+    });
+  };
+
+  SingleSelection.prototype.clear = function () {
+    this.$selection.find('.select2-selection__rendered').empty();
+  };
+
+  SingleSelection.prototype.display = function (data, container) {
+    var template = this.options.get('templateSelection');
+    var escapeMarkup = this.options.get('escapeMarkup');
+
+    return escapeMarkup(template(data, container));
+  };
+
+  SingleSelection.prototype.selectionContainer = function () {
+    return $('<span></span>');
+  };
+
+  SingleSelection.prototype.update = function (data) {
+    if (data.length === 0) {
+      this.clear();
+      return;
+    }
+
+    var selection = data[0];
+
+    var $rendered = this.$selection.find('.select2-selection__rendered');
+    var formatted = this.display(selection, $rendered);
+
+    $rendered.empty().append(formatted);
+    $rendered.prop('title', selection.title || selection.text);
+  };
+
+  return SingleSelection;
+});
+
+S2.define('select2/selection/multiple',[
+  'jquery',
+  './base',
+  '../utils'
+], function ($, BaseSelection, Utils) {
+  function MultipleSelection ($element, options) {
+    MultipleSelection.__super__.constructor.apply(this, arguments);
+  }
+
+  Utils.Extend(MultipleSelection, BaseSelection);
+
+  MultipleSelection.prototype.render = function () {
+    var $selection = MultipleSelection.__super__.render.call(this);
+
+    $selection.addClass('select2-selection--multiple');
+
+    $selection.html(
+      '<ul class="select2-selection__rendered"></ul>'
+    );
+
+    return $selection;
+  };
+
+  MultipleSelection.prototype.bind = function (container, $container) {
+    var self = this;
+
+    MultipleSelection.__super__.bind.apply(this, arguments);
+
+    this.$selection.on('click', function (evt) {
+      self.trigger('toggle', {
+        originalEvent: evt
+      });
+    });
+
+    this.$selection.on(
+      'click',
+      '.select2-selection__choice__remove',
+      function (evt) {
+        // Ignore the event if it is disabled
+        if (self.options.get('disabled')) {
+          return;
+        }
+
+        var $remove = $(this);
+        var $selection = $remove.parent();
+
+        var data = $selection.data('data');
+
+        self.trigger('unselect', {
+          originalEvent: evt,
+          data: data
+        });
+      }
+    );
+  };
+
+  MultipleSelection.prototype.clear = function () {
+    this.$selection.find('.select2-selection__rendered').empty();
+  };
+
+  MultipleSelection.prototype.display = function (data, container) {
+    var template = this.options.get('templateSelection');
+    var escapeMarkup = this.options.get('escapeMarkup');
+
+    return escapeMarkup(template(data, container));
+  };
+
+  MultipleSelection.prototype.selectionContainer = function () {
+    var $container = $(
+      '<li class="select2-selection__choice">' +
+        '<span class="select2-selection__choice__remove" role="presentation">' +
+          '&times;' +
+        '</span>' +
+      '</li>'
+    );
+
+    return $container;
+  };
+
+  MultipleSelection.prototype.update = function (data) {
+    this.clear();
+
+    if (data.length === 0) {
+      return;
+    }
+
+    var $selections = [];
+
+    for (var d = 0; d < data.length; d++) {
+      var selection = data[d];
+
+      var $selection = this.selectionContainer();
+      var formatted = this.display(selection, $selection);
+
+      $selection.append(formatted);
+      $selection.prop('title', selection.title || selection.text);
+
+      $selection.data('data', selection);
+
+      $selections.push($selection);
+    }
+
+    var $rendered = this.$selection.find('.select2-selection__rendered');
+
+    Utils.appendMany($rendered, $selections);
+  };
+
+  return MultipleSelection;
+});
+
+S2.define('select2/selection/placeholder',[
+  '../utils'
+], function (Utils) {
+  function Placeholder (decorated, $element, options) {
+    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
+
+    decorated.call(this, $element, options);
+  }
+
+  Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
+    if (typeof placeholder === 'string') {
+      placeholder = {
+        id: '',
+        text: placeholder
+      };
+    }
+
+    return placeholder;
+  };
+
+  Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
+    var $placeholder = this.selectionContainer();
+
+    $placeholder.html(this.display(placeholder));
+    $placeholder.addClass('select2-selection__placeholder')
+                .removeClass('select2-selection__choice');
+
+    return $placeholder;
+  };
+
+  Placeholder.prototype.update = function (decorated, data) {
+    var singlePlaceholder = (
+      data.length == 1 && data[0].id != this.placeholder.id
+    );
+    var multipleSelections = data.length > 1;
+
+    if (multipleSelections || singlePlaceholder) {
+      return decorated.call(this, data);
+    }
+
+    this.clear();
+
+    var $placeholder = this.createPlaceholder(this.placeholder);
+
+    this.$selection.find('.select2-selection__rendered').append($placeholder);
+  };
+
+  return Placeholder;
+});
+
+S2.define('select2/selection/allowClear',[
+  'jquery',
+  '../keys'
+], function ($, KEYS) {
+  function AllowClear () { }
+
+  AllowClear.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    if (this.placeholder == null) {
+      if (this.options.get('debug') && window.console && console.error) {
+        console.error(
+          'Select2: The `allowClear` option should be used in combination ' +
+          'with the `placeholder` option.'
+        );
+      }
+    }
+
+    this.$selection.on('mousedown', '.select2-selection__clear',
+      function (evt) {
+        self._handleClear(evt);
+    });
+
+    container.on('keypress', function (evt) {
+      self._handleKeyboardClear(evt, container);
+    });
+  };
+
+  AllowClear.prototype._handleClear = function (_, evt) {
+    // Ignore the event if it is disabled
+    if (this.options.get('disabled')) {
+      return;
+    }
+
+    var $clear = this.$selection.find('.select2-selection__clear');
+
+    // Ignore the event if nothing has been selected
+    if ($clear.length === 0) {
+      return;
+    }
+
+    evt.stopPropagation();
+
+    var data = $clear.data('data');
+
+    for (var d = 0; d < data.length; d++) {
+      var unselectData = {
+        data: data[d]
+      };
+
+      // Trigger the `unselect` event, so people can prevent it from being
+      // cleared.
+      this.trigger('unselect', unselectData);
+
+      // If the event was prevented, don't clear it out.
+      if (unselectData.prevented) {
+        return;
+      }
+    }
+
+    this.$element.val(this.placeholder.id).trigger('change');
+
+    this.trigger('toggle', {});
+  };
+
+  AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
+    if (container.isOpen()) {
+      return;
+    }
+
+    if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
+      this._handleClear(evt);
+    }
+  };
+
+  AllowClear.prototype.update = function (decorated, data) {
+    decorated.call(this, data);
+
+    if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
+        data.length === 0) {
+      return;
+    }
+
+    var $remove = $(
+      '<span class="select2-selection__clear">' +
+        '&times;' +
+      '</span>'
+    );
+    $remove.data('data', data);
+
+    this.$selection.find('.select2-selection__rendered').prepend($remove);
+  };
+
+  return AllowClear;
+});
+
+S2.define('select2/selection/search',[
+  'jquery',
+  '../utils',
+  '../keys'
+], function ($, Utils, KEYS) {
+  function Search (decorated, $element, options) {
+    decorated.call(this, $element, options);
+  }
+
+  Search.prototype.render = function (decorated) {
+    var $search = $(
+      '<li class="select2-search select2-search--inline">' +
+        '<input class="select2-search__field" type="search" tabindex="-1"' +
+        ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
+        ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
+      '</li>'
+    );
+
+    this.$searchContainer = $search;
+    this.$search = $search.find('input');
+
+    var $rendered = decorated.call(this);
+
+    this._transferTabIndex();
+
+    return $rendered;
+  };
+
+  Search.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    container.on('open', function () {
+      self.$search.trigger('focus');
+    });
+
+    container.on('close', function () {
+      self.$search.val('');
+      self.$search.removeAttr('aria-activedescendant');
+      self.$search.trigger('focus');
+    });
+
+    container.on('enable', function () {
+      self.$search.prop('disabled', false);
+
+      self._transferTabIndex();
+    });
+
+    container.on('disable', function () {
+      self.$search.prop('disabled', true);
+    });
+
+    container.on('focus', function (evt) {
+      self.$search.trigger('focus');
+    });
+
+    container.on('results:focus', function (params) {
+      self.$search.attr('aria-activedescendant', params.id);
+    });
+
+    this.$selection.on('focusin', '.select2-search--inline', function (evt) {
+      self.trigger('focus', evt);
+    });
+
+    this.$selection.on('focusout', '.select2-search--inline', function (evt) {
+      self._handleBlur(evt);
+    });
+
+    this.$selection.on('keydown', '.select2-search--inline', function (evt) {
+      evt.stopPropagation();
+
+      self.trigger('keypress', evt);
+
+      self._keyUpPrevented = evt.isDefaultPrevented();
+
+      var key = evt.which;
+
+      if (key === KEYS.BACKSPACE && self.$search.val() === '') {
+        var $previousChoice = self.$searchContainer
+          .prev('.select2-selection__choice');
+
+        if ($previousChoice.length > 0) {
+          var item = $previousChoice.data('data');
+
+          self.searchRemoveChoice(item);
+
+          evt.preventDefault();
+        }
+      }
+    });
+
+    // Try to detect the IE version should the `documentMode` property that
+    // is stored on the document. This is only implemented in IE and is
+    // slightly cleaner than doing a user agent check.
+    // This property is not available in Edge, but Edge also doesn't have
+    // this bug.
+    var msie = document.documentMode;
+    var disableInputEvents = msie && msie <= 11;
+
+    // Workaround for browsers which do not support the `input` event
+    // This will prevent double-triggering of events for browsers which support
+    // both the `keyup` and `input` events.
+    this.$selection.on(
+      'input.searchcheck',
+      '.select2-search--inline',
+      function (evt) {
+        // IE will trigger the `input` event when a placeholder is used on a
+        // search box. To get around this issue, we are forced to ignore all
+        // `input` events in IE and keep using `keyup`.
+        if (disableInputEvents) {
+          self.$selection.off('input.search input.searchcheck');
+          return;
+        }
+
+        // Unbind the duplicated `keyup` event
+        self.$selection.off('keyup.search');
+      }
+    );
+
+    this.$selection.on(
+      'keyup.search input.search',
+      '.select2-search--inline',
+      function (evt) {
+        // IE will trigger the `input` event when a placeholder is used on a
+        // search box. To get around this issue, we are forced to ignore all
+        // `input` events in IE and keep using `keyup`.
+        if (disableInputEvents && evt.type === 'input') {
+          self.$selection.off('input.search input.searchcheck');
+          return;
+        }
+
+        var key = evt.which;
+
+        // We can freely ignore events from modifier keys
+        if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
+          return;
+        }
+
+        // Tabbing will be handled during the `keydown` phase
+        if (key == KEYS.TAB) {
+          return;
+        }
+
+        self.handleSearch(evt);
+      }
+    );
+  };
+
+  /**
+   * This method will transfer the tabindex attribute from the rendered
+   * selection to the search box. This allows for the search box to be used as
+   * the primary focus instead of the selection container.
+   *
+   * @private
+   */
+  Search.prototype._transferTabIndex = function (decorated) {
+    this.$search.attr('tabindex', this.$selection.attr('tabindex'));
+    this.$selection.attr('tabindex', '-1');
+  };
+
+  Search.prototype.createPlaceholder = function (decorated, placeholder) {
+    this.$search.attr('placeholder', placeholder.text);
+  };
+
+  Search.prototype.update = function (decorated, data) {
+    var searchHadFocus = this.$search[0] == document.activeElement;
+
+    this.$search.attr('placeholder', '');
+
+    decorated.call(this, data);
+
+    this.$selection.find('.select2-selection__rendered')
+                   .append(this.$searchContainer);
+
+    this.resizeSearch();
+    if (searchHadFocus) {
+      this.$search.focus();
+    }
+  };
+
+  Search.prototype.handleSearch = function () {
+    this.resizeSearch();
+
+    if (!this._keyUpPrevented) {
+      var input = this.$search.val();
+
+      this.trigger('query', {
+        term: input
+      });
+    }
+
+    this._keyUpPrevented = false;
+  };
+
+  Search.prototype.searchRemoveChoice = function (decorated, item) {
+    this.trigger('unselect', {
+      data: item
+    });
+
+    this.$search.val(item.text);
+    this.handleSearch();
+  };
+
+  Search.prototype.resizeSearch = function () {
+    this.$search.css('width', '25px');
+
+    var width = '';
+
+    if (this.$search.attr('placeholder') !== '') {
+      width = this.$selection.find('.select2-selection__rendered').innerWidth();
+    } else {
+      var minimumWidth = this.$search.val().length + 1;
+
+      width = (minimumWidth * 0.75) + 'em';
+    }
+
+    this.$search.css('width', width);
+  };
+
+  return Search;
+});
+
+S2.define('select2/selection/eventRelay',[
+  'jquery'
+], function ($) {
+  function EventRelay () { }
+
+  EventRelay.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+    var relayEvents = [
+      'open', 'opening',
+      'close', 'closing',
+      'select', 'selecting',
+      'unselect', 'unselecting'
+    ];
+
+    var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
+
+    decorated.call(this, container, $container);
+
+    container.on('*', function (name, params) {
+      // Ignore events that should not be relayed
+      if ($.inArray(name, relayEvents) === -1) {
+        return;
+      }
+
+      // The parameters should always be an object
+      params = params || {};
+
+      // Generate the jQuery event for the Select2 event
+      var evt = $.Event('select2:' + name, {
+        params: params
+      });
+
+      self.$element.trigger(evt);
+
+      // Only handle preventable events if it was one
+      if ($.inArray(name, preventableEvents) === -1) {
+        return;
+      }
+
+      params.prevented = evt.isDefaultPrevented();
+    });
+  };
+
+  return EventRelay;
+});
+
+S2.define('select2/translation',[
+  'jquery',
+  'require'
+], function ($, require) {
+  function Translation (dict) {
+    this.dict = dict || {};
+  }
+
+  Translation.prototype.all = function () {
+    return this.dict;
+  };
+
+  Translation.prototype.get = function (key) {
+    return this.dict[key];
+  };
+
+  Translation.prototype.extend = function (translation) {
+    this.dict = $.extend({}, translation.all(), this.dict);
+  };
+
+  // Static functions
+
+  Translation._cache = {};
+
+  Translation.loadPath = function (path) {
+    if (!(path in Translation._cache)) {
+      var translations = require(path);
+
+      Translation._cache[path] = translations;
+    }
+
+    return new Translation(Translation._cache[path]);
+  };
+
+  return Translation;
+});
+
+S2.define('select2/diacritics',[
+
+], function () {
+  var diacritics = {
+    '\u24B6': 'A',
+    '\uFF21': 'A',
+    '\u00C0': 'A',
+    '\u00C1': 'A',
+    '\u00C2': 'A',
+    '\u1EA6': 'A',
+    '\u1EA4': 'A',
+    '\u1EAA': 'A',
+    '\u1EA8': 'A',
+    '\u00C3': 'A',
+    '\u0100': 'A',
+    '\u0102': 'A',
+    '\u1EB0': 'A',
+    '\u1EAE': 'A',
+    '\u1EB4': 'A',
+    '\u1EB2': 'A',
+    '\u0226': 'A',
+    '\u01E0': 'A',
+    '\u00C4': 'A',
+    '\u01DE': 'A',
+    '\u1EA2': 'A',
+    '\u00C5': 'A',
+    '\u01FA': 'A',
+    '\u01CD': 'A',
+    '\u0200': 'A',
+    '\u0202': 'A',
+    '\u1EA0': 'A',
+    '\u1EAC': 'A',
+    '\u1EB6': 'A',
+    '\u1E00': 'A',
+    '\u0104': 'A',
+    '\u023A': 'A',
+    '\u2C6F': 'A',
+    '\uA732': 'AA',
+    '\u00C6': 'AE',
+    '\u01FC': 'AE',
+    '\u01E2': 'AE',
+    '\uA734': 'AO',
+    '\uA736': 'AU',
+    '\uA738': 'AV',
+    '\uA73A': 'AV',
+    '\uA73C': 'AY',
+    '\u24B7': 'B',
+    '\uFF22': 'B',
+    '\u1E02': 'B',
+    '\u1E04': 'B',
+    '\u1E06': 'B',
+    '\u0243': 'B',
+    '\u0182': 'B',
+    '\u0181': 'B',
+    '\u24B8': 'C',
+    '\uFF23': 'C',
+    '\u0106': 'C',
+    '\u0108': 'C',
+    '\u010A': 'C',
+    '\u010C': 'C',
+    '\u00C7': 'C',
+    '\u1E08': 'C',
+    '\u0187': 'C',
+    '\u023B': 'C',
+    '\uA73E': 'C',
+    '\u24B9': 'D',
+    '\uFF24': 'D',
+    '\u1E0A': 'D',
+    '\u010E': 'D',
+    '\u1E0C': 'D',
+    '\u1E10': 'D',
+    '\u1E12': 'D',
+    '\u1E0E': 'D',
+    '\u0110': 'D',
+    '\u018B': 'D',
+    '\u018A': 'D',
+    '\u0189': 'D',
+    '\uA779': 'D',
+    '\u01F1': 'DZ',
+    '\u01C4': 'DZ',
+    '\u01F2': 'Dz',
+    '\u01C5': 'Dz',
+    '\u24BA': 'E',
+    '\uFF25': 'E',
+    '\u00C8': 'E',
+    '\u00C9': 'E',
+    '\u00CA': 'E',
+    '\u1EC0': 'E',
+    '\u1EBE': 'E',
+    '\u1EC4': 'E',
+    '\u1EC2': 'E',
+    '\u1EBC': 'E',
+    '\u0112': 'E',
+    '\u1E14': 'E',
+    '\u1E16': 'E',
+    '\u0114': 'E',
+    '\u0116': 'E',
+    '\u00CB': 'E',
+    '\u1EBA': 'E',
+    '\u011A': 'E',
+    '\u0204': 'E',
+    '\u0206': 'E',
+    '\u1EB8': 'E',
+    '\u1EC6': 'E',
+    '\u0228': 'E',
+    '\u1E1C': 'E',
+    '\u0118': 'E',
+    '\u1E18': 'E',
+    '\u1E1A': 'E',
+    '\u0190': 'E',
+    '\u018E': 'E',
+    '\u24BB': 'F',
+    '\uFF26': 'F',
+    '\u1E1E': 'F',
+    '\u0191': 'F',
+    '\uA77B': 'F',
+    '\u24BC': 'G',
+    '\uFF27': 'G',
+    '\u01F4': 'G',
+    '\u011C': 'G',
+    '\u1E20': 'G',
+    '\u011E': 'G',
+    '\u0120': 'G',
+    '\u01E6': 'G',
+    '\u0122': 'G',
+    '\u01E4': 'G',
+    '\u0193': 'G',
+    '\uA7A0': 'G',
+    '\uA77D': 'G',
+    '\uA77E': 'G',
+    '\u24BD': 'H',
+    '\uFF28': 'H',
+    '\u0124': 'H',
+    '\u1E22': 'H',
+    '\u1E26': 'H',
+    '\u021E': 'H',
+    '\u1E24': 'H',
+    '\u1E28': 'H',
+    '\u1E2A': 'H',
+    '\u0126': 'H',
+    '\u2C67': 'H',
+    '\u2C75': 'H',
+    '\uA78D': 'H',
+    '\u24BE': 'I',
+    '\uFF29': 'I',
+    '\u00CC': 'I',
+    '\u00CD': 'I',
+    '\u00CE': 'I',
+    '\u0128': 'I',
+    '\u012A': 'I',
+    '\u012C': 'I',
+    '\u0130': 'I',
+    '\u00CF': 'I',
+    '\u1E2E': 'I',
+    '\u1EC8': 'I',
+    '\u01CF': 'I',
+    '\u0208': 'I',
+    '\u020A': 'I',
+    '\u1ECA': 'I',
+    '\u012E': 'I',
+    '\u1E2C': 'I',
+    '\u0197': 'I',
+    '\u24BF': 'J',
+    '\uFF2A': 'J',
+    '\u0134': 'J',
+    '\u0248': 'J',
+    '\u24C0': 'K',
+    '\uFF2B': 'K',
+    '\u1E30': 'K',
+    '\u01E8': 'K',
+    '\u1E32': 'K',
+    '\u0136': 'K',
+    '\u1E34': 'K',
+    '\u0198': 'K',
+    '\u2C69': 'K',
+    '\uA740': 'K',
+    '\uA742': 'K',
+    '\uA744': 'K',
+    '\uA7A2': 'K',
+    '\u24C1': 'L',
+    '\uFF2C': 'L',
+    '\u013F': 'L',
+    '\u0139': 'L',
+    '\u013D': 'L',
+    '\u1E36': 'L',
+    '\u1E38': 'L',
+    '\u013B': 'L',
+    '\u1E3C': 'L',
+    '\u1E3A': 'L',
+    '\u0141': 'L',
+    '\u023D': 'L',
+    '\u2C62': 'L',
+    '\u2C60': 'L',
+    '\uA748': 'L',
+    '\uA746': 'L',
+    '\uA780': 'L',
+    '\u01C7': 'LJ',
+    '\u01C8': 'Lj',
+    '\u24C2': 'M',
+    '\uFF2D': 'M',
+    '\u1E3E': 'M',
+    '\u1E40': 'M',
+    '\u1E42': 'M',
+    '\u2C6E': 'M',
+    '\u019C': 'M',
+    '\u24C3': 'N',
+    '\uFF2E': 'N',
+    '\u01F8': 'N',
+    '\u0143': 'N',
+    '\u00D1': 'N',
+    '\u1E44': 'N',
+    '\u0147': 'N',
+    '\u1E46': 'N',
+    '\u0145': 'N',
+    '\u1E4A': 'N',
+    '\u1E48': 'N',
+    '\u0220': 'N',
+    '\u019D': 'N',
+    '\uA790': 'N',
+    '\uA7A4': 'N',
+    '\u01CA': 'NJ',
+    '\u01CB': 'Nj',
+    '\u24C4': 'O',
+    '\uFF2F': 'O',
+    '\u00D2': 'O',
+    '\u00D3': 'O',
+    '\u00D4': 'O',
+    '\u1ED2': 'O',
+    '\u1ED0': 'O',
+    '\u1ED6': 'O',
+    '\u1ED4': 'O',
+    '\u00D5': 'O',
+    '\u1E4C': 'O',
+    '\u022C': 'O',
+    '\u1E4E': 'O',
+    '\u014C': 'O',
+    '\u1E50': 'O',
+    '\u1E52': 'O',
+    '\u014E': 'O',
+    '\u022E': 'O',
+    '\u0230': 'O',
+    '\u00D6': 'O',
+    '\u022A': 'O',
+    '\u1ECE': 'O',
+    '\u0150': 'O',
+    '\u01D1': 'O',
+    '\u020C': 'O',
+    '\u020E': 'O',
+    '\u01A0': 'O',
+    '\u1EDC': 'O',
+    '\u1EDA': 'O',
+    '\u1EE0': 'O',
+    '\u1EDE': 'O',
+    '\u1EE2': 'O',
+    '\u1ECC': 'O',
+    '\u1ED8': 'O',
+    '\u01EA': 'O',
+    '\u01EC': 'O',
+    '\u00D8': 'O',
+    '\u01FE': 'O',
+    '\u0186': 'O',
+    '\u019F': 'O',
+    '\uA74A': 'O',
+    '\uA74C': 'O',
+    '\u01A2': 'OI',
+    '\uA74E': 'OO',
+    '\u0222': 'OU',
+    '\u24C5': 'P',
+    '\uFF30': 'P',
+    '\u1E54': 'P',
+    '\u1E56': 'P',
+    '\u01A4': 'P',
+    '\u2C63': 'P',
+    '\uA750': 'P',
+    '\uA752': 'P',
+    '\uA754': 'P',
+    '\u24C6': 'Q',
+    '\uFF31': 'Q',
+    '\uA756': 'Q',
+    '\uA758': 'Q',
+    '\u024A': 'Q',
+    '\u24C7': 'R',
+    '\uFF32': 'R',
+    '\u0154': 'R',
+    '\u1E58': 'R',
+    '\u0158': 'R',
+    '\u0210': 'R',
+    '\u0212': 'R',
+    '\u1E5A': 'R',
+    '\u1E5C': 'R',
+    '\u0156': 'R',
+    '\u1E5E': 'R',
+    '\u024C': 'R',
+    '\u2C64': 'R',
+    '\uA75A': 'R',
+    '\uA7A6': 'R',
+    '\uA782': 'R',
+    '\u24C8': 'S',
+    '\uFF33': 'S',
+    '\u1E9E': 'S',
+    '\u015A': 'S',
+    '\u1E64': 'S',
+    '\u015C': 'S',
+    '\u1E60': 'S',
+    '\u0160': 'S',
+    '\u1E66': 'S',
+    '\u1E62': 'S',
+    '\u1E68': 'S',
+    '\u0218': 'S',
+    '\u015E': 'S',
+    '\u2C7E': 'S',
+    '\uA7A8': 'S',
+    '\uA784': 'S',
+    '\u24C9': 'T',
+    '\uFF34': 'T',
+    '\u1E6A': 'T',
+    '\u0164': 'T',
+    '\u1E6C': 'T',
+    '\u021A': 'T',
+    '\u0162': 'T',
+    '\u1E70': 'T',
+    '\u1E6E': 'T',
+    '\u0166': 'T',
+    '\u01AC': 'T',
+    '\u01AE': 'T',
+    '\u023E': 'T',
+    '\uA786': 'T',
+    '\uA728': 'TZ',
+    '\u24CA': 'U',
+    '\uFF35': 'U',
+    '\u00D9': 'U',
+    '\u00DA': 'U',
+    '\u00DB': 'U',
+    '\u0168': 'U',
+    '\u1E78': 'U',
+    '\u016A': 'U',
+    '\u1E7A': 'U',
+    '\u016C': 'U',
+    '\u00DC': 'U',
+    '\u01DB': 'U',
+    '\u01D7': 'U',
+    '\u01D5': 'U',
+    '\u01D9': 'U',
+    '\u1EE6': 'U',
+    '\u016E': 'U',
+    '\u0170': 'U',
+    '\u01D3': 'U',
+    '\u0214': 'U',
+    '\u0216': 'U',
+    '\u01AF': 'U',
+    '\u1EEA': 'U',
+    '\u1EE8': 'U',
+    '\u1EEE': 'U',
+    '\u1EEC': 'U',
+    '\u1EF0': 'U',
+    '\u1EE4': 'U',
+    '\u1E72': 'U',
+    '\u0172': 'U',
+    '\u1E76': 'U',
+    '\u1E74': 'U',
+    '\u0244': 'U',
+    '\u24CB': 'V',
+    '\uFF36': 'V',
+    '\u1E7C': 'V',
+    '\u1E7E': 'V',
+    '\u01B2': 'V',
+    '\uA75E': 'V',
+    '\u0245': 'V',
+    '\uA760': 'VY',
+    '\u24CC': 'W',
+    '\uFF37': 'W',
+    '\u1E80': 'W',
+    '\u1E82': 'W',
+    '\u0174': 'W',
+    '\u1E86': 'W',
+    '\u1E84': 'W',
+    '\u1E88': 'W',
+    '\u2C72': 'W',
+    '\u24CD': 'X',
+    '\uFF38': 'X',
+    '\u1E8A': 'X',
+    '\u1E8C': 'X',
+    '\u24CE': 'Y',
+    '\uFF39': 'Y',
+    '\u1EF2': 'Y',
+    '\u00DD': 'Y',
+    '\u0176': 'Y',
+    '\u1EF8': 'Y',
+    '\u0232': 'Y',
+    '\u1E8E': 'Y',
+    '\u0178': 'Y',
+    '\u1EF6': 'Y',
+    '\u1EF4': 'Y',
+    '\u01B3': 'Y',
+    '\u024E': 'Y',
+    '\u1EFE': 'Y',
+    '\u24CF': 'Z',
+    '\uFF3A': 'Z',
+    '\u0179': 'Z',
+    '\u1E90': 'Z',
+    '\u017B': 'Z',
+    '\u017D': 'Z',
+    '\u1E92': 'Z',
+    '\u1E94': 'Z',
+    '\u01B5': 'Z',
+    '\u0224': 'Z',
+    '\u2C7F': 'Z',
+    '\u2C6B': 'Z',
+    '\uA762': 'Z',
+    '\u24D0': 'a',
+    '\uFF41': 'a',
+    '\u1E9A': 'a',
+    '\u00E0': 'a',
+    '\u00E1': 'a',
+    '\u00E2': 'a',
+    '\u1EA7': 'a',
+    '\u1EA5': 'a',
+    '\u1EAB': 'a',
+    '\u1EA9': 'a',
+    '\u00E3': 'a',
+    '\u0101': 'a',
+    '\u0103': 'a',
+    '\u1EB1': 'a',
+    '\u1EAF': 'a',
+    '\u1EB5': 'a',
+    '\u1EB3': 'a',
+    '\u0227': 'a',
+    '\u01E1': 'a',
+    '\u00E4': 'a',
+    '\u01DF': 'a',
+    '\u1EA3': 'a',
+    '\u00E5': 'a',
+    '\u01FB': 'a',
+    '\u01CE': 'a',
+    '\u0201': 'a',
+    '\u0203': 'a',
+    '\u1EA1': 'a',
+    '\u1EAD': 'a',
+    '\u1EB7': 'a',
+    '\u1E01': 'a',
+    '\u0105': 'a',
+    '\u2C65': 'a',
+    '\u0250': 'a',
+    '\uA733': 'aa',
+    '\u00E6': 'ae',
+    '\u01FD': 'ae',
+    '\u01E3': 'ae',
+    '\uA735': 'ao',
+    '\uA737': 'au',
+    '\uA739': 'av',
+    '\uA73B': 'av',
+    '\uA73D': 'ay',
+    '\u24D1': 'b',
+    '\uFF42': 'b',
+    '\u1E03': 'b',
+    '\u1E05': 'b',
+    '\u1E07': 'b',
+    '\u0180': 'b',
+    '\u0183': 'b',
+    '\u0253': 'b',
+    '\u24D2': 'c',
+    '\uFF43': 'c',
+    '\u0107': 'c',
+    '\u0109': 'c',
+    '\u010B': 'c',
+    '\u010D': 'c',
+    '\u00E7': 'c',
+    '\u1E09': 'c',
+    '\u0188': 'c',
+    '\u023C': 'c',
+    '\uA73F': 'c',
+    '\u2184': 'c',
+    '\u24D3': 'd',
+    '\uFF44': 'd',
+    '\u1E0B': 'd',
+    '\u010F': 'd',
+    '\u1E0D': 'd',
+    '\u1E11': 'd',
+    '\u1E13': 'd',
+    '\u1E0F': 'd',
+    '\u0111': 'd',
+    '\u018C': 'd',
+    '\u0256': 'd',
+    '\u0257': 'd',
+    '\uA77A': 'd',
+    '\u01F3': 'dz',
+    '\u01C6': 'dz',
+    '\u24D4': 'e',
+    '\uFF45': 'e',
+    '\u00E8': 'e',
+    '\u00E9': 'e',
+    '\u00EA': 'e',
+    '\u1EC1': 'e',
+    '\u1EBF': 'e',
+    '\u1EC5': 'e',
+    '\u1EC3': 'e',
+    '\u1EBD': 'e',
+    '\u0113': 'e',
+    '\u1E15': 'e',
+    '\u1E17': 'e',
+    '\u0115': 'e',
+    '\u0117': 'e',
+    '\u00EB': 'e',
+    '\u1EBB': 'e',
+    '\u011B': 'e',
+    '\u0205': 'e',
+    '\u0207': 'e',
+    '\u1EB9': 'e',
+    '\u1EC7': 'e',
+    '\u0229': 'e',
+    '\u1E1D': 'e',
+    '\u0119': 'e',
+    '\u1E19': 'e',
+    '\u1E1B': 'e',
+    '\u0247': 'e',
+    '\u025B': 'e',
+    '\u01DD': 'e',
+    '\u24D5': 'f',
+    '\uFF46': 'f',
+    '\u1E1F': 'f',
+    '\u0192': 'f',
+    '\uA77C': 'f',
+    '\u24D6': 'g',
+    '\uFF47': 'g',
+    '\u01F5': 'g',
+    '\u011D': 'g',
+    '\u1E21': 'g',
+    '\u011F': 'g',
+    '\u0121': 'g',
+    '\u01E7': 'g',
+    '\u0123': 'g',
+    '\u01E5': 'g',
+    '\u0260': 'g',
+    '\uA7A1': 'g',
+    '\u1D79': 'g',
+    '\uA77F': 'g',
+    '\u24D7': 'h',
+    '\uFF48': 'h',
+    '\u0125': 'h',
+    '\u1E23': 'h',
+    '\u1E27': 'h',
+    '\u021F': 'h',
+    '\u1E25': 'h',
+    '\u1E29': 'h',
+    '\u1E2B': 'h',
+    '\u1E96': 'h',
+    '\u0127': 'h',
+    '\u2C68': 'h',
+    '\u2C76': 'h',
+    '\u0265': 'h',
+    '\u0195': 'hv',
+    '\u24D8': 'i',
+    '\uFF49': 'i',
+    '\u00EC': 'i',
+    '\u00ED': 'i',
+    '\u00EE': 'i',
+    '\u0129': 'i',
+    '\u012B': 'i',
+    '\u012D': 'i',
+    '\u00EF': 'i',
+    '\u1E2F': 'i',
+    '\u1EC9': 'i',
+    '\u01D0': 'i',
+    '\u0209': 'i',
+    '\u020B': 'i',
+    '\u1ECB': 'i',
+    '\u012F': 'i',
+    '\u1E2D': 'i',
+    '\u0268': 'i',
+    '\u0131': 'i',
+    '\u24D9': 'j',
+    '\uFF4A': 'j',
+    '\u0135': 'j',
+    '\u01F0': 'j',
+    '\u0249': 'j',
+    '\u24DA': 'k',
+    '\uFF4B': 'k',
+    '\u1E31': 'k',
+    '\u01E9': 'k',
+    '\u1E33': 'k',
+    '\u0137': 'k',
+    '\u1E35': 'k',
+    '\u0199': 'k',
+    '\u2C6A': 'k',
+    '\uA741': 'k',
+    '\uA743': 'k',
+    '\uA745': 'k',
+    '\uA7A3': 'k',
+    '\u24DB': 'l',
+    '\uFF4C': 'l',
+    '\u0140': 'l',
+    '\u013A': 'l',
+    '\u013E': 'l',
+    '\u1E37': 'l',
+    '\u1E39': 'l',
+    '\u013C': 'l',
+    '\u1E3D': 'l',
+    '\u1E3B': 'l',
+    '\u017F': 'l',
+    '\u0142': 'l',
+    '\u019A': 'l',
+    '\u026B': 'l',
+    '\u2C61': 'l',
+    '\uA749': 'l',
+    '\uA781': 'l',
+    '\uA747': 'l',
+    '\u01C9': 'lj',
+    '\u24DC': 'm',
+    '\uFF4D': 'm',
+    '\u1E3F': 'm',
+    '\u1E41': 'm',
+    '\u1E43': 'm',
+    '\u0271': 'm',
+    '\u026F': 'm',
+    '\u24DD': 'n',
+    '\uFF4E': 'n',
+    '\u01F9': 'n',
+    '\u0144': 'n',
+    '\u00F1': 'n',
+    '\u1E45': 'n',
+    '\u0148': 'n',
+    '\u1E47': 'n',
+    '\u0146': 'n',
+    '\u1E4B': 'n',
+    '\u1E49': 'n',
+    '\u019E': 'n',
+    '\u0272': 'n',
+    '\u0149': 'n',
+    '\uA791': 'n',
+    '\uA7A5': 'n',
+    '\u01CC': 'nj',
+    '\u24DE': 'o',
+    '\uFF4F': 'o',
+    '\u00F2': 'o',
+    '\u00F3': 'o',
+    '\u00F4': 'o',
+    '\u1ED3': 'o',
+    '\u1ED1': 'o',
+    '\u1ED7': 'o',
+    '\u1ED5': 'o',
+    '\u00F5': 'o',
+    '\u1E4D': 'o',
+    '\u022D': 'o',
+    '\u1E4F': 'o',
+    '\u014D': 'o',
+    '\u1E51': 'o',
+    '\u1E53': 'o',
+    '\u014F': 'o',
+    '\u022F': 'o',
+    '\u0231': 'o',
+    '\u00F6': 'o',
+    '\u022B': 'o',
+    '\u1ECF': 'o',
+    '\u0151': 'o',
+    '\u01D2': 'o',
+    '\u020D': 'o',
+    '\u020F': 'o',
+    '\u01A1': 'o',
+    '\u1EDD': 'o',
+    '\u1EDB': 'o',
+    '\u1EE1': 'o',
+    '\u1EDF': 'o',
+    '\u1EE3': 'o',
+    '\u1ECD': 'o',
+    '\u1ED9': 'o',
+    '\u01EB': 'o',
+    '\u01ED': 'o',
+    '\u00F8': 'o',
+    '\u01FF': 'o',
+    '\u0254': 'o',
+    '\uA74B': 'o',
+    '\uA74D': 'o',
+    '\u0275': 'o',
+    '\u01A3': 'oi',
+    '\u0223': 'ou',
+    '\uA74F': 'oo',
+    '\u24DF': 'p',
+    '\uFF50': 'p',
+    '\u1E55': 'p',
+    '\u1E57': 'p',
+    '\u01A5': 'p',
+    '\u1D7D': 'p',
+    '\uA751': 'p',
+    '\uA753': 'p',
+    '\uA755': 'p',
+    '\u24E0': 'q',
+    '\uFF51': 'q',
+    '\u024B': 'q',
+    '\uA757': 'q',
+    '\uA759': 'q',
+    '\u24E1': 'r',
+    '\uFF52': 'r',
+    '\u0155': 'r',
+    '\u1E59': 'r',
+    '\u0159': 'r',
+    '\u0211': 'r',
+    '\u0213': 'r',
+    '\u1E5B': 'r',
+    '\u1E5D': 'r',
+    '\u0157': 'r',
+    '\u1E5F': 'r',
+    '\u024D': 'r',
+    '\u027D': 'r',
+    '\uA75B': 'r',
+    '\uA7A7': 'r',
+    '\uA783': 'r',
+    '\u24E2': 's',
+    '\uFF53': 's',
+    '\u00DF': 's',
+    '\u015B': 's',
+    '\u1E65': 's',
+    '\u015D': 's',
+    '\u1E61': 's',
+    '\u0161': 's',
+    '\u1E67': 's',
+    '\u1E63': 's',
+    '\u1E69': 's',
+    '\u0219': 's',
+    '\u015F': 's',
+    '\u023F': 's',
+    '\uA7A9': 's',
+    '\uA785': 's',
+    '\u1E9B': 's',
+    '\u24E3': 't',
+    '\uFF54': 't',
+    '\u1E6B': 't',
+    '\u1E97': 't',
+    '\u0165': 't',
+    '\u1E6D': 't',
+    '\u021B': 't',
+    '\u0163': 't',
+    '\u1E71': 't',
+    '\u1E6F': 't',
+    '\u0167': 't',
+    '\u01AD': 't',
+    '\u0288': 't',
+    '\u2C66': 't',
+    '\uA787': 't',
+    '\uA729': 'tz',
+    '\u24E4': 'u',
+    '\uFF55': 'u',
+    '\u00F9': 'u',
+    '\u00FA': 'u',
+    '\u00FB': 'u',
+    '\u0169': 'u',
+    '\u1E79': 'u',
+    '\u016B': 'u',
+    '\u1E7B': 'u',
+    '\u016D': 'u',
+    '\u00FC': 'u',
+    '\u01DC': 'u',
+    '\u01D8': 'u',
+    '\u01D6': 'u',
+    '\u01DA': 'u',
+    '\u1EE7': 'u',
+    '\u016F': 'u',
+    '\u0171': 'u',
+    '\u01D4': 'u',
+    '\u0215': 'u',
+    '\u0217': 'u',
+    '\u01B0': 'u',
+    '\u1EEB': 'u',
+    '\u1EE9': 'u',
+    '\u1EEF': 'u',
+    '\u1EED': 'u',
+    '\u1EF1': 'u',
+    '\u1EE5': 'u',
+    '\u1E73': 'u',
+    '\u0173': 'u',
+    '\u1E77': 'u',
+    '\u1E75': 'u',
+    '\u0289': 'u',
+    '\u24E5': 'v',
+    '\uFF56': 'v',
+    '\u1E7D': 'v',
+    '\u1E7F': 'v',
+    '\u028B': 'v',
+    '\uA75F': 'v',
+    '\u028C': 'v',
+    '\uA761': 'vy',
+    '\u24E6': 'w',
+    '\uFF57': 'w',
+    '\u1E81': 'w',
+    '\u1E83': 'w',
+    '\u0175': 'w',
+    '\u1E87': 'w',
+    '\u1E85': 'w',
+    '\u1E98': 'w',
+    '\u1E89': 'w',
+    '\u2C73': 'w',
+    '\u24E7': 'x',
+    '\uFF58': 'x',
+    '\u1E8B': 'x',
+    '\u1E8D': 'x',
+    '\u24E8': 'y',
+    '\uFF59': 'y',
+    '\u1EF3': 'y',
+    '\u00FD': 'y',
+    '\u0177': 'y',
+    '\u1EF9': 'y',
+    '\u0233': 'y',
+    '\u1E8F': 'y',
+    '\u00FF': 'y',
+    '\u1EF7': 'y',
+    '\u1E99': 'y',
+    '\u1EF5': 'y',
+    '\u01B4': 'y',
+    '\u024F': 'y',
+    '\u1EFF': 'y',
+    '\u24E9': 'z',
+    '\uFF5A': 'z',
+    '\u017A': 'z',
+    '\u1E91': 'z',
+    '\u017C': 'z',
+    '\u017E': 'z',
+    '\u1E93': 'z',
+    '\u1E95': 'z',
+    '\u01B6': 'z',
+    '\u0225': 'z',
+    '\u0240': 'z',
+    '\u2C6C': 'z',
+    '\uA763': 'z',
+    '\u0386': '\u0391',
+    '\u0388': '\u0395',
+    '\u0389': '\u0397',
+    '\u038A': '\u0399',
+    '\u03AA': '\u0399',
+    '\u038C': '\u039F',
+    '\u038E': '\u03A5',
+    '\u03AB': '\u03A5',
+    '\u038F': '\u03A9',
+    '\u03AC': '\u03B1',
+    '\u03AD': '\u03B5',
+    '\u03AE': '\u03B7',
+    '\u03AF': '\u03B9',
+    '\u03CA': '\u03B9',
+    '\u0390': '\u03B9',
+    '\u03CC': '\u03BF',
+    '\u03CD': '\u03C5',
+    '\u03CB': '\u03C5',
+    '\u03B0': '\u03C5',
+    '\u03C9': '\u03C9',
+    '\u03C2': '\u03C3'
+  };
+
+  return diacritics;
+});
+
+S2.define('select2/data/base',[
+  '../utils'
+], function (Utils) {
+  function BaseAdapter ($element, options) {
+    BaseAdapter.__super__.constructor.call(this);
+  }
+
+  Utils.Extend(BaseAdapter, Utils.Observable);
+
+  BaseAdapter.prototype.current = function (callback) {
+    throw new Error('The `current` method must be defined in child classes.');
+  };
+
+  BaseAdapter.prototype.query = function (params, callback) {
+    throw new Error('The `query` method must be defined in child classes.');
+  };
+
+  BaseAdapter.prototype.bind = function (container, $container) {
+    // Can be implemented in subclasses
+  };
+
+  BaseAdapter.prototype.destroy = function () {
+    // Can be implemented in subclasses
+  };
+
+  BaseAdapter.prototype.generateResultId = function (container, data) {
+    var id = container.id + '-result-';
+
+    id += Utils.generateChars(4);
+
+    if (data.id != null) {
+      id += '-' + data.id.toString();
+    } else {
+      id += '-' + Utils.generateChars(4);
+    }
+    return id;
+  };
+
+  return BaseAdapter;
+});
+
+S2.define('select2/data/select',[
+  './base',
+  '../utils',
+  'jquery'
+], function (BaseAdapter, Utils, $) {
+  function SelectAdapter ($element, options) {
+    this.$element = $element;
+    this.options = options;
+
+    SelectAdapter.__super__.constructor.call(this);
+  }
+
+  Utils.Extend(SelectAdapter, BaseAdapter);
+
+  SelectAdapter.prototype.current = function (callback) {
+    var data = [];
+    var self = this;
+
+    this.$element.find(':selected').each(function () {
+      var $option = $(this);
+
+      var option = self.item($option);
+
+      data.push(option);
+    });
+
+    callback(data);
+  };
+
+  SelectAdapter.prototype.select = function (data) {
+    var self = this;
+
+    data.selected = true;
+
+    // If data.element is a DOM node, use it instead
+    if ($(data.element).is('option')) {
+      data.element.selected = true;
+
+      this.$element.trigger('change');
+
+      return;
+    }
+
+    if (this.$element.prop('multiple')) {
+      this.current(function (currentData) {
+        var val = [];
+
+        data = [data];
+        data.push.apply(data, currentData);
+
+        for (var d = 0; d < data.length; d++) {
+          var id = data[d].id;
+
+          if ($.inArray(id, val) === -1) {
+            val.push(id);
+          }
+        }
+
+        self.$element.val(val);
+        self.$element.trigger('change');
+      });
+    } else {
+      var val = data.id;
+
+      this.$element.val(val);
+      this.$element.trigger('change');
+    }
+  };
+
+  SelectAdapter.prototype.unselect = function (data) {
+    var self = this;
+
+    if (!this.$element.prop('multiple')) {
+      return;
+    }
+
+    data.selected = false;
+
+    if ($(data.element).is('option')) {
+      data.element.selected = false;
+
+      this.$element.trigger('change');
+
+      return;
+    }
+
+    this.current(function (currentData) {
+      var val = [];
+
+      for (var d = 0; d < currentData.length; d++) {
+        var id = currentData[d].id;
+
+        if (id !== data.id && $.inArray(id, val) === -1) {
+          val.push(id);
+        }
+      }
+
+      self.$element.val(val);
+
+      self.$element.trigger('change');
+    });
+  };
+
+  SelectAdapter.prototype.bind = function (container, $container) {
+    var self = this;
+
+    this.container = container;
+
+    container.on('select', function (params) {
+      self.select(params.data);
+    });
+
+    container.on('unselect', function (params) {
+      self.unselect(params.data);
+    });
+  };
+
+  SelectAdapter.prototype.destroy = function () {
+    // Remove anything added to child elements
+    this.$element.find('*').each(function () {
+      // Remove any custom data set by Select2
+      $.removeData(this, 'data');
+    });
+  };
+
+  SelectAdapter.prototype.query = function (params, callback) {
+    var data = [];
+    var self = this;
+
+    var $options = this.$element.children();
+
+    $options.each(function () {
+      var $option = $(this);
+
+      if (!$option.is('option') && !$option.is('optgroup')) {
+        return;
+      }
+
+      var option = self.item($option);
+
+      var matches = self.matches(params, option);
+
+      if (matches !== null) {
+        data.push(matches);
+      }
+    });
+
+    callback({
+      results: data
+    });
+  };
+
+  SelectAdapter.prototype.addOptions = function ($options) {
+    Utils.appendMany(this.$element, $options);
+  };
+
+  SelectAdapter.prototype.option = function (data) {
+    var option;
+
+    if (data.children) {
+      option = document.createElement('optgroup');
+      option.label = data.text;
+    } else {
+      option = document.createElement('option');
+
+      if (option.textContent !== undefined) {
+        option.textContent = data.text;
+      } else {
+        option.innerText = data.text;
+      }
+    }
+
+    if (data.id !== undefined) {
+      option.value = data.id;
+    }
+
+    if (data.disabled) {
+      option.disabled = true;
+    }
+
+    if (data.selected) {
+      option.selected = true;
+    }
+
+    if (data.title) {
+      option.title = data.title;
+    }
+
+    var $option = $(option);
+
+    var normalizedData = this._normalizeItem(data);
+    normalizedData.element = option;
+
+    // Override the option's data with the combined data
+    $.data(option, 'data', normalizedData);
+
+    return $option;
+  };
+
+  SelectAdapter.prototype.item = function ($option) {
+    var data = {};
+
+    data = $.data($option[0], 'data');
+
+    if (data != null) {
+      return data;
+    }
+
+    if ($option.is('option')) {
+      data = {
+        id: $option.val(),
+        text: $option.text(),
+        disabled: $option.prop('disabled'),
+        selected: $option.prop('selected'),
+        title: $option.prop('title')
+      };
+    } else if ($option.is('optgroup')) {
+      data = {
+        text: $option.prop('label'),
+        children: [],
+        title: $option.prop('title')
+      };
+
+      var $children = $option.children('option');
+      var children = [];
+
+      for (var c = 0; c < $children.length; c++) {
+        var $child = $($children[c]);
+
+        var child = this.item($child);
+
+        children.push(child);
+      }
+
+      data.children = children;
+    }
+
+    data = this._normalizeItem(data);
+    data.element = $option[0];
+
+    $.data($option[0], 'data', data);
+
+    return data;
+  };
+
+  SelectAdapter.prototype._normalizeItem = function (item) {
+    if (!$.isPlainObject(item)) {
+      item = {
+        id: item,
+        text: item
+      };
+    }
+
+    item = $.extend({}, {
+      text: ''
+    }, item);
+
+    var defaults = {
+      selected: false,
+      disabled: false
+    };
+
+    if (item.id != null) {
+      item.id = item.id.toString();
+    }
+
+    if (item.text != null) {
+      item.text = item.text.toString();
+    }
+
+    if (item._resultId == null && item.id && this.container != null) {
+      item._resultId = this.generateResultId(this.container, item);
+    }
+
+    return $.extend({}, defaults, item);
+  };
+
+  SelectAdapter.prototype.matches = function (params, data) {
+    var matcher = this.options.get('matcher');
+
+    return matcher(params, data);
+  };
+
+  return SelectAdapter;
+});
+
+S2.define('select2/data/array',[
+  './select',
+  '../utils',
+  'jquery'
+], function (SelectAdapter, Utils, $) {
+  function ArrayAdapter ($element, options) {
+    var data = options.get('data') || [];
+
+    ArrayAdapter.__super__.constructor.call(this, $element, options);
+
+    this.addOptions(this.convertToOptions(data));
+  }
+
+  Utils.Extend(ArrayAdapter, SelectAdapter);
+
+  ArrayAdapter.prototype.select = function (data) {
+    var $option = this.$element.find('option').filter(function (i, elm) {
+      return elm.value == data.id.toString();
+    });
+
+    if ($option.length === 0) {
+      $option = this.option(data);
+
+      this.addOptions($option);
+    }
+
+    ArrayAdapter.__super__.select.call(this, data);
+  };
+
+  ArrayAdapter.prototype.convertToOptions = function (data) {
+    var self = this;
+
+    var $existing = this.$element.find('option');
+    var existingIds = $existing.map(function () {
+      return self.item($(this)).id;
+    }).get();
+
+    var $options = [];
+
+    // Filter out all items except for the one passed in the argument
+    function onlyItem (item) {
+      return function () {
+        return $(this).val() == item.id;
+      };
+    }
+
+    for (var d = 0; d < data.length; d++) {
+      var item = this._normalizeItem(data[d]);
+
+      // Skip items which were pre-loaded, only merge the data
+      if ($.inArray(item.id, existingIds) >= 0) {
+        var $existingOption = $existing.filter(onlyItem(item));
+
+        var existingData = this.item($existingOption);
+        var newData = $.extend(true, {}, item, existingData);
+
+        var $newOption = this.option(newData);
+
+        $existingOption.replaceWith($newOption);
+
+        continue;
+      }
+
+      var $option = this.option(item);
+
+      if (item.children) {
+        var $children = this.convertToOptions(item.children);
+
+        Utils.appendMany($option, $children);
+      }
+
+      $options.push($option);
+    }
+
+    return $options;
+  };
+
+  return ArrayAdapter;
+});
+
+S2.define('select2/data/ajax',[
+  './array',
+  '../utils',
+  'jquery'
+], function (ArrayAdapter, Utils, $) {
+  function AjaxAdapter ($element, options) {
+    this.ajaxOptions = this._applyDefaults(options.get('ajax'));
+
+    if (this.ajaxOptions.processResults != null) {
+      this.processResults = this.ajaxOptions.processResults;
+    }
+
+    AjaxAdapter.__super__.constructor.call(this, $element, options);
+  }
+
+  Utils.Extend(AjaxAdapter, ArrayAdapter);
+
+  AjaxAdapter.prototype._applyDefaults = function (options) {
+    var defaults = {
+      data: function (params) {
+        return $.extend({}, params, {
+          q: params.term
+        });
+      },
+      transport: function (params, success, failure) {
+        var $request = $.ajax(params);
+
+        $request.then(success);
+        $request.fail(failure);
+
+        return $request;
+      }
+    };
+
+    return $.extend({}, defaults, options, true);
+  };
+
+  AjaxAdapter.prototype.processResults = function (results) {
+    return results;
+  };
+
+  AjaxAdapter.prototype.query = function (params, callback) {
+    var matches = [];
+    var self = this;
+
+    if (this._request != null) {
+      // JSONP requests cannot always be aborted
+      if ($.isFunction(this._request.abort)) {
+        this._request.abort();
+      }
+
+      this._request = null;
+    }
+
+    var options = $.extend({
+      type: 'GET'
+    }, this.ajaxOptions);
+
+    if (typeof options.url === 'function') {
+      options.url = options.url.call(this.$element, params);
+    }
+
+    if (typeof options.data === 'function') {
+      options.data = options.data.call(this.$element, params);
+    }
+
+    function request () {
+      var $request = options.transport(options, function (data) {
+        var results = self.processResults(data, params);
+
+        if (self.options.get('debug') && window.console && console.error) {
+          // Check to make sure that the response included a `results` key.
+          if (!results || !results.results || !$.isArray(results.results)) {
+            console.error(
+              'Select2: The AJAX results did not return an array in the ' +
+              '`results` key of the response.'
+            );
+          }
+        }
+
+        callback(results);
+      }, function () {
+        // Attempt to detect if a request was aborted
+        // Only works if the transport exposes a status property
+        if ($request.status && $request.status === '0') {
+          return;
+        }
+
+        self.trigger('results:message', {
+          message: 'errorLoading'
+        });
+      });
+
+      self._request = $request;
+    }
+
+    if (this.ajaxOptions.delay && params.term != null) {
+      if (this._queryTimeout) {
+        window.clearTimeout(this._queryTimeout);
+      }
+
+      this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
+    } else {
+      request();
+    }
+  };
+
+  return AjaxAdapter;
+});
+
+S2.define('select2/data/tags',[
+  'jquery'
+], function ($) {
+  function Tags (decorated, $element, options) {
+    var tags = options.get('tags');
+
+    var createTag = options.get('createTag');
+
+    if (createTag !== undefined) {
+      this.createTag = createTag;
+    }
+
+    var insertTag = options.get('insertTag');
+
+    if (insertTag !== undefined) {
+        this.insertTag = insertTag;
+    }
+
+    decorated.call(this, $element, options);
+
+    if ($.isArray(tags)) {
+      for (var t = 0; t < tags.length; t++) {
+        var tag = tags[t];
+        var item = this._normalizeItem(tag);
+
+        var $option = this.option(item);
+
+        this.$element.append($option);
+      }
+    }
+  }
+
+  Tags.prototype.query = function (decorated, params, callback) {
+    var self = this;
+
+    this._removeOldTags();
+
+    if (params.term == null || params.page != null) {
+      decorated.call(this, params, callback);
+      return;
+    }
+
+    function wrapper (obj, child) {
+      var data = obj.results;
+
+      for (var i = 0; i < data.length; i++) {
+        var option = data[i];
+
+        var checkChildren = (
+          option.children != null &&
+          !wrapper({
+            results: option.children
+          }, true)
+        );
+
+        var optionText = (option.text || '').toUpperCase();
+        var paramsTerm = (params.term || '').toUpperCase();
+
+        var checkText = optionText === paramsTerm;
+
+        if (checkText || checkChildren) {
+          if (child) {
+            return false;
+          }
+
+          obj.data = data;
+          callback(obj);
+
+          return;
+        }
+      }
+
+      if (child) {
+        return true;
+      }
+
+      var tag = self.createTag(params);
+
+      if (tag != null) {
+        var $option = self.option(tag);
+        $option.attr('data-select2-tag', true);
+
+        self.addOptions([$option]);
+
+        self.insertTag(data, tag);
+      }
+
+      obj.results = data;
+
+      callback(obj);
+    }
+
+    decorated.call(this, params, wrapper);
+  };
+
+  Tags.prototype.createTag = function (decorated, params) {
+    var term = $.trim(params.term);
+
+    if (term === '') {
+      return null;
+    }
+
+    return {
+      id: term,
+      text: term
+    };
+  };
+
+  Tags.prototype.insertTag = function (_, data, tag) {
+    data.unshift(tag);
+  };
+
+  Tags.prototype._removeOldTags = function (_) {
+    var tag = this._lastTag;
+
+    var $options = this.$element.find('option[data-select2-tag]');
+
+    $options.each(function () {
+      if (this.selected) {
+        return;
+      }
+
+      $(this).remove();
+    });
+  };
+
+  return Tags;
+});
+
+S2.define('select2/data/tokenizer',[
+  'jquery'
+], function ($) {
+  function Tokenizer (decorated, $element, options) {
+    var tokenizer = options.get('tokenizer');
+
+    if (tokenizer !== undefined) {
+      this.tokenizer = tokenizer;
+    }
+
+    decorated.call(this, $element, options);
+  }
+
+  Tokenizer.prototype.bind = function (decorated, container, $container) {
+    decorated.call(this, container, $container);
+
+    this.$search =  container.dropdown.$search || container.selection.$search ||
+      $container.find('.select2-search__field');
+  };
+
+  Tokenizer.prototype.query = function (decorated, params, callback) {
+    var self = this;
+
+    function createAndSelect (data) {
+      // Normalize the data object so we can use it for checks
+      var item = self._normalizeItem(data);
+
+      // Check if the data object already exists as a tag
+      // Select it if it doesn't
+      var $existingOptions = self.$element.find('option').filter(function () {
+        return $(this).val() === item.id;
+      });
+
+      // If an existing option wasn't found for it, create the option
+      if (!$existingOptions.length) {
+        var $option = self.option(item);
+        $option.attr('data-select2-tag', true);
+
+        self._removeOldTags();
+        self.addOptions([$option]);
+      }
+
+      // Select the item, now that we know there is an option for it
+      select(item);
+    }
+
+    function select (data) {
+      self.trigger('select', {
+        data: data
+      });
+    }
+
+    params.term = params.term || '';
+
+    var tokenData = this.tokenizer(params, this.options, createAndSelect);
+
+    if (tokenData.term !== params.term) {
+      // Replace the search term if we have the search box
+      if (this.$search.length) {
+        this.$search.val(tokenData.term);
+        this.$search.focus();
+      }
+
+      params.term = tokenData.term;
+    }
+
+    decorated.call(this, params, callback);
+  };
+
+  Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
+    var separators = options.get('tokenSeparators') || [];
+    var term = params.term;
+    var i = 0;
+
+    var createTag = this.createTag || function (params) {
+      return {
+        id: params.term,
+        text: params.term
+      };
+    };
+
+    while (i < term.length) {
+      var termChar = term[i];
+
+      if ($.inArray(termChar, separators) === -1) {
+        i++;
+
+        continue;
+      }
+
+      var part = term.substr(0, i);
+      var partParams = $.extend({}, params, {
+        term: part
+      });
+
+      var data = createTag(partParams);
+
+      if (data == null) {
+        i++;
+        continue;
+      }
+
+      callback(data);
+
+      // Reset the term to not include the tokenized portion
+      term = term.substr(i + 1) || '';
+      i = 0;
+    }
+
+    return {
+      term: term
+    };
+  };
+
+  return Tokenizer;
+});
+
+S2.define('select2/data/minimumInputLength',[
+
+], function () {
+  function MinimumInputLength (decorated, $e, options) {
+    this.minimumInputLength = options.get('minimumInputLength');
+
+    decorated.call(this, $e, options);
+  }
+
+  MinimumInputLength.prototype.query = function (decorated, params, callback) {
+    params.term = params.term || '';
+
+    if (params.term.length < this.minimumInputLength) {
+      this.trigger('results:message', {
+        message: 'inputTooShort',
+        args: {
+          minimum: this.minimumInputLength,
+          input: params.term,
+          params: params
+        }
+      });
+
+      return;
+    }
+
+    decorated.call(this, params, callback);
+  };
+
+  return MinimumInputLength;
+});
+
+S2.define('select2/data/maximumInputLength',[
+
+], function () {
+  function MaximumInputLength (decorated, $e, options) {
+    this.maximumInputLength = options.get('maximumInputLength');
+
+    decorated.call(this, $e, options);
+  }
+
+  MaximumInputLength.prototype.query = function (decorated, params, callback) {
+    params.term = params.term || '';
+
+    if (this.maximumInputLength > 0 &&
+        params.term.length > this.maximumInputLength) {
+      this.trigger('results:message', {
+        message: 'inputTooLong',
+        args: {
+          maximum: this.maximumInputLength,
+          input: params.term,
+          params: params
+        }
+      });
+
+      return;
+    }
+
+    decorated.call(this, params, callback);
+  };
+
+  return MaximumInputLength;
+});
+
+S2.define('select2/data/maximumSelectionLength',[
+
+], function (){
+  function MaximumSelectionLength (decorated, $e, options) {
+    this.maximumSelectionLength = options.get('maximumSelectionLength');
+
+    decorated.call(this, $e, options);
+  }
+
+  MaximumSelectionLength.prototype.query =
+    function (decorated, params, callback) {
+      var self = this;
+
+      this.current(function (currentData) {
+        var count = currentData != null ? currentData.length : 0;
+        if (self.maximumSelectionLength > 0 &&
+          count >= self.maximumSelectionLength) {
+          self.trigger('results:message', {
+            message: 'maximumSelected',
+            args: {
+              maximum: self.maximumSelectionLength
+            }
+          });
+          return;
+        }
+        decorated.call(self, params, callback);
+      });
+  };
+
+  return MaximumSelectionLength;
+});
+
+S2.define('select2/dropdown',[
+  'jquery',
+  './utils'
+], function ($, Utils) {
+  function Dropdown ($element, options) {
+    this.$element = $element;
+    this.options = options;
+
+    Dropdown.__super__.constructor.call(this);
+  }
+
+  Utils.Extend(Dropdown, Utils.Observable);
+
+  Dropdown.prototype.render = function () {
+    var $dropdown = $(
+      '<span class="select2-dropdown">' +
+        '<span class="select2-results"></span>' +
+      '</span>'
+    );
+
+    $dropdown.attr('dir', this.options.get('dir'));
+
+    this.$dropdown = $dropdown;
+
+    return $dropdown;
+  };
+
+  Dropdown.prototype.bind = function () {
+    // Should be implemented in subclasses
+  };
+
+  Dropdown.prototype.position = function ($dropdown, $container) {
+    // Should be implmented in subclasses
+  };
+
+  Dropdown.prototype.destroy = function () {
+    // Remove the dropdown from the DOM
+    this.$dropdown.remove();
+  };
+
+  return Dropdown;
+});
+
+S2.define('select2/dropdown/search',[
+  'jquery',
+  '../utils'
+], function ($, Utils) {
+  function Search () { }
+
+  Search.prototype.render = function (decorated) {
+    var $rendered = decorated.call(this);
+
+    var $search = $(
+      '<span class="select2-search select2-search--dropdown">' +
+        '<input class="select2-search__field" type="search" tabindex="-1"' +
+        ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
+        ' spellcheck="false" role="textbox" />' +
+      '</span>'
+    );
+
+    this.$searchContainer = $search;
+    this.$search = $search.find('input');
+
+    $rendered.prepend($search);
+
+    return $rendered;
+  };
+
+  Search.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    this.$search.on('keydown', function (evt) {
+      self.trigger('keypress', evt);
+
+      self._keyUpPrevented = evt.isDefaultPrevented();
+    });
+
+    // Workaround for browsers which do not support the `input` event
+    // This will prevent double-triggering of events for browsers which support
+    // both the `keyup` and `input` events.
+    this.$search.on('input', function (evt) {
+      // Unbind the duplicated `keyup` event
+      $(this).off('keyup');
+    });
+
+    this.$search.on('keyup input', function (evt) {
+      self.handleSearch(evt);
+    });
+
+    container.on('open', function () {
+      self.$search.attr('tabindex', 0);
+
+      self.$search.focus();
+
+      window.setTimeout(function () {
+        self.$search.focus();
+      }, 0);
+    });
+
+    container.on('close', function () {
+      self.$search.attr('tabindex', -1);
+
+      self.$search.val('');
+    });
+
+    container.on('focus', function () {
+      if (!container.isOpen()) {
+        self.$search.focus();
+      }
+    });
+
+    container.on('results:all', function (params) {
+      if (params.query.term == null || params.query.term === '') {
+        var showSearch = self.showSearch(params);
+
+        if (showSearch) {
+          self.$searchContainer.removeClass('select2-search--hide');
+        } else {
+          self.$searchContainer.addClass('select2-search--hide');
+        }
+      }
+    });
+  };
+
+  Search.prototype.handleSearch = function (evt) {
+    if (!this._keyUpPrevented) {
+      var input = this.$search.val();
+
+      this.trigger('query', {
+        term: input
+      });
+    }
+
+    this._keyUpPrevented = false;
+  };
+
+  Search.prototype.showSearch = function (_, params) {
+    return true;
+  };
+
+  return Search;
+});
+
+S2.define('select2/dropdown/hidePlaceholder',[
+
+], function () {
+  function HidePlaceholder (decorated, $element, options, dataAdapter) {
+    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
+
+    decorated.call(this, $element, options, dataAdapter);
+  }
+
+  HidePlaceholder.prototype.append = function (decorated, data) {
+    data.results = this.removePlaceholder(data.results);
+
+    decorated.call(this, data);
+  };
+
+  HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
+    if (typeof placeholder === 'string') {
+      placeholder = {
+        id: '',
+        text: placeholder
+      };
+    }
+
+    return placeholder;
+  };
+
+  HidePlaceholder.prototype.removePlaceholder = function (_, data) {
+    var modifiedData = data.slice(0);
+
+    for (var d = data.length - 1; d >= 0; d--) {
+      var item = data[d];
+
+      if (this.placeholder.id === item.id) {
+        modifiedData.splice(d, 1);
+      }
+    }
+
+    return modifiedData;
+  };
+
+  return HidePlaceholder;
+});
+
+S2.define('select2/dropdown/infiniteScroll',[
+  'jquery'
+], function ($) {
+  function InfiniteScroll (decorated, $element, options, dataAdapter) {
+    this.lastParams = {};
+
+    decorated.call(this, $element, options, dataAdapter);
+
+    this.$loadingMore = this.createLoadingMore();
+    this.loading = false;
+  }
+
+  InfiniteScroll.prototype.append = function (decorated, data) {
+    this.$loadingMore.remove();
+    this.loading = false;
+
+    decorated.call(this, data);
+
+    if (this.showLoadingMore(data)) {
+      this.$results.append(this.$loadingMore);
+    }
+  };
+
+  InfiniteScroll.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    container.on('query', function (params) {
+      self.lastParams = params;
+      self.loading = true;
+    });
+
+    container.on('query:append', function (params) {
+      self.lastParams = params;
+      self.loading = true;
+    });
+
+    this.$results.on('scroll', function () {
+      var isLoadMoreVisible = $.contains(
+        document.documentElement,
+        self.$loadingMore[0]
+      );
+
+      if (self.loading || !isLoadMoreVisible) {
+        return;
+      }
+
+      var currentOffset = self.$results.offset().top +
+        self.$results.outerHeight(false);
+      var loadingMoreOffset = self.$loadingMore.offset().top +
+        self.$loadingMore.outerHeight(false);
+
+      if (currentOffset + 50 >= loadingMoreOffset) {
+        self.loadMore();
+      }
+    });
+  };
+
+  InfiniteScroll.prototype.loadMore = function () {
+    this.loading = true;
+
+    var params = $.extend({}, {page: 1}, this.lastParams);
+
+    params.page++;
+
+    this.trigger('query:append', params);
+  };
+
+  InfiniteScroll.prototype.showLoadingMore = function (_, data) {
+    return data.pagination && data.pagination.more;
+  };
+
+  InfiniteScroll.prototype.createLoadingMore = function () {
+    var $option = $(
+      '<li ' +
+      'class="select2-results__option select2-results__option--load-more"' +
+      'role="treeitem" aria-disabled="true"></li>'
+    );
+
+    var message = this.options.get('translations').get('loadingMore');
+
+    $option.html(message(this.lastParams));
+
+    return $option;
+  };
+
+  return InfiniteScroll;
+});
+
+S2.define('select2/dropdown/attachBody',[
+  'jquery',
+  '../utils'
+], function ($, Utils) {
+  function AttachBody (decorated, $element, options) {
+    this.$dropdownParent = options.get('dropdownParent') || $(document.body);
+
+    decorated.call(this, $element, options);
+  }
+
+  AttachBody.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    var setupResultsEvents = false;
+
+    decorated.call(this, container, $container);
+
+    container.on('open', function () {
+      self._showDropdown();
+      self._attachPositioningHandler(container);
+
+      if (!setupResultsEvents) {
+        setupResultsEvents = true;
+
+        container.on('results:all', function () {
+          self._positionDropdown();
+          self._resizeDropdown();
+        });
+
+        container.on('results:append', function () {
+          self._positionDropdown();
+          self._resizeDropdown();
+        });
+      }
+    });
+
+    container.on('close', function () {
+      self._hideDropdown();
+      self._detachPositioningHandler(container);
+    });
+
+    this.$dropdownContainer.on('mousedown', function (evt) {
+      evt.stopPropagation();
+    });
+  };
+
+  AttachBody.prototype.destroy = function (decorated) {
+    decorated.call(this);
+
+    this.$dropdownContainer.remove();
+  };
+
+  AttachBody.prototype.position = function (decorated, $dropdown, $container) {
+    // Clone all of the container classes
+    $dropdown.attr('class', $container.attr('class'));
+
+    $dropdown.removeClass('select2');
+    $dropdown.addClass('select2-container--open');
+
+    $dropdown.css({
+      position: 'absolute',
+      top: -999999
+    });
+
+    this.$container = $container;
+  };
+
+  AttachBody.prototype.render = function (decorated) {
+    var $container = $('<span></span>');
+
+    var $dropdown = decorated.call(this);
+    $container.append($dropdown);
+
+    this.$dropdownContainer = $container;
+
+    return $container;
+  };
+
+  AttachBody.prototype._hideDropdown = function (decorated) {
+    this.$dropdownContainer.detach();
+  };
+
+  AttachBody.prototype._attachPositioningHandler =
+      function (decorated, container) {
+    var self = this;
+
+    var scrollEvent = 'scroll.select2.' + container.id;
+    var resizeEvent = 'resize.select2.' + container.id;
+    var orientationEvent = 'orientationchange.select2.' + container.id;
+
+    var $watchers = this.$container.parents().filter(Utils.hasScroll);
+    $watchers.each(function () {
+      $(this).data('select2-scroll-position', {
+        x: $(this).scrollLeft(),
+        y: $(this).scrollTop()
+      });
+    });
+
+    $watchers.on(scrollEvent, function (ev) {
+        var position = $(this).data('select2-scroll-position');
+
+        // Modified 2018-02-22 by benjamin@imagely.com
+        // See: https://github.com/select2/select2/issues/3125 -- without this if()
+        // select2 will prevent scrolling inside the IGW window after being opened once
+        if ($(this).find('.select2-container--open').size() > 0) {
+            $(this).scrollTop(position.y);
+        }
+    });
+
+    $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
+      function (e) {
+      self._positionDropdown();
+      self._resizeDropdown();
+    });
+  };
+
+  AttachBody.prototype._detachPositioningHandler =
+      function (decorated, container) {
+    var scrollEvent = 'scroll.select2.' + container.id;
+    var resizeEvent = 'resize.select2.' + container.id;
+    var orientationEvent = 'orientationchange.select2.' + container.id;
+
+    var $watchers = this.$container.parents().filter(Utils.hasScroll);
+    $watchers.off(scrollEvent);
+
+    $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
+  };
+
+  AttachBody.prototype._positionDropdown = function () {
+    var $window = $(window);
+
+    var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
+    var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
+
+    var newDirection = null;
+
+    var offset = this.$container.offset();
+
+    offset.bottom = offset.top + this.$container.outerHeight(false);
+
+    var container = {
+      height: this.$container.outerHeight(false)
+    };
+
+    container.top = offset.top;
+    container.bottom = offset.top + container.height;
+
+    var dropdown = {
+      height: this.$dropdown.outerHeight(false)
+    };
+
+    var viewport = {
+      top: $window.scrollTop(),
+      bottom: $window.scrollTop() + $window.height()
+    };
+
+    var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
+    var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
+
+    var css = {
+      left: offset.left,
+      top: container.bottom
+    };
+
+    // Determine what the parent element is to use for calciulating the offset
+    var $offsetParent = this.$dropdownParent;
+
+    // For statically positoned elements, we need to get the element
+    // that is determining the offset
+    if ($offsetParent.css('position') === 'static') {
+      $offsetParent = $offsetParent.offsetParent();
+    }
+
+    var parentOffset = $offsetParent.offset();
+
+    css.top -= parentOffset.top;
+    css.left -= parentOffset.left;
+
+    if (!isCurrentlyAbove && !isCurrentlyBelow) {
+      newDirection = 'below';
+    }
+
+    if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
+      newDirection = 'above';
+    } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
+      newDirection = 'below';
+    }
+
+    if (newDirection == 'above' ||
+      (isCurrentlyAbove && newDirection !== 'below')) {
+      css.top = container.top - parentOffset.top - dropdown.height;
+    }
+
+    if (newDirection != null) {
+      this.$dropdown
+        .removeClass('select2-dropdown--below select2-dropdown--above')
+        .addClass('select2-dropdown--' + newDirection);
+      this.$container
+        .removeClass('select2-container--below select2-container--above')
+        .addClass('select2-container--' + newDirection);
+    }
+
+    this.$dropdownContainer.css(css);
+  };
+
+  AttachBody.prototype._resizeDropdown = function () {
+    var css = {
+      width: this.$container.outerWidth(false) + 'px'
+    };
+
+    if (this.options.get('dropdownAutoWidth')) {
+      css.minWidth = css.width;
+      css.position = 'relative';
+      css.width = 'auto';
+    }
+
+    this.$dropdown.css(css);
+  };
+
+  AttachBody.prototype._showDropdown = function (decorated) {
+    this.$dropdownContainer.appendTo(this.$dropdownParent);
+
+    this._positionDropdown();
+    this._resizeDropdown();
+  };
+
+  return AttachBody;
+});
+
+S2.define('select2/dropdown/minimumResultsForSearch',[
+
+], function () {
+  function countResults (data) {
+    var count = 0;
+
+    for (var d = 0; d < data.length; d++) {
+      var item = data[d];
+
+      if (item.children) {
+        count += countResults(item.children);
+      } else {
+        count++;
+      }
+    }
+
+    return count;
+  }
+
+  function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
+    this.minimumResultsForSearch = options.get('minimumResultsForSearch');
+
+    if (this.minimumResultsForSearch < 0) {
+      this.minimumResultsForSearch = Infinity;
+    }
+
+    decorated.call(this, $element, options, dataAdapter);
+  }
+
+  MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
+    if (countResults(params.data.results) < this.minimumResultsForSearch) {
+      return false;
+    }
+
+    return decorated.call(this, params);
+  };
+
+  return MinimumResultsForSearch;
+});
+
+S2.define('select2/dropdown/selectOnClose',[
+
+], function () {
+  function SelectOnClose () { }
+
+  SelectOnClose.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    container.on('close', function (params) {
+      self._handleSelectOnClose(params);
+    });
+  };
+
+  SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
+    if (params && params.originalSelect2Event != null) {
+      var event = params.originalSelect2Event;
+
+      // Don't select an item if the close event was triggered from a select or
+      // unselect event
+      if (event._type === 'select' || event._type === 'unselect') {
+        return;
+      }
+    }
+
+    var $highlightedResults = this.getHighlightedResults();
+
+    // Only select highlighted results
+    if ($highlightedResults.length < 1) {
+      return;
+    }
+
+    var data = $highlightedResults.data('data');
+
+    // Don't re-select already selected resulte
+    if (
+      (data.element != null && data.element.selected) ||
+      (data.element == null && data.selected)
+    ) {
+      return;
+    }
+
+    this.trigger('select', {
+        data: data
+    });
+  };
+
+  return SelectOnClose;
+});
+
+S2.define('select2/dropdown/closeOnSelect',[
+
+], function () {
+  function CloseOnSelect () { }
+
+  CloseOnSelect.prototype.bind = function (decorated, container, $container) {
+    var self = this;
+
+    decorated.call(this, container, $container);
+
+    container.on('select', function (evt) {
+      self._selectTriggered(evt);
+    });
+
+    container.on('unselect', function (evt) {
+      self._selectTriggered(evt);
+    });
+  };
+
+  CloseOnSelect.prototype._selectTriggered = function (_, evt) {
+    var originalEvent = evt.originalEvent;
+
+    // Don't close if the control key is being held
+    if (originalEvent && originalEvent.ctrlKey) {
+      return;
+    }
+
+    this.trigger('close', {
+      originalEvent: originalEvent,
+      originalSelect2Event: evt
+    });
+  };
+
+  return CloseOnSelect;
+});
+
+S2.define('select2/i18n/en',[],function () {
+  // English
+  return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
+    inputTooShort: function (args) {
+      var remainingChars = args.minimum - args.input.length;
+
+      var message = 'Please enter ' + remainingChars + ' or more characters';
+
+      return message;
+    },
+    loadingMore: function () {
+      return 'Loading more results…';
+    },
+    maximumSelected: function (args) {
+      var message = 'You can only select ' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
+    noResults: function () {
+      return 'No results found';
+    },
+    searching: function () {
+      return 'Searching…';
+    }
+  };
+});
+
+S2.define('select2/defaults',[
+  'jquery',
+  'require',
+
+  './results',
+
+  './selection/single',
+  './selection/multiple',
+  './selection/placeholder',
+  './selection/allowClear',
+  './selection/search',
+  './selection/eventRelay',
+
+  './utils',
+  './translation',
+  './diacritics',
+
+  './data/select',
+  './data/array',
+  './data/ajax',
+  './data/tags',
+  './data/tokenizer',
+  './data/minimumInputLength',
+  './data/maximumInputLength',
+  './data/maximumSelectionLength',
+
+  './dropdown',
+  './dropdown/search',
+  './dropdown/hidePlaceholder',
+  './dropdown/infiniteScroll',
+  './dropdown/attachBody',
+  './dropdown/minimumResultsForSearch',
+  './dropdown/selectOnClose',
+  './dropdown/closeOnSelect',
+
+  './i18n/en'
+], function ($, require,
+
+             ResultsList,
+
+             SingleSelection, MultipleSelection, Placeholder, AllowClear,
+             SelectionSearch, EventRelay,
+
+             Utils, Translation, DIACRITICS,
+
+             SelectData, ArrayData, AjaxData, Tags, Tokenizer,
+             MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
+
+             Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
+             AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
+
+             EnglishTranslation) {
+  function Defaults () {
+    this.reset();
+  }
+
+  Defaults.prototype.apply = function (options) {
+    options = $.extend(true, {}, this.defaults, options);
+
+    if (options.dataAdapter == null) {
+      if (options.ajax != null) {
+        options.dataAdapter = AjaxData;
+      } else if (options.data != null) {
+        options.dataAdapter = ArrayData;
+      } else {
+        options.dataAdapter = SelectData;
+      }
+
+      if (options.minimumInputLength > 0) {
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          MinimumInputLength
+        );
+      }
+
+      if (options.maximumInputLength > 0) {
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          MaximumInputLength
+        );
+      }
+
+      if (options.maximumSelectionLength > 0) {
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          MaximumSelectionLength
+        );
+      }
+
+      if (options.tags) {
+        options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
+      }
+
+      if (options.tokenSeparators != null || options.tokenizer != null) {
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          Tokenizer
+        );
+      }
+
+      if (options.query != null) {
+        var Query = require(options.amdBase + 'compat/query');
+
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          Query
+        );
+      }
+
+      if (options.initSelection != null) {
+        var InitSelection = require(options.amdBase + 'compat/initSelection');
+
+        options.dataAdapter = Utils.Decorate(
+          options.dataAdapter,
+          InitSelection
+        );
+      }
+    }
+
+    if (options.resultsAdapter == null) {
+      options.resultsAdapter = ResultsList;
+
+      if (options.ajax != null) {
+        options.resultsAdapter = Utils.Decorate(
+          options.resultsAdapter,
+          InfiniteScroll
+        );
+      }
+
+      if (options.placeholder != null) {
+        options.resultsAdapter = Utils.Decorate(
+          options.resultsAdapter,
+          HidePlaceholder
+        );
+      }
+
+      if (options.selectOnClose) {
+        options.resultsAdapter = Utils.Decorate(
+          options.resultsAdapter,
+          SelectOnClose
+        );
+      }
+    }
+
+    if (options.dropdownAdapter == null) {
+      if (options.multiple) {
+        options.dropdownAdapter = Dropdown;
+      } else {
+        var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
+
+        options.dropdownAdapter = SearchableDropdown;
+      }
+
+      if (options.minimumResultsForSearch !== 0) {
+        options.dropdownAdapter = Utils.Decorate(
+          options.dropdownAdapter,
+          MinimumResultsForSearch
+        );
+      }
+
+      if (options.closeOnSelect) {
+        options.dropdownAdapter = Utils.Decorate(
+          options.dropdownAdapter,
+          CloseOnSelect
+        );
+      }
+
+      if (
+        options.dropdownCssClass != null ||
+        options.dropdownCss != null ||
+        options.adaptDropdownCssClass != null
+      ) {
+        var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
+
+        options.dropdownAdapter = Utils.Decorate(
+          options.dropdownAdapter,
+          DropdownCSS
+        );
+      }
+
+      options.dropdownAdapter = Utils.Decorate(
+        options.dropdownAdapter,
+        AttachBody
+      );
+    }
+
+    if (options.selectionAdapter == null) {
+      if (options.multiple) {
+        options.selectionAdapter = MultipleSelection;
+      } else {
+        options.selectionAdapter = SingleSelection;
+      }
+
+      // Add the placeholder mixin if a placeholder was specified
+      if (options.placeholder != null) {
+        options.selectionAdapter = Utils.Decorate(
+          options.selectionAdapter,
+          Placeholder
+        );
+      }
+
+      if (options.allowClear) {
+        options.selectionAdapter = Utils.Decorate(
+          options.selectionAdapter,
+          AllowClear
+        );
+      }
+
+      if (options.multiple) {
+        options.selectionAdapter = Utils.Decorate(
+          options.selectionAdapter,
+          SelectionSearch
+        );
+      }
+
+      if (
+        options.containerCssClass != null ||
+        options.containerCss != null ||
+        options.adaptContainerCssClass != null
+      ) {
+        var ContainerCSS = require(options.amdBase + 'compat/containerCss');
+
+        options.selectionAdapter = Utils.Decorate(
+          options.selectionAdapter,
+          ContainerCSS
+        );
+      }
+
+      options.selectionAdapter = Utils.Decorate(
+        options.selectionAdapter,
+        EventRelay
+      );
+    }
+
+    if (typeof options.language === 'string') {
+      // Check if the language is specified with a region
+      if (options.language.indexOf('-') > 0) {
+        // Extract the region information if it is included
+        var languageParts = options.language.split('-');
+        var baseLanguage = languageParts[0];
+
+        options.language = [options.language, baseLanguage];
+      } else {
+        options.language = [options.language];
+      }
+    }
+
+    if ($.isArray(options.language)) {
+      var languages = new Translation();
+      options.language.push('en');
+
+      var languageNames = options.language;
+
+      for (var l = 0; l < languageNames.length; l++) {
+        var name = languageNames[l];
+        var language = {};
+
+        try {
+          // Try to load it with the original name
+          language = Translation.loadPath(name);
+        } catch (e) {
+          try {
+            // If we couldn't load it, check if it wasn't the full path
+            name = this.defaults.amdLanguageBase + name;
+            language = Translation.loadPath(name);
+          } catch (ex) {
+            // The translation could not be loaded at all. Sometimes this is
+            // because of a configuration problem, other times this can be
+            // because of how Select2 helps load all possible translation files.
+            if (options.debug && window.console && console.warn) {
+              console.warn(
+                'Select2: The language file for "' + name + '" could not be ' +
+                'automatically loaded. A fallback will be used instead.'
+              );
+            }
+
+            continue;
+          }
+        }
+
+        languages.extend(language);
+      }
+
+      options.translations = languages;
+    } else {
+      var baseTranslation = Translation.loadPath(
+        this.defaults.amdLanguageBase + 'en'
+      );
+      var customTranslation = new Translation(options.language);
+
+      customTranslation.extend(baseTranslation);
+
+      options.translations = customTranslation;
+    }
+
+    return options;
+  };
+
+  Defaults.prototype.reset = function () {
+    function stripDiacritics (text) {
+      // Used 'uni range + named function' from http://jsperf.com/diacritics/18
+      function match(a) {
+        return DIACRITICS[a] || a;
+      }
+
+      return text.replace(/[^\u0000-\u007E]/g, match);
+    }
+
+    function matcher (params, data) {
+      // Always return the object if there is nothing to compare
+      if ($.trim(params.term) === '') {
+        return data;
+      }
+
+      // Do a recursive check for options with children
+      if (data.children && data.children.length > 0) {
+        // Clone the data object if there are children
+        // This is required as we modify the object to remove any non-matches
+        var match = $.extend(true, {}, data);
+
+        // Check each child of the option
+        for (var c = data.children.length - 1; c >= 0; c--) {
+          var child = data.children[c];
+
+          var matches = matcher(params, child);
+
+          // If there wasn't a match, remove the object in the array
+          if (matches == null) {
+            match.children.splice(c, 1);
+          }
+        }
+
+        // If any children matched, return the new object
+        if (match.children.length > 0) {
+          return match;
+        }
+
+        // If there were no matching children, check just the plain object
+        return matcher(params, match);
+      }
+
+      var original = stripDiacritics(data.text).toUpperCase();
+      var term = stripDiacritics(params.term).toUpperCase();
+
+      // Check if the text contains the term
+      if (original.indexOf(term) > -1) {
+        return data;
+      }
+
+      // If it doesn't contain the term, don't return anything
+      return null;
+    }
+
+    this.defaults = {
+      amdBase: './',
+      amdLanguageBase: './i18n/',
+      closeOnSelect: true,
+      debug: false,
+      dropdownAutoWidth: false,
+      escapeMarkup: Utils.escapeMarkup,
+      language: EnglishTranslation,
+      matcher: matcher,
+      minimumInputLength: 0,
+      maximumInputLength: 0,
+      maximumSelectionLength: 0,
+      minimumResultsForSearch: 0,
+      selectOnClose: false,
+      sorter: function (data) {
+        return data;
+      },
+      templateResult: function (result) {
+        return result.text;
+      },
+      templateSelection: function (selection) {
+        return selection.text;
+      },
+      theme: 'default',
+      width: 'resolve'
+    };
+  };
+
+  Defaults.prototype.set = function (key, value) {
+    var camelKey = $.camelCase(key);
+
+    var data = {};
+    data[camelKey] = value;
+
+    var convertedData = Utils._convertData(data);
+
+    $.extend(this.defaults, convertedData);
+  };
+
+  var defaults = new Defaults();
+
+  return defaults;
+});
+
+S2.define('select2/options',[
+  'require',
+  'jquery',
+  './defaults',
+  './utils'
+], function (require, $, Defaults, Utils) {
+  function Options (options, $element) {
+    this.options = options;
+
+    if ($element != null) {
+      this.fromElement($element);
+    }
+
+    this.options = Defaults.apply(this.options);
+
+    if ($element && $element.is('input')) {
+      var InputCompat = require(this.get('amdBase') + 'compat/inputData');
+
+      this.options.dataAdapter = Utils.Decorate(
+        this.options.dataAdapter,
+        InputCompat
+      );
+    }
+  }
+
+  Options.prototype.fromElement = function ($e) {
+    var excludedData = ['select2'];
+
+    if (this.options.multiple == null) {
+      this.options.multiple = $e.prop('multiple');
+    }
+
+    if (this.options.disabled == null) {
+      this.options.disabled = $e.prop('disabled');
+    }
+
+    if (this.options.language == null) {
+      if ($e.prop('lang')) {
+        this.options.language = $e.prop('lang').toLowerCase();
+      } else if ($e.closest('[lang]').prop('lang')) {
+        this.options.language = $e.closest('[lang]').prop('lang');
+      }
+    }
+
+    if (this.options.dir == null) {
+      if ($e.prop('dir')) {
+        this.options.dir = $e.prop('dir');
+      } else if ($e.closest('[dir]').prop('dir')) {
+        this.options.dir = $e.closest('[dir]').prop('dir');
+      } else {
+        this.options.dir = 'ltr';
+      }
+    }
+
+    $e.prop('disabled', this.options.disabled);
+    $e.prop('multiple', this.options.multiple);
+
+    if ($e.data('select2Tags')) {
+      if (this.options.debug && window.console && console.warn) {
+        console.warn(
+          'Select2: The `data-select2-tags` attribute has been changed to ' +
+          'use the `data-data` and `data-tags="true"` attributes and will be ' +
+          'removed in future versions of Select2.'
+        );
+      }
+
+      $e.data('data', $e.data('select2Tags'));
+      $e.data('tags', true);
+    }
+
+    if ($e.data('ajaxUrl')) {
+      if (this.options.debug && window.console && console.warn) {
+        console.warn(
+          'Select2: The `data-ajax-url` attribute has been changed to ' +
+          '`data-ajax--url` and support for the old attribute will be removed' +
+          ' in future versions of Select2.'
+        );
+      }
+
+      $e.attr('ajax--url', $e.data('ajaxUrl'));
+      $e.data('ajax--url', $e.data('ajaxUrl'));
+    }
+
+    var dataset = {};
+
+    // Prefer the element's `dataset` attribute if it exists
+    // jQuery 1.x does not correctly handle data attributes with multiple dashes
+    if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
+      dataset = $.extend(true, {}, $e[0].dataset, $e.data());
+    } else {
+      dataset = $e.data();
+    }
+
+    var data = $.extend(true, {}, dataset);
+
+    data = Utils._convertData(data);
+
+    for (var key in data) {
+      if ($.inArray(key, excludedData) > -1) {
+        continue;
+      }
+
+      if ($.isPlainObject(this.options[key])) {
+        $.extend(this.options[key], data[key]);
+      } else {
+        this.options[key] = data[key];
+      }
+    }
+
+    return this;
+  };
+
+  Options.prototype.get = function (key) {
+    return this.options[key];
+  };
+
+  Options.prototype.set = function (key, val) {
+    this.options[key] = val;
+  };
+
+  return Options;
+});
+
+S2.define('select2/core',[
+  'jquery',
+  './options',
+  './utils',
+  './keys'
+], function ($, Options, Utils, KEYS) {
+  var Select2 = function ($element, options) {
+    if ($element.data('select2') != null) {
+      $element.data('select2').destroy();
+    }
+
+    this.$element = $element;
+
+    this.id = this._generateId($element);
+
+    options = options || {};
+
+    this.options = new Options(options, $element);
+
+    Select2.__super__.constructor.call(this);
+
+    // Set up the tabindex
+
+    var tabindex = $element.attr('tabindex') || 0;
+    $element.data('old-tabindex', tabindex);
+    $element.attr('tabindex', '-1');
+
+    // Set up containers and adapters
+
+    var DataAdapter = this.options.get('dataAdapter');
+    this.dataAdapter = new DataAdapter($element, this.options);
+
+    var $container = this.render();
+
+    this._placeContainer($container);
+
+    var SelectionAdapter = this.options.get('selectionAdapter');
+    this.selection = new SelectionAdapter($element, this.options);
+    this.$selection = this.selection.render();
+
+    this.selection.position(this.$selection, $container);
+
+    var DropdownAdapter = this.options.get('dropdownAdapter');
+    this.dropdown = new DropdownAdapter($element, this.options);
+    this.$dropdown = this.dropdown.render();
+
+    this.dropdown.position(this.$dropdown, $container);
+
+    var ResultsAdapter = this.options.get('resultsAdapter');
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
+    this.$results = this.results.render();
+
+    this.results.position(this.$results, this.$dropdown);
+
+    // Bind events
+
+    var self = this;
+
+    // Bind the container to all of the adapters
+    this._bindAdapters();
+
+    // Register any DOM event handlers
+    this._registerDomEvents();
+
+    // Register any internal event handlers
+    this._registerDataEvents();
+    this._registerSelectionEvents();
+    this._registerDropdownEvents();
+    this._registerResultsEvents();
+    this._registerEvents();
+
+    // Set the initial state
+    this.dataAdapter.current(function (initialData) {
+      self.trigger('selection:update', {
+        data: initialData
+      });
+    });
+
+    // Hide the original select
+    $element.addClass('select2-hidden-accessible');
+    $element.attr('aria-hidden', 'true');
+
+    // Synchronize any monitored attributes
+    this._syncAttributes();
+
+    $element.data('select2', this);
+  };
+
+  Utils.Extend(Select2, Utils.Observable);
+
+  Select2.prototype._generateId = function ($element) {
+    var id = '';
+
+    if ($element.attr('id') != null) {
+      id = $element.attr('id');
+    } else if ($element.attr('name') != null) {
+      id = $element.attr('name') + '-' + Utils.generateChars(2);
+    } else {
+      id = Utils.generateChars(4);
+    }
+
+    id = id.replace(/(:|\.|\[|\]|,)/g, '');
+    id = 'select2-' + id;
+
+    return id;
+  };
+
+  Select2.prototype._placeContainer = function ($container) {
+    $container.insertAfter(this.$element);
+
+    var width = this._resolveWidth(this.$element, this.options.get('width'));
+
+    if (width != null) {
+      $container.css('width', width);
+    }
+  };
+
+  Select2.prototype._resolveWidth = function ($element, method) {
+    var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
+
+    if (method == 'resolve') {
+      var styleWidth = this._resolveWidth($element, 'style');
+
+      if (styleWidth != null) {
+        return styleWidth;
+      }
+
+      return this._resolveWidth($element, 'element');
+    }
+
+    if (method == 'element') {
+      var elementWidth = $element.outerWidth(false);
+
+      if (elementWidth <= 0) {
+        return 'auto';
+      }
+
+      return elementWidth + 'px';
+    }
+
+    if (method == 'style') {
+      var style = $element.attr('style');
+
+      if (typeof(style) !== 'string') {
+        return null;
+      }
+
+      var attrs = style.split(';');
+
+      for (var i = 0, l = attrs.length; i < l; i = i + 1) {
+        var attr = attrs[i].replace(/\s/g, '');
+        var matches = attr.match(WIDTH);
+
+        if (matches !== null && matches.length >= 1) {
+          return matches[1];
+        }
+      }
+
+      return null;
+    }
+
+    return method;
+  };
+
+  Select2.prototype._bindAdapters = function () {
+    this.dataAdapter.bind(this, this.$container);
+    this.selection.bind(this, this.$container);
+
+    this.dropdown.bind(this, this.$container);
+    this.results.bind(this, this.$container);
+  };
+
+  Select2.prototype._registerDomEvents = function () {
+    var self = this;
+
+    this.$element.on('change.select2', function () {
+      self.dataAdapter.current(function (data) {
+        self.trigger('selection:update', {
+          data: data
+        });
+      });
+    });
+
+    this.$element.on('focus.select2', function (evt) {
+      self.trigger('focus', evt);
+    });
+
+    this._syncA = Utils.bind(this._syncAttributes, this);
+    this._syncS = Utils.bind(this._syncSubtree, this);
+
+    if (this.$element[0].attachEvent) {
+      this.$element[0].attachEvent('onpropertychange', this._syncA);
+    }
+
+    var observer = window.MutationObserver ||
+      window.WebKitMutationObserver ||
+      window.MozMutationObserver
+    ;
+
+    if (observer != null) {
+      this._observer = new observer(function (mutations) {
+        $.each(mutations, self._syncA);
+        $.each(mutations, self._syncS);
+      });
+      this._observer.observe(this.$element[0], {
+        attributes: true,
+        childList: true,
+        subtree: false
+      });
+    } else if (this.$element[0].addEventListener) {
+      this.$element[0].addEventListener(
+        'DOMAttrModified',
+        self._syncA,
+        false
+      );
+      this.$element[0].addEventListener(
+        'DOMNodeInserted',
+        self._syncS,
+        false
+      );
+      this.$element[0].addEventListener(
+        'DOMNodeRemoved',
+        self._syncS,
+        false
+      );
+    }
+  };
+
+  Select2.prototype._registerDataEvents = function () {
+    var self = this;
+
+    this.dataAdapter.on('*', function (name, params) {
+      self.trigger(name, params);
+    });
+  };
+
+  Select2.prototype._registerSelectionEvents = function () {
+    var self = this;
+    var nonRelayEvents = ['toggle', 'focus'];
+
+    this.selection.on('toggle', function () {
+      self.toggleDropdown();
+    });
+
+    this.selection.on('focus', function (params) {
+      self.focus(params);
+    });
+
+    this.selection.on('*', function (name, params) {
+      if ($.inArray(name, nonRelayEvents) !== -1) {
+        return;
+      }
+
+      self.trigger(name, params);
+    });
+  };
+
+  Select2.prototype._registerDropdownEvents = function () {
+    var self = this;
+
+    this.dropdown.on('*', function (name, params) {
+      self.trigger(name, params);
+    });
+  };
+
+  Select2.prototype._registerResultsEvents = function () {
+    var self = this;
+
+    this.results.on('*', function (name, params) {
+      self.trigger(name, params);
+    });
+  };
+
+  Select2.prototype._registerEvents = function () {
+    var self = this;
+
+    this.on('open', function () {
+      self.$container.addClass('select2-container--open');
+    });
+
+    this.on('close', function () {
+      self.$container.removeClass('select2-container--open');
+    });
+
+    this.on('enable', function () {
+      self.$container.removeClass('select2-container--disabled');
+    });
+
+    this.on('disable', function () {
+      self.$container.addClass('select2-container--disabled');
+    });
+
+    this.on('blur', function () {
+      self.$container.removeClass('select2-container--focus');
+    });
+
+    this.on('query', function (params) {
+      if (!self.isOpen()) {
+        self.trigger('open', {});
+      }
+
+      this.dataAdapter.query(params, function (data) {
+        self.trigger('results:all', {
+          data: data,
+          query: params
+        });
+      });
+    });
+
+    this.on('query:append', function (params) {
+      this.dataAdapter.query(params, function (data) {
+        self.trigger('results:append', {
+          data: data,
+          query: params
+        });
+      });
+    });
+
+    this.on('keypress', function (evt) {
+      var key = evt.which;
+
+      if (self.isOpen()) {
+        if (key === KEYS.ESC || key === KEYS.TAB ||
+            (key === KEYS.UP && evt.altKey)) {
+          self.close();
+
+          evt.preventDefault();
+        } else if (key === KEYS.ENTER) {
+          self.trigger('results:select', {});
+
+          evt.preventDefault();
+        } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
+          self.trigger('results:toggle', {});
+
+          evt.preventDefault();
+        } else if (key === KEYS.UP) {
+          self.trigger('results:previous', {});
+
+          evt.preventDefault();
+        } else if (key === KEYS.DOWN) {
+          self.trigger('results:next', {});
+
+          evt.preventDefault();
+        }
+      } else {
+        if (key === KEYS.ENTER || key === KEYS.SPACE ||
+            (key === KEYS.DOWN && evt.altKey)) {
+          self.open();
+
+          evt.preventDefault();
+        }
+      }
+    });
+  };
+
+  Select2.prototype._syncAttributes = function () {
+    this.options.set('disabled', this.$element.prop('disabled'));
+
+    if (this.options.get('disabled')) {
+      if (this.isOpen()) {
+        this.close();
+      }
+
+      this.trigger('disable', {});
+    } else {
+      this.trigger('enable', {});
+    }
+  };
+
+  Select2.prototype._syncSubtree = function (evt, mutations) {
+    var changed = false;
+    var self = this;
+
+    // Ignore any mutation events raised for elements that aren't options or
+    // optgroups. This handles the case when the select element is destroyed
+    if (
+      evt && evt.target && (
+        evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
+      )
+    ) {
+      return;
+    }
+
+    if (!mutations) {
+      // If mutation events aren't supported, then we can only assume that the
+      // change affected the selections
+      changed = true;
+    } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
+      for (var n = 0; n < mutations.addedNodes.length; n++) {
+        var node = mutations.addedNodes[n];
+
+        if (node.selected) {
+          changed = true;
+        }
+      }
+    } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
+      changed = true;
+    }
+
+    // Only re-pull the data if we think there is a change
+    if (changed) {
+      this.dataAdapter.current(function (currentData) {
+        self.trigger('selection:update', {
+          data: currentData
+        });
+      });
+    }
+  };
+
+  /**
+   * Override the trigger method to automatically trigger pre-events when
+   * there are events that can be prevented.
+   */
+  Select2.prototype.trigger = function (name, args) {
+    var actualTrigger = Select2.__super__.trigger;
+    var preTriggerMap = {
+      'open': 'opening',
+      'close': 'closing',
+      'select': 'selecting',
+      'unselect': 'unselecting'
+    };
+
+    if (args === undefined) {
+      args = {};
+    }
+
+    if (name in preTriggerMap) {
+      var preTriggerName = preTriggerMap[name];
+      var preTriggerArgs = {
+        prevented: false,
+        name: name,
+        args: args
+      };
+
+      actualTrigger.call(this, preTriggerName, preTriggerArgs);
+
+      if (preTriggerArgs.prevented) {
+        args.prevented = true;
+
+        return;
+      }
+    }
+
+    actualTrigger.call(this, name, args);
+  };
+
+  Select2.prototype.toggleDropdown = function () {
+    if (this.options.get('disabled')) {
+      return;
+    }
+
+    if (this.isOpen()) {
+      this.close();
+    } else {
+      this.open();
+    }
+  };
+
+  Select2.prototype.open = function () {
+    if (this.isOpen()) {
+      return;
+    }
+
+    this.trigger('query', {});
+  };
+
+  Select2.prototype.close = function () {
+    if (!this.isOpen()) {
+      return;
+    }
+
+    this.trigger('close', {});
+  };
+
+  Select2.prototype.isOpen = function () {
+    return this.$container.hasClass('select2-container--open');
+  };
+
+  Select2.prototype.hasFocus = function () {
+    return this.$container.hasClass('select2-container--focus');
+  };
+
+  Select2.prototype.focus = function (data) {
+    // No need to re-trigger focus events if we are already focused
+    if (this.hasFocus()) {
+      return;
+    }
+
+    this.$container.addClass('select2-container--focus');
+    this.trigger('focus', {});
+  };
+
+  Select2.prototype.enable = function (args) {
+    if (this.options.get('debug') && window.console && console.warn) {
+      console.warn(
+        'Select2: The `select2("enable")` method has been deprecated and will' +
+        ' be removed in later Select2 versions. Use $element.prop("disabled")' +
+        ' instead.'
+      );
+    }
+
+    if (args == null || args.length === 0) {
+      args = [true];
+    }
+
+    var disabled = !args[0];
+
+    this.$element.prop('disabled', disabled);
+  };
+
+  Select2.prototype.data = function () {
+    if (this.options.get('debug') &&
+        arguments.length > 0 && window.console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdapter.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
+  Select2.prototype.val = function (args) {
+    if (this.options.get('debug') && window.console && console.warn) {
+      console.warn(
+        'Select2: The `select2("val")` method has been deprecated and will be' +
+        ' removed in later Select2 versions. Use $element.val() instead.'
+      );
+    }
+
+    if (args == null || args.length === 0) {
+      return this.$element.val();
+    }
+
+    var newVal = args[0];
+
+    if ($.isArray(newVal)) {
+      newVal = $.map(newVal, function (obj) {
+        return obj.toString();
+      });
+    }
+
+    this.$element.val(newVal).trigger('change');
+  };
+
+  Select2.prototype.destroy = function () {
+    this.$container.remove();
+
+    if (this.$element[0].detachEvent) {
+      this.$element[0].detachEvent('onpropertychange', this._syncA);
+    }
+
+    if (this._observer != null) {
+      this._observer.disconnect();
+      this._observer = null;
+    } else if (this.$element[0].removeEventListener) {
+      this.$element[0]
+        .removeEventListener('DOMAttrModified', this._syncA, false);
+      this.$element[0]
+        .removeEventListener('DOMNodeInserted', this._syncS, false);
+      this.$element[0]
+        .removeEventListener('DOMNodeRemoved', this._syncS, false);
+    }
+
+    this._syncA = null;
+    this._syncS = null;
+
+    this.$element.off('.select2');
+    this.$element.attr('tabindex', this.$element.data('old-tabindex'));
+
+    this.$element.removeClass('select2-hidden-accessible');
+    this.$element.attr('aria-hidden', 'false');
+    this.$element.removeData('select2');
+
+    this.dataAdapter.destroy();
+    this.selection.destroy();
+    this.dropdown.destroy();
+    this.results.destroy();
+
+    this.dataAdapter = null;
+    this.selection = null;
+    this.dropdown = null;
+    this.results = null;
+  };
+
+  Select2.prototype.render = function () {
+    var $container = $(
+      '<span class="select2 select2-container">' +
+        '<span class="selection"></span>' +
+        '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
+      '</span>'
+    );
+
+    $container.attr('dir', this.options.get('dir'));
+
+    this.$container = $container;
+
+    this.$container.addClass('select2-container--' + this.options.get('theme'));
+
+    $container.data('element', this.$element);
+
+    return $container;
+  };
+
+  return Select2;
+});
+
+S2.define('select2/compat/utils',[
+  'jquery'
+], function ($) {
+  function syncCssClasses ($dest, $src, adapter) {
+    var classes, replacements = [], adapted;
+
+    classes = $.trim($dest.attr('class'));
+
+    if (classes) {
+      classes = '' + classes; // for IE which returns object
+
+      $(classes.split(/\s+/)).each(function () {
+        // Save all Select2 classes
+        if (this.indexOf('select2-') === 0) {
+          replacements.push(this);
+        }
+      });
+    }
+
+    classes = $.trim($src.attr('class'));
+
+    if (classes) {
+      classes = '' + classes; // for IE which returns object
+
+      $(classes.split(/\s+/)).each(function () {
+        // Only adapt non-Select2 classes
+        if (this.indexOf('select2-') !== 0) {
+          adapted = adapter(this);
+
+          if (adapted != null) {
+            replacements.push(adapted);
+          }
+        }
+      });
+    }
+
+    $dest.attr('class', replacements.join(' '));
+  }
+
+  return {
+    syncCssClasses: syncCssClasses
+  };
+});
+
+S2.define('select2/compat/containerCss',[
+  'jquery',
+  './utils'
+], function ($, CompatUtils) {
+  // No-op CSS adapter that discards all classes by default
+  function _containerAdapter (clazz) {
+    return null;
+  }
+
+  function ContainerCSS () { }
+
+  ContainerCSS.prototype.render = function (decorated) {
+    var $container = decorated.call(this);
+
+    var containerCssClass = this.options.get('containerCssClass') || '';
+
+    if ($.isFunction(containerCssClass)) {
+      containerCssClass = containerCssClass(this.$element);
+    }
+
+    var containerCssAdapter = this.options.get('adaptContainerCssClass');
+    containerCssAdapter = containerCssAdapter || _containerAdapter;
+
+    if (containerCssClass.indexOf(':all:') !== -1) {
+      containerCssClass = containerCssClass.replace(':all:', '');
+
+      var _cssAdapter = containerCssAdapter;
+
+      containerCssAdapter = function (clazz) {
+        var adapted = _cssAdapter(clazz);
+
+        if (adapted != null) {
+          // Append the old one along with the adapted one
+          return adapted + ' ' + clazz;
+        }
+
+        return clazz;
+      };
+    }
+
+    var containerCss = this.options.get('containerCss') || {};
+
+    if ($.isFunction(containerCss)) {
+      containerCss = containerCss(this.$element);
+    }
+
+    CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter);
+
+    $container.css(containerCss);
+    $container.addClass(containerCssClass);
+
+    return $container;
+  };
+
+  return ContainerCSS;
+});
+
+S2.define('select2/compat/dropdownCss',[
+  'jquery',
+  './utils'
+], function ($, CompatUtils) {
+  // No-op CSS adapter that discards all classes by default
+  function _dropdownAdapter (clazz) {
+    return null;
+  }
+
+  function DropdownCSS () { }
+
+  DropdownCSS.prototype.render = function (decorated) {
+    var $dropdown = decorated.call(this);
+
+    var dropdownCssClass = this.options.get('dropdownCssClass') || '';
+
+    if ($.isFunction(dropdownCssClass)) {
+      dropdownCssClass = dropdownCssClass(this.$element);
+    }
+
+    var dropdownCssAdapter = this.options.get('adaptDropdownCssClass');
+    dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter;
+
+    if (dropdownCssClass.indexOf(':all:') !== -1) {
+      dropdownCssClass = dropdownCssClass.replace(':all:', '');
+
+      var _cssAdapter = dropdownCssAdapter;
+
+      dropdownCssAdapter = function (clazz) {
+        var adapted = _cssAdapter(clazz);
+
+        if (adapted != null) {
+          // Append the old one along with the adapted one
+          return adapted + ' ' + clazz;
+        }
+
+        return clazz;
+      };
+    }
+
+    var dropdownCss = this.options.get('dropdownCss') || {};
+
+    if ($.isFunction(dropdownCss)) {
+      dropdownCss = dropdownCss(this.$element);
+    }
+
+    CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter);
+
+    $dropdown.css(dropdownCss);
+    $dropdown.addClass(dropdownCssClass);
+
+    return $dropdown;
+  };
+
+  return DropdownCSS;
+});
+
+S2.define('select2/compat/initSelection',[
+  'jquery'
+], function ($) {
+  function InitSelection (decorated, $element, options) {
+    if (options.get('debug') && window.console && console.warn) {
+      console.warn(
+        'Select2: The `initSelection` option has been deprecated in favor' +
+        ' of a custom data adapter that overrides the `current` method. ' +
+        'This method is now called multiple times instead of a single ' +
+        'time when the instance is initialized. Support will be removed ' +
+        'for the `initSelection` option in future versions of Select2'
+      );
+    }
+
+    this.initSelection = options.get('initSelection');
+    this._isInitialized = false;
+
+    decorated.call(this, $element, options);
+  }
+
+  InitSelection.prototype.current = function (decorated, callback) {
+    var self = this;
+
+    if (this._isInitialized) {
+      decorated.call(this, callback);
+
+      return;
+    }
+
+    this.initSelection.call(null, this.$element, function (data) {
+      self._isInitialized = true;
+
+      if (!$.isArray(data)) {
+        data = [data];
+      }
+
+      callback(data);
+    });
+  };
+
+  return InitSelection;
+});
+
+S2.define('select2/compat/inputData',[
+  'jquery'
+], function ($) {
+  function InputData (decorated, $element, options) {
+    this._currentData = [];
+    this._valueSeparator = options.get('valueSeparator') || ',';
+
+    if ($element.prop('type') === 'hidden') {
+      if (options.get('debug') && console && console.warn) {
+        console.warn(
+          'Select2: Using a hidden input with Select2 is no longer ' +
+          'supported and may stop working in the future. It is recommended ' +
+          'to use a `<select>` element instead.'
+        );
+      }
+    }
+
+    decorated.call(this, $element, options);
+  }
+
+  InputData.prototype.current = function (_, callback) {
+    function getSelected (data, selectedIds) {
+      var selected = [];
+
+      if (data.selected || $.inArray(data.id, selectedIds) !== -1) {
+        data.selected = true;
+        selected.push(data);
+      } else {
+        data.selected = false;
+      }
+
+      if (data.children) {
+        selected.push.apply(selected, getSelected(data.children, selectedIds));
+      }
+
+      return selected;
+    }
+
+    var selected = [];
+
+    for (var d = 0; d < this._currentData.length; d++) {
+      var data = this._currentData[d];
+
+      selected.push.apply(
+        selected,
+        getSelected(
+          data,
+          this.$element.val().split(
+            this._valueSeparator
+          )
+        )
+      );
+    }
+
+    callback(selected);
+  };
+
+  InputData.prototype.select = function (_, data) {
+    if (!this.options.get('multiple')) {
+      this.current(function (allData) {
+        $.map(allData, function (data) {
+          data.selected = false;
+        });
+      });
+
+      this.$element.val(data.id);
+      this.$element.trigger('change');
+    } else {
+      var value = this.$element.val();
+      value += this._valueSeparator + data.id;
+
+      this.$element.val(value);
+      this.$element.trigger('change');
+    }
+  };
+
+  InputData.prototype.unselect = function (_, data) {
+    var self = this;
+
+    data.selected = false;
+
+    this.current(function (allData) {
+      var values = [];
+
+      for (var d = 0; d < allData.length; d++) {
+        var item = allData[d];
+
+        if (data.id == item.id) {
+          continue;
+        }
+
+        values.push(item.id);
+      }
+
+      self.$element.val(values.join(self._valueSeparator));
+      self.$element.trigger('change');
+    });
+  };
+
+  InputData.prototype.query = function (_, params, callback) {
+    var results = [];
+
+    for (var d = 0; d < this._currentData.length; d++) {
+      var data = this._currentData[d];
+
+      var matches = this.matches(params, data);
+
+      if (matches !== null) {
+        results.push(matches);
+      }
+    }
+
+    callback({
+      results: results
+    });
+  };
+
+  InputData.prototype.addOptions = function (_, $options) {
+    var options = $.map($options, function ($option) {
+      return $.data($option[0], 'data');
+    });
+
+    this._currentData.push.apply(this._currentData, options);
+  };
+
+  return InputData;
+});
+
+S2.define('select2/compat/matcher',[
+  'jquery'
+], function ($) {
+  function oldMatcher (matcher) {
+    function wrappedMatcher (params, data) {
+      var match = $.extend(true, {}, data);
+
+      if (params.term == null || $.trim(params.term) === '') {
+        return match;
+      }
+
+      if (data.children) {
+        for (var c = data.children.length - 1; c >= 0; c--) {
+          var child = data.children[c];
+
+          // Check if the child object matches
+          // The old matcher returned a boolean true or false
+          var doesMatch = matcher(params.term, child.text, child);
+
+          // If the child didn't match, pop it off
+          if (!doesMatch) {
+            match.children.splice(c, 1);
+          }
+        }
+
+        if (match.children.length > 0) {
+          return match;
+        }
+      }
+
+      if (matcher(params.term, data.text, data)) {
+        return match;
+      }
+
+      return null;
+    }
+
+    return wrappedMatcher;
+  }
+
+  return oldMatcher;
+});
+
+S2.define('select2/compat/query',[
+
+], function () {
+  function Query (decorated, $element, options) {
+    if (options.get('debug') && window.console && console.warn) {
+      console.warn(
+        'Select2: The `query` option has been deprecated in favor of a ' +
+        'custom data adapter that overrides the `query` method. Support ' +
+        'will be removed for the `query` option in future versions of ' +
+        'Select2.'
+      );
+    }
+
+    decorated.call(this, $element, options);
+  }
+
+  Query.prototype.query = function (_, params, callback) {
+    params.callback = callback;
+
+    var query = this.options.get('query');
+
+    query.call(null, params);
+  };
+
+  return Query;
+});
+
+S2.define('select2/dropdown/attachContainer',[
+
+], function () {
+  function AttachContainer (decorated, $element, options) {
+    decorated.call(this, $element, options);
+  }
+
+  AttachContainer.prototype.position =
+    function (decorated, $dropdown, $container) {
+    var $dropdownContainer = $container.find('.dropdown-wrapper');
+    $dropdownContainer.append($dropdown);
+
+    $dropdown.addClass('select2-dropdown--below');
+    $container.addClass('select2-container--below');
+  };
+
+  return AttachContainer;
+});
+
+S2.define('select2/dropdown/stopPropagation',[
+
+], function () {
+  function StopPropagation () { }
+
+  StopPropagation.prototype.bind = function (decorated, container, $container) {
+    decorated.call(this, container, $container);
+
+    var stoppedEvents = [
+    'blur',
+    'change',
+    'click',
+    'dblclick',
+    'focus',
+    'focusin',
+    'focusout',
+    'input',
+    'keydown',
+    'keyup',
+    'keypress',
+    'mousedown',
+    'mouseenter',
+    'mouseleave',
+    'mousemove',
+    'mouseover',
+    'mouseup',
+    'search',
+    'touchend',
+    'touchstart'
+    ];
+
+    this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
+      evt.stopPropagation();
+    });
+  };
+
+  return StopPropagation;
+});
+
+S2.define('select2/selection/stopPropagation',[
+
+], function () {
+  function StopPropagation () { }
+
+  StopPropagation.prototype.bind = function (decorated, container, $container) {
+    decorated.call(this, container, $container);
+
+    var stoppedEvents = [
+      'blur',
+      'change',
+      'click',
+      'dblclick',
+      'focus',
+      'focusin',
+      'focusout',
+      'input',
+      'keydown',
+      'keyup',
+      'keypress',
+      'mousedown',
+      'mouseenter',
+      'mouseleave',
+      'mousemove',
+      'mouseover',
+      'mouseup',
+      'search',
+      'touchend',
+      'touchstart'
+    ];
+
+    this.$selection.on(stoppedEvents.join(' '), function (evt) {
+      evt.stopPropagation();
+    });
+  };
+
+  return StopPropagation;
+});
+
+/*!
+ * jQuery Mousewheel 3.1.13
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ */
+
+(function (factory) {
+    if ( typeof S2.define === 'function' && S2.define.amd ) {
+        // AMD. Register as an anonymous module.
+        S2.define('jquery-mousewheel',['jquery'], factory);
+    } else if (typeof exports === 'object') {
+        // Node/CommonJS style for Browserify
+        module.exports = factory;
+    } else {
+        // Browser globals
+        factory(jQuery);
+    }
+}(function ($) {
+
+    var toFix  = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
+        toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
+                    ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
+        slice  = Array.prototype.slice,
+        nullLowestDeltaTimeout, lowestDelta;
+
+    if ( $.event.fixHooks ) {
+        for ( var i = toFix.length; i; ) {
+            $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
+        }
+    }
+
+    var special = $.event.special.mousewheel = {
+        version: '3.1.12',
+
+        setup: function() {
+            if ( this.addEventListener ) {
+                for ( var i = toBind.length; i; ) {
+                    this.addEventListener( toBind[--i], handler, false );
+                }
+            } else {
+                this.onmousewheel = handler;
+            }
+            // Store the line height and page height for this particular element
+            $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
+            $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
+        },
+
+        teardown: function() {
+            if ( this.removeEventListener ) {
+                for ( var i = toBind.length; i; ) {
+                    this.removeEventListener( toBind[--i], handler, false );
+                }
+            } else {
+                this.onmousewheel = null;
+            }
+            // Clean up the data we added to the element
+            $.removeData(this, 'mousewheel-line-height');
+            $.removeData(this, 'mousewheel-page-height');
+        },
+
+        getLineHeight: function(elem) {
+            var $elem = $(elem),
+                $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
+            if (!$parent.length) {
+                $parent = $('body');
+            }
+            return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
+        },
+
+        getPageHeight: function(elem) {
+            return $(elem).height();
+        },
+
+        settings: {
+            adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
+            normalizeOffset: true  // calls getBoundingClientRect for each event
+        }
+    };
+
+    $.fn.extend({
+        mousewheel: function(fn) {
+            return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
+        },
+
+        unmousewheel: function(fn) {
+            return this.unbind('mousewheel', fn);
+        }
+    });
+
+
+    function handler(event) {
+        var orgEvent   = event || window.event,
+            args       = slice.call(arguments, 1),
+            delta      = 0,
+            deltaX     = 0,
+            deltaY     = 0,
+            absDelta   = 0,
+            offsetX    = 0,
+            offsetY    = 0;
+        event = $.event.fix(orgEvent);
+        event.type = 'mousewheel';
+
+        // Old school scrollwheel delta
+        if ( 'detail'      in orgEvent ) { deltaY = orgEvent.detail * -1;      }
+        if ( 'wheelDelta'  in orgEvent ) { deltaY = orgEvent.wheelDelta;       }
+        if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY;      }
+        if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
+
+        // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
+        if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
+            deltaX = deltaY * -1;
+            deltaY = 0;
+        }
+
+        // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
+        delta = deltaY === 0 ? deltaX : deltaY;
+
+        // New school wheel delta (wheel event)
+        if ( 'deltaY' in orgEvent ) {
+            deltaY = orgEvent.deltaY * -1;
+            delta  = deltaY;
+        }
+        if ( 'deltaX' in orgEvent ) {
+            deltaX = orgEvent.deltaX;
+            if ( deltaY === 0 ) { delta  = deltaX * -1; }
+        }
+
+        // No change actually happened, no reason to go any further
+        if ( deltaY === 0 && deltaX === 0 ) { return; }
+
+        // Need to convert lines and pages to pixels if we aren't already in pixels
+        // There are three delta modes:
+        //   * deltaMode 0 is by pixels, nothing to do
+        //   * deltaMode 1 is by lines
+        //   * deltaMode 2 is by pages
+        if ( orgEvent.deltaMode === 1 ) {
+            var lineHeight = $.data(this, 'mousewheel-line-height');
+            delta  *= lineHeight;
+            deltaY *= lineHeight;
+            deltaX *= lineHeight;
+        } else if ( orgEvent.deltaMode === 2 ) {
+            var pageHeight = $.data(this, 'mousewheel-page-height');
+            delta  *= pageHeight;
+            deltaY *= pageHeight;
+            deltaX *= pageHeight;
+        }
+
+        // Store lowest absolute delta to normalize the delta values
+        absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
+
+        if ( !lowestDelta || absDelta < lowestDelta ) {
+            lowestDelta = absDelta;
+
+            // Adjust older deltas if necessary
+            if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
+                lowestDelta /= 40;
+            }
+        }
+
+        // Adjust older deltas if necessary
+        if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
+            // Divide all the things by 40!
+            delta  /= 40;
+            deltaX /= 40;
+            deltaY /= 40;
+        }
+
+        // Get a whole, normalized value for the deltas
+        delta  = Math[ delta  >= 1 ? 'floor' : 'ceil' ](delta  / lowestDelta);
+        deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
+        deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
+
+        // Normalise offsetX and offsetY properties
+        if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
+            var boundingRect = this.getBoundingClientRect();
+            offsetX = event.clientX - boundingRect.left;
+            offsetY = event.clientY - boundingRect.top;
+        }
+
+        // Add information to the event object
+        event.deltaX = deltaX;
+        event.deltaY = deltaY;
+        event.deltaFactor = lowestDelta;
+        event.offsetX = offsetX;
+        event.offsetY = offsetY;
+        // Go ahead and set deltaMode to 0 since we converted to pixels
+        // Although this is a little odd since we overwrite the deltaX/Y
+        // properties with normalized deltas.
+        event.deltaMode = 0;
+
+        // Add event and delta to the front of the arguments
+        args.unshift(event, delta, deltaX, deltaY);
+
+        // Clearout lowestDelta after sometime to better
+        // handle multiple device types that give different
+        // a different lowestDelta
+        // Ex: trackpad = 3 and mouse wheel = 120
+        if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
+        nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
+
+        return ($.event.dispatch || $.event.handle).apply(this, args);
+    }
+
+    function nullLowestDelta() {
+        lowestDelta = null;
+    }
+
+    function shouldAdjustOldDeltas(orgEvent, absDelta) {
+        // If this is an older event and the delta is divisable by 120,
+        // then we are assuming that the browser is treating this as an
+        // older mouse wheel event and that we should divide the deltas
+        // by 40 to try and get a more usable deltaFactor.
+        // Side note, this actually impacts the reported scroll distance
+        // in older browsers and can cause scrolling to be slower than native.
+        // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
+        return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
+    }
+
+}));
+
+S2.define('jquery.select2',[
+  'jquery',
+  'jquery-mousewheel',
+
+  './select2/core',
+  './select2/defaults'
+], function ($, _, Select2, Defaults) {
+  if ($.fn.select2 == null) {
+    // All methods that should return the element
+    var thisMethods = ['open', 'close', 'destroy'];
+
+    $.fn.select2 = function (options) {
+      options = options || {};
+
+      if (typeof options === 'object') {
+        this.each(function () {
+          var instanceOptions = $.extend(true, {}, options);
+
+          var instance = new Select2($(this), instanceOptions);
+        });
+
+        return this;
+      } else if (typeof options === 'string') {
+        var ret;
+        var args = Array.prototype.slice.call(arguments, 1);
+
+        this.each(function () {
+          var instance = $(this).data('select2');
+
+          if (instance == null && window.console && console.error) {
+            console.error(
+              'The select2(\'' + options + '\') method was called on an ' +
+              'element that is not using Select2.'
+            );
+          }
+
+          ret = instance[options].apply(instance, args);
+        });
+
+        // Check if we should be returning `this`
+        if ($.inArray(options, thisMethods) > -1) {
+          return this;
+        }
+
+        return ret;
+      } else {
+        throw new Error('Invalid arguments for Select2: ' + options);
+      }
+    };
+  }
+
+  if ($.fn.select2.defaults == null) {
+    $.fn.select2.defaults = Defaults;
+  }
+
+  return Select2;
+});
+
+  // Return the AMD loader configuration so it can be used outside of this file
+  return {
+    define: S2.define,
+    require: S2.require
+  };
+}());
+
+  // Autoload the jQuery bindings
+  // We know that all of the modules exist above this, so we're safe
+  var select2 = S2.require('jquery.select2');
+
+  // Hold the AMD module references on the jQuery function that was just loaded
+  // This allows Select2 to use the internal loader outside of this file, such
+  // as in the language files.
+  jQuery.fn.select2.amd = S2;
+
+  // Return the Select2 instance for anyone who is importing it.
+  return select2;
+}));
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.css
index 610d8668af2619a42ab68119a981dc947fc201aa..120d36c9de0335062033b686737c8ddefdeb5c7a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.css
@@ -1 +1 @@
-.select2-container .select2-choice,.select2-results .select2-result-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.select2-container{margin:0;position:relative;display:inline-block;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-clip:padding-box;user-select:none;background-color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to top,#eee 0,#fff 50%)}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to bottom,#eee 0,#fff 90%)}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:8px;font-size:1px;text-decoration:none;border:0;background:url(select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:9999;top:100%;background:#fff;color:#000;border:1px solid #aaa;border-top:0;border-radius:0 0 4px 4px;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.select2-drop-active{border:1px solid #5897fb;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-left:1px solid #aaa;border-radius:0 4px 4px 0;background:#ccc;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(.6,#eee));background-image:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%);background-image:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);background-image:linear-gradient(to top,#ccc 0,#eee 60%)}.select2-dropdown-open .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0)}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-left:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url(select2.png) 0 1px no-repeat}html[dir=rtl] .select2-container .select2-choice .select2-arrow b{background-position:2px 1px}.select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap}.select2-search input{width:100%;height:auto!important;min-height:26px;padding:4px 20px 4px 5px;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #aaa;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:url(select2.png) 100% -22px no-repeat #fff;background:url(select2.png) 100% -22px no-repeat,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) 100% -22px no-repeat,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) 100% -22px no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) 100% -22px no-repeat,linear-gradient(to bottom,#fff 85%,#eee 99%)}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:url(select2.png) -37px -22px no-repeat #fff;background:url(select2.png) -37px -22px no-repeat,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) -37px -22px no-repeat,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) -37px -22px no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) -37px -22px no-repeat,linear-gradient(to bottom,#fff 85%,#eee 99%)}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(select2-spinner.gif) 100% no-repeat #fff;background:url(select2-spinner.gif) 100% no-repeat,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2-spinner.gif) 100% no-repeat,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) 100% no-repeat,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) 100% no-repeat,linear-gradient(to bottom,#fff 85%,#eee 99%)}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:linear-gradient(to top,#fff 0,#eee 50%)}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center top,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%)}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 4px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;user-select:none}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#3875d7;color:#fff}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-ajax-error,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(top,#eee 1%,#fff 15%);background-image:-moz-linear-gradient(top,#eee 1%,#fff 15%);background-image:linear-gradient(to bottom,#eee 1%,#fff 15%);min-height:26px}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:3px 0 3px 5px;position:relative;line-height:13px;color:#333;cursor:default;border:1px solid #aaa;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(to bottom,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%)}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:0;background:url(select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:3px}.select2-container-multi .select2-search-choice-close{left:3px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:2px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-container .select2-choice .select2-arrow b,.select2-container .select2-choice abbr,.select2-search input,.select2-search-choice-close{background-image:url(select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.select2-search input{background-position:100% -21px!important}}
\ No newline at end of file
+.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..2e599d5cfab291dfbba27db55df2dde33167be40
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.min.js
@@ -0,0 +1,3 @@
+!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,n){return void 0===n&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(n),n}:e(jQuery)}(function(e){var t=function(){if(e&&e.fn&&e.fn.select2&&e.fn.select2.amd)var t=e.fn.select2.amd;var t;return function(){if(!t||!t.requirejs){t?n=t:t={};var e,n,i;!function(t){function o(e,t){return $.call(e,t)}function r(e,t){var n,i,o,r,s,a,l,c,u,d,p,h,f=t&&t.split("/"),g=w.map,m=g&&g["*"]||{};if(e){for(e=e.split("/"),s=e.length-1,w.nodeIdCompat&&x.test(e[s])&&(e[s]=e[s].replace(x,"")),"."===e[0].charAt(0)&&f&&(h=f.slice(0,f.length-1),e=h.concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;u>0&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((f||m)&&g){for(n=e.split("/"),u=n.length;u>0;u-=1){if(i=n.slice(0,u).join("/"),f)for(d=f.length;d>0;d-=1)if((o=g[f.slice(0,d).join("/")])&&(o=o[i])){r=o,a=u;break}if(r)break;!l&&m&&m[i]&&(l=m[i],c=u)}!r&&l&&(r=l,a=c),r&&(n.splice(0,a,r),e=n.join("/"))}return e}function s(e,n){return function(){var i=b.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),f.apply(t,i.concat([e,n]))}}function a(e){return function(t){return r(t,e)}}function l(e){return function(t){v[e]=t}}function c(e){if(o(y,e)){var n=y[e];delete y[e],_[e]=!0,h.apply(t,n)}if(!o(v,e)&&!o(_,e))throw new Error("No "+e);return v[e]}function u(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function d(e){return e?u(e):[]}function p(e){return function(){return w&&w.config&&w.config[e]||{}}}var h,f,g,m,v={},y={},w={},_={},$=Object.prototype.hasOwnProperty,b=[].slice,x=/\.js$/;g=function(e,t){var n,i=u(e),o=i[0],s=t[1];return e=i[1],o&&(o=r(o,s),n=c(o)),o?e=n&&n.normalize?n.normalize(e,a(s)):r(e,s):(e=r(e,s),i=u(e),o=i[0],e=i[1],o&&(n=c(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},m={require:function(e){return s(e)},exports:function(e){var t=v[e];return void 0!==t?t:v[e]={}},module:function(e){return{id:e,uri:"",exports:v[e],config:p(e)}}},h=function(e,n,i,r){var a,u,p,h,f,w,$,b=[],x=typeof i;if(r=r||e,w=d(r),"undefined"===x||"function"===x){for(n=!n.length&&i.length?["require","exports","module"]:n,f=0;f<n.length;f+=1)if(h=g(n[f],w),"require"===(u=h.f))b[f]=m.require(e);else if("exports"===u)b[f]=m.exports(e),$=!0;else if("module"===u)a=b[f]=m.module(e);else if(o(v,u)||o(y,u)||o(_,u))b[f]=c(u);else{if(!h.p)throw new Error(e+" missing "+u);h.p.load(h.n,s(r,!0),l(u),{}),b[f]=v[u]}p=i?i.apply(v[e],b):void 0,e&&(a&&a.exports!==t&&a.exports!==v[e]?v[e]=a.exports:p===t&&$||(v[e]=p))}else e&&(v[e]=i)},e=n=f=function(e,n,i,o,r){if("string"==typeof e)return m[e]?m[e](n):c(g(e,d(n)).f);if(!e.splice){if(w=e,w.deps&&f(w.deps,w.callback),!n)return;n.splice?(e=n,n=i,i=null):e=t}return n=n||function(){},"function"==typeof i&&(i=o,o=r),o?h(t,e,n,i):setTimeout(function(){h(t,e,n,i)},4),f},f.config=function(e){return f(e)},e._defined=v,i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),o(v,e)||o(y,e)||(y[e]=[e,t,n])},i.amd={jQuery:!0}}(),t.requirejs=e,t.require=n,t.define=i}}(),t.define("almond",function(){}),t.define("jquery",[],function(){var t=e||$;return null==t&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),t}),t.define("select2/utils",["jquery"],function(e){function t(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&("constructor"!==i&&n.push(i))}return n}var n={};n.Extend=function(e,t){function n(){this.constructor=e}var i={}.hasOwnProperty;for(var o in t)i.call(t,o)&&(e[o]=t[o]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},n.Decorate=function(e,n){function i(){var t=Array.prototype.unshift,i=n.prototype.constructor.length,o=e.prototype.constructor;i>0&&(t.call(arguments,e.prototype.constructor),o=n.prototype.constructor),o.apply(this,arguments)}function o(){this.constructor=i}var r=t(n),s=t(e);n.displayName=e.displayName,i.prototype=new o;for(var a=0;a<s.length;a++){var l=s[a];i.prototype[l]=e.prototype[l]}for(var c=0;c<r.length;c++){var u=r[c];i.prototype[u]=function(e){var t=function(){};e in i.prototype&&(t=i.prototype[e]);var o=n.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),o.apply(this,arguments)}}(u)}return i};var i=function(){this.listeners={}};return i.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},i.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),n[0]._type=e,e in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},i.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},n.Observable=i,n.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},n.bind=function(e,t){return function(){e.apply(t,arguments)}},n._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var o=0;o<n.length;o++){var r=n[o];r=r.substring(0,1).toLowerCase()+r.substring(1),r in i||(i[r]={}),o==n.length-1&&(i[r]=e[t]),i=i[r]}delete e[t]}}return e},n.hasScroll=function(t,n){var i=e(n),o=n.style.overflowX,r=n.style.overflowY;return(o!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===o||"scroll"===r||(i.innerHeight()<n.scrollHeight||i.innerWidth()<n.scrollWidth))},n.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},n.appendMany=function(t,n){if("1.7"===e.fn.jquery.substr(0,3)){var i=e();e.map(n,function(e){i=i.add(e)}),n=i}t.append(n)},n}),t.define("select2/results",["jquery","./utils"],function(e,t){function n(e,t,i){this.$element=e,this.data=i,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},n.prototype.clear=function(){this.$results.empty()},n.prototype.displayMessage=function(t){var n=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var i=e('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),o=this.options.get("translations").get(t.message);i.append(n(o(t.args))),i[0].className+=" select2-results__message",this.$results.append(i)},n.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},n.prototype.append=function(e){this.hideLoading();var t=[];if(null==e.results||0===e.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],o=this.option(i);t.push(o)}this.$results.append(t)},n.prototype.position=function(e,t){t.find(".select2-results").append(e)},n.prototype.sort=function(e){return this.options.get("sorter")(e)},n.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");t.length>0?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},n.prototype.setClasses=function(){var t=this;this.data.current(function(n){var i=e.map(n,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var t=e(this),n=e.data(this,"data"),o=""+n.id;null!=n.element&&n.element.selected||null==n.element&&e.inArray(o,i)>-1?t.attr("aria-selected","true"):t.attr("aria-selected","false")})})},n.prototype.showLoading=function(e){this.hideLoading();var t=this.options.get("translations").get("searching"),n={disabled:!0,loading:!0,text:t(e)},i=this.option(n);i.className+=" loading-results",this.$results.prepend(i)},n.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},n.prototype.option=function(t){var n=document.createElement("li");n.className="select2-results__option";var i={role:"treeitem","aria-selected":"false"};t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true"),null==t.id&&delete i["aria-selected"],null!=t._resultId&&(n.id=t._resultId),t.title&&(n.title=t.title),t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]);for(var o in i){var r=i[o];n.setAttribute(o,r)}if(t.children){var s=e(n),a=document.createElement("strong");a.className="select2-results__group";e(a);this.template(t,a);for(var l=[],c=0;c<t.children.length;c++){var u=t.children[c],d=this.option(u);l.push(d)}var p=e("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(t,n);return e.data(n,"data",t),n},n.prototype.bind=function(t,n){var i=this,o=t.id+"-results";this.$results.attr("id",o),t.on("results:all",function(e){i.clear(),i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("results:append",function(e){i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("query",function(e){i.hideMessages(),i.showLoading(e)}),t.on("select",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("open",function(){i.$results.attr("aria-expanded","true"),i.$results.attr("aria-hidden","false"),i.setClasses(),i.ensureHighlightVisible()}),t.on("close",function(){i.$results.attr("aria-expanded","false"),i.$results.attr("aria-hidden","true"),i.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=i.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=i.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e);if(0!==n){var o=n-1;0===e.length&&(o=0);var r=t.eq(o);r.trigger("mouseenter");var s=i.$results.offset().top,a=r.offset().top,l=i.$results.scrollTop()+(a-s);0===o?i.$results.scrollTop(0):a-s<0&&i.$results.scrollTop(l)}}),t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e),o=n+1;if(!(o>=t.length)){var r=t.eq(o);r.trigger("mouseenter");var s=i.$results.offset().top+i.$results.outerHeight(!1),a=r.offset().top+r.outerHeight(!1),l=i.$results.scrollTop()+a-s;0===o?i.$results.scrollTop(0):a>s&&i.$results.scrollTop(l)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){i.displayMessage(e)}),e.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=i.$results.scrollTop(),n=i.$results.get(0).scrollHeight-t+e.deltaY,o=e.deltaY>0&&t-e.deltaY<=0,r=e.deltaY<0&&n<=i.$results.height();o?(i.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(t){var n=e(this),o=n.data("data");if("true"===n.attr("aria-selected"))return void(i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:o}):i.trigger("close",{}));i.trigger("select",{originalEvent:t,data:o})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(t){var n=e(this).data("data");i.getHighlightedResults().removeClass("select2-results__option--highlighted"),i.trigger("results:focus",{data:n,element:e(this)})})},n.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},n.prototype.destroy=function(){this.$results.remove()},n.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]"),n=t.index(e),i=this.$results.offset().top,o=e.offset().top,r=this.$results.scrollTop()+(o-i),s=o-i;r-=2*e.outerHeight(!1),n<=2?this.$results.scrollTop(0):(s>this.$results.outerHeight()||s<0)&&this.$results.scrollTop(r)}},n.prototype.template=function(t,n){var i=this.options.get("templateResult"),o=this.options.get("escapeMarkup"),r=i(t,n);null==r?n.style.display="none":"string"==typeof r?n.innerHTML=o(r):e(n).append(r)},n}),t.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),t.define("select2/selection/base",["jquery","../utils","../keys"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=e('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},i.prototype.bind=function(e,t){var i=this,o=(e.id,e.id+"-results");this.container=e,this.$selection.on("focus",function(e){i.trigger("focus",e)}),this.$selection.on("blur",function(e){i._handleBlur(e)}),this.$selection.on("keydown",function(e){i.trigger("keypress",e),e.which===n.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){i.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){i.update(e.data)}),e.on("open",function(){i.$selection.attr("aria-expanded","true"),i.$selection.attr("aria-owns",o),i._attachCloseHandler(e)}),e.on("close",function(){i.$selection.attr("aria-expanded","false"),i.$selection.removeAttr("aria-activedescendant"),i.$selection.removeAttr("aria-owns"),i.$selection.focus(),i._detachCloseHandler(e)}),e.on("enable",function(){i.$selection.attr("tabindex",i._tabindex)}),e.on("disable",function(){i.$selection.attr("tabindex","-1")})},i.prototype._handleBlur=function(t){var n=this;window.setTimeout(function(){document.activeElement==n.$selection[0]||e.contains(n.$selection[0],document.activeElement)||n.trigger("blur",t)},1)},i.prototype._attachCloseHandler=function(t){e(document.body).on("mousedown.select2."+t.id,function(t){var n=e(t.target),i=n.closest(".select2");e(".select2.select2-container--open").each(function(){var t=e(this);this!=i[0]&&t.data("element").select2("close")})})},i.prototype._detachCloseHandler=function(t){e(document.body).off("mousedown.select2."+t.id)},i.prototype.position=function(e,t){t.find(".selection").append(e)},i.prototype.destroy=function(){this._detachCloseHandler(this.container)},i.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},i}),t.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function o(){o.__super__.constructor.apply(this,arguments)}return n.Extend(o,t),o.prototype.render=function(){var e=o.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},o.prototype.bind=function(e,t){var n=this;o.__super__.bind.apply(this,arguments);var i=e.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),e.on("focus",function(t){e.isOpen()||n.$selection.focus()}),e.on("selection:update",function(e){n.update(e.data)})},o.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},o.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},o.prototype.selectionContainer=function(){return e("<span></span>")},o.prototype.update=function(e){if(0===e.length)return void this.clear();var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i),n.prop("title",t.title||t.text)},o}),t.define("select2/selection/multiple",["jquery","./base","../utils"],function(e,t,n){function i(e,t){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},i.prototype.bind=function(t,n){var o=this;i.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){o.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(t){if(!o.options.get("disabled")){var n=e(this),i=n.parent(),r=i.data("data");o.trigger("unselect",{originalEvent:t,data:r})}})},i.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},i.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],i=0;i<e.length;i++){var o=e[i],r=this.selectionContainer(),s=this.display(o,r);r.append(s),r.prop("title",o.title||o.text),r.data("data",o),t.push(r)}var a=this.$selection.find(".select2-selection__rendered");n.appendMany(a,t)}},i}),t.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(t.length>1||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),t.define("select2/selection/allowClear",["jquery","../keys"],function(e,t){function n(){}return n.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},n.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),o=0;o<i.length;o++){var r={data:i[o]};if(this.trigger("unselect",r),r.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},n.prototype._handleKeyboardClear=function(e,n,i){i.isOpen()||n.which!=t.DELETE&&n.which!=t.BACKSPACE||this._handleClear(n)},n.prototype.update=function(t,n){if(t.call(this,n),!(this.$selection.find(".select2-selection__placeholder").length>0||0===n.length)){var i=e('<span class="select2-selection__clear">&times;</span>');i.data("data",n),this.$selection.find(".select2-selection__rendered").prepend(i)}},n}),t.define("select2/selection/search",["jquery","../utils","../keys"],function(e,t,n){function i(e,t,n){e.call(this,t,n)}return i.prototype.render=function(t){var n=e('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=n,this.$search=n.find("input");var i=t.call(this);return this._transferTabIndex(),i},i.prototype.bind=function(e,t,i){var o=this;e.call(this,t,i),t.on("open",function(){o.$search.trigger("focus")}),t.on("close",function(){o.$search.val(""),o.$search.removeAttr("aria-activedescendant"),o.$search.trigger("focus")}),t.on("enable",function(){o.$search.prop("disabled",!1),o._transferTabIndex()}),t.on("disable",function(){o.$search.prop("disabled",!0)}),t.on("focus",function(e){o.$search.trigger("focus")}),t.on("results:focus",function(e){o.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".select2-search--inline",function(e){o.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){o._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),o.trigger("keypress",e),o._keyUpPrevented=e.isDefaultPrevented(),e.which===n.BACKSPACE&&""===o.$search.val()){var t=o.$searchContainer.prev(".select2-selection__choice");if(t.length>0){var i=t.data("data");o.searchRemoveChoice(i),e.preventDefault()}}});var r=document.documentMode,s=r&&r<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){if(s)return void o.$selection.off("input.search input.searchcheck");o.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)return void o.$selection.off("input.search input.searchcheck");var t=e.which;t!=n.SHIFT&&t!=n.CTRL&&t!=n.ALT&&t!=n.TAB&&o.handleSearch(e)})},i.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},i.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},i.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},i.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},i.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},i.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";if(""!==this.$search.attr("placeholder"))e=this.$selection.find(".select2-selection__rendered").innerWidth();else{e=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",e)},i}),t.define("select2/selection/eventRelay",["jquery"],function(e){function t(){}return t.prototype.bind=function(t,n,i){var o=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting"],s=["opening","closing","selecting","unselecting"];t.call(this,n,i),n.on("*",function(t,n){if(-1!==e.inArray(t,r)){n=n||{};var i=e.Event("select2:"+t,{params:n});o.$element.trigger(i),-1!==e.inArray(t,s)&&(n.prevented=i.isDefaultPrevented())}})},t}),t.define("select2/translation",["jquery","require"],function(e,t){function n(e){this.dict=e||{}}return n.prototype.all=function(){return this.dict},n.prototype.get=function(e){return this.dict[e]},n.prototype.extend=function(t){this.dict=e.extend({},t.all(),this.dict)},n._cache={},n.loadPath=function(e){if(!(e in n._cache)){var i=t(e);n._cache[e]=i}return new n(n._cache[e])},n}),t.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),t.define("select2/data/base",["../utils"],function(e){function t(e,n){t.__super__.constructor.call(this)}return e.Extend(t,e.Observable),t.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},t.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},t.prototype.bind=function(e,t){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,n){var i=t.id+"-result-";return i+=e.generateChars(4),null!=n.id?i+="-"+n.id.toString():i+="-"+e.generateChars(4),i},t}),t.define("select2/data/select",["./base","../utils","jquery"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,e),i.prototype.current=function(e){var t=[],i=this;this.$element.find(":selected").each(function(){var e=n(this),o=i.item(e);t.push(o)}),e(t)},i.prototype.select=function(e){var t=this;if(e.selected=!0,n(e.element).is("option"))return e.element.selected=!0,
+void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(i){var o=[];e=[e],e.push.apply(e,i);for(var r=0;r<e.length;r++){var s=e[r].id;-1===n.inArray(s,o)&&o.push(s)}t.$element.val(o),t.$element.trigger("change")});else{var i=e.id;this.$element.val(i),this.$element.trigger("change")}},i.prototype.unselect=function(e){var t=this;if(this.$element.prop("multiple")){if(e.selected=!1,n(e.element).is("option"))return e.element.selected=!1,void this.$element.trigger("change");this.current(function(i){for(var o=[],r=0;r<i.length;r++){var s=i[r].id;s!==e.id&&-1===n.inArray(s,o)&&o.push(s)}t.$element.val(o),t.$element.trigger("change")})}},i.prototype.bind=function(e,t){var n=this;this.container=e,e.on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},i.prototype.destroy=function(){this.$element.find("*").each(function(){n.removeData(this,"data")})},i.prototype.query=function(e,t){var i=[],o=this;this.$element.children().each(function(){var t=n(this);if(t.is("option")||t.is("optgroup")){var r=o.item(t),s=o.matches(e,r);null!==s&&i.push(s)}}),t({results:i})},i.prototype.addOptions=function(e){t.appendMany(this.$element,e)},i.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup"),t.label=e.text):(t=document.createElement("option"),void 0!==t.textContent?t.textContent=e.text:t.innerText=e.text),void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var i=n(t),o=this._normalizeItem(e);return o.element=t,n.data(t,"data",o),i},i.prototype.item=function(e){var t={};if(null!=(t=n.data(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var i=e.children("option"),o=[],r=0;r<i.length;r++){var s=n(i[r]),a=this.item(s);o.push(a)}t.children=o}return t=this._normalizeItem(t),t.element=e[0],n.data(e[0],"data",t),t},i.prototype._normalizeItem=function(e){n.isPlainObject(e)||(e={id:e,text:e}),e=n.extend({},{text:""},e);var t={selected:!1,disabled:!1};return null!=e.id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),n.extend({},t,e)},i.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},i}),t.define("select2/data/array",["./select","../utils","jquery"],function(e,t,n){function i(e,t){var n=t.get("data")||[];i.__super__.constructor.call(this,e,t),this.addOptions(this.convertToOptions(n))}return t.Extend(i,e),i.prototype.select=function(e){var t=this.$element.find("option").filter(function(t,n){return n.value==e.id.toString()});0===t.length&&(t=this.option(e),this.addOptions(t)),i.__super__.select.call(this,e)},i.prototype.convertToOptions=function(e){for(var i=this,o=this.$element.find("option"),r=o.map(function(){return i.item(n(this)).id}).get(),s=[],a=0;a<e.length;a++){var l=this._normalizeItem(e[a]);if(n.inArray(l.id,r)>=0){var c=o.filter(function(e){return function(){return n(this).val()==e.id}}(l)),u=this.item(c),d=n.extend(!0,{},l,u),p=this.option(d);c.replaceWith(p)}else{var h=this.option(l);if(l.children){var f=this.convertToOptions(l.children);t.appendMany(h,f)}s.push(h)}}return s},i}),t.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,n){function i(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype._applyDefaults=function(e){var t={data:function(e){return n.extend({},e,{q:e.term})},transport:function(e,t,i){var o=n.ajax(e);return o.then(t),o.fail(i),o}};return n.extend({},t,e,!0)},i.prototype.processResults=function(e){return e},i.prototype.query=function(e,t){function i(){var i=r.transport(r,function(i){var r=o.processResults(i,e);o.options.get("debug")&&window.console&&console.error&&(r&&r.results&&n.isArray(r.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),t(r)},function(){i.status&&"0"===i.status||o.trigger("results:message",{message:"errorLoading"})});o._request=i}var o=this;null!=this._request&&(n.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var r=n.extend({type:"GET"},this.ajaxOptions);"function"==typeof r.url&&(r.url=r.url.call(this.$element,e)),"function"==typeof r.data&&(r.data=r.data.call(this.$element,e)),this.ajaxOptions.delay&&null!=e.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(i,this.ajaxOptions.delay)):i()},i}),t.define("select2/data/tags",["jquery"],function(e){function t(t,n,i){var o=i.get("tags"),r=i.get("createTag");void 0!==r&&(this.createTag=r);var s=i.get("insertTag");if(void 0!==s&&(this.insertTag=s),t.call(this,n,i),e.isArray(o))for(var a=0;a<o.length;a++){var l=o[a],c=this._normalizeItem(l),u=this.option(c);this.$element.append(u)}}return t.prototype.query=function(e,t,n){function i(e,r){for(var s=e.results,a=0;a<s.length;a++){var l=s[a],c=null!=l.children&&!i({results:l.children},!0);if((l.text||"").toUpperCase()===(t.term||"").toUpperCase()||c)return!r&&(e.data=s,void n(e))}if(r)return!0;var u=o.createTag(t);if(null!=u){var d=o.option(u);d.attr("data-select2-tag",!0),o.addOptions([d]),o.insertTag(s,u)}e.results=s,n(e)}var o=this;if(this._removeOldTags(),null==t.term||null!=t.page)return void e.call(this,t,n);e.call(this,t,i)},t.prototype.createTag=function(t,n){var i=e.trim(n.term);return""===i?null:{id:i,text:i}},t.prototype.insertTag=function(e,t,n){t.unshift(n)},t.prototype._removeOldTags=function(t){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||e(this).remove()})},t}),t.define("select2/data/tokenizer",["jquery"],function(e){function t(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return t.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},t.prototype.query=function(t,n,i){function o(t){var n=s._normalizeItem(t);if(!s.$element.find("option").filter(function(){return e(this).val()===n.id}).length){var i=s.option(n);i.attr("data-select2-tag",!0),s._removeOldTags(),s.addOptions([i])}r(n)}function r(e){s.trigger("select",{data:e})}var s=this;n.term=n.term||"";var a=this.tokenizer(n,this.options,o);a.term!==n.term&&(this.$search.length&&(this.$search.val(a.term),this.$search.focus()),n.term=a.term),t.call(this,n,i)},t.prototype.tokenizer=function(t,n,i,o){for(var r=i.get("tokenSeparators")||[],s=n.term,a=0,l=this.createTag||function(e){return{id:e.term,text:e.term}};a<s.length;){var c=s[a];if(-1!==e.inArray(c,r)){var u=s.substr(0,a),d=e.extend({},n,{term:u}),p=l(d);null!=p?(o(p),s=s.substr(a+1)||"",a=0):a++}else a++}return{term:s}},t}),t.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){if(t.term=t.term||"",t.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}});e.call(this,t,n)},e}),t.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){if(t.term=t.term||"",this.maximumInputLength>0&&t.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}});e.call(this,t,n)},e}),t.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){var i=this;this.current(function(o){var r=null!=o?o.length:0;if(i.maximumSelectionLength>0&&r>=i.maximumSelectionLength)return void i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}});e.call(i,t,n)})},e}),t.define("select2/dropdown",["jquery","./utils"],function(e,t){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('<span class="select2-dropdown"><span class="select2-results"></span></span>');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),t.define("select2/dropdown/search",["jquery","../utils"],function(e,t){function n(){}return n.prototype.render=function(t){var n=t.call(this),i=e('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=i,this.$search=i.find("input"),n.prepend(i),n},n.prototype.bind=function(t,n,i){var o=this;t.call(this,n,i),this.$search.on("keydown",function(e){o.trigger("keypress",e),o._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(t){e(this).off("keyup")}),this.$search.on("keyup input",function(e){o.handleSearch(e)}),n.on("open",function(){o.$search.attr("tabindex",0),o.$search.focus(),window.setTimeout(function(){o.$search.focus()},0)}),n.on("close",function(){o.$search.attr("tabindex",-1),o.$search.val("")}),n.on("focus",function(){n.isOpen()||o.$search.focus()}),n.on("results:all",function(e){if(null==e.query.term||""===e.query.term){o.showSearch(e)?o.$searchContainer.removeClass("select2-search--hide"):o.$searchContainer.addClass("select2-search--hide")}})},n.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},n.prototype.showSearch=function(e,t){return!0},n}),t.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;i>=0;i--){var o=t[i];this.placeholder.id===o.id&&n.splice(i,1)}return n},e}),t.define("select2/dropdown/infiniteScroll",["jquery"],function(e){function t(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return t.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,n,i){var o=this;t.call(this,n,i),n.on("query",function(e){o.lastParams=e,o.loading=!0}),n.on("query:append",function(e){o.lastParams=e,o.loading=!0}),this.$results.on("scroll",function(){var t=e.contains(document.documentElement,o.$loadingMore[0]);if(!o.loading&&t){o.$results.offset().top+o.$results.outerHeight(!1)+50>=o.$loadingMore.offset().top+o.$loadingMore.outerHeight(!1)&&o.loadMore()}})},t.prototype.loadMore=function(){this.loading=!0;var t=e.extend({},{page:1},this.lastParams);t.page++,this.trigger("query:append",t)},t.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=e('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),n=this.options.get("translations").get("loadingMore");return t.html(n(this.lastParams)),t},t}),t.define("select2/dropdown/attachBody",["jquery","../utils"],function(e,t){function n(t,n,i){this.$dropdownParent=i.get("dropdownParent")||e(document.body),t.call(this,n,i)}return n.prototype.bind=function(e,t,n){var i=this,o=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),o||(o=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},n.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},n.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},n.prototype.render=function(t){var n=e("<span></span>"),i=t.call(this);return n.append(i),this.$dropdownContainer=n,n},n.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},n.prototype._attachPositioningHandler=function(n,i){var o=this,r="scroll.select2."+i.id,s="resize.select2."+i.id,a="orientationchange.select2."+i.id,l=this.$container.parents().filter(t.hasScroll);l.each(function(){e(this).data("select2-scroll-position",{x:e(this).scrollLeft(),y:e(this).scrollTop()})}),l.on(r,function(t){var n=e(this).data("select2-scroll-position");e(this).find(".select2-container--open").size()>0&&e(this).scrollTop(n.y)}),e(window).on(r+" "+s+" "+a,function(e){o._positionDropdown(),o._resizeDropdown()})},n.prototype._detachPositioningHandler=function(n,i){var o="scroll.select2."+i.id,r="resize.select2."+i.id,s="orientationchange.select2."+i.id;this.$container.parents().filter(t.hasScroll).off(o),e(window).off(o+" "+r+" "+s)},n.prototype._positionDropdown=function(){var t=e(window),n=this.$dropdown.hasClass("select2-dropdown--above"),i=this.$dropdown.hasClass("select2-dropdown--below"),o=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var s={height:this.$container.outerHeight(!1)};s.top=r.top,s.bottom=r.top+s.height;var a={height:this.$dropdown.outerHeight(!1)},l={top:t.scrollTop(),bottom:t.scrollTop()+t.height()},c=l.top<r.top-a.height,u=l.bottom>r.bottom+a.height,d={left:r.left,top:s.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h=p.offset();d.top-=h.top,d.left-=h.left,n||i||(o="below"),u||!c||n?!c&&u&&n&&(o="below"):o="above",("above"==o||n&&"below"!==o)&&(d.top=s.top-h.top-a.height),null!=o&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+o),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+o)),this.$dropdownContainer.css(d)},n.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},n.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},n}),t.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(t){for(var n=0,i=0;i<t.length;i++){var o=t[i];o.children?n+=e(o.children):n++}return n}function t(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return t.prototype.showSearch=function(t,n){return!(e(n.data.results)<this.minimumResultsForSearch)&&t.call(this,n)},t}),t.define("select2/dropdown/selectOnClose",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var o=i.data("data");null!=o.element&&o.element.selected||null==o.element&&o.selected||this.trigger("select",{data:o})}},e}),t.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&n.ctrlKey||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),t.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),t.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(e,t,n,i,o,r,s,a,l,c,u,d,p,h,f,g,m,v,y,w,_,$,b,x,A,C,S,O,E){function D(){this.reset()}return D.prototype.apply=function(d){if(d=e.extend(!0,{},this.defaults,d),null==d.dataAdapter){if(null!=d.ajax?d.dataAdapter=f:null!=d.data?d.dataAdapter=h:d.dataAdapter=p,d.minimumInputLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,v)),d.maximumInputLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,y)),d.maximumSelectionLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,w)),d.tags&&(d.dataAdapter=c.Decorate(d.dataAdapter,g)),null==d.tokenSeparators&&null==d.tokenizer||(d.dataAdapter=c.Decorate(d.dataAdapter,m)),null!=d.query){var E=t(d.amdBase+"compat/query");d.dataAdapter=c.Decorate(d.dataAdapter,E)}if(null!=d.initSelection){var D=t(d.amdBase+"compat/initSelection");d.dataAdapter=c.Decorate(d.dataAdapter,D)}}if(null==d.resultsAdapter&&(d.resultsAdapter=n,null!=d.ajax&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,x)),null!=d.placeholder&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,b)),d.selectOnClose&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,S))),null==d.dropdownAdapter){if(d.multiple)d.dropdownAdapter=_;else{var T=c.Decorate(_,$);d.dropdownAdapter=T}if(0!==d.minimumResultsForSearch&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,C)),d.closeOnSelect&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,O)),null!=d.dropdownCssClass||null!=d.dropdownCss||null!=d.adaptDropdownCssClass){var q=t(d.amdBase+"compat/dropdownCss");d.dropdownAdapter=c.Decorate(d.dropdownAdapter,q)}d.dropdownAdapter=c.Decorate(d.dropdownAdapter,A)}if(null==d.selectionAdapter){if(d.multiple?d.selectionAdapter=o:d.selectionAdapter=i,null!=d.placeholder&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,r)),d.allowClear&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,s)),d.multiple&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,a)),null!=d.containerCssClass||null!=d.containerCss||null!=d.adaptContainerCssClass){var j=t(d.amdBase+"compat/containerCss");d.selectionAdapter=c.Decorate(d.selectionAdapter,j)}d.selectionAdapter=c.Decorate(d.selectionAdapter,l)}if("string"==typeof d.language)if(d.language.indexOf("-")>0){var L=d.language.split("-"),k=L[0];d.language=[d.language,k]}else d.language=[d.language];if(e.isArray(d.language)){var P=new u;d.language.push("en");for(var I=d.language,M=0;M<I.length;M++){var R=I[M],z={};try{z=u.loadPath(R)}catch(e){try{R=this.defaults.amdLanguageBase+R,z=u.loadPath(R)}catch(e){d.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+R+'" could not be automatically loaded. A fallback will be used instead.');continue}}P.extend(z)}d.translations=P}else{var H=u.loadPath(this.defaults.amdLanguageBase+"en"),U=new u(d.language);U.extend(H),d.translations=U}return d},D.prototype.reset=function(){function t(e){function t(e){return d[e]||e}return e.replace(/[^\u0000-\u007E]/g,t)}function n(i,o){if(""===e.trim(i.term))return o;if(o.children&&o.children.length>0){for(var r=e.extend(!0,{},o),s=o.children.length-1;s>=0;s--){null==n(i,o.children[s])&&r.children.splice(s,1)}return r.children.length>0?r:n(i,r)}var a=t(o.text).toUpperCase(),l=t(i.term).toUpperCase();return a.indexOf(l)>-1?o:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:c.escapeMarkup,language:E,matcher:n,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},D.prototype.set=function(t,n){var i=e.camelCase(t),o={};o[i]=n;var r=c._convertData(o);e.extend(this.defaults,r)},new D}),t.define("select2/options",["require","jquery","./defaults","./utils"],function(e,t,n,i){function o(t,o){if(this.options=t,null!=o&&this.fromElement(o),this.options=n.apply(this.options),o&&o.is("input")){var r=e(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=i.Decorate(this.options.dataAdapter,r)}}return o.prototype.fromElement=function(e){var n=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("select2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var o={};o=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&e[0].dataset?t.extend(!0,{},e[0].dataset,e.data()):e.data();var r=t.extend(!0,{},o);r=i._convertData(r);for(var s in r)t.inArray(s,n)>-1||(t.isPlainObject(this.options[s])?t.extend(this.options[s],r[s]):this.options[s]=r[s]);return this},o.prototype.get=function(e){return this.options[e]},o.prototype.set=function(e,t){this.options[e]=t},o}),t.define("select2/core",["jquery","./options","./utils","./keys"],function(e,t,n,i){var o=function(e,n){null!=e.data("select2")&&e.data("select2").destroy(),this.$element=e,this.id=this._generateId(e),n=n||{},this.options=new t(n,e),o.__super__.constructor.call(this);var i=e.attr("tabindex")||0;e.data("old-tabindex",i),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var s=this.render();this._placeContainer(s);var a=this.options.get("selectionAdapter");this.selection=new a(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,s);var l=this.options.get("dropdownAdapter");this.dropdown=new l(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,s);var c=this.options.get("resultsAdapter");this.results=new c(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var u=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){u.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("select2",this)};return n.Extend(o,n.Observable),o.prototype._generateId=function(e){var t="";return t=null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4),t=t.replace(/(:|\.|\[|\]|,)/g,""),t="select2-"+t},o.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},o.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var o=e.outerWidth(!1);return o<=0?"auto":o+"px"}if("style"==t){var r=e.attr("style");if("string"!=typeof r)return null;for(var s=r.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,""),u=c.match(n);if(null!==u&&u.length>=1)return u[1]}return null}return t},o.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},o.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=n.bind(this._syncAttributes,this),this._syncS=n.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=i?(this._observer=new i(function(n){e.each(n,t._syncA),e.each(n,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},o.prototype._registerDataEvents=function(){var e=this;this.dataAdapter.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerSelectionEvents=function(){var t=this,n=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()}),this.selection.on("focus",function(e){t.focus(e)}),this.selection.on("*",function(i,o){-1===e.inArray(i,n)&&t.trigger(i,o)})},o.prototype._registerDropdownEvents=function(){var e=this;this.dropdown.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerResultsEvents=function(){var e=this;this.results.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerEvents=function(){var e=this;this.on("open",function(){e.$container.addClass("select2-container--open")}),this.on("close",function(){e.$container.removeClass("select2-container--open")}),this.on("enable",function(){e.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){e.$container.addClass("select2-container--disabled")}),this.on("blur",function(){e.$container.removeClass("select2-container--focus")}),this.on("query",function(t){e.isOpen()||e.trigger("open",{}),this.dataAdapter.query(t,function(n){e.trigger("results:all",{data:n,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(n){e.trigger("results:append",{data:n,query:t})})}),this.on("keypress",function(t){var n=t.which;e.isOpen()?n===i.ESC||n===i.TAB||n===i.UP&&t.altKey?(e.close(),t.preventDefault()):n===i.ENTER?(e.trigger("results:select",{}),t.preventDefault()):n===i.SPACE&&t.ctrlKey?(e.trigger("results:toggle",{}),t.preventDefault()):n===i.UP?(e.trigger("results:previous",{}),t.preventDefault()):n===i.DOWN&&(e.trigger("results:next",{}),t.preventDefault()):(n===i.ENTER||n===i.SPACE||n===i.DOWN&&t.altKey)&&(e.open(),t.preventDefault())})},o.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},o.prototype._syncSubtree=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&t.addedNodes.length>0)for(var o=0;o<t.addedNodes.length;o++){var r=t.addedNodes[o];r.selected&&(n=!0)}else t.removedNodes&&t.removedNodes.length>0&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})}},o.prototype.trigger=function(e,t){var n=o.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===t&&(t={}),e in i){var r=i[e],s={prevented:!1,name:e,args:t};if(n.call(this,r,s),s.prevented)return void(t.prevented=!0)}n.call(this,e,t)},o.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},o.prototype.open=function(){this.isOpen()||this.trigger("query",{})},o.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},o.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},o.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},o.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},o.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},o.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var e=[];return this.dataAdapter.current(function(t){e=t}),e},o.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var n=t[0];e.isArray(n)&&(n=e.map(n,function(e){return e.toString()})),this.$element.val(n).trigger("change")},o.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,
+this.selection=null,this.dropdown=null,this.results=null},o.prototype.render=function(){var t=e('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("select2-container--"+this.options.get("theme")),t.data("element",this.$element),t},o}),t.define("select2/compat/utils",["jquery"],function(e){function t(t,n,i){var o,r,s=[];o=e.trim(t.attr("class")),o&&(o=""+o,e(o.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&s.push(this)})),o=e.trim(n.attr("class")),o&&(o=""+o,e(o.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(r=i(this))&&s.push(r)})),t.attr("class",s.join(" "))}return{syncCssClasses:t}}),t.define("select2/compat/containerCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var o=i.call(this),r=this.options.get("containerCssClass")||"";e.isFunction(r)&&(r=r(this.$element));var s=this.options.get("adaptContainerCssClass");if(s=s||n,-1!==r.indexOf(":all:")){r=r.replace(":all:","");var a=s;s=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("containerCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(o,this.$element,s),o.css(l),o.addClass(r),o},i}),t.define("select2/compat/dropdownCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var o=i.call(this),r=this.options.get("dropdownCssClass")||"";e.isFunction(r)&&(r=r(this.$element));var s=this.options.get("adaptDropdownCssClass");if(s=s||n,-1!==r.indexOf(":all:")){r=r.replace(":all:","");var a=s;s=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("dropdownCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(o,this.$element,s),o.css(l),o.addClass(r),o},i}),t.define("select2/compat/initSelection",["jquery"],function(e){function t(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return t.prototype.current=function(t,n){var i=this;if(this._isInitialized)return void t.call(this,n);this.initSelection.call(null,this.$element,function(t){i._isInitialized=!0,e.isArray(t)||(t=[t]),n(t)})},t}),t.define("select2/compat/inputData",["jquery"],function(e){function t(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return t.prototype.current=function(t,n){function i(t,n){var o=[];return t.selected||-1!==e.inArray(t.id,n)?(t.selected=!0,o.push(t)):t.selected=!1,t.children&&o.push.apply(o,i(t.children,n)),o}for(var o=[],r=0;r<this._currentData.length;r++){var s=this._currentData[r];o.push.apply(o,i(s,this.$element.val().split(this._valueSeparator)))}n(o)},t.prototype.select=function(t,n){if(this.options.get("multiple")){var i=this.$element.val();i+=this._valueSeparator+n.id,this.$element.val(i),this.$element.trigger("change")}else this.current(function(t){e.map(t,function(e){e.selected=!1})}),this.$element.val(n.id),this.$element.trigger("change")},t.prototype.unselect=function(e,t){var n=this;t.selected=!1,this.current(function(e){for(var i=[],o=0;o<e.length;o++){var r=e[o];t.id!=r.id&&i.push(r.id)}n.$element.val(i.join(n._valueSeparator)),n.$element.trigger("change")})},t.prototype.query=function(e,t,n){for(var i=[],o=0;o<this._currentData.length;o++){var r=this._currentData[o],s=this.matches(t,r);null!==s&&i.push(s)}n({results:i})},t.prototype.addOptions=function(t,n){var i=e.map(n,function(t){return e.data(t[0],"data")});this._currentData.push.apply(this._currentData,i)},t}),t.define("select2/compat/matcher",["jquery"],function(e){function t(t){function n(n,i){var o=e.extend(!0,{},i);if(null==n.term||""===e.trim(n.term))return o;if(i.children){for(var r=i.children.length-1;r>=0;r--){var s=i.children[r];t(n.term,s.text,s)||o.children.splice(r,1)}if(o.children.length>0)return o}return t(n.term,i.text,i)?o:null}return n}return t}),t.define("select2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),t.define("select2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("select2-dropdown--below"),n.addClass("select2-container--below")},e}),t.define("select2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);var i=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(i.join(" "),function(e){e.stopPropagation()})},e}),t.define("select2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);var i=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(i.join(" "),function(e){e.stopPropagation()})},e}),function(n){"function"==typeof t.define&&t.define.amd?t.define("jquery-mousewheel",["jquery"],n):"object"==typeof exports?module.exports=n:n(e)}(function(e){function t(t){var s=t||window.event,a=l.call(arguments,1),c=0,d=0,p=0,h=0,f=0,g=0;if(t=e.event.fix(s),t.type="mousewheel","detail"in s&&(p=-1*s.detail),"wheelDelta"in s&&(p=s.wheelDelta),"wheelDeltaY"in s&&(p=s.wheelDeltaY),"wheelDeltaX"in s&&(d=-1*s.wheelDeltaX),"axis"in s&&s.axis===s.HORIZONTAL_AXIS&&(d=-1*p,p=0),c=0===p?d:p,"deltaY"in s&&(p=-1*s.deltaY,c=p),"deltaX"in s&&(d=s.deltaX,0===p&&(c=-1*d)),0!==p||0!==d){if(1===s.deltaMode){var m=e.data(this,"mousewheel-line-height");c*=m,p*=m,d*=m}else if(2===s.deltaMode){var v=e.data(this,"mousewheel-page-height");c*=v,p*=v,d*=v}if(h=Math.max(Math.abs(p),Math.abs(d)),(!r||h<r)&&(r=h,i(s,h)&&(r/=40)),i(s,h)&&(c/=40,d/=40,p/=40),c=Math[c>=1?"floor":"ceil"](c/r),d=Math[d>=1?"floor":"ceil"](d/r),p=Math[p>=1?"floor":"ceil"](p/r),u.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();f=t.clientX-y.left,g=t.clientY-y.top}return t.deltaX=d,t.deltaY=p,t.deltaFactor=r,t.offsetX=f,t.offsetY=g,t.deltaMode=0,a.unshift(t,c,d,p),o&&clearTimeout(o),o=setTimeout(n,200),(e.event.dispatch||e.event.handle).apply(this,a)}}function n(){r=null}function i(e,t){return u.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}var o,r,s=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],a="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],l=Array.prototype.slice;if(e.event.fixHooks)for(var c=s.length;c;)e.event.fixHooks[s[--c]]=e.event.mouseHooks;var u=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var n=a.length;n;)this.addEventListener(a[--n],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",u.getLineHeight(this)),e.data(this,"mousewheel-page-height",u.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var n=a.length;n;)this.removeEventListener(a[--n],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var n=e(t),i=n["offsetParent"in e.fn?"offsetParent":"parent"]();return i.length||(i=e("body")),parseInt(i.css("fontSize"),10)||parseInt(n.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}),t.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(e,t,n,i){if(null==e.fn.select2){var o=["open","close","destroy"];e.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var i=e.extend(!0,{},t);new n(e(this),i)}),this;if("string"==typeof t){var i,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var n=e(this).data("select2");null==n&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),i=n[t].apply(n,r)}),e.inArray(t,o)>-1?this:i}throw new Error("Invalid arguments for Select2: "+t)}}return null==e.fn.select2.defaults&&(e.fn.select2.defaults=i),n}),{define:t.define,require:t.require}}(),n=t.require("jquery.select2");return e.fn.select2.amd=t,n});
\ 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 fdfcd00987d6f065b647e4747ef5aba10b19b382..4b65b6fa8f3b00af9beb2aabf3975f366e1cf382 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
@@ -8,34 +8,48 @@
 }
 
 /* bootstrap styles */
-.tourist-popover{
+.tourist-popover {
   padding: 0;
 }
-.tourist-popover .popover-content{
+.tourist-popover .popover-content {
   padding: 10px 0 0 0;
   min-width: 200px;
 }
-.tourist-popover .popover-content p{
+.tourist-popover .popover-content p {
   margin: 0 8px 10px 8px;
 }
-.tourist-popover .popover-content .action-label{
+.tourist-popover .popover-content .action-label {
   background: rgba(0, 111, 255, 0.168627);
   font-size: 14px;
   padding: 3px 10px;
 }
-.tourist-popover .popover-content .tour-counter{
+.tourist-popover .popover-content .tour-counter {
   margin: 0; padding: 0;
   position: absolute;
-  left: 10px; bottom: 14px;
+  left: 20px; 
+  bottom: 23px;
   font-size: 11px;
   color: #acacac;
+  color: #fff;
 }
-.tourist-popover .tour-buttons{
-  padding: 8px 10px;
+.tourist-popover .tour-buttons {
   min-height: 28px;
   background: #f5f5f5;
   border-radius: 0px 0px 6px 6px;
   box-sizing: content-box;
+  background: #2a343d;
+  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;
+}
+.tourist-popover .button-primary:hover {
+    background-color: #A9C524;
 }
 .tourist-popover .btn-close{
   background: none;
@@ -48,6 +62,10 @@
 .tourist-popover .btn-close:hover{
   opacity: .5;
 }
+.tourist-popover.top > .arrow {
+    border-top-color: #2a343d;
+    overflow: hidden;
+}
 
 /* qtip2 styles */
 .qtip-tour, .qtip-tour .qtip-content{
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 590498fff5fd515c6c61d4f7dd682a2f132b5f4b..f8dfd8ded4f425fad1763dc33935e900d4592b4b 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}.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:10px;bottom:14px;font-size:11px;color:#acacac}.tourist-popover .tour-buttons{padding:8px 10px;min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box}.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}.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;-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}.tourist-popover .popover-content{padding:10px 0 0 0;min-width:200px}.tourist-popover .popover-content p{margin:0 8px 10px 8px}.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:#acacac;color:#fff}.tourist-popover .tour-buttons{min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box;background:#2a343d;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}.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 8px}.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/field_generator/nextgen_settings_field_color.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php
index 324d37817595483a39de3d44e7109a16f75be458..aa1a719fc75a29aa7a69629894cfdedfbea097f1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php
@@ -11,6 +11,7 @@
                id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>'
                name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>'
                class='<?php print esc_attr("{$display_type_name}_{$name}"); ?> nextgen_settings_field_colorpicker'
-               value='<?php print esc_attr($value); ?>'/>
+               value='<?php print esc_attr($value); ?>'
+               autocomplete="off"/>
     </td>
 </tr>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php
index e73fb46a9ecedd0006216a1b2d7357c9c4a53ab8..dbfad6f2799b66dfd09e8e463272f8299cce99b8 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php
@@ -10,8 +10,8 @@
         <input type='text'
                id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>'
                name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>'
-               class='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>'
+               class='<?php print esc_attr("{$display_type_name}_{$name}"); ?>'
                <?php if (!empty($placeholder)) { ?>placeholder='<?php print esc_attr($placeholder); ?>'<?php } ?>
                value='<?php print esc_attr($value); ?>'/>
     </td>
-</tr>
\ No newline at end of file
+</tr>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php
index 3b5d0164724623dfa0bc68dc2251aa37202bb81b..2f0fb2e6b57c4e2c60e3ec676cd9b743eb76ea4b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php
@@ -2,4 +2,11 @@
 	<?php foreach($fields as $field): ?>
 	    <?php echo $field ?>
 	<?php endforeach ?>
+	<?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 options like image protection, social sharing, or ecommerce for this display? ', 'nggallery'); ?><a href="https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/?utm_source=ngg&utm_medium=ngguser&utm_campaign=options" target="_blank"><?php esc_html_e('Upgrade to NextGEN Pro!', 'nggallery'); ?></a>
+            </td>
+        </tr>
+    <?php } ?>
 <?php if ($wrap) { ?></table><?php } ?>
\ 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 4f718f8716cdc9aec1578e2df76df86090e9598f..20b4e92f86502b3653cec3bf4bb54dc01d0148b6 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
@@ -1,6 +1,4 @@
-<div class="wrap" id='ngg_page_content' style='position: relative; visibility: hidden;'>
-    <h2><?php esc_html_e($page_heading)?></h2>
-    <?php if ($errors): ?>
+<?php if ($errors): ?>
         <?php foreach ($errors as $msg): ?>
             <?php echo $msg ?>
         <?php endforeach ?>
@@ -9,20 +7,39 @@
         <div class='success updated'>
             <p><?php esc_html_e($success);?></p>
         </div>
-    <?php endif ?>
+<?php endif ?>
+
+<div class="wrap ngg_settings_page" id='ngg_page_content' style='position: relative; visibility: hidden;'>
+
+    <div class="ngg_page_content_header ">
+        <img src='<?php esc_html_e($logo) ?>' class='ngg_admin_icon'>
+        <h3><?php esc_html_e($page_heading)?></h3>
+        <p><?php echo $header_message; ?></p>
+    </div>
+    
     <form method="POST" action="<?php echo nextgen_esc_url($_SERVER['REQUEST_URI'])?>">
         <?php if (isset($form_header)): ?>
             <?php echo $form_header."\n"; ?>
         <?php endif ?>
         <input type="hidden" name="action"/>
-        <div class="accordion" id="nextgen_admin_accordion">
-            <?php foreach($tabs as $tab): ?>
-                <?php echo $tab ?>
-            <?php endforeach ?>
-        </div>
+         <!-- <div class="accordion" id="nextgen_admin_accordion"> -->
+            <div class="ngg_page_content_menu"">
+                <?php foreach($forms as $form): ?>
+                    <a href='javascript:void(0)' data-id='<?php esc_attr_e( $form->get_id() ) ?>'><?php esc_html_e( str_replace( array("NextGEN ", "NextGen "), "", $form->get_title())) ?></a>
+                <?php endforeach ?>
+            </div>
+            <div class="ngg_page_content_main"">
+                <?php foreach($forms as $form): ?>
+                    <div data-id='<?php esc_attr_e($form->get_id()) ?>'>
+                        <h3><?php esc_html_e( str_replace( array("NextGEN ", "NextGen "), "", $form->get_title())) ?></h3>
+                        <?php echo $form->render(TRUE); ?>
+                    </div>
+                <?php endforeach ?>
+            </div>
+        <!-- </div> -->
         <?php if ($show_save_button): ?>
             <p>
-                <button type="submit" name='action_proxy' data-proxy-value="save" value="Save" class="button-primary"><?php _e('Save', 'nggallery'); ?></button>
+                <button type="submit" name='action_proxy' data-proxy-value="save" value="Save" class="button-primary ngg_save_settings_button"><?php _e('Save Options', 'nggallery'); ?></button>
             </p>
         <?php endif ?>
     </form>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/review_notice.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/review_notice.php
index a1061db65683ea206961338ad181a0f6cffa9680..fc7c8884e16096a47b4224eef3bdf61b0570b8e7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/review_notice.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/review_notice.php
@@ -2,7 +2,7 @@
     <?php
     $review_1_anchor = 'href="https://wordpress.org/support/plugin/nextgen-gallery/reviews/?rate=5#new-post" target="_blank"';
     $user = get_userdata(get_current_user_id());
-    echo sprintf(__("Hey <strong>%s</strong>, you've created %d NextGEN galleries! Awesome! Could I ask you to give us a 5-star rating really quickly on <a %s>WordPress.org</a>? It helps other WordPress users and motivates us to keep improving. You can also just send us feedback <a %s>here</a>. Thanks! ~ Erick Danzer (founder of Imagely/NextGEN Gallery", 'nggallery'),
+    echo sprintf(__("Hey <strong>%s</strong>, you've created %d NextGEN galleries! Awesome! Could I ask you to give us a 5-star rating really quickly on <a %s>WordPress.org</a>? It helps other WordPress users and motivates us to keep improving. You can also just send us feedback <a %s>here</a>. Thanks! ~ Erick Danzer (founder of Imagely/NextGEN Gallery)", 'nggallery'),
         $user->display_name,
         $number,
         $review_1_anchor,
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 fe7c1c95f79ca2d680fe2f838dc37fcd2b48efc5..c5cb0ff013f471ffd1aa0863ef25bc93f92703be 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
@@ -25,7 +25,7 @@ class M_NextGen_Basic_Album extends C_Base_Module
             'photocrati-nextgen_basic_album',
             'NextGEN Basic Album',
             "Provides support for NextGEN's Basic Album",
-            '0.17',
+            '3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -60,7 +60,7 @@ class M_NextGen_Basic_Album extends C_Base_Module
 			'A_NextGen_Basic_Album'
 		);
 
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             // Add a controller for displaying albums on the front-end
             $this->get_registry()->add_adapter(
@@ -115,7 +115,7 @@ class M_NextGen_Basic_Album extends C_Base_Module
 
 	function _register_hooks()
 	{
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)
         && (!defined('NGG_DISABLE_LEGACY_SHORTCODES') || !NGG_DISABLE_LEGACY_SHORTCODES))
         {
             C_NextGen_Shortcode_Manager::add('album', array(&$this, 'ngglegacy_shortcode'));
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php
index 8c0f3f74b9811ffc3b56ffb22b64b6bfd651afb5..994adf28faf292052d1685153270c0a47f03a773 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php
@@ -91,7 +91,7 @@ class A_NextGen_Album_Breadcrumbs extends Mixin
                         $found[] = $album;
                         break;
                     } else {
-                        $found = $this->find_gallery_parent($gallery_id, $album->sortorder, $found);
+                        $found = $this->find_gallery_parent($gallery_id, $album->sortorder);
                         if ($found) {
                             $found[] = $album;
                             break;
@@ -433,7 +433,7 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
         if ($gallery && strpos($gallery, 'nggpage--') !== 0) {
             // basic albums only support one per post
             if (isset($GLOBALS['nggShowGallery'])) {
-                return;
+                return '';
             }
             $GLOBALS['nggShowGallery'] = TRUE;
             // Try finding the gallery by slug first. If nothing is found, we assume that
@@ -525,7 +525,7 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
                         $template = 'extended';
                         break;
                 }
-                return $this->object->render_view("photocrati-nextgen_basic_album#{$template}", $params, $return);
+                return $this->object->render_partial("photocrati-nextgen_basic_album#{$template}", $params, $return);
             }
         } else {
             return $this->object->render_partial('photocrati-nextgen_gallery_display#no_images_found', array(), $return);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/breadcrumbs.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/breadcrumbs.min.css
index f4cf50063fef4e498619c8fb34d066a43a235379..a09fc20673dc3448703958e616708c35543cc28d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/breadcrumbs.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/breadcrumbs.min.css
@@ -1 +1 @@
-.ngg-breadcrumbs{list-style:none;overflow:hidden;margin:0;padding:.5em 0}ul.ngg-breadcrumbs>li{float:left;padding:0 .3em 0 .15em;margin:0;vertical-align:middle;border:none;list-style-type:none}.ngg-breadcrumbs .ngg-breadcrumb-divisor{margin:0;padding:0 0 0 .15em}
\ No newline at end of file
+.ngg-breadcrumbs{list-style:none;overflow:hidden;margin:0;padding:.5em 0 .5em 0}ul.ngg-breadcrumbs>li{float:left;padding:0 .3em 0 .15em;margin:0;vertical-align:middle;border:none;list-style-type:none}.ngg-breadcrumbs .ngg-breadcrumb-divisor{margin:0;padding:0 0 0 .15em}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg
index 9f609f2a919d211bb2642925c7ce50c6073ede48..75ec8184d232951f93738837391fe18276d3fae0 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg
index bbedf94ff02b9918721e6fd736fc770c91f5c5f3..32591d5179b163d390f363d898ba6ad5d0469f44 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.min.js
index ec4aead84fb63641edfa6f02063d26dde6d4e984..ebf3fbb41ab5bdcb4232256f50b7326abcbc1018 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.min.js
@@ -1 +1 @@
-!function(t){function e(t,e,n){var o=t.children(),r=!1;t.empty();for(var a=0,d=o.length;d>a;a++){var l=o.eq(a);if(t.append(l),n&&t.append(n),i(t,e)){l.remove(),r=!0;break}n&&n.remove()}return r}function n(e,r,a,d,l){var u=e.contents(),c=!1;e.empty();for(var s="table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style",f=0,h=u.length;h>f&&!c;f++){var p=u[f],v=t(p);void 0!==p&&(e.append(v),l&&e[e.is(s)?"after":"append"](l),3==p.nodeType?i(a,d)&&(c=o(v,r,a,d,l)):c=n(v,r,a,d,l),c||l&&l.remove())}return c}function o(t,e,n,a,u){var c=!1,s=t[0];if(void 0===s)return!1;for(var f="letter"==a.wrap?"":" ",h=l(s).split(f),p=-1,v=-1,g=0,w=h.length-1;w>=g;){var m=Math.floor((g+w)/2);if(m==v)break;v=m,d(s,h.slice(0,v+1).join(f)+a.ellipsis),i(n,a)?w=v:(p=v,g=v)}if(-1==p||1==h.length&&0==h[0].length){var b=t.parent();t.remove();var y=u?u.length:0;if(b.contents().size()>y){var x=b.contents().eq(-1-y);c=o(x,e,n,a,u)}else{var s=b.prev().contents().eq(-1)[0];if(void 0!==s){var T=r(l(s),a);d(s,T),b.remove(),c=!0}}}else{var T=r(h.slice(0,p+1).join(f),a);c=!0,d(s,T)}return c}function i(t,e){return t.innerHeight()>e.maxHeight}function r(e,n){for(;t.inArray(e.slice(-1),n.lastCharacter.remove)>-1;)e=e.slice(0,-1);return 0>t.inArray(e.slice(-1),n.lastCharacter.noEllipsis)&&(e+=n.ellipsis),e}function a(t){return{width:t.innerWidth(),height:t.innerHeight()}}function d(t,e){t.innerText?t.innerText=e:t.nodeValue?t.nodeValue=e:t.textContent&&(t.textContent=e)}function l(t){return t.innerText?t.innerText:t.nodeValue?t.nodeValue:t.textContent?t.textContent:""}function u(e,n){return void 0!==e&&(!!e&&("string"==typeof e?(e=t(e,n),!!e.length&&e):"object"==typeof e&&(void 0!==e.jquery&&e)))}function c(t){for(var e=t.innerHeight(),n=["paddingTop","paddingBottom"],o=0,i=n.length;i>o;o++){var r=parseInt(t.css(n[o]),10);isNaN(r)&&(r=0),e-=r}return e}function s(t,e){return!!t&&(e="string"==typeof e?"dotdotdot: "+e:["dotdotdot:",e],void 0!==window.console&&void 0!==window.console.log&&window.console.log(e),!1)}if(!t.fn.dotdotdot){t.fn.dotdotdot=function(o){if(0==this.length)return o&&o.debug===!1||s(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){t(this).dotdotdot(o)});var r=this;r.data("dotdotdot")&&r.trigger("destroy.dot"),r.bind_events=function(){return r.bind("update.dot",function(o,a){o.preventDefault(),o.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:c(r),l.maxHeight+=l.tolerance,void 0!==a&&(("string"==typeof a||a instanceof HTMLElement)&&(a=t("<div />").append(a).contents()),a instanceof t&&(d=a)),g=r.wrapInner('<div class="dotdotdot" />').children(),g.empty().append(d.clone(!0)).css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var u=!1,s=!1;return h.afterElement&&(u=h.afterElement.clone(!0),h.afterElement.remove()),i(g,l)&&(s="children"==l.wrap?e(g,l,u):n(g,r,g,l,u)),g.replaceWith(g.contents()),g=null,t.isFunction(l.callback)&&l.callback.call(r[0],s,d),h.isTruncated=s,s}).bind("isTruncated.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(r[0],h.isTruncated),h.isTruncated}).bind("originalContent.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(r[0],d),d}).bind("destroy.dot",function(t){t.preventDefault(),t.stopPropagation(),r.unwatch().unbind_events().empty().append(d).data("dotdotdot",!1)}),r},r.unbind_events=function(){return r.unbind(".dot"),r},r.watch=function(){if(r.unwatch(),"window"==l.watch){var e=t(window),n=e.width(),o=e.height();e.bind("resize.dot"+h.dotId,function(){n==e.width()&&o==e.height()&&l.windowResizeFix||(n=e.width(),o=e.height(),v&&clearInterval(v),v=setTimeout(function(){r.trigger("update.dot")},10))})}else p=a(r),v=setInterval(function(){var t=a(r);(p.width!=t.width||p.height!=t.height)&&(r.trigger("update.dot"),p=a(r))},100);return r},r.unwatch=function(){return t(window).unbind("resize.dot"+h.dotId),v&&clearInterval(v),r};var d=r.contents(),l=t.extend(!0,{},t.fn.dotdotdot.defaults,o),h={},p={},v=null,g=null;return h.afterElement=u(l.after,r),h.isTruncated=!1,h.dotId=f++,r.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&r.watch(),r},t.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",lastCharacter:{remove:[" ",",",";",".","!","?"],noEllipsis:[]},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0,debug:!1};var f=1,h=t.fn.html;t.fn.html=function(t){return void 0!==t?this.data("dotdotdot")&&"function"!=typeof t?this.trigger("update",[t]):h.call(this,t):h.call(this)};var p=t.fn.text;t.fn.text=function(e){if(void 0!==e){if(this.data("dotdotdot")){var n=t("<div />");return n.text(e),e=n.html(),n.remove(),this.trigger("update",[e])}return p.call(this,e)}return p.call(this)}}}(jQuery);
\ No newline at end of file
+!function(t){function e(t,e,n){var o=t.children(),r=!1;t.empty();for(var a=0,d=o.length;d>a;a++){var l=o.eq(a);if(t.append(l),n&&t.append(n),i(t,e)){l.remove(),r=!0;break}n&&n.remove()}return r}function n(e,r,a,d,l){var u=e.contents(),c=!1;e.empty();for(var s=0,f=u.length;f>s&&!c;s++){var h=u[s],p=t(h);void 0!==h&&(e.append(p),l&&e[e.is("table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style")?"after":"append"](l),3==h.nodeType?i(a,d)&&(c=o(p,r,a,d,l)):c=n(p,r,a,d,l),c||l&&l.remove())}return c}function o(t,e,n,a,u){var c=!1,s=t[0];if(void 0===s)return!1;for(var f="letter"==a.wrap?"":" ",h=l(s).split(f),p=-1,v=-1,g=0,w=h.length-1;w>=g;){var m=Math.floor((g+w)/2);if(m==v)break;v=m,d(s,h.slice(0,v+1).join(f)+a.ellipsis),i(n,a)?w=v:(p=v,g=v)}if(-1==p||1==h.length&&0==h[0].length){var b=t.parent();t.remove();var y=u?u.length:0;if(b.contents().size()>y){c=o(b.contents().eq(-1-y),e,n,a,u)}else{var s=b.prev().contents().eq(-1)[0];if(void 0!==s){var x=r(l(s),a);d(s,x),b.remove(),c=!0}}}else{var x=r(h.slice(0,p+1).join(f),a);c=!0,d(s,x)}return c}function i(t,e){return t.innerHeight()>e.maxHeight}function r(e,n){for(;t.inArray(e.slice(-1),n.lastCharacter.remove)>-1;)e=e.slice(0,-1);return 0>t.inArray(e.slice(-1),n.lastCharacter.noEllipsis)&&(e+=n.ellipsis),e}function a(t){return{width:t.innerWidth(),height:t.innerHeight()}}function d(t,e){t.innerText?t.innerText=e:t.nodeValue?t.nodeValue=e:t.textContent&&(t.textContent=e)}function l(t){return t.innerText?t.innerText:t.nodeValue?t.nodeValue:t.textContent?t.textContent:""}function u(e,n){return void 0!==e&&(!!e&&("string"==typeof e?(e=t(e,n),!!e.length&&e):"object"==typeof e&&(void 0!==e.jquery&&e)))}function c(t){for(var e=t.innerHeight(),n=["paddingTop","paddingBottom"],o=0,i=n.length;i>o;o++){var r=parseInt(t.css(n[o]),10);isNaN(r)&&(r=0),e-=r}return e}function s(t,e){return!!t&&(e="string"==typeof e?"dotdotdot: "+e:["dotdotdot:",e],void 0!==window.console&&void 0!==window.console.log&&window.console.log(e),!1)}if(!t.fn.dotdotdot){t.fn.dotdotdot=function(o){if(0==this.length)return o&&!1===o.debug||s(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){t(this).dotdotdot(o)});var r=this;r.data("dotdotdot")&&r.trigger("destroy.dot"),r.bind_events=function(){return r.bind("update.dot",function(o,a){o.preventDefault(),o.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:c(r),l.maxHeight+=l.tolerance,void 0!==a&&(("string"==typeof a||a instanceof HTMLElement)&&(a=t("<div />").append(a).contents()),a instanceof t&&(d=a)),g=r.wrapInner('<div class="dotdotdot" />').children(),g.empty().append(d.clone(!0)).css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var u=!1,s=!1;return h.afterElement&&(u=h.afterElement.clone(!0),h.afterElement.remove()),i(g,l)&&(s="children"==l.wrap?e(g,l,u):n(g,r,g,l,u)),g.replaceWith(g.contents()),g=null,t.isFunction(l.callback)&&l.callback.call(r[0],s,d),h.isTruncated=s,s}).bind("isTruncated.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(r[0],h.isTruncated),h.isTruncated}).bind("originalContent.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(r[0],d),d}).bind("destroy.dot",function(t){t.preventDefault(),t.stopPropagation(),r.unwatch().unbind_events().empty().append(d).data("dotdotdot",!1)}),r},r.unbind_events=function(){return r.unbind(".dot"),r},r.watch=function(){if(r.unwatch(),"window"==l.watch){var e=t(window),n=e.width(),o=e.height();e.bind("resize.dot"+h.dotId,function(){n==e.width()&&o==e.height()&&l.windowResizeFix||(n=e.width(),o=e.height(),v&&clearInterval(v),v=setTimeout(function(){r.trigger("update.dot")},10))})}else p=a(r),v=setInterval(function(){var t=a(r);(p.width!=t.width||p.height!=t.height)&&(r.trigger("update.dot"),p=a(r))},100);return r},r.unwatch=function(){return t(window).unbind("resize.dot"+h.dotId),v&&clearInterval(v),r};var d=r.contents(),l=t.extend(!0,{},t.fn.dotdotdot.defaults,o),h={},p={},v=null,g=null;return h.afterElement=u(l.after,r),h.isTruncated=!1,h.dotId=f++,r.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&r.watch(),r},t.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",lastCharacter:{remove:[" ",",",";",".","!","?"],noEllipsis:[]},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0,debug:!1};var f=1,h=t.fn.html;t.fn.html=function(t){return void 0!==t?this.data("dotdotdot")&&"function"!=typeof t?this.trigger("update",[t]):h.call(this,t):h.call(this)};var p=t.fn.text;t.fn.text=function(e){if(void 0!==e){if(this.data("dotdotdot")){var n=t("<div />");return n.text(e),e=n.html(),n.remove(),this.trigger("update",[e])}return p.call(this,e)}return p.call(this)}}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.min.css
index e488d85cfd6621dc82149abe9e5f5e3764c345b4..592e59dcea4b7eacb906247586166c6e4fd4bbe6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.min.css
@@ -1 +1 @@
-.ngg-albumtitle,.ngg-description{text-align:left}.ngg-albumoverview{margin-top:10px;width:100%;clear:both;display:block!important}.ngg-album{height:100%;overflow:hidden;padding:5px;margin-bottom:5px;border:1px solid #ccc}.ngg-albumtitle{font-weight:700;margin:0 0 10px;padding:0;font-size:1.4em}.ngg-thumbnail{float:left;margin-right:12px}.ngg-thumbnail img{background-color:#FFF;border:1px solid #A9A9A9;margin:4px 0 4px 5px;padding:4px;position:relative}.ngg-thumbnail img:hover{background-color:#A9A9A9}.ngg-album-compact{float:left;padding:0 12px 4px 0!important;margin:0!important;text-align:left}.ngg-album-compact a{border:none}.ngg-album-compactbox{margin:0!important;padding:8px!important;box-sizing:border-box;-moz-box-sizing:border-box;position:relative;border:1px solid gray;border-radius:6px;z-index:1}.ngg-album-compactbox:after,.ngg-album-compactbox:before{content:' ';position:absolute;top:0;left:0;right:0;border-bottom:1px solid gray;border-radius:6px;z-index:-1}.ngg-album-compactbox:before{bottom:-7px}.ngg-album-compactbox:after{bottom:-4px}.ngg-album-compactbox .Thumb{margin:0!important;padding:0!important;border:1px solid #000!important}.ngg-album-compact h4{font-size:15px;font-weight:700;margin:10px 0 0}.ngg-album-compact h4 .ngg-album-desc{overflow:hidden;display:block;height:54px}.ngg-album-compact p{font-size:11px;margin:0}.ngg-clear{clear:both;float:none}
\ No newline at end of file
+.ngg-albumoverview{margin-top:10px;width:100%;clear:both;display:block!important}.ngg-album{height:100%;overflow:hidden;padding:5px;margin-bottom:5px;border:1px solid #ccc}.ngg-albumtitle{text-align:left;font-weight:700;margin:0;padding:0;font-size:1.4em;margin-bottom:10px}.ngg-thumbnail{float:left;margin-right:12px}.ngg-thumbnail img{background-color:#fff;border:1px solid #a9a9a9;margin:4px 0 4px 5px;padding:4px;position:relative}.ngg-thumbnail img:hover{background-color:#a9a9a9}.ngg-description{text-align:left}.ngg-album-compact{float:left;padding:0 12px 4px 0!important;margin:0!important;text-align:left}.ngg-album-compact a{border:none}.ngg-album-compactbox{margin:0!important;padding:8px!important;box-sizing:border-box;-moz-box-sizing:border-box;position:relative;border:1px solid gray;border-radius:6px;z-index:1}.ngg-album-compactbox:before{content:' ';position:absolute;top:0;left:0;right:0;bottom:-7px;border-bottom:1px solid gray;border-radius:6px;z-index:-1}.ngg-album-compactbox:after{content:' ';position:absolute;top:0;left:0;right:0;bottom:-4px;border-bottom:1px solid gray;border-radius:6px;z-index:-1}.ngg-album-compactbox .Thumb{margin:0!important;padding:0!important;border:1px solid #000!important}.ngg-album-compact h4{font-size:15px;font-weight:700;margin:0;margin-top:10px}.ngg-album-compact h4 .ngg-album-desc{overflow:hidden;display:block;height:54px}.ngg-album-compact p{font-size:11px;margin:0}.ngg-clear{clear:both;float:none}
\ No newline at end of file
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 d1924b606b26c6f93ae0d6ff9cb38b8bc30f2e8d..36b9528e0a27bc43c5fe5769e265f7db984b5850 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
@@ -32,7 +32,7 @@ class M_NextGen_Basic_Gallery extends C_Base_Module
             'photocrati-nextgen_basic_gallery',
             'NextGEN Basic Gallery',
             "Provides NextGEN Gallery's basic thumbnail/slideshow integrated gallery",
-            '0.16',
+            '3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -87,7 +87,7 @@ class M_NextGen_Basic_Gallery extends C_Base_Module
         }
 
         // Frontend-only components
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             // Provides the controllers for the display types
             $this->get_registry()->add_adapter(
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php
index d133e8a0811a853f477b68b4052bc7edf1b3bc40..dead8e09a8a03bd1698a1106d95ef7f80c93276a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php
@@ -534,7 +534,7 @@ class A_NextGen_Basic_Thumbnails_Controller extends Mixin
                 $params['thumbnail_size_name'] = $thumbnail_size_name;
                 $params['slideshow_link'] = $slideshow_link;
                 $params = $this->object->prepare_display_parameters($displayed_gallery, $params);
-                $output = $this->object->render_view('photocrati-nextgen_basic_gallery#thumbnails/index', $params, $return);
+                $output = $this->object->render_partial('photocrati-nextgen_basic_gallery#thumbnails/index', $params, $return);
             }
             return $output;
         } else {
@@ -542,6 +542,7 @@ class A_NextGen_Basic_Thumbnails_Controller extends Mixin
                 return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return);
             }
         }
+        return '';
     }
     /**
      * Enqueues all static resources required by this display type
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js
index f93683cfdf12dd82ec66643de9bc5d4cca4ecfba..cab93dc0ef38f3ff00ffd6ab99be444ff60b0eba 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js
@@ -1 +1 @@
-!function(e,t){"use strict";function n(t){e.fn.cycle.debug&&i(t)}function i(){window.console&&console.log&&console.log("[cycle] "+Array.prototype.join.call(arguments," "))}function c(t,n,i){var c=e(t).data("cycle.opts"),s=!!t.cyclePause;s&&c.paused?c.paused(t,c,n,i):!s&&c.resumed&&c.resumed(t,c,n,i)}function s(n,s,o){function l(t,n,c){if(!t&&n===!0){var s=e(c).data("cycle.opts");if(!s)return i("options not found, can not resume"),!1;c.cycleTimeout&&(clearTimeout(c.cycleTimeout),c.cycleTimeout=0),d(s.elements,s,1,!s.backwards)}}if(n.cycleStop===t&&(n.cycleStop=0),s!==t&&null!==s||(s={}),s.constructor==String){switch(s){case"destroy":case"stop":var a=e(n).data("cycle.opts");return!!a&&(n.cycleStop++,n.cycleTimeout&&clearTimeout(n.cycleTimeout),n.cycleTimeout=0,a.elements&&e(a.elements).stop(),e(n).removeData("cycle.opts"),"destroy"==s&&r(n,a),!1);case"toggle":return n.cyclePause=1===n.cyclePause?0:1,l(n.cyclePause,o,n),c(n),!1;case"pause":return n.cyclePause=1,c(n),!1;case"resume":return n.cyclePause=0,l(!1,o,n),c(n),!1;case"prev":case"next":return(a=e(n).data("cycle.opts"))?(e.fn.cycle[s](a),!1):(i('options not found, "prev/next" ignored'),!1);default:s={fx:s}}return s}if(s.constructor==Number){var f=s;return(s=e(n).data("cycle.opts"))?f<0||f>=s.elements.length?(i("invalid slide index: "+f),!1):(s.nextSlide=f,n.cycleTimeout&&(clearTimeout(n.cycleTimeout),n.cycleTimeout=0),"string"==typeof o&&(s.oneTimeFx=o),d(s.elements,s,1,f>=s.currSlide),!1):(i("options not found, can not advance slide"),!1)}return s}function o(t,n){if(!e.support.opacity&&n.cleartype&&t.style.filter)try{t.style.removeAttribute("filter")}catch(e){}}function r(t,n){n.next&&e(n.next).unbind(n.prevNextEvent),n.prev&&e(n.prev).unbind(n.prevNextEvent),(n.pager||n.pagerAnchorBuilder)&&e.each(n.pagerAnchors||[],function(){this.unbind().remove()}),n.pagerAnchors=null,e(t).unbind("mouseenter.cycle mouseleave.cycle"),n.destroy&&n.destroy(n)}function l(n,s,r,l,h){var g,x=e.extend({},e.fn.cycle.defaults,l||{},e.metadata?n.metadata():e.meta?n.data():{}),v=e.isFunction(n.data)?n.data(x.metaAttr):null;v&&(x=e.extend(x,v)),x.autostop&&(x.countdown=x.autostopCount||r.length);var w=n[0];if(n.data("cycle.opts",x),x.$cont=n,x.stopCount=w.cycleStop,x.elements=r,x.before=x.before?[x.before]:[],x.after=x.after?[x.after]:[],!e.support.opacity&&x.cleartype&&x.after.push(function(){o(this,x)}),x.continuous&&x.after.push(function(){d(r,x,0,!x.backwards)}),a(x),e.support.opacity||!x.cleartype||x.cleartypeNoBg||y(s),"static"==n.css("position")&&n.css("position","relative"),x.width&&n.width(x.width),x.height&&"auto"!=x.height&&n.height(x.height),x.startingSlide!==t?(x.startingSlide=parseInt(x.startingSlide,10),x.startingSlide>=r.length||x.startSlide<0?x.startingSlide=0:g=!0):x.backwards?x.startingSlide=r.length-1:x.startingSlide=0,x.random){x.randomMap=[];for(var b=0;b<r.length;b++)x.randomMap.push(b);if(x.randomMap.sort(function(e,t){return Math.random()-.5}),g)for(var S=0;S<r.length;S++)x.startingSlide==x.randomMap[S]&&(x.randomIndex=S);else x.randomIndex=1,x.startingSlide=x.randomMap[1]}else x.startingSlide>=r.length&&(x.startingSlide=0);x.currSlide=x.startingSlide||0;var B=x.startingSlide;s.css({position:"absolute",top:0,left:0}).hide().each(function(t){var n;n=x.backwards?B?t<=B?r.length+(t-B):B-t:r.length-t:B?t>=B?r.length-(t-B):B-t:r.length-t,e(this).css("z-index",n)}),e(r[B]).css("opacity",1).show(),o(r[B],x),x.fit&&(x.aspect?s.each(function(){var t=e(this),n=x.aspect===!0?t.width()/t.height():x.aspect;x.width&&t.width()!=x.width&&(t.width(x.width),t.height(x.width/n)),x.height&&t.height()<x.height&&(t.height(x.height),t.width(x.height*n))}):(x.width&&s.width(x.width),x.height&&"auto"!=x.height&&s.height(x.height))),!x.center||x.fit&&!x.aspect||s.each(function(){var t=e(this);t.css({"margin-left":x.width?(x.width-t.width())/2+"px":0,"margin-top":x.height?(x.height-t.height())/2+"px":0})}),!x.center||x.fit||x.slideResize||s.each(function(){var t=e(this);t.css({"margin-left":x.width?(x.width-t.width())/2+"px":0,"margin-top":x.height?(x.height-t.height())/2+"px":0})});var I=(x.containerResize||x.containerResizeHeight)&&!n.innerHeight();if(I){for(var O=0,F=0,H=0;H<r.length;H++){var A=e(r[H]),k=A[0],T=A.outerWidth(),R=A.outerHeight();T||(T=k.offsetWidth||k.width||A.attr("width")),R||(R=k.offsetHeight||k.height||A.attr("height")),O=T>O?T:O,F=R>F?R:F}x.containerResize&&O>0&&F>0&&n.css({width:O+"px",height:F+"px"}),x.containerResizeHeight&&F>0&&n.css({height:F+"px"})}var W=!1;if(x.pause&&n.bind("mouseenter.cycle",function(){W=!0,this.cyclePause++,c(w,!0)}).bind("mouseleave.cycle",function(){W&&this.cyclePause--,c(w,!0)}),f(x)===!1)return!1;var P=!1;if(l.requeueAttempts=l.requeueAttempts||0,s.each(function(){var t=e(this);if(this.cycleH=x.fit&&x.height?x.height:t.height()||this.offsetHeight||this.height||t.attr("height")||0,this.cycleW=x.fit&&x.width?x.width:t.width()||this.offsetWidth||this.width||t.attr("width")||0,t.is("img")){var n=e.browser.msie&&28==this.cycleW&&30==this.cycleH&&!this.complete,c=e.browser.mozilla&&34==this.cycleW&&19==this.cycleH&&!this.complete,s=e.browser.opera&&(42==this.cycleW&&19==this.cycleH||37==this.cycleW&&17==this.cycleH)&&!this.complete,o=0===this.cycleH&&0===this.cycleW&&!this.complete;if(n||c||s||o){if(h.s&&x.requeueOnImageNotLoaded&&++l.requeueAttempts<100)return i(l.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH),setTimeout(function(){e(h.s,h.c).cycle(l)},x.requeueTimeout),P=!0,!1;i("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}}return!0}),P)return!1;if(x.cssBefore=x.cssBefore||{},x.cssAfter=x.cssAfter||{},x.cssFirst=x.cssFirst||{},x.animIn=x.animIn||{},x.animOut=x.animOut||{},s.not(":eq("+B+")").css(x.cssBefore),e(s[B]).css(x.cssFirst),x.timeout){x.timeout=parseInt(x.timeout,10),x.speed.constructor==String&&(x.speed=e.fx.speeds[x.speed]||parseInt(x.speed,10)),x.sync||(x.speed=x.speed/2);for(var z="none"==x.fx?0:"shuffle"==x.fx?500:250;x.timeout-x.speed<z;)x.timeout+=x.speed}if(x.easing&&(x.easeIn=x.easeOut=x.easing),x.speedIn||(x.speedIn=x.speed),x.speedOut||(x.speedOut=x.speed),x.slideCount=r.length,x.currSlide=x.lastSlide=B,x.random?(++x.randomIndex==r.length&&(x.randomIndex=0),x.nextSlide=x.randomMap[x.randomIndex]):x.backwards?x.nextSlide=0===x.startingSlide?r.length-1:x.startingSlide-1:x.nextSlide=x.startingSlide>=r.length-1?0:x.startingSlide+1,!x.multiFx){var C=e.fn.cycle.transitions[x.fx];if(e.isFunction(C))C(n,s,x);else if("custom"!=x.fx&&!x.multiFx)return i("unknown transition: "+x.fx,"; slideshow terminating"),!1}var E=s[B];return x.skipInitializationCallbacks||(x.before.length&&x.before[0].apply(E,[E,E,x,!0]),x.after.length&&x.after[0].apply(E,[E,E,x,!0])),x.next&&e(x.next).bind(x.prevNextEvent,function(){return p(x,1)}),x.prev&&e(x.prev).bind(x.prevNextEvent,function(){return p(x,0)}),(x.pager||x.pagerAnchorBuilder)&&m(r,x),u(x,r),x}function a(t){t.original={before:[],after:[]},t.original.cssBefore=e.extend({},t.cssBefore),t.original.cssAfter=e.extend({},t.cssAfter),t.original.animIn=e.extend({},t.animIn),t.original.animOut=e.extend({},t.animOut),e.each(t.before,function(){t.original.before.push(this)}),e.each(t.after,function(){t.original.after.push(this)})}function f(t){var c,s,o=e.fn.cycle.transitions;if(t.fx.indexOf(",")>0){for(t.multiFx=!0,t.fxs=t.fx.replace(/\s*/g,"").split(","),c=0;c<t.fxs.length;c++){var r=t.fxs[c];s=o[r],s&&o.hasOwnProperty(r)&&e.isFunction(s)||(i("discarding unknown transition: ",r),t.fxs.splice(c,1),c--)}if(!t.fxs.length)return i("No valid transitions named; slideshow terminating."),!1}else if("all"==t.fx){t.multiFx=!0,t.fxs=[];for(var l in o)o.hasOwnProperty(l)&&(s=o[l],o.hasOwnProperty(l)&&e.isFunction(s)&&t.fxs.push(l))}if(t.multiFx&&t.randomizeEffects){var a=Math.floor(20*Math.random())+30;for(c=0;c<a;c++){var f=Math.floor(Math.random()*t.fxs.length);t.fxs.push(t.fxs.splice(f,1)[0])}n("randomized fx sequence: ",t.fxs)}return!0}function u(t,n){t.addSlide=function(i,c){var s=e(i),o=s[0];t.autostopCount||t.countdown++,n[c?"unshift":"push"](o),t.els&&t.els[c?"unshift":"push"](o),t.slideCount=n.length,t.random&&(t.randomMap.push(t.slideCount-1),t.randomMap.sort(function(e,t){return Math.random()-.5})),s.css("position","absolute"),s[c?"prependTo":"appendTo"](t.$cont),c&&(t.currSlide++,t.nextSlide++),e.support.opacity||!t.cleartype||t.cleartypeNoBg||y(s),t.fit&&t.width&&s.width(t.width),t.fit&&t.height&&"auto"!=t.height&&s.height(t.height),o.cycleH=t.fit&&t.height?t.height:s.height(),o.cycleW=t.fit&&t.width?t.width:s.width(),s.css(t.cssBefore),(t.pager||t.pagerAnchorBuilder)&&e.fn.cycle.createPagerAnchor(n.length-1,o,e(t.pager),n,t),e.isFunction(t.onAddSlide)?t.onAddSlide(s):s.hide()}}function d(i,c,s,o){function r(){var e=0;c.timeout;c.timeout&&!c.continuous?(e=h(i[c.currSlide],i[c.nextSlide],c,o),"shuffle"==c.fx&&(e-=c.speedOut)):c.continuous&&l.cyclePause&&(e=10),e>0&&(l.cycleTimeout=setTimeout(function(){d(i,c,0,!c.backwards)},e))}var l=c.$cont[0],a=i[c.currSlide],f=i[c.nextSlide];if(s&&c.busy&&c.manualTrump&&(n("manualTrump in go(), stopping active transition"),e(i).stop(!0,!0),c.busy=0,clearTimeout(l.cycleTimeout)),c.busy)return void n("transition active, ignoring new tx request");if(l.cycleStop==c.stopCount&&(0!==l.cycleTimeout||s)){if(!s&&!l.cyclePause&&!c.bounce&&(c.autostop&&--c.countdown<=0||c.nowrap&&!c.random&&c.nextSlide<c.currSlide))return void(c.end&&c.end(c));var u=!1;if(!s&&l.cyclePause||c.nextSlide==c.currSlide)r();else{u=!0;var p=c.fx;a.cycleH=a.cycleH||e(a).height(),a.cycleW=a.cycleW||e(a).width(),f.cycleH=f.cycleH||e(f).height(),f.cycleW=f.cycleW||e(f).width(),c.multiFx&&(o&&(c.lastFx===t||++c.lastFx>=c.fxs.length)?c.lastFx=0:!o&&(c.lastFx===t||--c.lastFx<0)&&(c.lastFx=c.fxs.length-1),p=c.fxs[c.lastFx]),c.oneTimeFx&&(p=c.oneTimeFx,c.oneTimeFx=null),e.fn.cycle.resetState(c,p),c.before.length&&e.each(c.before,function(e,t){l.cycleStop==c.stopCount&&t.apply(f,[a,f,c,o])});var m=function(){c.busy=0,e.each(c.after,function(e,t){l.cycleStop==c.stopCount&&t.apply(f,[a,f,c,o])}),l.cycleStop||r()};n("tx firing("+p+"); currSlide: "+c.currSlide+"; nextSlide: "+c.nextSlide),c.busy=1,c.fxFn?c.fxFn(a,f,c,m,o,s&&c.fastOnEvent):e.isFunction(e.fn.cycle[c.fx])?e.fn.cycle[c.fx](a,f,c,m,o,s&&c.fastOnEvent):e.fn.cycle.custom(a,f,c,m,o,s&&c.fastOnEvent)}if(u||c.nextSlide==c.currSlide){var y;c.lastSlide=c.currSlide,c.random?(c.currSlide=c.nextSlide,++c.randomIndex==i.length&&(c.randomIndex=0,c.randomMap.sort(function(e,t){return Math.random()-.5})),c.nextSlide=c.randomMap[c.randomIndex],c.nextSlide==c.currSlide&&(c.nextSlide=c.currSlide==c.slideCount-1?0:c.currSlide+1)):c.backwards?(y=c.nextSlide-1<0,y&&c.bounce?(c.backwards=!c.backwards,c.nextSlide=1,c.currSlide=0):(c.nextSlide=y?i.length-1:c.nextSlide-1,c.currSlide=y?0:c.nextSlide+1)):(y=c.nextSlide+1==i.length,y&&c.bounce?(c.backwards=!c.backwards,c.nextSlide=i.length-2,c.currSlide=i.length-1):(c.nextSlide=y?0:c.nextSlide+1,c.currSlide=y?i.length-1:c.nextSlide-1))}u&&c.pager&&c.updateActivePagerLink(c.pager,c.currSlide,c.activePagerClass)}}function h(e,t,i,c){if(i.timeoutFn){for(var s=i.timeoutFn.call(e,e,t,i,c);"none"!=i.fx&&s-i.speed<250;)s+=i.speed;if(n("calculated timeout: "+s+"; speed: "+i.speed),s!==!1)return s}return i.timeout}function p(t,n){var i=n?1:-1,c=t.elements,s=t.$cont[0],o=s.cycleTimeout;if(o&&(clearTimeout(o),s.cycleTimeout=0),t.random&&i<0)t.randomIndex--,--t.randomIndex==-2?t.randomIndex=c.length-2:t.randomIndex==-1&&(t.randomIndex=c.length-1),t.nextSlide=t.randomMap[t.randomIndex];else if(t.random)t.nextSlide=t.randomMap[t.randomIndex];else if(t.nextSlide=t.currSlide+i,t.nextSlide<0){if(t.nowrap)return!1;t.nextSlide=c.length-1}else if(t.nextSlide>=c.length){if(t.nowrap)return!1;t.nextSlide=0}var r=t.onPrevNextEvent||t.prevNextClick;return e.isFunction(r)&&r(i>0,t.nextSlide,c[t.nextSlide]),d(c,t,1,n),!1}function m(t,n){var i=e(n.pager);e.each(t,function(c,s){e.fn.cycle.createPagerAnchor(c,s,i,t,n)}),n.updateActivePagerLink(n.pager,n.startingSlide,n.activePagerClass)}function y(t){function i(e){return e=parseInt(e,10).toString(16),e.length<2?"0"+e:e}function c(t){for(;t&&"html"!=t.nodeName.toLowerCase();t=t.parentNode){var n=e.css(t,"background-color");if(n&&n.indexOf("rgb")>=0){var c=n.match(/\d+/g);return"#"+i(c[0])+i(c[1])+i(c[2])}if(n&&"transparent"!=n)return n}return"#ffffff"}n("applying clearType background-color hack"),t.each(function(){e(this).css("background-color",c(this))})}var g="2.9999.6";e.support===t&&(e.support={opacity:!e.browser.msie}),e.expr[":"].paused=function(e){return e.cyclePause},e.fn.cycle=function(t,c){var o={s:this.selector,c:this.context};return 0===this.length&&"stop"!=t?!e.isReady&&o.s?(i("DOM not ready, queuing slideshow"),e(function(){e(o.s,o.c).cycle(t,c)}),this):(i("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this):this.each(function(){var r=s(this,t,c);if(r!==!1){r.updateActivePagerLink=r.updateActivePagerLink||e.fn.cycle.updateActivePagerLink,this.cycleTimeout&&clearTimeout(this.cycleTimeout),this.cycleTimeout=this.cyclePause=0,this.cycleStop=0;var a=e(this),f=r.slideExpr?e(r.slideExpr,this):a.children(),u=f.get();if(u.length<2)return void i("terminating; too few slides: "+u.length);var p=l(a,f,u,r,o);if(p!==!1){var m=p.continuous?10:h(u[p.currSlide],u[p.nextSlide],p,!p.backwards);m&&(m+=p.delay||0,m<10&&(m=10),n("first timeout: "+m),this.cycleTimeout=setTimeout(function(){d(u,p,0,!r.backwards)},m))}}})},e.fn.cycle.resetState=function(t,n){n=n||t.fx,t.before=[],t.after=[],t.cssBefore=e.extend({},t.original.cssBefore),t.cssAfter=e.extend({},t.original.cssAfter),t.animIn=e.extend({},t.original.animIn),t.animOut=e.extend({},t.original.animOut),t.fxFn=null,e.each(t.original.before,function(){t.before.push(this)}),e.each(t.original.after,function(){t.after.push(this)});var i=e.fn.cycle.transitions[n];e.isFunction(i)&&i(t.$cont,e(t.elements),t)},e.fn.cycle.updateActivePagerLink=function(t,n,i){e(t).each(function(){e(this).children().removeClass(i).eq(n).addClass(i)})},e.fn.cycle.next=function(e){p(e,1)},e.fn.cycle.prev=function(e){p(e,0)},e.fn.cycle.createPagerAnchor=function(t,i,s,o,r){var l;if(e.isFunction(r.pagerAnchorBuilder)?(l=r.pagerAnchorBuilder(t,i),n("pagerAnchorBuilder("+t+", el) returned: "+l)):l='<a href="#">'+(t+1)+"</a>",l){var a=e(l);if(0===a.parents("body").length){var f=[];s.length>1?(s.each(function(){var t=a.clone(!0);e(this).append(t),f.push(t[0])}),a=e(f)):a.appendTo(s)}r.pagerAnchors=r.pagerAnchors||[],r.pagerAnchors.push(a);var u=function(n){n.preventDefault(),r.nextSlide=t;var i=r.$cont[0],c=i.cycleTimeout;c&&(clearTimeout(c),i.cycleTimeout=0);var s=r.onPagerEvent||r.pagerClick;e.isFunction(s)&&s(r.nextSlide,o[r.nextSlide]),d(o,r,1,r.currSlide<t)};/mouseenter|mouseover/i.test(r.pagerEvent)?a.hover(u,function(){}):a.bind(r.pagerEvent,u),/^click/.test(r.pagerEvent)||r.allowPagerClickBubble||a.bind("click.cycle",function(){return!1});var h=r.$cont[0],p=!1;r.pauseOnPagerHover&&a.hover(function(){p=!0,h.cyclePause++,c(h,!0,!0)},function(){p&&h.cyclePause--,c(h,!0,!0)})}},e.fn.cycle.hopsFromLast=function(e,t){var n,i=e.lastSlide,c=e.currSlide;return n=t?c>i?c-i:e.slideCount-i:c<i?i-c:i+e.slideCount-c},e.fn.cycle.commonReset=function(t,n,i,c,s,o){e(i.elements).not(t).hide(),"undefined"==typeof i.cssBefore.opacity&&(i.cssBefore.opacity=1),i.cssBefore.display="block",i.slideResize&&c!==!1&&n.cycleW>0&&(i.cssBefore.width=n.cycleW),i.slideResize&&s!==!1&&n.cycleH>0&&(i.cssBefore.height=n.cycleH),i.cssAfter=i.cssAfter||{},i.cssAfter.display="none",e(t).css("zIndex",i.slideCount+(o===!0?1:0)),e(n).css("zIndex",i.slideCount+(o===!0?0:1))},e.fn.cycle.custom=function(t,n,i,c,s,o){var r=e(t),l=e(n),a=i.speedIn,f=i.speedOut,u=i.easeIn,d=i.easeOut;l.css(i.cssBefore),o&&(a=f="number"==typeof o?o:1,u=d=null);var h=function(){l.animate(i.animIn,a,u,function(){c()})};r.animate(i.animOut,f,d,function(){r.css(i.cssAfter),i.sync||h()}),i.sync&&h()},e.fn.cycle.transitions={fade:function(t,n,i){n.not(":eq("+i.currSlide+")").css("opacity",0),i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.cssBefore.opacity=0}),i.animIn={opacity:1},i.animOut={opacity:0},i.cssBefore={top:0,left:0}}},e.fn.cycle.ver=function(){return g},e.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:!1,animIn:null,animOut:null,aspect:!1,autostop:0,autostopCount:0,backwards:!1,before:null,center:null,cleartype:!e.support.opacity,cleartypeNoBg:!1,containerResize:1,containerResizeHeight:0,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:!0,metaAttr:"cycle",next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:!0,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:!1,slideExpr:null,slideResize:1,speed:1e3,speedIn:null,speedOut:null,startingSlide:t,sync:1,timeout:4e3,timeoutFn:null,updateActivePagerLink:null,width:null}}(jQuery),function(e){"use strict";e.fn.cycle.transitions.none=function(t,n,i){i.fxFn=function(t,n,i,c){e(n).show(),e(t).hide(),c()}},e.fn.cycle.transitions.fadeout=function(t,n,i){n.not(":eq("+i.currSlide+")").css({display:"block",opacity:1}),i.before.push(function(t,n,i,c,s,o){e(t).css("zIndex",i.slideCount+(o!==!0?1:0)),e(n).css("zIndex",i.slideCount+(o!==!0?0:1))}),i.animIn.opacity=1,i.animOut.opacity=0,i.cssBefore.opacity=1,i.cssBefore.display="block",i.cssAfter.zIndex=0},e.fn.cycle.transitions.scrollUp=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.height();i.cssBefore.top=c,i.cssBefore.left=0,i.cssFirst.top=0,i.animIn.top=0,i.animOut.top=-c},e.fn.cycle.transitions.scrollDown=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.height();i.cssFirst.top=0,i.cssBefore.top=-c,i.cssBefore.left=0,i.animIn.top=0,i.animOut.top=c},e.fn.cycle.transitions.scrollLeft=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.width();i.cssFirst.left=0,i.cssBefore.left=c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=0-c},e.fn.cycle.transitions.scrollRight=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.width();i.cssFirst.left=0,i.cssBefore.left=-c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=c},e.fn.cycle.transitions.scrollHorz=function(t,n,i){t.css("overflow","hidden").width(),i.before.push(function(t,n,i,c){i.rev&&(c=!c),e.fn.cycle.commonReset(t,n,i),i.cssBefore.left=c?n.cycleW-1:1-n.cycleW,i.animOut.left=c?-t.cycleW:t.cycleW}),i.cssFirst.left=0,i.cssBefore.top=0,i.animIn.left=0,i.animOut.top=0},e.fn.cycle.transitions.scrollVert=function(t,n,i){t.css("overflow","hidden"),i.before.push(function(t,n,i,c){i.rev&&(c=!c),e.fn.cycle.commonReset(t,n,i),i.cssBefore.top=c?1-n.cycleH:n.cycleH-1,i.animOut.top=c?t.cycleH:-t.cycleH}),i.cssFirst.top=0,i.cssBefore.left=0,i.animIn.top=0,i.animOut.left=0},e.fn.cycle.transitions.slideX=function(t,n,i){i.before.push(function(t,n,i){e(i.elements).not(t).hide(),e.fn.cycle.commonReset(t,n,i,!1,!0),i.animIn.width=n.cycleW}),i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.width=0,i.animIn.width="show",i.animOut.width=0},e.fn.cycle.transitions.slideY=function(t,n,i){i.before.push(function(t,n,i){e(i.elements).not(t).hide(),e.fn.cycle.commonReset(t,n,i,!0,!1),i.animIn.height=n.cycleH}),i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.height=0,i.animIn.height="show",i.animOut.height=0},e.fn.cycle.transitions.shuffle=function(t,n,i){var c,s=t.css("overflow","visible").width();for(n.css({left:0,top:0}),i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0)}),i.speedAdjusted||(i.speed=i.speed/2,i.speedAdjusted=!0),i.random=0,i.shuffle=i.shuffle||{left:-s,top:15},i.els=[],c=0;c<n.length;c++)i.els.push(n[c]);for(c=0;c<i.currSlide;c++)i.els.push(i.els.shift());i.fxFn=function(t,n,i,c,s){i.rev&&(s=!s);var o=e(s?t:n);e(n).css(i.cssBefore);var r=i.slideCount;o.animate(i.shuffle,i.speedIn,i.easeIn,function(){for(var n=e.fn.cycle.hopsFromLast(i,s),l=0;l<n;l++)s?i.els.push(i.els.shift()):i.els.unshift(i.els.pop());if(s)for(var a=0,f=i.els.length;a<f;a++)e(i.els[a]).css("z-index",f-a+r);else{var u=e(t).css("z-index");o.css("z-index",parseInt(u,10)+1+r)}o.animate({left:0,top:0},i.speedOut,i.easeOut,function(){e(s?this:t).hide(),c&&c()})})},e.extend(i.cssBefore,{display:"block",opacity:1,top:0,left:0})},e.fn.cycle.transitions.turnUp=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.cssBefore.top=n.cycleH,i.animIn.height=n.cycleH,i.animOut.width=n.cycleW}),i.cssFirst.top=0,i.cssBefore.left=0,i.cssBefore.height=0,i.animIn.top=0,i.animOut.height=0},e.fn.cycle.transitions.turnDown=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssFirst.top=0,i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.height=0,i.animOut.height=0},e.fn.cycle.transitions.turnLeft=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.cssBefore.left=n.cycleW,i.animIn.width=n.cycleW}),i.cssBefore.top=0,i.cssBefore.width=0,i.animIn.left=0,i.animOut.width=0},e.fn.cycle.transitions.turnRight=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.animIn.width=n.cycleW,i.animOut.left=t.cycleW}),e.extend(i.cssBefore,{top:0,left:0,width:0}),i.animIn.left=0,i.animOut.width=0},e.fn.cycle.transitions.zoom=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!1,!0),i.cssBefore.top=n.cycleH/2,i.cssBefore.left=n.cycleW/2,e.extend(i.animIn,{top:0,left:0,width:n.cycleW,height:n.cycleH}),e.extend(i.animOut,{width:0,height:0,top:t.cycleH/2,left:t.cycleW/2})}),i.cssFirst.top=0,i.cssFirst.left=0,i.cssBefore.width=0,i.cssBefore.height=0},e.fn.cycle.transitions.fadeZoom=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!1),i.cssBefore.left=n.cycleW/2,i.cssBefore.top=n.cycleH/2,e.extend(i.animIn,{top:0,left:0,width:n.cycleW,height:n.cycleH})}),i.cssBefore.width=0,i.cssBefore.height=0,i.animOut.opacity=0},e.fn.cycle.transitions.blindX=function(t,n,i){var c=t.css("overflow","hidden").width();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.width=n.cycleW,i.animOut.left=t.cycleW}),i.cssBefore.left=c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=c},e.fn.cycle.transitions.blindY=function(t,n,i){var c=t.css("overflow","hidden").height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssBefore.top=c,i.cssBefore.left=0,i.animIn.top=0,i.animOut.top=c},e.fn.cycle.transitions.blindZ=function(t,n,i){var c=t.css("overflow","hidden").height(),s=t.width();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssBefore.top=c,i.cssBefore.left=s,i.animIn.top=0,i.animIn.left=0,i.animOut.top=c,i.animOut.left=s},e.fn.cycle.transitions.growX=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.cssBefore.left=this.cycleW/2,i.animIn.left=0,i.animIn.width=this.cycleW,i.animOut.left=0}),i.cssBefore.top=0,i.cssBefore.width=0},e.fn.cycle.transitions.growY=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.cssBefore.top=this.cycleH/2,i.animIn.top=0,i.animIn.height=this.cycleH,i.animOut.top=0}),i.cssBefore.height=0,i.cssBefore.left=0},e.fn.cycle.transitions.curtainX=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0,!0),i.cssBefore.left=n.cycleW/2,i.animIn.left=0,i.animIn.width=this.cycleW,i.animOut.left=t.cycleW/2,i.animOut.width=0}),i.cssBefore.top=0,i.cssBefore.width=0},e.fn.cycle.transitions.curtainY=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1,!0),i.cssBefore.top=n.cycleH/2,i.animIn.top=0,i.animIn.height=n.cycleH,i.animOut.top=t.cycleH/2,i.animOut.height=0}),i.cssBefore.height=0,i.cssBefore.left=0},e.fn.cycle.transitions.cover=function(t,n,i){var c=i.direction||"left",s=t.css("overflow","hidden").width(),o=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),"right"==c?i.cssBefore.left=-s:"up"==c?i.cssBefore.top=o:"down"==c?i.cssBefore.top=-o:i.cssBefore.left=s}),i.animIn.left=0,i.animIn.top=0,i.cssBefore.top=0,i.cssBefore.left=0},e.fn.cycle.transitions.uncover=function(t,n,i){var c=i.direction||"left",s=t.css("overflow","hidden").width(),o=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0),"right"==c?i.animOut.left=s:"up"==c?i.animOut.top=-o:"down"==c?i.animOut.top=o:i.animOut.left=-s}),i.animIn.left=0,i.animIn.top=0,i.cssBefore.top=0,i.cssBefore.left=0},e.fn.cycle.transitions.toss=function(t,n,i){var c=t.css("overflow","visible").width(),s=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0),i.animOut.left||i.animOut.top?i.animOut.opacity=0:e.extend(i.animOut,{left:2*c,top:-s/2,opacity:0})}),i.cssBefore.left=0,i.cssBefore.top=0,i.animIn.left=0},e.fn.cycle.transitions.wipe=function(t,n,i){var c=t.css("overflow","hidden").width(),s=t.height();i.cssBefore=i.cssBefore||{};var o;if(i.clip)if(/l2r/.test(i.clip))o="rect(0px 0px "+s+"px 0px)";else if(/r2l/.test(i.clip))o="rect(0px "+c+"px "+s+"px "+c+"px)";else if(/t2b/.test(i.clip))o="rect(0px "+c+"px 0px 0px)";else if(/b2t/.test(i.clip))o="rect("+s+"px "+c+"px "+s+"px 0px)";else if(/zoom/.test(i.clip)){var r=parseInt(s/2,10),l=parseInt(c/2,10);o="rect("+r+"px "+l+"px "+r+"px "+l+"px)"}i.cssBefore.clip=i.cssBefore.clip||o||"rect(0px 0px 0px 0px)";var a=i.cssBefore.clip.match(/(\d+)/g),f=parseInt(a[0],10),u=parseInt(a[1],10),d=parseInt(a[2],10),h=parseInt(a[3],10);i.before.push(function(t,n,i){if(t!=n){var o=e(t),r=e(n);e.fn.cycle.commonReset(t,n,i,!0,!0,!1),i.cssAfter.display="block";var l=1,a=parseInt(i.speedIn/13,10)-1;!function e(){var t=f?f-parseInt(l*(f/a),10):0,n=h?h-parseInt(l*(h/a),10):0,i=d<s?d+parseInt(l*((s-d)/a||1),10):s,p=u<c?u+parseInt(l*((c-u)/a||1),10):c;r.css({clip:"rect("+t+"px "+p+"px "+i+"px "+n+"px)"}),l++<=a?setTimeout(e,13):o.css("display","none")}()}}),e.extend(i.cssBefore,{display:"block",opacity:1,top:0,left:0}),i.animIn={left:0},i.animOut={left:0}}}(jQuery);
\ No newline at end of file
+!function(e,t){"use strict";function n(t){e.fn.cycle.debug&&i(t)}function i(){window.console&&console.log&&console.log("[cycle] "+Array.prototype.join.call(arguments," "))}function c(t,n,i){var c=e(t).data("cycle.opts"),s=!!t.cyclePause;s&&c.paused?c.paused(t,c,n,i):!s&&c.resumed&&c.resumed(t,c,n,i)}function s(n,s,o){function l(t,n,c){if(!t&&!0===n){var s=e(c).data("cycle.opts");if(!s)return i("options not found, can not resume"),!1;c.cycleTimeout&&(clearTimeout(c.cycleTimeout),c.cycleTimeout=0),d(s.elements,s,1,!s.backwards)}}if(n.cycleStop===t&&(n.cycleStop=0),s!==t&&null!==s||(s={}),s.constructor==String){switch(s){case"destroy":case"stop":var a=e(n).data("cycle.opts");return!!a&&(n.cycleStop++,n.cycleTimeout&&clearTimeout(n.cycleTimeout),n.cycleTimeout=0,a.elements&&e(a.elements).stop(),e(n).removeData("cycle.opts"),"destroy"==s&&r(n,a),!1);case"toggle":return n.cyclePause=1===n.cyclePause?0:1,l(n.cyclePause,o,n),c(n),!1;case"pause":return n.cyclePause=1,c(n),!1;case"resume":return n.cyclePause=0,l(!1,o,n),c(n),!1;case"prev":case"next":return(a=e(n).data("cycle.opts"))?(e.fn.cycle[s](a),!1):(i('options not found, "prev/next" ignored'),!1);default:s={fx:s}}return s}if(s.constructor==Number){var f=s;return(s=e(n).data("cycle.opts"))?f<0||f>=s.elements.length?(i("invalid slide index: "+f),!1):(s.nextSlide=f,n.cycleTimeout&&(clearTimeout(n.cycleTimeout),n.cycleTimeout=0),"string"==typeof o&&(s.oneTimeFx=o),d(s.elements,s,1,f>=s.currSlide),!1):(i("options not found, can not advance slide"),!1)}return s}function o(t,n){if(!e.support.opacity&&n.cleartype&&t.style.filter)try{t.style.removeAttribute("filter")}catch(e){}}function r(t,n){n.next&&e(n.next).unbind(n.prevNextEvent),n.prev&&e(n.prev).unbind(n.prevNextEvent),(n.pager||n.pagerAnchorBuilder)&&e.each(n.pagerAnchors||[],function(){this.unbind().remove()}),n.pagerAnchors=null,e(t).unbind("mouseenter.cycle mouseleave.cycle"),n.destroy&&n.destroy(n)}function l(n,s,r,l,h){var g,x=e.extend({},e.fn.cycle.defaults,l||{},e.metadata?n.metadata():e.meta?n.data():{}),v=e.isFunction(n.data)?n.data(x.metaAttr):null;v&&(x=e.extend(x,v)),x.autostop&&(x.countdown=x.autostopCount||r.length);var w=n[0];if(n.data("cycle.opts",x),x.$cont=n,x.stopCount=w.cycleStop,x.elements=r,x.before=x.before?[x.before]:[],x.after=x.after?[x.after]:[],!e.support.opacity&&x.cleartype&&x.after.push(function(){o(this,x)}),x.continuous&&x.after.push(function(){d(r,x,0,!x.backwards)}),a(x),e.support.opacity||!x.cleartype||x.cleartypeNoBg||y(s),"static"==n.css("position")&&n.css("position","relative"),x.width&&n.width(x.width),x.height&&"auto"!=x.height&&n.height(x.height),x.startingSlide!==t?(x.startingSlide=parseInt(x.startingSlide,10),x.startingSlide>=r.length||x.startSlide<0?x.startingSlide=0:g=!0):x.backwards?x.startingSlide=r.length-1:x.startingSlide=0,x.random){x.randomMap=[];for(var b=0;b<r.length;b++)x.randomMap.push(b);if(x.randomMap.sort(function(e,t){return Math.random()-.5}),g)for(var S=0;S<r.length;S++)x.startingSlide==x.randomMap[S]&&(x.randomIndex=S);else x.randomIndex=1,x.startingSlide=x.randomMap[1]}else x.startingSlide>=r.length&&(x.startingSlide=0);x.currSlide=x.startingSlide||0;var B=x.startingSlide;if(s.css({position:"absolute",top:0,left:0}).hide().each(function(t){var n;n=x.backwards?B?t<=B?r.length+(t-B):B-t:r.length-t:B?t>=B?r.length-(t-B):B-t:r.length-t,e(this).css("z-index",n)}),e(r[B]).css("opacity",1).show(),o(r[B],x),x.fit&&(x.aspect?s.each(function(){var t=e(this),n=!0===x.aspect?t.width()/t.height():x.aspect;x.width&&t.width()!=x.width&&(t.width(x.width),t.height(x.width/n)),x.height&&t.height()<x.height&&(t.height(x.height),t.width(x.height*n))}):(x.width&&s.width(x.width),x.height&&"auto"!=x.height&&s.height(x.height))),!x.center||x.fit&&!x.aspect||s.each(function(){var t=e(this);t.css({"margin-left":x.width?(x.width-t.width())/2+"px":0,"margin-top":x.height?(x.height-t.height())/2+"px":0})}),!x.center||x.fit||x.slideResize||s.each(function(){var t=e(this);t.css({"margin-left":x.width?(x.width-t.width())/2+"px":0,"margin-top":x.height?(x.height-t.height())/2+"px":0})}),(x.containerResize||x.containerResizeHeight)&&!n.innerHeight()){for(var I=0,O=0,F=0;F<r.length;F++){var H=e(r[F]),A=H[0],k=H.outerWidth(),T=H.outerHeight();k||(k=A.offsetWidth||A.width||H.attr("width")),T||(T=A.offsetHeight||A.height||H.attr("height")),I=k>I?k:I,O=T>O?T:O}x.containerResize&&I>0&&O>0&&n.css({width:I+"px",height:O+"px"}),x.containerResizeHeight&&O>0&&n.css({height:O+"px"})}var R=!1;if(x.pause&&n.bind("mouseenter.cycle",function(){R=!0,this.cyclePause++,c(w,!0)}).bind("mouseleave.cycle",function(){R&&this.cyclePause--,c(w,!0)}),!1===f(x))return!1;var W=!1;if(l.requeueAttempts=l.requeueAttempts||0,s.each(function(){var t=e(this);if(this.cycleH=x.fit&&x.height?x.height:t.height()||this.offsetHeight||this.height||t.attr("height")||0,this.cycleW=x.fit&&x.width?x.width:t.width()||this.offsetWidth||this.width||t.attr("width")||0,t.is("img")){var n=e.browser.msie&&28==this.cycleW&&30==this.cycleH&&!this.complete,c=e.browser.mozilla&&34==this.cycleW&&19==this.cycleH&&!this.complete,s=e.browser.opera&&(42==this.cycleW&&19==this.cycleH||37==this.cycleW&&17==this.cycleH)&&!this.complete,o=0===this.cycleH&&0===this.cycleW&&!this.complete;if(n||c||s||o){if(h.s&&x.requeueOnImageNotLoaded&&++l.requeueAttempts<100)return i(l.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH),setTimeout(function(){e(h.s,h.c).cycle(l)},x.requeueTimeout),W=!0,!1;i("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}}return!0}),W)return!1;if(x.cssBefore=x.cssBefore||{},x.cssAfter=x.cssAfter||{},x.cssFirst=x.cssFirst||{},x.animIn=x.animIn||{},x.animOut=x.animOut||{},s.not(":eq("+B+")").css(x.cssBefore),e(s[B]).css(x.cssFirst),x.timeout){x.timeout=parseInt(x.timeout,10),x.speed.constructor==String&&(x.speed=e.fx.speeds[x.speed]||parseInt(x.speed,10)),x.sync||(x.speed=x.speed/2);for(var P="none"==x.fx?0:"shuffle"==x.fx?500:250;x.timeout-x.speed<P;)x.timeout+=x.speed}if(x.easing&&(x.easeIn=x.easeOut=x.easing),x.speedIn||(x.speedIn=x.speed),x.speedOut||(x.speedOut=x.speed),x.slideCount=r.length,x.currSlide=x.lastSlide=B,x.random?(++x.randomIndex==r.length&&(x.randomIndex=0),x.nextSlide=x.randomMap[x.randomIndex]):x.backwards?x.nextSlide=0===x.startingSlide?r.length-1:x.startingSlide-1:x.nextSlide=x.startingSlide>=r.length-1?0:x.startingSlide+1,!x.multiFx){var z=e.fn.cycle.transitions[x.fx];if(e.isFunction(z))z(n,s,x);else if("custom"!=x.fx&&!x.multiFx)return i("unknown transition: "+x.fx,"; slideshow terminating"),!1}var C=s[B];return x.skipInitializationCallbacks||(x.before.length&&x.before[0].apply(C,[C,C,x,!0]),x.after.length&&x.after[0].apply(C,[C,C,x,!0])),x.next&&e(x.next).bind(x.prevNextEvent,function(){return p(x,1)}),x.prev&&e(x.prev).bind(x.prevNextEvent,function(){return p(x,0)}),(x.pager||x.pagerAnchorBuilder)&&m(r,x),u(x,r),x}function a(t){t.original={before:[],after:[]},t.original.cssBefore=e.extend({},t.cssBefore),t.original.cssAfter=e.extend({},t.cssAfter),t.original.animIn=e.extend({},t.animIn),t.original.animOut=e.extend({},t.animOut),e.each(t.before,function(){t.original.before.push(this)}),e.each(t.after,function(){t.original.after.push(this)})}function f(t){var c,s,o=e.fn.cycle.transitions;if(t.fx.indexOf(",")>0){for(t.multiFx=!0,t.fxs=t.fx.replace(/\s*/g,"").split(","),c=0;c<t.fxs.length;c++){var r=t.fxs[c];s=o[r],s&&o.hasOwnProperty(r)&&e.isFunction(s)||(i("discarding unknown transition: ",r),t.fxs.splice(c,1),c--)}if(!t.fxs.length)return i("No valid transitions named; slideshow terminating."),!1}else if("all"==t.fx){t.multiFx=!0,t.fxs=[];for(var l in o)o.hasOwnProperty(l)&&(s=o[l],o.hasOwnProperty(l)&&e.isFunction(s)&&t.fxs.push(l))}if(t.multiFx&&t.randomizeEffects){var a=Math.floor(20*Math.random())+30;for(c=0;c<a;c++){var f=Math.floor(Math.random()*t.fxs.length);t.fxs.push(t.fxs.splice(f,1)[0])}n("randomized fx sequence: ",t.fxs)}return!0}function u(t,n){t.addSlide=function(i,c){var s=e(i),o=s[0];t.autostopCount||t.countdown++,n[c?"unshift":"push"](o),t.els&&t.els[c?"unshift":"push"](o),t.slideCount=n.length,t.random&&(t.randomMap.push(t.slideCount-1),t.randomMap.sort(function(e,t){return Math.random()-.5})),s.css("position","absolute"),s[c?"prependTo":"appendTo"](t.$cont),c&&(t.currSlide++,t.nextSlide++),e.support.opacity||!t.cleartype||t.cleartypeNoBg||y(s),t.fit&&t.width&&s.width(t.width),t.fit&&t.height&&"auto"!=t.height&&s.height(t.height),o.cycleH=t.fit&&t.height?t.height:s.height(),o.cycleW=t.fit&&t.width?t.width:s.width(),s.css(t.cssBefore),(t.pager||t.pagerAnchorBuilder)&&e.fn.cycle.createPagerAnchor(n.length-1,o,e(t.pager),n,t),e.isFunction(t.onAddSlide)?t.onAddSlide(s):s.hide()}}function d(i,c,s,o){function r(){var e=0;c.timeout;c.timeout&&!c.continuous?(e=h(i[c.currSlide],i[c.nextSlide],c,o),"shuffle"==c.fx&&(e-=c.speedOut)):c.continuous&&l.cyclePause&&(e=10),e>0&&(l.cycleTimeout=setTimeout(function(){d(i,c,0,!c.backwards)},e))}var l=c.$cont[0],a=i[c.currSlide],f=i[c.nextSlide];if(s&&c.busy&&c.manualTrump&&(n("manualTrump in go(), stopping active transition"),e(i).stop(!0,!0),c.busy=0,clearTimeout(l.cycleTimeout)),c.busy)return void n("transition active, ignoring new tx request");if(l.cycleStop==c.stopCount&&(0!==l.cycleTimeout||s)){if(!s&&!l.cyclePause&&!c.bounce&&(c.autostop&&--c.countdown<=0||c.nowrap&&!c.random&&c.nextSlide<c.currSlide))return void(c.end&&c.end(c));var u=!1;if(!s&&l.cyclePause||c.nextSlide==c.currSlide)r();else{u=!0;var p=c.fx;a.cycleH=a.cycleH||e(a).height(),a.cycleW=a.cycleW||e(a).width(),f.cycleH=f.cycleH||e(f).height(),f.cycleW=f.cycleW||e(f).width(),c.multiFx&&(o&&(c.lastFx===t||++c.lastFx>=c.fxs.length)?c.lastFx=0:!o&&(c.lastFx===t||--c.lastFx<0)&&(c.lastFx=c.fxs.length-1),p=c.fxs[c.lastFx]),c.oneTimeFx&&(p=c.oneTimeFx,c.oneTimeFx=null),e.fn.cycle.resetState(c,p),c.before.length&&e.each(c.before,function(e,t){l.cycleStop==c.stopCount&&t.apply(f,[a,f,c,o])});var m=function(){c.busy=0,e.each(c.after,function(e,t){l.cycleStop==c.stopCount&&t.apply(f,[a,f,c,o])}),l.cycleStop||r()};n("tx firing("+p+"); currSlide: "+c.currSlide+"; nextSlide: "+c.nextSlide),c.busy=1,c.fxFn?c.fxFn(a,f,c,m,o,s&&c.fastOnEvent):e.isFunction(e.fn.cycle[c.fx])?e.fn.cycle[c.fx](a,f,c,m,o,s&&c.fastOnEvent):e.fn.cycle.custom(a,f,c,m,o,s&&c.fastOnEvent)}if(u||c.nextSlide==c.currSlide){var y;c.lastSlide=c.currSlide,c.random?(c.currSlide=c.nextSlide,++c.randomIndex==i.length&&(c.randomIndex=0,c.randomMap.sort(function(e,t){return Math.random()-.5})),c.nextSlide=c.randomMap[c.randomIndex],c.nextSlide==c.currSlide&&(c.nextSlide=c.currSlide==c.slideCount-1?0:c.currSlide+1)):c.backwards?(y=c.nextSlide-1<0,y&&c.bounce?(c.backwards=!c.backwards,c.nextSlide=1,c.currSlide=0):(c.nextSlide=y?i.length-1:c.nextSlide-1,c.currSlide=y?0:c.nextSlide+1)):(y=c.nextSlide+1==i.length,y&&c.bounce?(c.backwards=!c.backwards,c.nextSlide=i.length-2,c.currSlide=i.length-1):(c.nextSlide=y?0:c.nextSlide+1,c.currSlide=y?i.length-1:c.nextSlide-1))}u&&c.pager&&c.updateActivePagerLink(c.pager,c.currSlide,c.activePagerClass)}}function h(e,t,i,c){if(i.timeoutFn){for(var s=i.timeoutFn.call(e,e,t,i,c);"none"!=i.fx&&s-i.speed<250;)s+=i.speed;if(n("calculated timeout: "+s+"; speed: "+i.speed),!1!==s)return s}return i.timeout}function p(t,n){var i=n?1:-1,c=t.elements,s=t.$cont[0],o=s.cycleTimeout;if(o&&(clearTimeout(o),s.cycleTimeout=0),t.random&&i<0)t.randomIndex--,-2==--t.randomIndex?t.randomIndex=c.length-2:-1==t.randomIndex&&(t.randomIndex=c.length-1),t.nextSlide=t.randomMap[t.randomIndex];else if(t.random)t.nextSlide=t.randomMap[t.randomIndex];else if(t.nextSlide=t.currSlide+i,t.nextSlide<0){if(t.nowrap)return!1;t.nextSlide=c.length-1}else if(t.nextSlide>=c.length){if(t.nowrap)return!1;t.nextSlide=0}var r=t.onPrevNextEvent||t.prevNextClick;return e.isFunction(r)&&r(i>0,t.nextSlide,c[t.nextSlide]),d(c,t,1,n),!1}function m(t,n){var i=e(n.pager);e.each(t,function(c,s){e.fn.cycle.createPagerAnchor(c,s,i,t,n)}),n.updateActivePagerLink(n.pager,n.startingSlide,n.activePagerClass)}function y(t){function i(e){return e=parseInt(e,10).toString(16),e.length<2?"0"+e:e}function c(t){for(;t&&"html"!=t.nodeName.toLowerCase();t=t.parentNode){var n=e.css(t,"background-color");if(n&&n.indexOf("rgb")>=0){var c=n.match(/\d+/g);return"#"+i(c[0])+i(c[1])+i(c[2])}if(n&&"transparent"!=n)return n}return"#ffffff"}n("applying clearType background-color hack"),t.each(function(){e(this).css("background-color",c(this))})}e.support===t&&(e.support={opacity:!e.browser.msie}),e.expr[":"].paused=function(e){return e.cyclePause},e.fn.cycle=function(t,c){var o={s:this.selector,c:this.context};return 0===this.length&&"stop"!=t?!e.isReady&&o.s?(i("DOM not ready, queuing slideshow"),e(function(){e(o.s,o.c).cycle(t,c)}),this):(i("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this):this.each(function(){var r=s(this,t,c);if(!1!==r){r.updateActivePagerLink=r.updateActivePagerLink||e.fn.cycle.updateActivePagerLink,this.cycleTimeout&&clearTimeout(this.cycleTimeout),this.cycleTimeout=this.cyclePause=0,this.cycleStop=0;var a=e(this),f=r.slideExpr?e(r.slideExpr,this):a.children(),u=f.get();if(u.length<2)return void i("terminating; too few slides: "+u.length);var p=l(a,f,u,r,o);if(!1!==p){var m=p.continuous?10:h(u[p.currSlide],u[p.nextSlide],p,!p.backwards);m&&(m+=p.delay||0,m<10&&(m=10),n("first timeout: "+m),this.cycleTimeout=setTimeout(function(){d(u,p,0,!r.backwards)},m))}}})},e.fn.cycle.resetState=function(t,n){n=n||t.fx,t.before=[],t.after=[],t.cssBefore=e.extend({},t.original.cssBefore),t.cssAfter=e.extend({},t.original.cssAfter),t.animIn=e.extend({},t.original.animIn),t.animOut=e.extend({},t.original.animOut),t.fxFn=null,e.each(t.original.before,function(){t.before.push(this)}),e.each(t.original.after,function(){t.after.push(this)});var i=e.fn.cycle.transitions[n];e.isFunction(i)&&i(t.$cont,e(t.elements),t)},e.fn.cycle.updateActivePagerLink=function(t,n,i){e(t).each(function(){e(this).children().removeClass(i).eq(n).addClass(i)})},e.fn.cycle.next=function(e){p(e,1)},e.fn.cycle.prev=function(e){p(e,0)},e.fn.cycle.createPagerAnchor=function(t,i,s,o,r){var l;if(e.isFunction(r.pagerAnchorBuilder)?(l=r.pagerAnchorBuilder(t,i),n("pagerAnchorBuilder("+t+", el) returned: "+l)):l='<a href="#">'+(t+1)+"</a>",l){var a=e(l);if(0===a.parents("body").length){var f=[];s.length>1?(s.each(function(){var t=a.clone(!0);e(this).append(t),f.push(t[0])}),a=e(f)):a.appendTo(s)}r.pagerAnchors=r.pagerAnchors||[],r.pagerAnchors.push(a);var u=function(n){n.preventDefault(),r.nextSlide=t;var i=r.$cont[0],c=i.cycleTimeout;c&&(clearTimeout(c),i.cycleTimeout=0);var s=r.onPagerEvent||r.pagerClick;e.isFunction(s)&&s(r.nextSlide,o[r.nextSlide]),d(o,r,1,r.currSlide<t)};/mouseenter|mouseover/i.test(r.pagerEvent)?a.hover(u,function(){}):a.bind(r.pagerEvent,u),/^click/.test(r.pagerEvent)||r.allowPagerClickBubble||a.bind("click.cycle",function(){return!1});var h=r.$cont[0],p=!1;r.pauseOnPagerHover&&a.hover(function(){p=!0,h.cyclePause++,c(h,!0,!0)},function(){p&&h.cyclePause--,c(h,!0,!0)})}},e.fn.cycle.hopsFromLast=function(e,t){var n=e.lastSlide,i=e.currSlide;return t?i>n?i-n:e.slideCount-n:i<n?n-i:n+e.slideCount-i},e.fn.cycle.commonReset=function(t,n,i,c,s,o){e(i.elements).not(t).hide(),void 0===i.cssBefore.opacity&&(i.cssBefore.opacity=1),i.cssBefore.display="block",i.slideResize&&!1!==c&&n.cycleW>0&&(i.cssBefore.width=n.cycleW),i.slideResize&&!1!==s&&n.cycleH>0&&(i.cssBefore.height=n.cycleH),i.cssAfter=i.cssAfter||{},i.cssAfter.display="none",e(t).css("zIndex",i.slideCount+(!0===o?1:0)),e(n).css("zIndex",i.slideCount+(!0===o?0:1))},e.fn.cycle.custom=function(t,n,i,c,s,o){var r=e(t),l=e(n),a=i.speedIn,f=i.speedOut,u=i.easeIn,d=i.easeOut;l.css(i.cssBefore),o&&(a=f="number"==typeof o?o:1,u=d=null);var h=function(){l.animate(i.animIn,a,u,function(){c()})};r.animate(i.animOut,f,d,function(){r.css(i.cssAfter),i.sync||h()}),i.sync&&h()},e.fn.cycle.transitions={fade:function(t,n,i){n.not(":eq("+i.currSlide+")").css("opacity",0),i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.cssBefore.opacity=0}),i.animIn={opacity:1},i.animOut={opacity:0},i.cssBefore={top:0,left:0}}},e.fn.cycle.ver=function(){return"2.9999.6"},e.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:!1,animIn:null,animOut:null,aspect:!1,autostop:0,autostopCount:0,backwards:!1,before:null,center:null,cleartype:!e.support.opacity,cleartypeNoBg:!1,containerResize:1,containerResizeHeight:0,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:!0,metaAttr:"cycle",next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:!0,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:!1,slideExpr:null,slideResize:1,speed:1e3,speedIn:null,speedOut:null,startingSlide:t,sync:1,timeout:4e3,timeoutFn:null,updateActivePagerLink:null,width:null}}(jQuery),function(e){"use strict";e.fn.cycle.transitions.none=function(t,n,i){i.fxFn=function(t,n,i,c){e(n).show(),e(t).hide(),c()}},e.fn.cycle.transitions.fadeout=function(t,n,i){n.not(":eq("+i.currSlide+")").css({display:"block",opacity:1}),i.before.push(function(t,n,i,c,s,o){e(t).css("zIndex",i.slideCount+(!0!==o?1:0)),e(n).css("zIndex",i.slideCount+(!0!==o?0:1))}),i.animIn.opacity=1,i.animOut.opacity=0,i.cssBefore.opacity=1,i.cssBefore.display="block",i.cssAfter.zIndex=0},e.fn.cycle.transitions.scrollUp=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.height();i.cssBefore.top=c,i.cssBefore.left=0,i.cssFirst.top=0,i.animIn.top=0,i.animOut.top=-c},e.fn.cycle.transitions.scrollDown=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.height();i.cssFirst.top=0,i.cssBefore.top=-c,i.cssBefore.left=0,i.animIn.top=0,i.animOut.top=c},e.fn.cycle.transitions.scrollLeft=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.width();i.cssFirst.left=0,i.cssBefore.left=c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=0-c},e.fn.cycle.transitions.scrollRight=function(t,n,i){t.css("overflow","hidden"),i.before.push(e.fn.cycle.commonReset);var c=t.width();i.cssFirst.left=0,i.cssBefore.left=-c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=c},e.fn.cycle.transitions.scrollHorz=function(t,n,i){t.css("overflow","hidden").width(),i.before.push(function(t,n,i,c){i.rev&&(c=!c),e.fn.cycle.commonReset(t,n,i),i.cssBefore.left=c?n.cycleW-1:1-n.cycleW,i.animOut.left=c?-t.cycleW:t.cycleW}),i.cssFirst.left=0,i.cssBefore.top=0,i.animIn.left=0,i.animOut.top=0},e.fn.cycle.transitions.scrollVert=function(t,n,i){t.css("overflow","hidden"),i.before.push(function(t,n,i,c){i.rev&&(c=!c),e.fn.cycle.commonReset(t,n,i),i.cssBefore.top=c?1-n.cycleH:n.cycleH-1,i.animOut.top=c?t.cycleH:-t.cycleH}),i.cssFirst.top=0,i.cssBefore.left=0,i.animIn.top=0,i.animOut.left=0},e.fn.cycle.transitions.slideX=function(t,n,i){i.before.push(function(t,n,i){e(i.elements).not(t).hide(),e.fn.cycle.commonReset(t,n,i,!1,!0),i.animIn.width=n.cycleW}),i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.width=0,i.animIn.width="show",i.animOut.width=0},e.fn.cycle.transitions.slideY=function(t,n,i){i.before.push(function(t,n,i){e(i.elements).not(t).hide(),e.fn.cycle.commonReset(t,n,i,!0,!1),i.animIn.height=n.cycleH}),i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.height=0,i.animIn.height="show",i.animOut.height=0},e.fn.cycle.transitions.shuffle=function(t,n,i){var c,s=t.css("overflow","visible").width();for(n.css({left:0,top:0}),i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0)}),i.speedAdjusted||(i.speed=i.speed/2,i.speedAdjusted=!0),i.random=0,i.shuffle=i.shuffle||{left:-s,top:15},i.els=[],c=0;c<n.length;c++)i.els.push(n[c]);for(c=0;c<i.currSlide;c++)i.els.push(i.els.shift());i.fxFn=function(t,n,i,c,s){i.rev&&(s=!s);var o=e(s?t:n);e(n).css(i.cssBefore);var r=i.slideCount;o.animate(i.shuffle,i.speedIn,i.easeIn,function(){for(var n=e.fn.cycle.hopsFromLast(i,s),l=0;l<n;l++)s?i.els.push(i.els.shift()):i.els.unshift(i.els.pop());if(s)for(var a=0,f=i.els.length;a<f;a++)e(i.els[a]).css("z-index",f-a+r);else{var u=e(t).css("z-index");o.css("z-index",parseInt(u,10)+1+r)}o.animate({left:0,top:0},i.speedOut,i.easeOut,function(){e(s?this:t).hide(),c&&c()})})},e.extend(i.cssBefore,{display:"block",opacity:1,top:0,left:0})},e.fn.cycle.transitions.turnUp=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.cssBefore.top=n.cycleH,i.animIn.height=n.cycleH,i.animOut.width=n.cycleW}),i.cssFirst.top=0,i.cssBefore.left=0,i.cssBefore.height=0,i.animIn.top=0,i.animOut.height=0},e.fn.cycle.transitions.turnDown=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssFirst.top=0,i.cssBefore.left=0,i.cssBefore.top=0,i.cssBefore.height=0,i.animOut.height=0},e.fn.cycle.transitions.turnLeft=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.cssBefore.left=n.cycleW,i.animIn.width=n.cycleW}),i.cssBefore.top=0,i.cssBefore.width=0,i.animIn.left=0,i.animOut.width=0},e.fn.cycle.transitions.turnRight=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.animIn.width=n.cycleW,i.animOut.left=t.cycleW}),e.extend(i.cssBefore,{top:0,left:0,width:0}),i.animIn.left=0,i.animOut.width=0},e.fn.cycle.transitions.zoom=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!1,!0),i.cssBefore.top=n.cycleH/2,i.cssBefore.left=n.cycleW/2,e.extend(i.animIn,{top:0,left:0,width:n.cycleW,height:n.cycleH}),e.extend(i.animOut,{width:0,height:0,top:t.cycleH/2,left:t.cycleW/2})}),i.cssFirst.top=0,i.cssFirst.left=0,i.cssBefore.width=0,i.cssBefore.height=0},e.fn.cycle.transitions.fadeZoom=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!1),i.cssBefore.left=n.cycleW/2,i.cssBefore.top=n.cycleH/2,e.extend(i.animIn,{top:0,left:0,width:n.cycleW,height:n.cycleH})}),i.cssBefore.width=0,i.cssBefore.height=0,i.animOut.opacity=0},e.fn.cycle.transitions.blindX=function(t,n,i){var c=t.css("overflow","hidden").width();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.width=n.cycleW,i.animOut.left=t.cycleW}),i.cssBefore.left=c,i.cssBefore.top=0,i.animIn.left=0,i.animOut.left=c},e.fn.cycle.transitions.blindY=function(t,n,i){var c=t.css("overflow","hidden").height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssBefore.top=c,i.cssBefore.left=0,i.animIn.top=0,i.animOut.top=c},e.fn.cycle.transitions.blindZ=function(t,n,i){var c=t.css("overflow","hidden").height(),s=t.width();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),i.animIn.height=n.cycleH,i.animOut.top=t.cycleH}),i.cssBefore.top=c,i.cssBefore.left=s,i.animIn.top=0,i.animIn.left=0,i.animOut.top=c,i.animOut.left=s},e.fn.cycle.transitions.growX=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0),i.cssBefore.left=this.cycleW/2,i.animIn.left=0,i.animIn.width=this.cycleW,i.animOut.left=0}),i.cssBefore.top=0,i.cssBefore.width=0},e.fn.cycle.transitions.growY=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1),i.cssBefore.top=this.cycleH/2,i.animIn.top=0,i.animIn.height=this.cycleH,i.animOut.top=0}),i.cssBefore.height=0,i.cssBefore.left=0},e.fn.cycle.transitions.curtainX=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!1,!0,!0),i.cssBefore.left=n.cycleW/2,i.animIn.left=0,i.animIn.width=this.cycleW,i.animOut.left=t.cycleW/2,i.animOut.width=0}),i.cssBefore.top=0,i.cssBefore.width=0},e.fn.cycle.transitions.curtainY=function(t,n,i){i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!1,!0),i.cssBefore.top=n.cycleH/2,i.animIn.top=0,i.animIn.height=n.cycleH,i.animOut.top=t.cycleH/2,i.animOut.height=0}),i.cssBefore.height=0,i.cssBefore.left=0},e.fn.cycle.transitions.cover=function(t,n,i){var c=i.direction||"left",s=t.css("overflow","hidden").width(),o=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i),"right"==c?i.cssBefore.left=-s:"up"==c?i.cssBefore.top=o:"down"==c?i.cssBefore.top=-o:i.cssBefore.left=s}),i.animIn.left=0,i.animIn.top=0,i.cssBefore.top=0,i.cssBefore.left=0},e.fn.cycle.transitions.uncover=function(t,n,i){var c=i.direction||"left",s=t.css("overflow","hidden").width(),o=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0),"right"==c?i.animOut.left=s:"up"==c?i.animOut.top=-o:"down"==c?i.animOut.top=o:i.animOut.left=-s}),i.animIn.left=0,i.animIn.top=0,i.cssBefore.top=0,i.cssBefore.left=0},e.fn.cycle.transitions.toss=function(t,n,i){var c=t.css("overflow","visible").width(),s=t.height();i.before.push(function(t,n,i){e.fn.cycle.commonReset(t,n,i,!0,!0,!0),i.animOut.left||i.animOut.top?i.animOut.opacity=0:e.extend(i.animOut,{left:2*c,top:-s/2,opacity:0})}),i.cssBefore.left=0,i.cssBefore.top=0,i.animIn.left=0},e.fn.cycle.transitions.wipe=function(t,n,i){var c=t.css("overflow","hidden").width(),s=t.height();i.cssBefore=i.cssBefore||{};var o;if(i.clip)if(/l2r/.test(i.clip))o="rect(0px 0px "+s+"px 0px)";else if(/r2l/.test(i.clip))o="rect(0px "+c+"px "+s+"px "+c+"px)";else if(/t2b/.test(i.clip))o="rect(0px "+c+"px 0px 0px)";else if(/b2t/.test(i.clip))o="rect("+s+"px "+c+"px "+s+"px 0px)";else if(/zoom/.test(i.clip)){var r=parseInt(s/2,10),l=parseInt(c/2,10);o="rect("+r+"px "+l+"px "+r+"px "+l+"px)"}i.cssBefore.clip=i.cssBefore.clip||o||"rect(0px 0px 0px 0px)";var a=i.cssBefore.clip.match(/(\d+)/g),f=parseInt(a[0],10),u=parseInt(a[1],10),d=parseInt(a[2],10),h=parseInt(a[3],10);i.before.push(function(t,n,i){if(t!=n){var o=e(t),r=e(n);e.fn.cycle.commonReset(t,n,i,!0,!0,!1),i.cssAfter.display="block";var l=1,a=parseInt(i.speedIn/13,10)-1;!function e(){var t=f?f-parseInt(l*(f/a),10):0,n=h?h-parseInt(l*(h/a),10):0,i=d<s?d+parseInt(l*((s-d)/a||1),10):s,p=u<c?u+parseInt(l*((c-u)/a||1),10):c;r.css({clip:"rect("+t+"px "+p+"px "+i+"px "+n+"px)"}),l++<=a?setTimeout(e,13):o.css("display","none")}()}}),e.extend(i.cssBefore,{display:"block",opacity:1,top:0,left:0}),i.animIn={left:0},i.animOut={left:0}}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.min.js
index 148a48346fefdaa5c43d08d284bdec3439ccc0c2..de819e22e3e0bbf8503e0c339f041b5ba8c7991f 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.min.js
@@ -1 +1 @@
-!function(e){var r="waitForImages";e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},e.expr[":"].uncached=function(r){if(!e(r).is('img[src!=""]'))return!1;var n=new Image;return n.src=r.src,!n.complete},e.fn.waitForImages=function(n,a,i){var c=0,t=0;if(e.isPlainObject(arguments[0])&&(n=arguments[0].finished,a=arguments[0].each,i=arguments[0].waitForAll),n=n||e.noop,a=a||e.noop,i=!!i,!e.isFunction(n)||!e.isFunction(a))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var s=e(this),o=[],u=e.waitForImages.hasImageProperties||[],l=/url\(\s*(['"]?)(.*?)\1\s*\)/g;i?s.find("*").andSelf().each(function(){var r=e(this);r.is("img:uncached")&&o.push({src:r.attr("src"),element:r[0]}),e.each(u,function(e,n){var a,i=r.css(n);if(!i)return!0;for(;a=l.exec(i);)o.push({src:a[2],element:r[0]})})}):s.find("img:uncached").each(function(){o.push({src:this.src,element:this})}),c=o.length,t=0,0===c&&n.call(s[0]),e.each(o,function(i,o){var u=new Image;e(u).bind("load."+r+" error."+r,function(e){if(t++,a.call(o.element,t,c,"load"==e.type),t==c)return n.call(s[0]),!1}),u.src=o.src})})}}(jQuery);
\ No newline at end of file
+!function(e){e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},e.expr[":"].uncached=function(r){if(!e(r).is('img[src!=""]'))return!1;var n=new Image;return n.src=r.src,!n.complete},e.fn.waitForImages=function(r,n,a){var i=0,c=0;if(e.isPlainObject(arguments[0])&&(r=arguments[0].finished,n=arguments[0].each,a=arguments[0].waitForAll),r=r||e.noop,n=n||e.noop,a=!!a,!e.isFunction(r)||!e.isFunction(n))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var t=e(this),s=[],o=e.waitForImages.hasImageProperties||[],u=/url\(\s*(['"]?)(.*?)\1\s*\)/g;a?t.find("*").andSelf().each(function(){var r=e(this);r.is("img:uncached")&&s.push({src:r.attr("src"),element:r[0]}),e.each(o,function(e,n){var a,i=r.css(n);if(!i)return!0;for(;a=u.exec(i);)s.push({src:a[2],element:r[0]})})}):t.find("img:uncached").each(function(){s.push({src:this.src,element:this})}),i=s.length,c=0,0===i&&r.call(t[0]),e.each(s,function(a,s){var o=new Image;e(o).bind("load.waitForImages error.waitForImages",function(e){if(c++,n.call(s.element,c,i,"load"==e.type),c==i)return r.call(t[0]),!1}),o.src=s.src})})}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.min.css
index b7d03fc71756bb84ed0d3772197271aed972337d..0400dd44068cb77c2e0b9b8b8943e944076dc27c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.min.css
@@ -1 +1 @@
-.ngg-slideshow,.slideshow{margin-left:auto;margin-right:auto;text-align:center}.ngg-slideshow *,.ngg-slideshow-loader{vertical-align:middle}#page{overflow:visible}.slideshow{outline:0}.ngg-slideshow{overflow:hidden;position:relative;clear:both;z-index:0}.ngg-slideshow img{max-width:100%!important;max-height:100%;width:auto;height:auto;border:none}.ngg-slideshow .ngg-gallery-slideshow-image{position:relative;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}.ngg-slideshow .image-placeholder{visibility:hidden}.ngg-slideshow-loader{display:table-cell;text-align:center}.ngg-slideshow-loader img{background:0 0!important;border:0!important;margin:auto!important}
\ No newline at end of file
+#page{overflow:visible}.slideshow{margin-left:auto;margin-right:auto;text-align:center;outline:0}.ngg-slideshow{overflow:hidden;position:relative;margin-left:auto;margin-right:auto;text-align:center;clear:both;z-index:0}.ngg-slideshow *{vertical-align:middle}.ngg-slideshow img{max-width:100%!important;max-height:100%;width:auto;height:auto;border:none}.ngg-slideshow .ngg-gallery-slideshow-image{position:relative;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}.ngg-slideshow .image-placeholder{visibility:hidden}.ngg-slideshow-loader{display:table-cell;text-align:center;vertical-align:middle}.ngg-slideshow-loader img{background:0 0!important;border:0 none!important;margin:auto!important}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg
index f3da223cf6b1c0f2cb87120c54a609ca83222069..40fbe28389c7f391db90257b3e7e61625a732854 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg
index 413a59cf028c06c6ef4b5c62f5caf2f781fca411..031772f859e54e635f15e4d62a7c97b016e50128 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.css
index a2c0a8af45a3b5e314b22bc8d6b47b082ce39caa..7de1c82e435fb104d4ce19b41d7f6e48ecf7b116 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.css
@@ -1 +1 @@
-.ngg-galleryoverview{overflow:hidden;margin-top:10px;width:100%;clear:both;display:block!important}.ngg-galleryoverview .desc{margin:0 10px 10px 0;padding:5px}.ngg-gallery-thumbnail-box{float:left;max-width:100%!important}.ngg-template-caption .ngg-gallery-thumbnail-box{margin-right:0}.ngg-gallery-thumbnail{text-align:center;max-width:100%!important;background-color:#FFF;border:1px solid #A9A9A9;margin:5px}.ngg-template-caption .ngg-gallery-thumbnail{margin-right:0}.ngg-gallery-thumbnail a{display:block;margin:4px;border:none;box-shadow:none}.ngg-gallery-thumbnail img{display:block;margin:0;padding:0;position:relative;max-width:100%!important;height:auto}.ngg-gallery-thumbnail img:hover{background-color:#A9A9A9}.ngg-gallery-thumbnail span{font-size:90%;padding-left:5px;display:block}.ngg-galleryoverview ul li:before{content:''!important}.ngg-gallery-list{list-style-type:none;padding:0!important;text-indent:0!important}.ngg-galleryoverview div.pic img{width:100%;border:0;border-radius:0}.ngg-gallery-list li{float:left;margin:0 2px!important;overflow:hidden}.ngg-gallery-list li a{border:1px solid #CCC;display:block;padding:2px}.ngg-gallery-list li.selected a{-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:#000}.ngg-gallery-list li img{height:40px;width:40px}li.ngg-next,li.ngg-prev{height:40px;width:40px;font-size:3.5em}li.ngg-next a,li.ngg-prev a{padding-top:10px;border:none;text-decoration:none}
\ No newline at end of file
+.ngg-galleryoverview{overflow:hidden;margin-top:10px;width:100%;clear:both;display:block!important}.ngg-galleryoverview .desc{margin:0 10px 10px 0;padding:5px}.ngg-gallery-thumbnail-box{float:left;max-width:100%!important}.ngg-template-caption .ngg-gallery-thumbnail-box{margin-right:0}.ngg-gallery-thumbnail{text-align:center;max-width:100%!important;background-color:#fff;border:1px solid #a9a9a9;margin-right:5px;margin:5px}.ngg-template-caption .ngg-gallery-thumbnail{margin-right:0}.ngg-gallery-thumbnail a{display:block;margin:4px;border:none;box-shadow:none}.ngg-gallery-thumbnail img{display:block;margin:0;padding:0;position:relative;max-width:100%!important;height:auto}.ngg-gallery-thumbnail img:hover{background-color:#a9a9a9}.ngg-gallery-thumbnail span{font-size:90%;padding-left:5px;display:block}.ngg-galleryoverview ul li:before{content:''!important}.ngg-gallery-list{list-style-type:none;padding:0!important;text-indent:0!important}.ngg-galleryoverview div.pic img{width:100%;border:0;border-radius:0}.ngg-gallery-list li{float:left;margin:0 2px 0 2px!important;overflow:hidden}.ngg-gallery-list li a{border:1px solid #ccc;display:block;padding:2px}.ngg-gallery-list li.selected a{-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:#000 none repeat scroll 0 0}.ngg-gallery-list li img{height:40px;width:40px}li.ngg-next,li.ngg-prev{height:40px;width:40px;font-size:3.5em}li.ngg-next a,li.ngg-prev a{padding-top:10px;border:none;text-decoration:none}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.js
index 2ed1a52e845ac4556cbf5dc363af150fc402612f..8f7b36bc995798b2437691ee9b551f81b2c0376c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.min.js
@@ -1 +1 @@
-jQuery(function(t){var a=function(){var a=t("a.use_imagebrowser_effect");a.click(function(a){a.preventDefault();var i=!0,n=t(this),e=n.attr("data-image-id"),r=n.attr("data-image-slug"),o=n.attr("data-imagebrowser-url"),c=window.location.toString();c=c.split("/"+photocrati_ajax.ngg_param_slug+"/").shift(),"/"===c.substr(-1)&&(c=c.substr(0,c.length-1)),e=r?r:e;try{e||(e=parseInt(n.parents(".ngg-gallery-thumbnail-box").attr("id").match(/\d+/).join("")))}catch(t){i=!1}i&&(c=o.replace("%STUB%",e),window.location=c)}),a.length>0&&setTimeout(function(){a.each(function(){this.onclick=null})},200)};t(this).bind("refreshed",a),a()});
\ No newline at end of file
+jQuery(function(t){var a=function(){var a=t("a.use_imagebrowser_effect");a.click(function(a){a.preventDefault();var i=!0,n=t(this),e=n.attr("data-image-id"),r=n.attr("data-image-slug"),o=n.attr("data-imagebrowser-url"),c=window.location.toString();c=c.split("/"+photocrati_ajax.ngg_param_slug+"/").shift(),"/"===c.substr(-1)&&(c=c.substr(0,c.length-1)),e=r||e;try{e||(e=parseInt(n.parents(".ngg-gallery-thumbnail-box").attr("id").match(/\d+/).join("")))}catch(t){i=!1}i&&(c=o.replace("%STUB%",e),window.location=c)}),a.length>0&&setTimeout(function(){a.each(function(){this.onclick=null})},200)};t(this).bind("refreshed",a),a()});
\ No newline at end of file
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 f254a416a9ad3016c78eac31fd68ab792228cb1e..4adef121e33c715dbf758860bc417184823347ea 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',
-            '0.14',
+            '3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -75,7 +75,7 @@ class M_NextGen_Basic_ImageBrowser extends C_Base_Module
             );
         }
 
-		if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+		if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
 		{
             // Add rendering logic
             $this->get_registry()->add_adapter(
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php
index 1c1fe5cc3c8b377b248490be7149267edc907606..c88cf7edaa2abd9dee404d88d733655c130d9027 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php
@@ -41,6 +41,7 @@ class A_NextGen_Basic_ImageBrowser_Controller extends Mixin
         } else {
             return $this->object->render_partial('photocrati-nextgen_gallery_display#no_images_found', array(), $return);
         }
+        return '';
     }
     /**
      * Returns the rendered template of an image browser display
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg
index 791b8941c4c777e966eac27fbfa762daa690bd60..02794bce99ffb75a13d6666dae78567fddd8819e 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.min.css
index 7d2e080b6795fc15970c3009c5b97f7cecab4f68..38c0ecc152fee52db1e6db1af50356904b33d9b4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.min.css
@@ -1 +1 @@
-.ngg-imagebrowser h3{text-align:center}.ngg-imagebrowser-desc{clear:both}.ngg-imagebrowser .pic{max-width:100%;margin-top:10px;margin-bottom:10px;border:1px solid #A9A9A9}.ngg-imagebrowser .pic a{display:block!important;font-size:0;margin:5px;text-align:center}.ngg-imagebrowser img{max-width:100%;margin:0 auto;padding:0;border:none}.ngg-imagebrowser-nav{padding:5px}.ngg-imagebrowser-nav .back{float:left;border:1px solid #DDD;padding:3px 7px}.ngg-imagebrowser-nav .next{float:right;border:1px solid #DDD;padding:3px 7px}.ngg-imagebrowser-nav .counter{text-align:center;font-size:.9em!important}.exif-data{margin-left:auto!important;margin-right:auto!important}.ngg-imagebrowser.ngg-imagebrowser-dark,.ngg-imagebrowser.ngg-imagebrowser-simple{padding:0;margin:40px 0!important;text-align:center;max-width:1200px;box-sizing:border-box}.ngg-imagebrowser.ngg-imagebrowser-dark{background:#000;padding:0 20px;box-shadow:0 0 2px 1px rgba(150,150,150,.1)}.ngg-imagebrowser.ngg-imagebrowser-dark h3,.ngg-imagebrowser.ngg-imagebrowser-simple h3{font-size:18px!important;margin:0!important;padding:20px!important;text-align:center;font-weight:700}.ngg-imagebrowser.ngg-imagebrowser-dark h3{color:#fff}.ngg-imagebrowser.ngg-imagebrowser-dark img,.ngg-imagebrowser.ngg-imagebrowser-simple img{max-height:500px}.ngg-imagebrowser.ngg-imagebrowser-dark .pic,.ngg-imagebrowser.ngg-imagebrowser-dark .pic a,.ngg-imagebrowser.ngg-imagebrowser-simple .pic,.ngg-imagebrowser.ngg-imagebrowser-simple .pic a{margin:0;border:none}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav{text-align:center;padding:20px 20px 5px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .back,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .next,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .back,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .next{float:none;display:inline-block;border:none;background-color:rgba(0,0,0,.5);border-radius:15px;width:30px;height:30px;padding:0}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa{font-size:16px;color:#fff;padding:0!important;line-height:30px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa-chevron-right,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa-chevron-right{margin-left:2px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa-chevron-left,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa-chevron-left{margin-right:2px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a:focus,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a:hover,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a:focus,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a:hover{box-shadow:none;text-decoration:none;padding:0}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .counter,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .counter{margin:20px 0 22px;font-size:12px!important;color:rgba(150,150,150,.7)}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .counter{color:#666}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc{text-align:center;padding:0 50px;font-size:14px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc{color:#999;padding-bottom:20px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc p:first-of-type,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc p:first-of-type{margin-top:0;padding-top:0}@media (max-width:800px){.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav{text-align:center;padding:20px 10px 5px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc{padding:0;font-size:12px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc{padding-bottom:20px}}
\ No newline at end of file
+.ngg-imagebrowser h3{text-align:center}.ngg-imagebrowser-desc{clear:both}.ngg-imagebrowser .pic{max-width:100%;margin-top:10px;margin-bottom:10px;border:1px solid #a9a9a9}.ngg-imagebrowser .pic a{display:block!important;font-size:0;margin:5px;text-align:center}.ngg-imagebrowser img{max-width:100%;margin:0 auto;padding:0;border:none}.ngg-imagebrowser-nav{padding:5px}.ngg-imagebrowser-nav .back{float:left;border:1px solid #ddd;padding:3px 7px}.ngg-imagebrowser-nav .next{float:right;border:1px solid #ddd;padding:3px 7px}.ngg-imagebrowser-nav .counter{text-align:center;font-size:.9em!important}.exif-data{margin-left:auto!important;margin-right:auto!important}.ngg-imagebrowser.ngg-imagebrowser-dark,.ngg-imagebrowser.ngg-imagebrowser-simple{padding:0;margin:40px 0!important;text-align:center;max-width:1200px;margin:0 auto;box-sizing:border-box}.ngg-imagebrowser.ngg-imagebrowser-dark{background:#000;padding:0 20px;box-shadow:0 0 2px 1px rgba(150,150,150,.1)}.ngg-imagebrowser.ngg-imagebrowser-dark h3,.ngg-imagebrowser.ngg-imagebrowser-simple h3{font-size:18px!important;margin:0!important;padding:20px!important;text-align:center;font-weight:700}.ngg-imagebrowser.ngg-imagebrowser-dark h3{color:#fff}.ngg-imagebrowser.ngg-imagebrowser-dark img,.ngg-imagebrowser.ngg-imagebrowser-simple img{max-height:500px}.ngg-imagebrowser.ngg-imagebrowser-dark .pic,.ngg-imagebrowser.ngg-imagebrowser-dark .pic a,.ngg-imagebrowser.ngg-imagebrowser-simple .pic,.ngg-imagebrowser.ngg-imagebrowser-simple .pic a{margin:0;border:none}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav{text-align:center;padding:20px 20px 5px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .back,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .next,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .back,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .next{float:none;display:inline-block;border:none;background-color:rgba(0,0,0,.5);border-radius:15px;width:30px;height:30px;padding:0}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa{font-size:16px;color:#fff;padding:0!important;line-height:30px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa-chevron-right,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa-chevron-right{margin-left:2px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .fa-chevron-left,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .fa-chevron-left{margin-right:2px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a:focus,.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav a:hover,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a:focus,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav a:hover{box-shadow:none;text-decoration:none;padding:0}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .counter,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav .counter{margin:20px 0 22px;font-size:12px!important;color:rgba(150,150,150,.7)}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav .counter{color:#666}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc{text-align:center;padding:0 50px;font-size:14px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc{color:#999;padding-bottom:20px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc p:first-of-type,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc p:first-of-type{margin-top:0;padding-top:0}@media (max-width:800px){.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-nav,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-nav{text-align:center;padding:20px 10px 5px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc,.ngg-imagebrowser.ngg-imagebrowser-simple .ngg-imagebrowser-desc{padding:0;font-size:12px}.ngg-imagebrowser.ngg-imagebrowser-dark .ngg-imagebrowser-desc{padding-bottom:20px}}
\ No newline at end of file
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 5457b0e219c45124bc286b4f818f643ffb4232cb..7ac9177c79eb7978131d31b2586064c571e8de3c 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',
-            '0.14',
+            '3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -63,7 +63,7 @@ class M_NextGen_Basic_Singlepic extends C_Base_Module
             );
         }
 
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             // Provides settings fields and frontend rendering
             $this->get_registry()->add_adapter(
@@ -82,11 +82,17 @@ class M_NextGen_Basic_Singlepic extends C_Base_Module
             C_NextGen_Shortcode_Manager::add('singlepic', array(&$this, 'render_singlepic'));
             C_NextGen_Shortcode_Manager::add('nggsinglepic', array(&$this, 'render_singlepic'));
 
+            // TODO - why aren't we using the singlepic controller for this instead?
             // enqueue the singlepic CSS if an inline image has the ngg-singlepic class
-            add_filter('the_content', array(&$this, 'enqueue_singlepic_css'), PHP_INT_MAX, 1);
+            if (!$this->is_rest_request()) add_filter('the_content', array(&$this, 'enqueue_singlepic_css'), PHP_INT_MAX, 1);
         }
 	}
 
+	function is_rest_request()
+	{
+		return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
+	}
+
     /**
      * Examines 'the_content' string for img.ngg-singlepic and enqueues styling when found
      *
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.min.css
index db8229f3c31d3521a703ed0e464c86fc8a9d73d3..330c4b5743451380e92801c8fb6b94a91c664b57 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.min.css
@@ -1 +1 @@
-.ngg-gallery-singlepic-image{margin:0 auto 1em}.ngg-gallery-singlepic-image a{max-width:100%}.ngg-gallery-singlepic-image img{margin:0;max-width:100%;border:none}.ngg-singlepic{background-color:#FFF;display:block;padding:4px}.ngg-left{float:left;margin-right:10px}.ngg-right{float:right;margin-left:10px}.ngg-center{margin-left:auto!important;margin-right:auto!important}.ngg-gallery-singlepic-image .ngg-trigger-buttons{margin:5px 0 0}
\ No newline at end of file
+.ngg-gallery-singlepic-image{margin:0 auto 1em auto}.ngg-gallery-singlepic-image a{max-width:100%}.ngg-gallery-singlepic-image img{margin:0;max-width:100%;border:none}.ngg-singlepic{background-color:#fff;display:block;padding:4px}.ngg-left{float:left;margin-right:10px}.ngg-right{float:right;margin-left:10px}.ngg-center{margin-left:auto!important;margin-right:auto!important}.ngg-gallery-singlepic-image .ngg-trigger-buttons{margin:5px 0 0 0}
\ No newline at end of file
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 dc00dbdb7abbd0c61113786fba7fab088f7f4ef6..f2e2f4ed474a91cd8183b5cba8a3396daacd2702 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',
-            '0.15',
+            '3.0.0',
             'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
             'Imagely',
             'https://www.imagely.com'
@@ -47,7 +47,7 @@ class M_NextGen_Basic_Tagcloud extends C_Base_Module
 
     function _register_utilities()
     {
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
             $this->get_registry()->add_utility('I_Taxonomy_Controller', 'C_Taxonomy_Controller');
     }
 
@@ -75,7 +75,7 @@ class M_NextGen_Basic_Tagcloud extends C_Base_Module
             );
         }
 
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             // Provides settings fields and frontend rendering
             $this->get_registry()->add_adapter(
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php
index 2274d48a156b7daee8d1a0a5b7e3d80cd678d778..114bec58b162dc1f781dd673df643a45e47213c3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php
@@ -212,13 +212,7 @@ class C_Taxonomy_Controller extends C_MVC_Controller
         parent::define($context);
         $this->implement('I_Taxonomy_Controller');
     }
-    /**
-     * Returns the rendered HTML of a gallery based on the provided tag
-     *
-     * @param string $tag
-     * @return string
-     */
-    function index_action($tag)
+    function render_tag($tag)
     {
         $mapper = C_Display_Type_Mapper::get_instance();
         // Respect the global display type setting
@@ -279,7 +273,7 @@ class C_Taxonomy_Controller extends C_MVC_Controller
         $post->post_name = 'ngg_tag';
         $post->guid = get_bloginfo('wpurl') . '/' . 'ngg_tag';
         $post->post_title = $title;
-        $post->post_content = $this->index_action($tag);
+        $post->post_content = $this->render_tag($tag);
         $post->ID = FALSE;
         $post->post_type = 'page';
         $post->post_status = 'publish';
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.min.css
index e8f694854b52fdb6446710b2f0bfc4c720e852a9..4502edf40a122929b6de2e5e06e5493b630d895c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.min.css
@@ -1 +1 @@
-.ngg-tagcloud{display:inline-block}.ngg-tagcloud ul.wp-tag-cloud{margin:0;padding:0}.ngg-tagcloud ul.wp-tag-cloud li{list-style:none;float:left;height:30pt;margin:0 4px 0 0;padding:0}.ngg-tagcloud ul.wp-tag-cloud li a{display:table-cell;display:block\9;vertical-align:bottom;height:30pt}
\ No newline at end of file
+.ngg-tagcloud{display:inline-block}.ngg-tagcloud ul.wp-tag-cloud{margin:0;padding:0}.ngg-tagcloud ul.wp-tag-cloud li{list-style:none;float:left;height:30pt;margin:0 4px 0 0;padding:0}.ngg-tagcloud ul.wp-tag-cloud li a{display:table-cell;vertical-align:bottom;height:30pt}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif
index e4533f1142df13b980e5b0c144e5c1ce7f1dbb98..96d9cf9133e1a1983a21b13c9d0834ae5a40ea59 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php
index 15e6668a22bcd215238245c13e34cc18d13c7343..3d500eca01fcc30528008064d0966678116924f9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php
@@ -22,7 +22,7 @@ class M_NextGen_Basic_Templates extends C_Base_Module
 			'photocrati-nextgen_basic_templates',
 			'NextGen Basic Templates',
 			'Provides a NextGen-Legacy compatible thumbnail gallery for NextGEN Gallery',
-			'0.7',
+			'3.0.0',
             '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_templates/package.module.nextgen_basic_templates.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/package.module.nextgen_basic_templates.php
index 8253aa89fc6d143170dd5b7f3f3ce94ae150942a..0ffc9edc35d997af527b6bcd32b1e0d0a96c7323 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/package.module.nextgen_basic_templates.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/package.module.nextgen_basic_templates.php
@@ -236,7 +236,7 @@ class Mixin_Legacy_Template_Locator extends Mixin
     function get_templates_from_dir($dir, $prefix = FALSE)
     {
         if (!is_dir($dir)) {
-            return;
+            return array();
         }
         $dir = new RecursiveDirectoryIterator($dir);
         $iterator = new RecursiveIteratorIterator($dir);
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 dc47b4996cc4b339733f88581a62c63142559b5b..64ecbb64913020fc5f795470c3ba7a5bbe8d6fe8 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
@@ -2,85 +2,85 @@
 
 /***
 {
-		Module: photocrati-nextgen-data,
-		Depends: { photocrati-datamapper }
+Module: photocrati-nextgen-data,
+Depends: { photocrati-datamapper }
 }
-***/
+ ***/
 
 class M_NextGen_Data extends C_Base_Module
 {
-    function define($id = 'pope-module',
-                    $name = 'Pope Module',
-                    $description = '',
-                    $version = '',
-                    $uri = '',
-                    $author = '',
-                    $author_uri = '',
-                    $context = FALSE)
-    {
-        parent::define(
-            'photocrati-nextgen-data',
-            'NextGEN Data Tier',
-            "Provides a data tier for NextGEN gallery based on the DataMapper module",
-            '0.15',
-            'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
-            'Imagely',
-            'https://www.imagely.com'
-        );
+	function define($id = 'pope-module',
+		$name = 'Pope Module',
+		$description = '',
+		$version = '',
+		$uri = '',
+		$author = '',
+		$author_uri = '',
+		$context = FALSE)
+	{
+		parent::define(
+			'photocrati-nextgen-data',
+			'NextGEN Data Tier',
+			"Provides a data tier for NextGEN gallery based on the DataMapper module",
+			'3.0.0',
+			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
+			'Imagely',
+			'https://www.imagely.com'
+		);
 
 		C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Data_Installer');
-    }
+	}
 
-    function _register_adapters()
-    {
-        $this->get_registry()->add_adapter('I_Component_Factory', 'A_NextGen_Data_Factory');
+	function _register_adapters()
+	{
+		$this->get_registry()->add_adapter('I_Component_Factory', 'A_NextGen_Data_Factory');
 		#$this->get_registry()->add_adapter('I_CustomPost_DataMapper', 'A_Attachment_DataMapper', 'attachment');
-        $this->get_registry()->add_adapter('I_Installer', 'A_NextGen_Data_Installer');
-    }
+		$this->get_registry()->add_adapter('I_Installer', 'A_NextGen_Data_Installer');
+	}
 
 
-    function _register_utilities()
-    {
+	function _register_utilities()
+	{
 		$this->get_registry()->add_utility('I_Gallery_Mapper', 'C_Gallery_Mapper');
 		$this->get_registry()->add_utility('I_Image_Mapper', 'C_Image_Mapper');
-        $this->get_registry()->add_utility('I_Album_Mapper', 'C_Album_Mapper');
-        $this->get_registry()->add_utility('I_Gallery_Storage', 'C_Gallery_Storage');
-    }
-
-    function get_type_list()
-    {
-        return array(
-            'C_Exif_Writer_Wrapper' => 'class.exif_writer_wrapper.php',
-            'A_Attachment_Datamapper' => 'adapter.attachment_datamapper.php',
-            'A_Customtable_Sorting_Datamapper' => 'adapter.customtable_sorting_datamapper.php',
-            'A_Nextgen_Data_Factory' => 'adapter.nextgen_data_factory.php',
-            'C_NextGen_Data_Installer' => 'class.nextgen_data_installer.php',
-            'A_Parse_Image_Metadata' => 'adapter.parse_image_metadata.php',
-            'C_Album' => 'class.album.php',
-            'C_Gallery' => 'class.gallery.php',
-            'C_Image' => 'class.image.php',
-            'C_Album_Mapper' => 'class.album_mapper.php',
-            'C_Gallerystorage_Base' => 'class.gallerystorage_base.php',
-            'C_Gallerystorage_Driver_Base' => 'class.gallerystorage_driver_base.php',
-            'C_Gallery_Mapper' => 'class.gallery_mapper.php',
-            'C_Gallery_Storage' => 'class.gallery_storage.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_Metadata' => 'class.nextgen_metadata.php',
+		$this->get_registry()->add_utility('I_Album_Mapper', 'C_Album_Mapper');
+		$this->get_registry()->add_utility('I_Gallery_Storage', 'C_Gallery_Storage');
+	}
+
+	function get_type_list()
+	{
+		return array(
+			'C_Exif_Writer_Wrapper' => 'class.exif_writer_wrapper.php',
+			'A_Attachment_Datamapper' => 'adapter.attachment_datamapper.php',
+			'A_Customtable_Sorting_Datamapper' => 'adapter.customtable_sorting_datamapper.php',
+			'A_Nextgen_Data_Factory' => 'adapter.nextgen_data_factory.php',
+			'C_NextGen_Data_Installer' => 'class.nextgen_data_installer.php',
+			'A_Parse_Image_Metadata' => 'adapter.parse_image_metadata.php',
+			'C_Album' => 'class.album.php',
+			'C_Gallery' => 'class.gallery.php',
+			'C_Image' => 'class.image.php',
+			'C_Album_Mapper' => 'class.album_mapper.php',
+			'C_Gallerystorage_Base' => 'class.gallerystorage_base.php',
+			'C_Gallerystorage_Driver_Base' => 'class.gallerystorage_driver_base.php',
+			'C_Gallery_Mapper' => 'class.gallery_mapper.php',
+			'C_Gallery_Storage' => 'class.gallery_storage.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_Metadata' => 'class.nextgen_metadata.php',
 			'Mixin_NextGen_Table_Extras'	=>	'mixin.nextgen_table_extras.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'
-        );
-    }
-    
-    
-    function _register_hooks()
-    {
+			'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'
+		);
+	}
+
+
+	function _register_hooks()
+	{
 		add_action('init', array(&$this, 'register_custom_post_types'));
-    	add_filter('posts_orderby', array($this, 'wp_query_order_by'), 10, 2);
-    }
+		add_filter('posts_orderby', array($this, 'wp_query_order_by'), 10, 2);
+	}
 
 	function register_custom_post_types()
 	{
@@ -98,33 +98,137 @@ class M_NextGen_Data extends C_Base_Module
 			));
 		}
 	}
-    
-    function wp_query_order_by($order_by, $wp_query)
-    {
-    	if ($wp_query->get('datamapper_attachment'))
-    	{
-    		$order_parts = explode(' ', $order_by);
-    		$order_name = array_shift($order_parts);
-    		
-    		$order_by = 'ABS(' . $order_name . ') ' . implode(' ', $order_parts) . ', ' . $order_by;
-    	}
-    	
-    	return $order_by;
-    }
+
+	function wp_query_order_by($order_by, $wp_query)
+	{
+		if ($wp_query->get('datamapper_attachment'))
+		{
+			$order_parts = explode(' ', $order_by);
+			$order_name = array_shift($order_parts);
+
+			$order_by = 'ABS(' . $order_name . ') ' . implode(' ', $order_parts) . ', ' . $order_by;
+		}
+
+		return $order_by;
+	}
 
 	static function strip_html($data, $just_scripts=FALSE)
 	{
 		$retval = $data;
 
 		if (!$just_scripts)
+		{
+			// Remove *ALL* HTML and tag contents
 			$retval = wp_strip_all_tags($retval, TRUE);
+		}
 		else {
-			$retval = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $retval );
-			$retval= preg_replace('/[\r\n\t ]+/', ' ', $retval);
+			// Allows HTML to remain but we strip nearly all attributes, strip all
+			// <script> tags, and sanitize hrefs to prevent javascript.
+			//
+			// This can generate a *lot* of warnings when given improper texts
+			libxml_use_internal_errors(true);
+			libxml_clear_errors();
+
+			$allowed_attributes = array(
+			    '*' => array('id', 'class', 'href', 'name', 'title', 'rel', 'style'),
+                'img' => array('src', 'alt', 'title')
+            );
+
+			if (is_object($data))
+			{
+				// First... recurse to the deepest elements and work back & upwards
+				if ($data->hasChildNodes())
+				{
+					foreach (range($data->childNodes->length - 1, 0) as $i) {
+						self::strip_html($data->childNodes->item($i), TRUE);
+					}
+				}
+
+				// Remove disallowed elements and content
+				if ($data instanceof DOMElement) {
+					foreach ($data->getElementsByTagName('script') as $deleteme) {
+						$data->removeChild($deleteme);
+					}
+				}
+
+				// Strip (nearly) all attributes
+				if (!empty($data->attributes))
+				{
+					// DOMDocument reindexes as soon as any changes are made so we
+					// must loop through attributes backwards
+					for ($i = $data->attributes->length - 1; $i >= 0; --$i) {
+						$item = $data->attributes->item($i);
+						$name = $item->nodeName;
+
+						$allowed = FALSE;
+						foreach ($allowed_attributes as $element_type => $attributes) {
+                            if (($data->tagName == $element_type || $element_type == '*')
+                            &&  in_array($name, $attributes)) {
+                                    $allowed = TRUE;
+                            }
+                        }
+
+                        if (!$allowed)
+							$data->removeAttribute($name);
+
+						// DO NOT EVER allow href="javascript:...."
+						if ($name === 'href')
+						{
+							if (strpos($item->nodeValue, 'javascript:') === 0)
+								$item->nodeValue = '#';
+						}
+					}
+				}
+			}
+			else {
+				$dom = new DOMDocument();
+
+				if (!empty($data))
+				{
+					// Because DOMDocument wraps saveHTML() with HTML headers & tags we use
+					// this placeholder to retrieve *just* the original given text
+					$id = 'ngg_data_strip_html_placeholder';
+					$start = "<div id=\"{$id}\">";
+					$end = '</div>';
+					$start_length = strlen($start);
+					$end_length = strlen($end);
+
+					// Prevent attempted work-arounds using &lt; and &gt; or other html entities
+					$data = html_entity_decode($data);
+
+					// This forces DOMDocument to treat the HTML as UTF-8
+					$meta = '<meta http-equiv="Content-Type" content="charset=utf-8"/>';
+					$data = $meta . $start . $data . $end;
+
+					$dom->loadHTML($data);
+
+					// Invoke the actual work
+					self::strip_html($dom->documentElement, TRUE);
+
+					// Export back to text
+					//
+					// TODO: When PHP 5.2 support is dropped we can use the target parameter
+					// of the following saveHTML and rid ourselves of some of the nonsense
+					// workarounds to the fact that DOMDocument used to force the output to
+					// include full HTML/XML doctype and root elements.
+					$retval = $dom->saveXML();
+
+					// saveXML includes the full doctype and <html><body></body></html> wrappers
+					// so we first drop everything generated up to our wrapper and chop off the
+					// added end wrappers
+					$position = strpos($retval, $start);
+					$retval  = substr($retval, $position, -15);
+
+					// Lastly remove our wrapper
+					$retval = substr($retval, $start_length, -$end_length);
+				}
+				else {
+					$retval = '';
+				}
+			}
 		}
-		$retval = preg_replace("/(\\s)?on[^\\s=]+=/", '', $retval);
 
 		return $retval;
 	}
 }
-new M_NextGen_Data();
+new M_NextGen_Data();
\ No newline at end of file
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 b5e8b8a0d609e4b752d6d1402875a3dd03d02383..c8a0e939addcbb9a82f94b1cf59068624915d5ed 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
@@ -245,7 +245,7 @@ class C_Exif_Writer_Wrapper
             return;
         }
         require_once __DIR__ . DIRECTORY_SEPARATOR . 'pel-0.9.6' . DIRECTORY_SEPARATOR . 'class.exif_writer.php';
-        C_Exif_Writer::copy_metadata($old_file, $new_file);
+        @C_Exif_Writer::copy_metadata($old_file, $new_file);
     }
 }
 class Mixin_NextGen_Gallery_Validation
@@ -282,6 +282,20 @@ class Mixin_NextGen_Gallery_Validation
             $this->object->path = M_NextGen_Data::strip_html($this->object->path);
             $this->object->path = str_replace(array('"', "''", ">", "<"), array('', '', '', ''), $this->object->path);
         }
+        // Ensure that the gallery path is restriected 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));
+        if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) {
+            $gallery_abspath = DIRECTORY_SEPARATOR . $gallery_abspath;
+        }
+        if (strpos($gallery_abspath, $root) === FALSE) {
+            $this->object->add_error(sprintf(__("Gallery path must be located in %s", 'nggallery'), $root), 'gallerypath');
+            $storage = C_Gallery_Storage::get_instance();
+            $this->object->path = $storage->get_upload_relpath($this->object);
+            unset($storage);
+        }
+        $this->object->path = trailingslashit($this->object->path);
         $this->object->validates_presence_of('title');
         $this->object->validates_presence_of('name');
         $this->object->validates_uniqueness_of('slug');
@@ -1224,6 +1238,13 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
                 $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) {
@@ -1241,7 +1262,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
                 // 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) {
+                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);
@@ -1258,6 +1279,8 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
                 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) {
@@ -1365,8 +1388,12 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
                                     // 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) or is_string($image->meta_data) && strlen($image->meta_data) == 0) {
+                                    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;
@@ -1437,8 +1464,8 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
             if ($clone_extension != null) {
                 $clone_extension_str = '.' . $clone_extension;
             }
-            $image_basename = M_I18n::mb_basename($image_path, $image_extension_str);
-            $clone_basename = M_I18n::mb_basename($clone_path, $clone_extension_str);
+            $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();
@@ -1796,7 +1823,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
                 }
                 $thumbnail = apply_filters('ngg_before_save_thumbnail', $thumbnail);
                 $thumbnail->save($destpath, $quality);
-                C_Exif_Writer_Wrapper::copy_metadata($image_path, $destpath);
+                @C_Exif_Writer_Wrapper::copy_metadata($image_path, $destpath);
             }
         }
         return $thumbnail;
@@ -2706,7 +2733,7 @@ class C_NextGen_Metadata extends C_Component
         }
         // on request sanitize the output
         if ($this->sanitize == true) {
-            array_walk($meta, create_function('&$value', '$value = esc_html($value);'));
+            array_walk($meta, 'esc_html');
         }
         return $meta;
     }
@@ -2802,7 +2829,7 @@ class C_NextGen_Metadata extends C_Component
         }
         // on request sanitize the output
         if ($this->sanitize == true) {
-            array_walk($this->exif_array, create_function('&$value', '$value = esc_html($value);'));
+            array_walk($this->exif_array, 'esc_html');
         }
         return $this->exif_array;
     }
@@ -2854,7 +2881,7 @@ class C_NextGen_Metadata extends C_Component
         }
         // on request sanitize the output
         if ($this->sanitize == true) {
-            array_walk($this->iptc_array, create_function('&$value', '$value = esc_html($value);'));
+            array_walk($this->iptc_array, 'esc_html');
         }
         return $this->iptc_array;
     }
@@ -2981,7 +3008,7 @@ class C_NextGen_Metadata extends C_Component
         }
         // on request sanitize the output
         if ($this->sanitize == true) {
-            array_walk($this->xmp_array, create_function('&$value', '$value = esc_html($value);'));
+            array_walk($this->xmp_array, 'esc_html');
         }
         return $this->xmp_array;
     }
@@ -2994,6 +3021,7 @@ class C_NextGen_Metadata extends C_Component
         } else {
             $array = $value;
         }
+        return $array;
     }
     /**
      * nggMeta::get_META() - return a meta value form the available list
@@ -3062,7 +3090,7 @@ class C_NextGen_Metadata extends C_Component
      * Reason : GD manipulation removes that options
      *
      * @since V1.4.0
-     * @return void
+     * @return array|false
      */
     function get_common_meta()
     {
@@ -3868,7 +3896,8 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
         $title = '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $gallery_id . '" >';
         $title .= $gallery->title;
         $title .= '</a>';
-        echo '<hr/>' . sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title);
+        echo '<div class="updated fade " id="message"><p>' . sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title) . '</p></div>';
+        // echo '<hr/>' . sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $title);
         return $new_image_pids;
     }
     /**
@@ -4061,6 +4090,7 @@ class C_NggLegacy_Thumbnail
         }
         //if there are no errors, determine the file format
         if ($this->error == false) {
+            //	        set_time_limit(30);
             @ini_set('memory_limit', -1);
             $data = @getimagesize($this->fileName);
             if (isset($data) && is_array($data)) {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelIfd.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelIfd.php
index 86b517642e0ba1dab8ff6bea4f42acb824ac5f3e..2257e838342ba2665dc10209afe74eed35971bc7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelIfd.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelIfd.php
@@ -755,6 +755,7 @@ class PelIfd implements \IteratorAggregate, \ArrayAccess
              * PelTag::CFA_REPEAT_PATTERN_DIM,
              */
         }
+        return array();
     }
 
     /**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelWrongComponentCountException.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelWrongComponentCountException.php
index 5dd3509b11ef2040d98fc4ebef4cb2a6b42eacb5..29f1a85a4ba8be219231aff1378a488d82bf1ff3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelWrongComponentCountException.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/pel-0.9.6/src/PelWrongComponentCountException.php
@@ -53,7 +53,7 @@ use lsolesen\pel\PelTag;
  * @package PEL
  * @subpackage Exception
  */
-class PelWrongComponentCountException extends \lsolesen\pel\PelEntryException
+class PelWrongComponentCountException extends PelEntryException
 {
 
     /**
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 f4c75e51b4899a20ce0cbb90e8a22325eee8e310..53aebecf42245f3f82c30d25237ac2d25c99fb07 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,8 +23,8 @@ class M_Gallery_Display extends C_Base_Module
 			'photocrati-nextgen_gallery_display',
 			'Gallery Display',
 			'Provides the ability to display gallery of images',
-			'0.17',
-      'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
+			'3.0.0',
+			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
       'Imagely',
       'https://www.imagely.com'
 		);
@@ -39,7 +39,7 @@ class M_Gallery_Display extends C_Base_Module
 	function _register_utilities()
 	{
         // Register frontend-only components
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             // This utility provides a controller to render the settings form
             // for a display type, or render the front-end of a display type
@@ -95,7 +95,7 @@ class M_Gallery_Display extends C_Base_Module
         }
 
         // Frontend-only components
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             $this->get_registry()->add_adapter('I_MVC_View', 'A_Gallery_Display_View');
             $this->get_registry()->add_adapter('I_MVC_View', 'A_Displayed_Gallery_Trigger_Element');
@@ -108,7 +108,7 @@ class M_Gallery_Display extends C_Base_Module
 	 */
 	function _register_hooks()
 	{
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             C_NextGen_Shortcode_Manager::add('ngg_images', array(&$this, 'display_images'));
             add_action('wp_enqueue_scripts', array(&$this, 'no_resources_mode'), PHP_INT_MAX-1);
@@ -249,7 +249,7 @@ class M_Gallery_Display extends C_Base_Module
 	/**
 	 * Gets the src url for the registered fontawesome handler
 	 * @param bool $ngg_provided_only
-	 * @return null|string|void
+	 * @return null|string
 	 */
 	static function get_fontawesome_url($ngg_provided_only=FALSE)
 	{
@@ -322,7 +322,7 @@ class M_Gallery_Display extends C_Base_Module
       $taglist = implode(',', $sluglist);
 
       if ($taglist === 'uncategorized' || empty($taglist))
-          return;
+          return '';
 
       $renderer = C_Displayed_Gallery_Renderer::get_instance();
       $view     = C_Component_Factory::get_instance()->create('mvc_view', '');
@@ -411,7 +411,7 @@ class M_Gallery_Display extends C_Base_Module
 	        NGG_SCRIPT_VERSION
         );
 
-        if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
+        if (!is_admin() && apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id))
         {
             wp_register_style(
                 'nextgen_gallery_related_images',
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php
index 31be559b4e9ea3a3a850c9fb51c8983c6c1fe247..f4f388ae416e1155f5f952f82822c4d7a65fa243 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php
@@ -26,7 +26,7 @@ class A_Display_Settings_Controller extends Mixin
 }
 /**
  * Class A_Display_Settings_Page
- * @mixin C_Page_Manager
+ * @mixin C_NextGen_Admin_Page_Manager
  * @adapts I_Page_Manager
  */
 class A_Display_Settings_Page extends Mixin
@@ -591,7 +591,7 @@ class C_Display_Type_Mapper extends C_CustomPost_DataMapper_Driver
     }
     function initialize($context = FALSE)
     {
-        parent::initialize('display_type');
+        parent::initialize();
     }
     /**
      * Gets a singleton of the mapper
@@ -1482,7 +1482,7 @@ class C_Displayed_Gallery_Mapper extends C_CustomPost_DataMapper_Driver
      */
     function initialize()
     {
-        parent::initialize('displayed_gallery');
+        parent::initialize();
     }
     /**
      * Gets a singleton of the mapper
@@ -1784,7 +1784,7 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
             $lookup = FALSE;
         }
         // Enqueue any necessary static resources
-        if (!defined('NGG_SKIP_LOAD_SCRIPTS') || !NGG_SKIP_LOAD_SCRIPTS) {
+        if ((!defined('NGG_SKIP_LOAD_SCRIPTS') || !NGG_SKIP_LOAD_SCRIPTS) && !$this->is_rest_request()) {
             $controller->enqueue_frontend_resources($displayed_gallery);
         }
         // Try cache lookup, if we're to do so
@@ -1843,6 +1843,10 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
         }
         return $retval;
     }
+    function is_rest_request()
+    {
+        return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
+    }
 }
 class C_Displayed_Gallery_Source_Manager
 {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.min.js
index c67a02db042bd3474f99d7b5c08e41c4102186ff..604889141a956555e442d402959ef9d838f19d85 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.min.js
@@ -1,3 +1,3 @@
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){return function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[s]={exports:{}};e[s][0].call(u.exports,function(t){var n=e[s][1][t];return i(n?n:t)},u,u.exports,t,e,n,r)}return n[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=new n(t),r=e.promise();return e.setHowMany(1),e.setUnwrap(),e.init(),r}var n=t._SomePromiseArray;t.any=function(t){return e(t)},t.prototype.any=function(){return e(this)}}},{}],2:[function(t,e,n){"use strict";function r(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new l(16),this._normalQueue=new l(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=c}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function s(t){this._normalQueue._pushOne(t),this._queueTick()}var a;try{throw new Error}catch(t){a=t}var c=t("./schedule"),l=t("./queue"),u=t("./util");r.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},r.prototype.hasCustomScheduler=function(){return this._customScheduler},r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){u.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n    See http://goo.gl/MqrFmX\n")}},u.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?s.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=s),r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier,e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=s(t).call(this._boundValue());r===a&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,a){return function(c){var l=a._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var h=o(p).call(l,c);if(h===s)return h;if(h)return o(n).call(l,c)}else if(r.isObject(c)){for(var f=i(p),_=0;_<f.length;++_){var d=f[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,s=r.errorObj;return n}},{"./es5":13,"./util":36}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+N.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function s(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?N.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(H(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);N.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),N.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&W){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=w(a),l=c.length-1;l>=0;--l){var u=c[l];if(!U.test(u)){var p=u.match(M);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var h=c[0],l=0;l<a.length;++l)if(a[l]===h){l>0&&(s="\n"+a[l-1]);break}}var f="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(f,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}tt("warning",o)||E(o,"",!0)}}function g(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function m(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],s=-1,a=r.length-1;a>=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i="    (No stack trace)"===r||q.test(r),o=i&&nt(r);i&&!o&&($&&" "!==r.charAt(0)&&(r="    "+r),e.push(r))}return e}function C(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if("    (No stack trace)"===r||q.test(r))break}return n>0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):["    (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:w(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(N.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){I.throwLater(t)}"unhandledRejection"===t?tt(t,n,r)||i||E(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():N.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function T(){return"function"==typeof it}function P(t){var e=t.match(rt);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function R(t,e){if(T()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c<i.length;++c){var l=P(i[c]);if(l){n=l.fileName,s=l.line;break}}for(var c=0;c<o.length;++c){var l=P(o[c]);if(l){r=l.fileName,a=l.line;break}}0>s||0>a||!n||!r||n!==r||s>=a||(nt=function(t){if(B.test(t))return!0;var e=P(t);return!!(e&&e.fileName===n&&s<=e.line&&e.line<=a)})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,N=t("./util"),H=N.canAttachTrace,B=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,U=/\((?:timers\.js):\d+:\d+\)/,M=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,Q=null,$=!1,G=!(0==N.env("BLUEBIRD_DEBUG")||!N.env("BLUEBIRD_DEBUG")&&"development"!==N.env("NODE_ENV")),z=!(0==N.env("BLUEBIRD_WARNINGS")||!G&&!N.env("BLUEBIRD_WARNINGS")),X=!(0==N.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!N.env("BLUEBIRD_LONG_STACK_TRACES")),W=0!=N.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(z||!!N.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:N.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:N.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n    See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n    See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&T()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!N.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!N.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),N.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!N.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),Y=function(){return N.isNode?function(){return process.emit.apply(process,arguments)}:N.global?function(t){var e="on"+t.toLowerCase(),n=N.global[e];return!!n&&(n.apply(N.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(t){I.throwLater(t),e=!0}var n=!1;try{n=J(t,Z[t].apply(null,arguments))}catch(t){I.throwLater(t),n=!0}return n||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,W=ot.warnings,N.isObject(n)&&"wForgottenReturn"in n&&(W=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;N.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),m(r),N.notEnumerableProp(t,"stack",g(n,r)),N.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,Q=e;var n=Error.captureStackTrace;return nt=function(t){return B.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,Q=e,$=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(t){i="stack"in t}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},N.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:N.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:z,longStackTraces:!1,cancellation:!1,monitoring:!1};return X&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(t){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var v="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),y=0;y<v.length;++y)"function"==typeof Array.prototype[v[y]]&&(d.prototype[v[y]]=Array.prototype[v[y]]);a.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var g=0;d.prototype.toString=function(){var t=Array(4*g+1).join(" "),e="\n"+t+"AggregateError of:\n";g++,t=Array(4*g+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return g--,e},u(i,Error);var m=Error.__BluebirdErrorTypes__;m||(m=c({CancellationError:f,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),a.defineProperty(Error,"__BluebirdErrorTypes__",{value:m,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:s,CancellationError:m.CancellationError,OperationalError:m.OperationalError,TimeoutError:m.TimeoutError,AggregateError:m.AggregateError,Warning:h}},{"./es5":13,"./util":36}],13:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,s={}.constructor.prototype,a=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(t){return s}},h=function(t){try{return"[object Array]"===o.call(t)}catch(t){return!1}};e.exports={isArray:h,keys:a,names:a,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.map;t.prototype.filter=function(t,r){return n(this,t,r,e)},t.filter=function(t,r,i){return n(t,r,i,e)}}},{}],15:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise&&(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function s(){return c.call(this,this.promise._target()._settledValue())}function a(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var h=n(l,r);if(h instanceof e){if(null!=this.cancelPromise){if(h._isCancelled()){var f=new u("late cancellation observer");return r._attachExtraTrace(f),p.e=f,p}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o<n.length;++o){r._pushContext();var s=f(n[o])(t);if(r._popContext(),s===h){r._pushContext();var a=e.reject(h.e);return r._popContext(),a}var c=i(s,r);if(c instanceof e)return c}return null}function c(t,n,i,o){if(s.cancellation()){var a=new e(r),c=this._finallyPromise=new e(r);this._promise=a.lastly(function(){return c}),a._captureStackTrace(),a._setOnCancel(this)}else{var l=this._promise=new e(r);l._captureStackTrace()}this._stack=o,this._generatorFunction=t,this._receiver=n,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(_):_,this._yieldedPromise=null,this._cancellationPhase=!1}var l=t("./errors"),u=l.TypeError,p=t("./util"),h=p.errorObj,f=p.tryCatch,_=[];p.inherits(c,o),c.prototype._isResolved=function(){return null===this._promise},c.prototype._cleanup=function(){this._promise=this._generator=null,s.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},c.prototype._promiseCancelled=function(){if(!this._isResolved()){var t,n="undefined"!=typeof this._generator.return;if(n)this._promise._pushContext(),t=f(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var r=new e.CancellationError("generator .return() sentinel");e.coroutine.returnSentinel=r,this._promise._attachExtraTrace(r),this._promise._pushContext(),t=f(this._generator.throw).call(this._generator,r),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},c.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=f(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=f(this._generator.throw).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},c.prototype.promise=function(){return this._promise},c.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},c.prototype._continue=function(t){var n=this._promise;if(t===h)return this._cleanup(),this._cancellationPhase?n.cancel():n._rejectCallback(t.e,!1);var r=t.value;if(t.done===!0)return this._cleanup(),this._cancellationPhase?n.cancel():n._resolveCallback(r);var o=i(r,this._promise);if(!(o instanceof e)&&(o=a(o,this._yieldHandlers,this._promise),null===o))return void this._promiseRejected(new u("A value %s was yielded that could not be treated as a promise\n\n    See http://goo.gl/MqrFmX\n\n".replace("%s",r)+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));o=o._target();var s=o._bitField;0===(50397184&s)?(this._yieldedPromise=o,o._proxy(this,null)):0!==(33554432&s)?e._async.invoke(this._promiseFulfilled,this,o._value()):0!==(16777216&s)?e._async.invoke(this._promiseRejected,this,o._reason()):this._promiseCancelled()},e.coroutine=function(t,e){if("function"!=typeof t)throw new u("generatorFunction must be a function\n\n    See http://goo.gl/MqrFmX\n");var n=Object(e).yieldHandler,r=c,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new r((void 0),(void 0),n,i),s=o.promise();return o._generator=e,o._promiseFulfilled(void 0),s}},e.coroutine.addYieldHandler=function(t){
-if("function"!=typeof t)throw new u("expecting a function but got "+p.classString(t));_.push(t)},e.spawn=function(t){if(s.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof t)return n("generatorFunction must be a function\n\n    See http://goo.gl/MqrFmX\n");var r=new c(t,this),i=r.promise();return r._run(e.spawn),i}}},{"./errors":12,"./util":36}],17:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){var a=t("./util");a.canEvaluate,a.tryCatch,a.errorObj,e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function c(t,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(t,n,s,o).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=e._async;u.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var g=++this._totalResolved;return g>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var r=t.pop();this._promiseFulfilled(n[r],r)}},a.prototype._filter=function(t,e){for(var n=e.length,r=new Array(n),i=0,o=0;n>o;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e.try=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return s.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(a(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var s=[].slice.call(arguments,1);t._fulfill(s)}else t._fulfill(r);t=null}}}var s=t("./util"),a=s.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":12,"./es5":13,"./util":36}],21:[function(t,e,n){"use strict";e.exports=function(e){function n(t,e){var n=this;if(!o.isArray(t))return r.call(n,t,e);var i=a(e).apply(n._boundValue(),[null].concat(t));i===c&&s.throwLater(i.e)}function r(t,e){var n=this,r=n._boundValue(),i=void 0===t?a(e).call(r,null):a(e).call(r,null,t);i===c&&s.throwLater(i.e)}function i(t,e){var n=this;if(!t){var r=new Error(t+"");r.cause=t,t=r}var i=a(e).call(n._boundValue(),t);i===c&&s.throwLater(i.e)}var o=t("./util"),s=e._async,a=o.tryCatch,c=o.errorObj;e.prototype.asCallback=e.prototype.nodeify=function(t,e){if("function"==typeof t){var o=r;void 0!==e&&Object(e).spread&&(o=n),this._then(o,i,void 0,this,t)}return this}}},{"./util":36}],22:[function(t,e,n){"use strict";e.exports=function(){function n(){}function r(t,e){if("function"!=typeof e)throw new g("expecting a function but got "+f.classString(e));if(t.constructor!==i)throw new g("the promise constructor cannot be invoked directly\n\n    See http://goo.gl/MqrFmX\n")}function i(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==b&&(r(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function o(t){this.promise._resolveCallback(t)}function s(t){this.promise._rejectCallback(t,!1)}function a(t){var e=new i(b);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var c,l=function(){return new g("circular promise resolution chain\n\n    See http://goo.gl/MqrFmX\n")},u=function(){return new i.PromiseInspection(this._target())},p=function(t){return i.reject(new g(t))},h={},f=t("./util");c=f.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},f.notEnumerableProp(i,"_getDomain",c);var _=t("./es5"),d=t("./async"),v=new d;_.defineProperty(i,"_async",{value:v});var y=t("./errors"),g=i.TypeError=y.TypeError;i.RangeError=y.RangeError;var m=i.CancellationError=y.CancellationError;i.TimeoutError=y.TimeoutError,i.OperationalError=y.OperationalError,i.RejectionError=y.OperationalError,i.AggregateError=y.AggregateError;var b=function(){},w={},C={},j=t("./thenables")(i,b),E=t("./promise_array")(i,b,j,p,n),k=t("./context")(i),F=k.create,x=t("./debuggability")(i,k),T=(x.CapturedTrace,t("./finally")(i,j)),P=t("./catch_filter")(C),R=t("./nodeback"),S=f.errorObj,O=f.tryCatch;return i.prototype.toString=function(){return"[object Promise]"},i.prototype.caught=i.prototype.catch=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return p("expecting an object but got A catch statement predicate "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(x.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,w,void 0)},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new E(this).promise()},i.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=O(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new E(t).promise()},i.cast=function(t){var e=j(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+f.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var s=void 0!==o,a=s?o:new i(b),l=this._target(),u=l._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var p=c();if(0!==(50397184&u)){var h,_,d=l._settlePromiseCtx;0!==(33554432&u)?(_=l._rejectionHandler0,h=t):0!==(16777216&u)?(_=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new m("late cancellation observer"),l._attachExtraTrace(_),h=e),v.invoke(d,l,{handler:null===p?h:"function"==typeof h&&f.domainBind(p,h),promise:a,receiver:r,value:_})}else l._addCallbacks(t,e,a,r,p);return a},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===h?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=h),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=h),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:f.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:f.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0===(50397184&o)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;s>a;++a)r._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!==(33554432&o))this._fulfill(r._value());else if(0!==(16777216&o))this._reject(r._reason());else{var c=new m("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&x.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,!!e&&i),this._reject(t)},i.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===w?n&&"number"==typeof n.length?o=O(t).apply(this._boundValue(),n):(o=S,o.e=new g("cannot .spread() a non-array: "+f.classString(n))):o=O(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===C?r._reject(n):o===S?r._rejectCallback(o.e,!1):(x.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var s=t instanceof i,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,O(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):s||t instanceof E?t._cancel():r.cancel()):"function"==typeof e?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!==(33554432&a)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,f.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){x.deprecated("Promise.defer","new Promise");var t=new i(b);return{promise:t,resolve:o,reject:s}},f.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,j,p,x),t("./bind")(i,b,j,x),t("./cancel")(i,E,p,x),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,E,j,b,v,c),i.Promise=i,i.version="3.4.7",t("./map.js")(i,E,p,j,b,x),t("./call_get.js")(i),t("./using.js")(i,p,j,F,b,x),t("./timers.js")(i,b,x),t("./generators.js")(i,p,b,j,n,x),t("./nodeify.js")(i),t("./promisify.js")(i,b),t("./props.js")(i,E,j,p),t("./race.js")(i,b,j,p),t("./reduce.js")(i,E,p,j,b,x),t("./settle.js")(i,E,x),t("./some.js")(i,E,p),t("./filter.js")(i,b),t("./each.js")(i,b),t("./any.js")(i),f.toFastProperties(i),f.toFastProperties(i.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new i(b)),x.setBounds(d.firstLineError,f.lastLineError),i}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{}}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");return c.isArray,c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function t(n,o){var a=r(this._values,this._promise);if(a instanceof e){a=a._target();var l=a._bitField;if(this._values=a,0===(50397184&l))return this._promise._setAsyncGuaranteed(),a._then(t,this._reject,void 0,this,o);if(0===(33554432&l))return 0!==(16777216&l)?this._reject(a._reason()):this._cancel();a=a._value()}if(a=c.asArray(a),null===a){var u=i("expecting an array or an iterable object but got "+c.classString(a)).reason();return void this._promise._rejectCallback(u,!1)}return 0===a.length?void(-5===o?this._resolveEmptyArray():this._resolve(s(o))):void this._iterate(a)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},a.prototype.shouldCopyValues=function(){return!0},a.prototype.getActualLength=function(t){return t},a}},{"./util":36}],24:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t){return!C.test(t)}function i(t){try{return t.__isPromisified__===!0}catch(t){return!1}}function o(t,e,n){var r=f.getDataPropertyOrDefault(t,e+n,b);return!!r&&i(r)}function s(t,e,n){for(var r=0;r<t.length;r+=2){var i=t[r];if(n.test(i))for(var o=i.replace(n,""),s=0;s<t.length;s+=2)if(t[s]===o)throw new g("Cannot promisify an API that has normal methods with '%s'-suffix\n\n    See http://goo.gl/MqrFmX\n".replace("%s",e))}}function a(t,e,n,r){for(var a=f.inheritedDataKeys(t),c=[],l=0;l<a.length;++l){var u=a[l],p=t[u],h=r===j||j(u,p,t);"function"!=typeof p||i(p)||o(t,u,e)||!r(u,p,t,h)||c.push(u,p)}return s(c,e,n),c}function c(t,r,i,o,s,a){function c(){var i=r;r===h&&(i=this);var o=new e(n);o._captureStackTrace();var s="string"==typeof u&&this!==l?this[u]:t,c=_(o,a);try{s.apply(i,d(arguments,c))}catch(t){o._rejectCallback(v(t),!0,!0)}return o._isFateSealed()||o._setAsyncGuaranteed(),o}var l=function(){return this}(),u=t;return"string"==typeof u&&(t=o),f.notEnumerableProp(c,"__isPromisified__",!0),c}function l(t,e,n,r,i){for(var o=new RegExp(E(e)+"$"),s=a(t,e,o,n),c=0,l=s.length;l>c;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===k)t[_]=k(u,h,u,p,e,i);else{var d=r(p,function(){return k(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return k(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,g=t("./errors").TypeError,m="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},E=function(t){return t.replace(/([$])/,"\\$")},k=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new g("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new g("the target of promisifyAll must be an object or a function\n\n    See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=m);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=k),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n    See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;a<s.length;++a){var c=t[s[a]];"constructor"!==s[a]&&f.isClass(c)&&(l(c.prototype,r,i,o,n),l(c,r,i,o,n))}return l(t,r,i,o,n)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t){var e,n=!1;if(void 0!==a&&t instanceof a)e=p(t),n=!0;else{var r=u.keys(t),i=r.length;e=new Array(2*i);for(var o=0;i>o;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n    See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var n=this._front+e&this._capacity-1;this[n]=t,this._length=e+1},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},e.exports=i},{}],27:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t,o){var c=r(t);if(c instanceof e)return a(c);if(t=s.asArray(t),null===t)return i("expecting an array or an iterable object but got "+s.classString(t));var l=new e(n);void 0!==o&&l._propagateFrom(o,3);for(var u=l._fulfill,p=l._reject,h=0,f=t.length;f>h;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:f.domainBind(s,n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,i===o?this._eachValues=Array(this._length):0===i?this._eachValues=null:this._eachValues=void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n    See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s&&"function"==typeof s.resolve){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n    See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);
-this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e<this._values.length;++e)this._values[e]!==u&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n    See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n    See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!==(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!==(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(t){return l.e=t,l}}function s(t){try{return p.call(t,"_promise0")}catch(t){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(t){return a(t)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,g=_.tryCatch,m={};u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():m},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==m?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var m=r(d);m instanceof e&&(d=m._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p<b.length;++p)b[p]=e.resolve(c[p]).reflect();var w=e.all(b).then(function(t){for(var e=0;e<t.length;++e){var n=t[e];if(n.isRejected())return y.e=n.error(),y;if(!n.isFulfilled())return void w.cancel();t[e]=n.value()}C._pushContext(),i=g(i);var r=a?i.apply(void 0,t):i(t),o=C._popContext();return s.checkForgottenReturns(r,o,"Promise.using",C),r}),C=w.lastly(function(){var t=new e.PromiseInspection(w);return l(c,t)});return c.promise=C,C._setOnCancel(c),C},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=F;return F=null,t.apply(this,arguments)}catch(t){return P.e=t,P}}function i(t){return F=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!x.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return x.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=x.names(t.prototype),n=x.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&x.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return D.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(t){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(t){}}function m(t){return null!=t&&(t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0)}function b(t){return y(t)&&x.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=x.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{x.defineProperty(e,o,x.getDescriptor(t,o))}catch(t){}}}function j(t){return H?process.env[t]:void 0}function E(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(t){}}function k(t,e){return t.bind(e)}var F,x=t("./es5"),T="undefined"==typeof navigator,P={e:{}},R="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,S=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},O=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(x.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(t){return r}for(var s=0;s<o.length;++s){var a=o[s];if(!i[a]){i[a]=!0;var c=Object.getOwnPropertyDescriptor(t,a);null!=c&&null==c.get&&null==c.set&&r.push(a)}}t=x.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var s=0;s<t.length;++s)if(r.call(t[s],o))continue t;i.push(o)}return i}}(),A=/this\s*\.\s*\S+\s*=/,D=/^[a-z$_][a-z$_0-9]*$/i,V=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(t){return t}}}(),I=function(t){return x.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var L="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};I=function(t){return x.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?L(t):null}}var N="undefined"!=typeof process&&"[object process]"===w(process).toLowerCase(),H="undefined"!=typeof process&&"undefined"!=typeof process.env,B={isClass:h,isIdentifier:_,inheritedDataKeys:O,getDataPropertyOrDefault:l,thrower:p,isArray:x.isArray,asArray:I,notEnumerableProp:u,isPrimitive:o,isObject:s,isError:y,canEvaluate:T,errorObj:P,tryCatch:i,inherits:S,withAppended:c,maybeWrapAsError:a,toFastProperties:f,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:V,originatesFromRejection:m,markAsOriginatingFromRejection:g,classString:w,copyDescriptors:C,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:N,hasEnvVariables:H,env:j,global:R,getNativePromise:E,domainBind:k};B.isRecentNode=B.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),B.isNode&&B.toFastProperties(process);try{throw new Error}catch(t){B.lastLineError=t}e.exports=B},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise),function(t){window.NggPaginatedGallery=function(e,n){this.displayed_gallery_id=e,this.container=t(n),this.container_name=n,this.get_displayed_gallery_obj=function(){var t="gallery_"+this.displayed_gallery_id;return"undefined"!=typeof window.galleries[t]&&window.galleries[t]},this.enable_ajax_pagination=function(){var e=this;t("body").on("click","a.ngg-browser-prev, a.ngg-browser-next",function(r){var i=!0;t(this).parents(n).each(function(){return t(this).data("nextgen-gallery-id")!=e.displayed_gallery_id||void(i=!1)}),i||(r.preventDefault(),window.ngg_ajax_operaton_count++,t("body, a").css("cursor","wait"),t.get(t(this).attr("href"),function(n){if(window.ngg_ajax_operaton_count--,window.ngg_ajax_operaton_count<=0&&(window.ngg_ajax_operaton_count=0,t("body, a").css("cursor","auto")),n){var r=t(n),i=!1;r.find(e.container_name).each(function(){return!!i||(t(this).data("nextgen-gallery-id")!=e.displayed_gallery_id||void(i=t(this)))}),i&&e.container.each(function(){var n=t(this);if(n.data("nextgen-gallery-id")!=e.displayed_gallery_id)return!0;var r=t(i.html()),o=r.find("img").toArray().map(function(e){return new Promise(function(n,r){var i=new Image;i.src=e.src,t(i).on("load",n)})});return Promise.all(o).then(function(){n.html(r),t(document).trigger("refreshed")}),!0})}}))})};var r=this.get_displayed_gallery_obj();r&&"undefined"!=typeof r.display_settings.ajax_pagination&&parseInt(r.display_settings.ajax_pagination)&&this.enable_ajax_pagination(),"undefined"==typeof window.ngg_ajax_operation_count&&(window.ngg_ajax_operaton_count=0)}}(jQuery);
\ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){return function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[s]={exports:{}};e[s][0].call(u.exports,function(t){var n=e[s][1][t];return i(n||t)},u,u.exports,t,e,n,r)}return n[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=new n(t),r=e.promise();return e.setHowMany(1),e.setUnwrap(),e.init(),r}var n=t._SomePromiseArray;t.any=function(t){return e(t)},t.prototype.any=function(){return e(this)}}},{}],2:[function(t,e,n){"use strict";function r(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new l(16),this._normalQueue=new l(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=c}function i(t,e,n){this._lateQueue.push(t,e,n),this._queueTick()}function o(t,e,n){this._normalQueue.push(t,e,n),this._queueTick()}function s(t){this._normalQueue._pushOne(t),this._queueTick()}var a;try{throw new Error}catch(t){a=t}var c=t("./schedule"),l=t("./queue"),u=t("./util");r.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},r.prototype.hasCustomScheduler=function(){return this._customScheduler},r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){u.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(t,e){e?(process.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),process.exit(2)):this.throwLater(t)},r.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n    See http://goo.gl/MqrFmX\n")}},u.hasDevTools?(r.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?i.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},r.prototype.invoke=function(t,e,n){this._trampolineEnabled?o.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},r.prototype.settlePromises=function(t){this._trampolineEnabled?s.call(this,t):this._schedule(function(){t._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=s),r.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){return n(t,this.pop()).apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier,e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e;if("number"==typeof t)e=o;else if(c){var n=s(t);e=null!==n?n:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n<t.length;++n)this._doInvokeOnCancel(t[n],e);else if(void 0!==t)if("function"==typeof t){if(!e){var r=s(t).call(this._boundValue());r===a&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(t,e,n){"use strict";e.exports=function(e){function n(t,n,a){return function(c){var l=a._boundValue();t:for(var u=0;u<t.length;++u){var p=t[u];if(p===Error||null!=p&&p.prototype instanceof Error){if(c instanceof p)return o(n).call(l,c)}else if("function"==typeof p){var h=o(p).call(l,c);if(h===s)return h;if(h)return o(n).call(l,c)}else if(r.isObject(c)){for(var f=i(p),_=0;_<f.length;++_){var d=f[_];if(p[d]!=c[d])continue t}return o(n).call(l,c)}}return e}}var r=t("./util"),i=t("./es5").keys,o=r.tryCatch,s=r.errorObj;return n}},{"./es5":13,"./util":36}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){this._trace=new e.CapturedTrace(r())}function n(){return i?new e:void 0}function r(){var t=o.length-1;return t>=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+N.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function s(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?N.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!=(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(H(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);N.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),N.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&W){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=w(a),l=c.length-1;l>=0;--l){var u=c[l];if(!U.test(u)){var p=u.match(M);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var h=c[0],l=0;l<a.length;++l)if(a[l]===h){l>0&&(s="\n"+a[l-1]);break}}var f="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(f,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}tt("warning",o)||E(o,"",!0)}}function g(t,e){for(var n=0;n<e.length-1;++n)e[n].push("From previous event:"),e[n]=e[n].join("\n");return n<e.length&&(e[n]=e[n].join("\n")),t+"\n"+e.join("\n")}function m(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function b(t){for(var e=t[0],n=1;n<t.length;++n){for(var r=t[n],i=e.length-1,o=e[i],s=-1,a=r.length-1;a>=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n<t.length;++n){var r=t[n],i="    (No stack trace)"===r||q.test(r),o=i&&nt(r);i&&!o&&($&&" "!==r.charAt(0)&&(r="    "+r),e.push(r))}return e}function C(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n<e.length;++n){var r=e[n];if("    (No stack trace)"===r||q.test(r))break}return n>0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):["    (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:w(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(N.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){I.throwLater(t)}"unhandledRejection"===t?tt(t,n,r)||i||E(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():N.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){return t.length<41?t:t.substr(0,38)+"..."}function T(){return"function"==typeof it}function P(t){var e=t.match(rt);return e?{fileName:e[1],line:parseInt(e[2],10)}:void 0}function R(t,e){if(T()){for(var n,r,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,c=0;c<i.length;++c){var l=P(i[c]);if(l){n=l.fileName,s=l.line;break}}for(var c=0;c<o.length;++c){var l=P(o[c]);if(l){r=l.fileName,a=l.line;break}}0>s||0>a||!n||!r||n!==r||s>=a||(nt=function(t){if(B.test(t))return!0;var e=P(t);return!!(e&&e.fileName===n&&s<=e.line&&e.line<=a)})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,N=t("./util"),H=N.canAttachTrace,B=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,U=/\((?:timers\.js):\d+:\d+\)/,M=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,Q=null,$=!1,G=!(0==N.env("BLUEBIRD_DEBUG")||!N.env("BLUEBIRD_DEBUG")&&"development"!==N.env("NODE_ENV")),z=!(0==N.env("BLUEBIRD_WARNINGS")||!G&&!N.env("BLUEBIRD_WARNINGS")),X=!(0==N.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!N.env("BLUEBIRD_LONG_STACK_TRACES")),W=0!=N.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(z||!!N.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:N.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:N.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n    See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n    See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&T()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!N.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!N.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),N.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!N.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),Y=function(){return N.isNode?function(){return process.emit.apply(process,arguments)}:N.global?function(t){var e="on"+t.toLowerCase(),n=N.global[e];return!!n&&(n.apply(N.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(t){I.throwLater(t),e=!0}var n=!1;try{n=J(t,Z[t].apply(null,arguments))}catch(t){I.throwLater(t),n=!0}return n||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,W=ot.warnings,N.isObject(n)&&"wForgottenReturn"in n&&(W=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;N.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),m(r),N.notEnumerableProp(t,"stack",g(n,r)),N.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,Q=e;var n=Error.captureStackTrace;return nt=function(t){return B.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,Q=e,$=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(t){i="stack"in t}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(D=function(t){console.warn(t)},N.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:N.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:z,longStackTraces:!1,cancellation:!1,monitoring:!1};return X&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(t){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var v="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),y=0;y<v.length;++y)"function"==typeof Array.prototype[v[y]]&&(d.prototype[v[y]]=Array.prototype[v[y]]);a.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var g=0;d.prototype.toString=function(){var t=Array(4*g+1).join(" "),e="\n"+t+"AggregateError of:\n";g++,t=Array(4*g+1).join(" ");for(var n=0;n<this.length;++n){for(var r=this[n]===this?"[Circular AggregateError]":this[n]+"",i=r.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];r=i.join("\n"),e+=r+"\n"}return g--,e},u(i,Error);var m=Error.__BluebirdErrorTypes__;m||(m=c({CancellationError:f,TimeoutError:_,OperationalError:i,RejectionError:i,AggregateError:d}),a.defineProperty(Error,"__BluebirdErrorTypes__",{value:m,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:o,RangeError:s,CancellationError:m.CancellationError,OperationalError:m.OperationalError,TimeoutError:m.TimeoutError,AggregateError:m.AggregateError,Warning:h}},{"./es5":13,"./util":36}],13:[function(t,e,n){var r=function(){"use strict";return void 0===this}();if(r)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var n=Object.getOwnPropertyDescriptor(t,e);return!(n&&!n.writable&&!n.set)}};else{var i={}.hasOwnProperty,o={}.toString,s={}.constructor.prototype,a=function(t){var e=[];for(var n in t)i.call(t,n)&&e.push(n);return e},c=function(t,e){return{value:t[e]}},l=function(t,e,n){return t[e]=n.value,t},u=function(t){return t},p=function(t){try{return Object(t).constructor.prototype}catch(t){return s}},h=function(t){try{return"[object Array]"===o.call(t)}catch(t){return!1}};e.exports={isArray:h,keys:a,names:a,defineProperty:l,getDescriptor:c,freeze:u,getPrototypeOf:p,isES5:r,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.map;t.prototype.filter=function(t,r){return n(this,t,r,e)},t.filter=function(t,r,i){return n(t,r,i,e)}}},{}],15:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e,n){this.promise=t,this.type=e,this.handler=n,this.called=!1,this.cancelPromise=null}function i(t){this.finallyHandler=t}function o(t,e){return null!=t.cancelPromise&&(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function s(){return c.call(this,this.promise._target()._settledValue())}function a(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var h=n(l,r);if(h instanceof e){if(null!=this.cancelPromise){if(h._isCancelled()){var f=new u("late cancellation observer");return r._attachExtraTrace(f),p.e=f,p}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o<n.length;++o){r._pushContext();var s=f(n[o])(t);if(r._popContext(),s===h){r._pushContext();var a=e.reject(h.e);return r._popContext(),a}var c=i(s,r);if(c instanceof e)return c}return null}function c(t,n,i,o){if(s.cancellation()){var a=new e(r),c=this._finallyPromise=new e(r);this._promise=a.lastly(function(){return c}),a._captureStackTrace(),a._setOnCancel(this)}else{(this._promise=new e(r))._captureStackTrace()}this._stack=o,this._generatorFunction=t,this._receiver=n,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(_):_,this._yieldedPromise=null,this._cancellationPhase=!1}var l=t("./errors"),u=l.TypeError,p=t("./util"),h=p.errorObj,f=p.tryCatch,_=[];p.inherits(c,o),c.prototype._isResolved=function(){return null===this._promise},c.prototype._cleanup=function(){this._promise=this._generator=null,s.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},c.prototype._promiseCancelled=function(){if(!this._isResolved()){var t;if(void 0!==this._generator.return)this._promise._pushContext(),t=f(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var n=new e.CancellationError("generator .return() sentinel");e.coroutine.returnSentinel=n,this._promise._attachExtraTrace(n),this._promise._pushContext(),t=f(this._generator.throw).call(this._generator,n),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},c.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=f(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=f(this._generator.throw).call(this._generator,t);this._promise._popContext(),this._continue(e)},c.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},c.prototype.promise=function(){return this._promise},c.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},c.prototype._continue=function(t){var n=this._promise;if(t===h)return this._cleanup(),this._cancellationPhase?n.cancel():n._rejectCallback(t.e,!1);var r=t.value;if(!0===t.done)return this._cleanup(),this._cancellationPhase?n.cancel():n._resolveCallback(r);var o=i(r,this._promise);if(!(o instanceof e)&&null===(o=a(o,this._yieldHandlers,this._promise)))return void this._promiseRejected(new u("A value %s was yielded that could not be treated as a promise\n\n    See http://goo.gl/MqrFmX\n\n".replace("%s",r)+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));o=o._target();var s=o._bitField;0==(50397184&s)?(this._yieldedPromise=o,o._proxy(this,null)):0!=(33554432&s)?e._async.invoke(this._promiseFulfilled,this,o._value()):0!=(16777216&s)?e._async.invoke(this._promiseRejected,this,o._reason()):this._promiseCancelled()},e.coroutine=function(t,e){if("function"!=typeof t)throw new u("generatorFunction must be a function\n\n    See http://goo.gl/MqrFmX\n");var n=Object(e).yieldHandler,r=c,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new r(void 0,void 0,n,i),s=o.promise();return o._generator=e,o._promiseFulfilled(void 0),s}},e.coroutine.addYieldHandler=function(t){
+if("function"!=typeof t)throw new u("expecting a function but got "+p.classString(t));_.push(t)},e.spawn=function(t){if(s.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof t)return n("generatorFunction must be a function\n\n    See http://goo.gl/MqrFmX\n");var r=new c(t,this),i=r.promise();return r._run(e.spawn),i}}},{"./errors":12,"./util":36}],17:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){var a=t("./util");a.canEvaluate,a.tryCatch,a.errorObj,e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function c(t,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(t,n,s,o).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=e._async;u.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0==(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0==(33554432&y))return 0!=(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}return++this._totalResolved>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var r=t.pop();this._promiseFulfilled(n[r],r)}},a.prototype._filter=function(t,e){for(var n=e.length,r=new Array(n),i=0,o=0;n>o;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e.try=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i<n.length;++i){var o=n[i];p.test(o)||(e[o]=t[o])}return e}return s.markAsOriginatingFromRejection(t),t}function o(t,e){return function(n,r){if(null!==t){if(n){var o=i(a(n));t._attachExtraTrace(o),t._reject(o)}else if(e){var s=[].slice.call(arguments,1);t._fulfill(s)}else t._fulfill(r);t=null}}}var s=t("./util"),a=s.maybeWrapAsError,c=t("./errors"),l=c.OperationalError,u=t("./es5"),p=/^(?:name|message|stack|cause)$/;e.exports=o},{"./errors":12,"./es5":13,"./util":36}],21:[function(t,e,n){"use strict";e.exports=function(e){function n(t,e){var n=this;if(!o.isArray(t))return r.call(n,t,e);var i=a(e).apply(n._boundValue(),[null].concat(t));i===c&&s.throwLater(i.e)}function r(t,e){var n=this,r=n._boundValue(),i=void 0===t?a(e).call(r,null):a(e).call(r,null,t);i===c&&s.throwLater(i.e)}function i(t,e){var n=this;if(!t){var r=new Error(t+"");r.cause=t,t=r}var i=a(e).call(n._boundValue(),t);i===c&&s.throwLater(i.e)}var o=t("./util"),s=e._async,a=o.tryCatch,c=o.errorObj;e.prototype.asCallback=e.prototype.nodeify=function(t,e){if("function"==typeof t){var o=r;void 0!==e&&Object(e).spread&&(o=n),this._then(o,i,void 0,this,t)}return this}}},{"./util":36}],22:[function(t,e,n){"use strict";e.exports=function(){function n(){}function r(t,e){if("function"!=typeof e)throw new g("expecting a function but got "+f.classString(e));if(t.constructor!==i)throw new g("the promise constructor cannot be invoked directly\n\n    See http://goo.gl/MqrFmX\n")}function i(t){this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,t!==b&&(r(this,t),this._resolveFromExecutor(t)),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function o(t){this.promise._resolveCallback(t)}function s(t){this.promise._rejectCallback(t,!1)}function a(t){var e=new i(b);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var c,l=function(){return new g("circular promise resolution chain\n\n    See http://goo.gl/MqrFmX\n")},u=function(){return new i.PromiseInspection(this._target())},p=function(t){return i.reject(new g(t))},h={},f=t("./util");c=f.isNode?function(){var t=process.domain;return void 0===t&&(t=null),t}:function(){return null},f.notEnumerableProp(i,"_getDomain",c);var _=t("./es5"),d=t("./async"),v=new d;_.defineProperty(i,"_async",{value:v});var y=t("./errors"),g=i.TypeError=y.TypeError;i.RangeError=y.RangeError;var m=i.CancellationError=y.CancellationError;i.TimeoutError=y.TimeoutError,i.OperationalError=y.OperationalError,i.RejectionError=y.OperationalError,i.AggregateError=y.AggregateError;var b=function(){},w={},C={},j=t("./thenables")(i,b),E=t("./promise_array")(i,b,j,p,n),k=t("./context")(i),F=k.create,x=t("./debuggability")(i,k),T=(x.CapturedTrace,t("./finally")(i,j)),P=t("./catch_filter")(C),R=t("./nodeback"),S=f.errorObj,O=f.tryCatch;return i.prototype.toString=function(){return"[object Promise]"},i.prototype.caught=i.prototype.catch=function(t){var e=arguments.length;if(e>1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return p("expecting an object but got A catch statement predicate "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(x.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,w,void 0)},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new E(this).promise()},i.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=O(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new E(t).promise()},i.cast=function(t){var e=j(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+f.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var s=void 0!==o,a=s?o:new i(b),l=this._target(),u=l._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var p=c();if(0!=(50397184&u)){var h,_,d=l._settlePromiseCtx;0!=(33554432&u)?(_=l._rejectionHandler0,h=t):0!=(16777216&u)?(_=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new m("late cancellation observer"),l._attachExtraTrace(_),h=e),v.invoke(d,l,{handler:null===p?h:"function"==typeof h&&f.domainBind(p,h),promise:a,receiver:r,value:_})}else l._addCallbacks(t,e,a,r,p);return a},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===h?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=h),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=h),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:f.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:f.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0==(50397184&o)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;s>a;++a)r._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!=(33554432&o))this._fulfill(r._value());else if(0!=(16777216&o))this._reject(r._reason());else{var c=new m("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&x.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,!!e&&i),this._reject(t)},i.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0==(65536&i)){r._pushContext();var o;e===w?n&&"number"==typeof n.length?o=O(t).apply(this._boundValue(),n):(o=S,o.e=new g("cannot .spread() a non-array: "+f.classString(n))):o=O(t).call(e,n);var s=r._popContext();0==(65536&(i=r._bitField))&&(o===C?r._reject(n):o===S?r._rejectCallback(o.e,!1):(x.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var s=t instanceof i,a=this._bitField,c=0!=(134217728&a);0!=(65536&a)?(s&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,O(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):s||t instanceof E?t._cancel():r.cancel()):"function"==typeof e?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!=(33554432&a)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!=(33554432&a)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,f.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!=(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){return x.deprecated("Promise.defer","new Promise"),{promise:new i(b),resolve:o,reject:s}},f.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,j,p,x),t("./bind")(i,b,j,x),t("./cancel")(i,E,p,x),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,E,j,b,v,c),i.Promise=i,i.version="3.4.7",t("./map.js")(i,E,p,j,b,x),t("./call_get.js")(i),t("./using.js")(i,p,j,F,b,x),t("./timers.js")(i,b,x),t("./generators.js")(i,p,b,j,n,x),t("./nodeify.js")(i),t("./promisify.js")(i,b),t("./props.js")(i,E,j,p),t("./race.js")(i,b,j,p),t("./reduce.js")(i,E,p,j,b,x),t("./settle.js")(i,E,x),t("./some.js")(i,E,p),t("./filter.js")(i,b),t("./each.js")(i,b),t("./any.js")(i),f.toFastProperties(i),f.toFastProperties(i.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new i(b)),x.setBounds(d.firstLineError,f.lastLineError),i}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{}}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");return c.isArray,c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function t(n,o){var a=r(this._values,this._promise);if(a instanceof e){a=a._target();var l=a._bitField;if(this._values=a,0==(50397184&l))return this._promise._setAsyncGuaranteed(),a._then(t,this._reject,void 0,this,o);if(0==(33554432&l))return 0!=(16777216&l)?this._reject(a._reason()):this._cancel();a=a._value()}if(null===(a=c.asArray(a))){var u=i("expecting an array or an iterable object but got "+c.classString(a)).reason();return void this._promise._rejectCallback(u,!1)}return 0===a.length?void(-5===o?this._resolveEmptyArray():this._resolve(s(o))):void this._iterate(a)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0==(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!=(33554432&s)?this._promiseFulfilled(c._value(),a):0!=(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){return this._values[e]=t,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n<t.length;++n)t[n]instanceof e&&t[n].cancel()}},a.prototype.shouldCopyValues=function(){return!0},a.prototype.getActualLength=function(t){return t},a}},{"./util":36}],24:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t){return!b.test(t)}function i(t){try{return!0===t.__isPromisified__}catch(t){return!1}}function o(t,e,n){var r=h.getDataPropertyOrDefault(t,e+n,g);return!!r&&i(r)}function s(t,e,n){for(var r=0;r<t.length;r+=2){var i=t[r];if(n.test(i))for(var o=i.replace(n,""),s=0;s<t.length;s+=2)if(t[s]===o)throw new y("Cannot promisify an API that has normal methods with '%s'-suffix\n\n    See http://goo.gl/MqrFmX\n".replace("%s",e))}}function a(t,e,n,r){for(var a=h.inheritedDataKeys(t),c=[],l=0;l<a.length;++l){var u=a[l],p=t[u],f=r===w||w(u,p,t);"function"!=typeof p||i(p)||o(t,u,e)||!r(u,p,t,f)||c.push(u,p)}return s(c,e,n),c}function c(t,r,i,o,s,a){function c(){var i=r;r===p&&(i=this);var o=new e(n);o._captureStackTrace();var s="string"==typeof u&&this!==l?this[u]:t,c=f(o,a);try{s.apply(i,_(arguments,c))}catch(t){o._rejectCallback(d(t),!0,!0)}return o._isFateSealed()||o._setAsyncGuaranteed(),o}var l=function(){return this}(),u=t;return"string"==typeof u&&(t=o),h.notEnumerableProp(c,"__isPromisified__",!0),c}function l(t,e,n,r,i){for(var o=new RegExp(C(e)+"$"),s=a(t,e,o,n),c=0,l=s.length;l>c;c+=2){var u=s[c],f=s[c+1],_=u+e;if(r===j)t[_]=j(u,p,u,f,e,i);else{var d=r(f,function(){return j(u,p,u,f,e,i)});h.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return h.toFastProperties(t),t}function u(t,e,n){return j(t,e,void 0,t,null,n)}var p={},h=t("./util"),f=t("./nodeback"),_=h.withAppended,d=h.maybeWrapAsError,v=h.canEvaluate,y=t("./errors").TypeError,g={__isPromisified__:!0},m=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],b=new RegExp("^(?:"+m.join("|")+")$"),w=function(t){return h.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},C=function(t){return t.replace(/([$])/,"\\$")},j=v?void 0:c;e.promisify=function(t,e){if("function"!=typeof t)throw new y("expecting a function but got "+h.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?p:e.context,o=!!e.multiArgs,s=u(t,n,o);return h.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new y("the target of promisifyAll must be an object or a function\n\n    See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r="Async");var i=e.filter;"function"!=typeof i&&(i=w);var o=e.promisifier;if("function"!=typeof o&&(o=j),!h.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n    See http://goo.gl/MqrFmX\n");for(var s=h.inheritedDataKeys(t),a=0;a<s.length;++a){var c=t[s[a]];"constructor"!==s[a]&&h.isClass(c)&&(l(c.prototype,r,i,o,n),l(c,r,i,o,n))}return l(t,r,i,o,n)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t){var e,n=!1;if(void 0!==a&&t instanceof a)e=p(t),n=!0;else{var r=u.keys(t),i=r.length;e=new Array(2*i);for(var o=0;i>o;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n    See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){if(this._values[e]=t,++this._totalResolved>=this._length){var n;if(this._isMap)n=h(this._values);else{n={};for(var r=this.length(),i=0,o=this.length();o>i;++i)n[this._values[i+r]]=this._values[i]}return this._resolve(n),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacity<t},i.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1),this[this._front+e&this._capacity-1]=t,this._length=e+1},i.prototype.push=function(t,e,n){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(t),this._pushOne(e),void this._pushOne(n);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=n,this._length=r},i.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},i.prototype.length=function(){return this._length},i.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},i.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t,r(this,0,this,e,this._front+this._length&e-1)},e.exports=i},{}],27:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){function o(t,o){var c=r(t);if(c instanceof e)return a(c);if(null===(t=s.asArray(t)))return i("expecting an array or an iterable object but got "+s.classString(t));var l=new e(n);void 0!==o&&l._propagateFrom(o,3);for(var u=l._fulfill,p=l._reject,h=0,f=t.length;f>h;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:f.domainBind(s,n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,this._eachValues=i===o?Array(this._length):0===i?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){return"function"!=typeof e?r("expecting a function but got "+f.classString(e)):new a(t,e,n,i).promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;(o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length))instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n    See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s&&"function"==typeof s.resolve){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div");new MutationObserver(function(){t.classList.toggle("foo"),n=!1}).observe(r,e);var i=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),i()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection;t("./util").inherits(i,n),i.prototype._promiseResolved=function(t,e){return this._values[t]=e,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n    See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values)
+;!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e<this._values.length;++e)this._values[e]!==u&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n    See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n    See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(t){return l.e=t,l}}function s(t){try{return p.call(t,"_promise0")}catch(t){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(t){return a(t)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,g=_.tryCatch,m={};u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():m},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==m?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var m=r(d);m instanceof e&&(d=m._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p<b.length;++p)b[p]=e.resolve(c[p]).reflect();var w=e.all(b).then(function(t){for(var e=0;e<t.length;++e){var n=t[e];if(n.isRejected())return y.e=n.error(),y;if(!n.isFulfilled())return void w.cancel();t[e]=n.value()}C._pushContext(),i=g(i);var r=a?i.apply(void 0,t):i(t),o=C._popContext();return s.checkForgottenReturns(r,o,"Promise.using",C),r}),C=w.lastly(function(){var t=new e.PromiseInspection(w);return l(c,t)});return c.promise=C,C._setOnCancel(c),C},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=F;return F=null,t.apply(this,arguments)}catch(t){return P.e=t,P}}function i(t){return F=t,r}function o(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!x.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return x.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=x.names(t.prototype),n=x.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&x.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return D.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(t){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(t){}}function m(t){return null!=t&&(t instanceof Error.__BluebirdErrorTypes__.OperationalError||!0===t.isOperational)}function b(t){return y(t)&&x.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=x.names(t),i=0;i<r.length;++i){var o=r[i];if(n(o))try{x.defineProperty(e,o,x.getDescriptor(t,o))}catch(t){}}}function j(t){return H?process.env[t]:void 0}function E(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(t){}}function k(t,e){return t.bind(e)}var F,x=t("./es5"),T="undefined"==typeof navigator,P={e:{}},R="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0!==this?this:null,S=function(t,e){function n(){this.constructor=t,this.constructor$=e;for(var n in e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}var r={}.hasOwnProperty;return n.prototype=e.prototype,t.prototype=new n,t.prototype},O=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var n=0;n<t.length;++n)if(t[n]===e)return!0;return!1};if(x.isES5){var n=Object.getOwnPropertyNames;return function(t){for(var r=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=n(t)}catch(t){return r}for(var s=0;s<o.length;++s){var a=o[s];if(!i[a]){i[a]=!0;var c=Object.getOwnPropertyDescriptor(t,a);null!=c&&null==c.get&&null==c.set&&r.push(a)}}t=x.getPrototypeOf(t)}return r}}var r={}.hasOwnProperty;return function(n){if(e(n))return[];var i=[];t:for(var o in n)if(r.call(n,o))i.push(o);else{for(var s=0;s<t.length;++s)if(r.call(t[s],o))continue t;i.push(o)}return i}}(),A=/this\s*\.\s*\S+\s*=/,D=/^[a-z$_][a-z$_0-9]*$/i,V=function(){return"stack"in new Error?function(t){return b(t)?t:new Error(v(t))}:function(t){if(b(t))return t;try{throw new Error(v(t))}catch(t){return t}}}(),I=function(t){return x.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var L="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,n=[],r=t[Symbol.iterator]();!(e=r.next()).done;)n.push(e.value);return n};I=function(t){return x.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?L(t):null}}var N="undefined"!=typeof process&&"[object process]"===w(process).toLowerCase(),H="undefined"!=typeof process&&void 0!==process.env,B={isClass:h,isIdentifier:_,inheritedDataKeys:O,getDataPropertyOrDefault:l,thrower:p,isArray:x.isArray,asArray:I,notEnumerableProp:u,isPrimitive:o,isObject:s,isError:y,canEvaluate:T,errorObj:P,tryCatch:i,inherits:S,withAppended:c,maybeWrapAsError:a,toFastProperties:f,filledRange:d,toString:v,canAttachTrace:b,ensureErrorObject:V,originatesFromRejection:m,markAsOriginatingFromRejection:g,classString:w,copyDescriptors:C,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:N,hasEnvVariables:H,env:j,global:R,getNativePromise:E,domainBind:k};B.isRecentNode=B.isNode&&function(){var t=process.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),B.isNode&&B.toFastProperties(process);try{throw new Error}catch(t){B.lastLineError=t}e.exports=B},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise),function(t){window.NggPaginatedGallery=function(e,n){this.displayed_gallery_id=e,this.container=t(n),this.container_name=n,this.get_displayed_gallery_obj=function(){var t="gallery_"+this.displayed_gallery_id;return void 0!==window.galleries[t]&&window.galleries[t]},this.enable_ajax_pagination=function(){var e=this;t("body").on("click","a.ngg-browser-prev, a.ngg-browser-next",function(r){var i=!0;t(this).parents(n).each(function(){if(t(this).data("nextgen-gallery-id")!=e.displayed_gallery_id)return!0;i=!1}),i||(r.preventDefault(),window.ngg_ajax_operaton_count++,t("body, a").css("cursor","wait"),t.get(t(this).attr("href"),function(n){if(window.ngg_ajax_operaton_count--,window.ngg_ajax_operaton_count<=0&&(window.ngg_ajax_operaton_count=0,t("body, a").css("cursor","auto")),n){var r=t(n),i=!1;r.find(e.container_name).each(function(){return!!i||(t(this).data("nextgen-gallery-id")!=e.displayed_gallery_id||void(i=t(this)))}),i&&e.container.each(function(){var n=t(this);if(n.data("nextgen-gallery-id")!=e.displayed_gallery_id)return!0;var r=t(i.html()),o=r.find("img").toArray().map(function(e){return new Promise(function(n,r){var i=new Image;i.src=e.src,t(i).on("load",n)})});return Promise.all(o).then(function(){n.html(r),t(document).trigger("refreshed")}),!0})}}))})};var r=this.get_displayed_gallery_obj();r&&void 0!==r.display_settings.ajax_pagination&&parseInt(r.display_settings.ajax_pagination)&&this.enable_ajax_pagination(),void 0===window.ngg_ajax_operation_count&&(window.ngg_ajax_operaton_count=0)}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css
index f00bb5fac7a028dff256e12de1cb5d8161bd684d..ae329745e1a2a145318259b81908fbf2451dd48d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css
@@ -1,4 +1,4 @@
 /*!
  *  Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome
  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.fa,.fa-stack{display:inline-block}.fa-fw,.fa-li{text-align:center}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.6.1);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.6.1) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.6.1) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.6.1) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
\ No newline at end of file
+ */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.6.1);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.6.1) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.6.1) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.6.1) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
\ 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.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css
index 2b8a2f544a31c07854712ee7840d6aaf8f5a2796..31f02f1b22ea97b5649047ce4fe227e3dc53b55c 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
@@ -8,7 +8,7 @@
 
 .gallery_page_ngg_display_settings table tr td:first-child {
     vertical-align: top;
-    text-align: right;
+    /*text-align: right;*/
     padding-right: 7px;
     padding-top: 5px;
 }
@@ -23,7 +23,6 @@
 }
 
 .gallery_page_ngg_display_settings input[type=number] {
-    width: 75px;
     text-align: center;
 }
 
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 f71cbc627d4f419d9a997d7ff6bfc8dd81305000..685d7d22172c026b797b637841eb4320c12ae51f 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;text-align:right;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]{width:75px;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}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.min.css
index 18f55b568921cc8fb9aa57f9589927dbc36c7c3c..b5700d3788b66ab5e8276b1a3ead70da506c99e1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.min.css
@@ -1 +1 @@
-.ngg-related-gallery{background:#F9F9F9;border:1px solid #E0E0E0;overflow:hidden;margin-bottom:1em;margin-top:1em;padding:5px}.ngg-related-gallery img{border:1px solid #DDD;float:left;margin:0 3px;padding:2px;height:50px;width:50px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
+.ngg-related-gallery{background:#f9f9f9;border:1px solid #e0e0e0;overflow:hidden;margin-bottom:1em;margin-top:1em;padding:5px}.ngg-related-gallery img{border:1px solid #ddd;float:left;margin:0 3px;padding:2px;height:50px;width:50px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php
index ee3f4c9c5ea8b7e383519fdd4462bbfb80ad2ffb..e2fa4691406a2d504597ad0ba85bc05d9ca3658c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php
@@ -1,11 +1,10 @@
 <div class="ngg-related-gallery">
     <?php foreach ($images as $image) {
         $controller = C_Display_Type_Controller::get_instance();
-        $effect_code = $controller->get_effect_code($gallery->displayed_gallery);
         ?>
         <a href="<?php echo $image->imageURL; ?>"
            title="<?php echo stripslashes(M_I18N::translate($image->description, 'pic_' . $image->pid . '_description')); ?>"
-           <?php echo $effect_code; ?>>
+           <?php echo $image->get_thumbcode(); ?>>
             <img title="<?php echo stripslashes(M_I18N::translate($image->alttext, 'pic_' . $image->pid . '_alttext')); ?>"
                  alt="<?php echo stripslashes(M_I18N::translate($image->alttext, 'pic_' . $image->pid . '_alttext')); ?>"
                  data-image-id="<?php echo esc_attr($image->{$image->id_field})?>"
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 27ae232f3399cbc897025dd0999d49fff3de3974..6d31f51afe7f948d4bdea0e307a1e6e22eb52d5c 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',
-			'0.9',
+			'3.0.0',
 			'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 f7285194b8475c257442eb596f224d9a040a3b6f..028e7641ee47eac640c30cf98053a748c666737c 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
@@ -154,30 +154,18 @@ class A_Image_Options_Form extends Mixin
             // Update the gallery path. Moves all images to the new location
             if (isset($image_options['gallerypath']) && (!is_multisite() || get_current_blog_id() == 1)) {
                 $fs = C_Fs::get_instance();
-                $original_dir = $fs->get_abspath($this->object->get_model()->get('gallerypath'));
-                $new_dir = $fs->get_abspath($image_options['gallerypath']);
+                $root = $fs->get_document_root('galleries');
                 $image_options['gallerypath'] = $fs->add_trailing_slash($image_options['gallerypath']);
-                // Note: the below file move is disabled because it's quite unreliable as it doesn't perform any checks
-                //       For instance changing gallery path from /wp-content to /wp-content/gallery would attempt a recursive copy and then delete ALL files under wp-content, which would be disastreus
-                #				// If the gallery path has changed...
-                #				if ($original_dir != $new_dir) {
-                #                    // Try creating the new directory
-                #                    if ($this->object->_create_gallery_storage_dir($new_dir) AND is_writable($new_dir)) {
-                #					    // Try moving files
-                #						$this->object->recursive_copy($original_dir, $new_dir);
-                #						$this->object->recursive_delete($original_dir);
-                #						// Update gallery paths
-                #						$mapper = $this->get_registry()->get_utility('I_Gallery_Mapper');
-                #						foreach ($mapper->find_all() as $gallery) {
-                #							$gallery->path = $image_options['gallerypath'] . $gallery->name;
-                #							$mapper->save($gallery);
-                #						}
-                #					}
-                #					else {
-                #						$this->get_model()->add_error("Unable to change gallery path. Insufficient filesystem permissions");
-                #						$save = FALSE;
-                #					}
-                #				}
+                $gallery_abspath = $fs->get_absolute_path($fs->join_paths($root, $image_options['gallerypath']));
+                if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) {
+                    $gallery_abspath = DIRECTORY_SEPARATOR . $gallery_abspath;
+                }
+                if (strpos($gallery_abspath, $root) === FALSE) {
+                    $this->object->get_model()->add_error(sprintf(__("Gallery path must be located in %s", 'nggallery'), $root), 'gallerypath');
+                    $storage = C_Gallery_Storage::get_instance();
+                    $image_options['gallerypath'] = trailingslashit($storage->get_upload_relpath());
+                    unset($storage);
+                }
             } elseif (isset($image_options['gallerypath'])) {
                 unset($image_options['gallerypath']);
             }
@@ -375,7 +363,7 @@ class A_Other_Options_Controller extends Mixin
 }
 /**
  * Class A_Other_Options_Page
- * @mixin C_Page_Manager
+ * @mixin C_NextGen_Admin_Page_Manager
  * @adapts I_Page_Manager
  */
 class A_Other_Options_Page extends Mixin
@@ -399,7 +387,7 @@ class A_Reset_Form extends Mixin
     }
     function render()
     {
-        return $this->object->render_partial('photocrati-nextgen_other_options#reset_tab', array('reset_value' => __('Reset all options to default settings', 'nggallery'), 'reset_warning' => __('Replace all existing options and gallery options with their default settings', 'nggallery'), 'reset_label' => __('Reset settings', 'nggallery'), 'reset_confirmation' => __("Reset all options to default settings?\n\nChoose [Cancel] to Stop, [OK] to proceed.", 'nggallery')), TRUE);
+        return $this->object->render_partial('photocrati-nextgen_other_options#reset_tab', array('reset_value' => __('Reset all options', 'nggallery'), 'reset_warning' => __('Replace all existing options and gallery options with their default settings', 'nggallery'), 'reset_label' => __('Reset settings', 'nggallery'), 'reset_confirmation' => __("Reset all options to default settings?\n\nChoose [Cancel] to Stop, [OK] to proceed.", 'nggallery')), TRUE);
     }
     function reset_action()
     {
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css
index 2c65b2297697be21dbd839c9ff18d6d877b991b3..cd943b2706f532fc0f70c65cc1cec9740d7e7b78 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css
@@ -2,9 +2,20 @@
 	width: 80%;
 	height: 100%;
 }
-.gallery_page_ngg_other_options table tr td:first-child {
-    vertical-align: top;
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td {
+    padding: 20px;
+    vertical-align: middle;
+    line-height: 1.8;
+    padding: 20px 20px;
+}
+
+.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main table tr td:first-of-type,
+.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main table tr th:first-of-type {
+    width: 325px !important;
+    max-width: 100% !important;
 }
+
 .gallery_page_ngg_other_options table.image_options {
 	width: 100%;
 }
@@ -18,15 +29,24 @@
 
 .gallery_page_ngg_other_options textarea {
 	height: 100px;
+    width: 100%;
 }
 
-.gallery_page_ngg_other_options textarea,
-.gallery_page_ngg_other_options input[type=text] {
-	width: 100%;
+.gallery_page_ngg_other_options .image_options td {
+	padding-bottom: 8px;
 }
 
-.gallery_page_ngg_other_options .image_options td{
-	padding-bottom: 8px;
+.gallery_page_ngg_other_options .select2-results__option--highlighted[aria-selected] {
+    background-color: #9fbb1a;
+}
+
+#image_quality,
+#image_sorting_direction {
+    width: 120px !important;
+}
+
+#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position {
+    display: table !important;
 }
 
 .column_wrapper {
@@ -43,27 +63,19 @@
 	width: 40px;
 }
 
-#thumbnail_dimensions_width,
-#thumbnail_dimensions_height{
-	width: 100px;
+#ngg_page_content #thumbnail_dimensions_width,
+#ngg_page_content #thumbnail_dimensions_height{
+	width: 75px;
+	vertical-align: middle;
 }
+
 .nextgen-thumb-size-custom br {
-display:none;
+	display:none;
 }
 
 .gallery_page_ngg_other_options select.thumbnail_dimensions {
 	width: 300px;
-}
-
-.description_row{
-	position: relative;
-}
-.description_row .description {
-	width: auto;
-	position: absolute;
-	margin-top: -10px;
-	margin-bottom: 5px;
-	z-index: 10;
+	max-width: 100%;
 }
 
 .full-width {
@@ -82,6 +94,14 @@ td.align-to-top {
 	text-align: right;
 }
 
+.gallery_page_ngg_other_options .ngg_options_promo a {
+    margin-left: 0;
+}
+
+#advanced_stylesheet_form td {
+	width: 100% !important;
+}
+
 #cssfile_contents {
 	background: #F9F9F9;
 	font-family: Consolas,Monaco,monospace;
@@ -109,3 +129,19 @@ td.align-to-top {
 #nextgen_settings_preview_refresh {
     display: block;
 }
+
+@media (max-width: 782px) {
+	#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td {
+	    width: 100%;
+	}
+	.gallery_page_ngg_other_options input[type="text"],
+	.gallery_page_ngg_other_options select,
+	.gallery_page_ngg_other_options .select2-container,
+	#image_quality, 
+	#image_sorting_direction {
+    	width: 100% !important;
+	} 
+	#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td {
+	    padding: 5px 20px;
+	}
+}
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.css
index a3e1f096f5b85b20fd51d74ad8130d74da65725e..c4302588fb06e1670a2f51f6691ffe812fc7229b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.css
@@ -1 +1 @@
-.gallery_page_ngg_other_options table tr td:first-child,label.align-to-top,td.align-to-top{vertical-align:top}#lightbox_library_advanced_settings td,.right-aligned{text-align:right}.gallery_page_ngg_other_options table{width:80%;height:100%}.gallery_page_ngg_other_options table.image_options{width:100%}.gallery_page_ngg_other_options table td.column1{width:240px}.gallery_page_ngg_other_options table td.column2{width:200px}.gallery_page_ngg_other_options textarea{height:100px}.gallery_page_ngg_other_options input[type=text],.gallery_page_ngg_other_options textarea{width:100%}.gallery_page_ngg_other_options .image_options td{padding-bottom:8px}.column_wrapper{width:100%;padding-right:7px}#max_related_images{width:auto}#image_height,#image_width{width:40px}#thumbnail_dimensions_height,#thumbnail_dimensions_width{width:100px}.nextgen-thumb-size-custom br{display:none}.gallery_page_ngg_other_options select.thumbnail_dimensions{width:300px}.description_row{position:relative}.description_row .description{width:auto;position:absolute;margin-top:-10px;margin-bottom:5px;z-index:10}.full-width{width:100%}#cssfile_contents{background:#F9F9F9;font-family:Consolas,Monaco,monospace;font-size:12px;width:100%;height:300px;outline:0}#writable_identicator{display:inline}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}#nextgen_settings_preview_refresh{display:block}
\ No newline at end of file
+.gallery_page_ngg_other_options table{width:80%;height:100%}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td{padding:20px;vertical-align:middle;line-height:1.8;padding:20px 20px}.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main table tr td:first-of-type,.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main table tr th:first-of-type{width:325px!important;max-width:100%!important}.gallery_page_ngg_other_options table.image_options{width:100%}.gallery_page_ngg_other_options table td.column1{width:240px}.gallery_page_ngg_other_options table td.column2{width:200px}.gallery_page_ngg_other_options textarea{height:100px;width:100%}.gallery_page_ngg_other_options .image_options td{padding-bottom:8px}.gallery_page_ngg_other_options .select2-results__option--highlighted[aria-selected]{background-color:#9fbb1a}#image_quality,#image_sorting_direction{width:120px!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position{display:table!important}.column_wrapper{width:100%;padding-right:7px}#max_related_images{width:auto}#image_height,#image_width{width:40px}#ngg_page_content #thumbnail_dimensions_height,#ngg_page_content #thumbnail_dimensions_width{width:75px;vertical-align:middle}.nextgen-thumb-size-custom br{display:none}.gallery_page_ngg_other_options select.thumbnail_dimensions{width:300px;max-width:100%}.full-width{width:100%}.right-aligned{text-align:right}label.align-to-top,td.align-to-top{vertical-align:top}#lightbox_library_advanced_settings td{text-align:right}.gallery_page_ngg_other_options .ngg_options_promo a{margin-left:0}#advanced_stylesheet_form td{width:100%!important}#cssfile_contents{background:#f9f9f9;font-family:Consolas,Monaco,monospace;font-size:12px;width:100%;height:300px;outline:0}#writable_identicator{display:inline}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}#nextgen_settings_preview_refresh{display:block}@media (max-width:782px){#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td{width:100%}#image_quality,#image_sorting_direction,.gallery_page_ngg_other_options .select2-container,.gallery_page_ngg_other_options input[type=text],.gallery_page_ngg_other_options select{width:100%!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td{padding:5px 20px}}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.js
index 8c45e9245f76164fbd097f24a95d09087f943e13..f7f4155e72d74a0c11ecb634de90d2f4ff8f88a1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.min.js
@@ -1 +1 @@
-jQuery(function(t){t("select.select2").select2(),t("label.tooltip, span.tooltip").tooltip(),t("#lightbox_library").change(function(){var e=t(this).find(":selected").val(),a="lightbox_library_"+e;t(".lightbox_library_settings").each(function(){t(this).attr("id")!=a&&t(this).fadeOut("fast")}),t("#"+a).fadeIn()}).change(),t("#watermark_customization").attr("rel","watermark_"+t("#watermark_source").val()+"_source"),t("#watermark_source").change(function(){t("#"+t("#watermark_customization").attr("rel")).css("display","").addClass("hidden"),t("#"+t(this).val()).hasClass("hidden")||t("#"+t(this).val()).removeClass("hidden"),t("#watermark_customization").attr("rel","watermark_"+t("#watermark_source").val()+"_source").click()}),t("#watermark_source").change(function(){var e=t(this).val();t(".watermark_field").each(function(){0==e?t(this).fadeOut().addClass("hidden"):t(this).fadeIn().removeClass("hidden")})}).change(),t("#nextgen_settings_preview_refresh").click(function(e){e.preventDefault();var a=t(this).parents("form:first"),r=t(this),s=t(r).html();return t(r).attr("disabled","disabled").html("Processing..."),t("body").css("cursor","wait"),t.ajax({type:a.attr("method"),url:t(this).data("refresh-url"),data:a.serialize()+"&action=get_watermark_preview_url",dataType:"json",success:function(e){var a=r.prev(),i=e.thumbnail_url;queryPos=i.indexOf("?"),queryPos!=-1&&(i=i.substring(0,queryPos)),a.attr("src",i+"?"+(new Date).getTime()),t(r).removeAttr("disabled").html(s),t("body").css("cursor","default")},error:function(e,a,i){t(r).removeAttr("disabled").html(s),t("body").css("cursor","default")}}),!1}),t('input[name="style_settings[activateCSS]"]').nextgen_radio_toggle_tr("1",t("#tr_photocrati-nextgen_styles_activated_stylesheet")).nextgen_radio_toggle_tr("1",t("#tr_photocrati-nextgen_styles_show_more")).bind("change",function(){var e=t(this);"0"==e.val()?(t("#cssfile_contents").prop("disabled",!0),t("#advanced_stylesheet_form").hide("slow")):t("#cssfile_contents").prop("disabled",!1)}),t("#activated_stylesheet").change(function(){var e=t(this).find(":selected"),a={action:"get_stylesheet_contents",cssfile:e.val()};t.post(photocrati_ajax.url,a,function(e){"object"!=typeof e&&(e=JSON.parse(e)),t("#cssfile_contents").val(e.error?e.error:e.contents);var a=t("#writable_identicator");e.writable?a.text(a.attr("writable_label")+" "+e.writepath):a.text(a.attr("readonly_label"))})}).change()});
\ No newline at end of file
+jQuery(function(t){t("select.select2").select2(),t("label.tooltip, span.tooltip").tooltip(),t("#lightbox_library").change(function(){var e=t(this).find(":selected").val(),a="lightbox_library_"+e;t(".lightbox_library_settings").each(function(){t(this).attr("id")!=a&&t(this).fadeOut("fast")}),t("#"+a).fadeIn()}).change(),t("#watermark_customization").attr("rel","watermark_"+t("#watermark_source").val()+"_source"),t("#watermark_source").change(function(){t("#"+t("#watermark_customization").attr("rel")).css("display","").addClass("hidden"),t("#"+t(this).val()).hasClass("hidden")||t("#"+t(this).val()).removeClass("hidden"),t("#watermark_customization").attr("rel","watermark_"+t("#watermark_source").val()+"_source").click()}),t("#watermark_source").change(function(){var e=t(this).val();t(".watermark_field").each(function(){0==e?t(this).fadeOut().addClass("hidden"):t(this).fadeIn().removeClass("hidden")})}).change(),t("#nextgen_settings_preview_refresh").click(function(e){e.preventDefault();var a=t(this).parents("form:first"),r=t(this),s=t(r).html();return t(r).attr("disabled","disabled").html("Processing..."),t("body").css("cursor","wait"),t.ajax({type:a.attr("method"),url:t(this).data("refresh-url"),data:a.serialize()+"&action=get_watermark_preview_url",dataType:"json",success:function(e){var a=r.prev(),i=e.thumbnail_url;queryPos=i.indexOf("?"),-1!=queryPos&&(i=i.substring(0,queryPos)),a.attr("src",i+"?"+(new Date).getTime()),t(r).removeAttr("disabled").html(s),t("body").css("cursor","default")},error:function(e,a,i){t(r).removeAttr("disabled").html(s),t("body").css("cursor","default")}}),!1}),t('input[name="style_settings[activateCSS]"]').nextgen_radio_toggle_tr("1",t("#tr_photocrati-nextgen_styles_activated_stylesheet")).nextgen_radio_toggle_tr("1",t("#tr_photocrati-nextgen_styles_show_more")).bind("change",function(){"0"==t(this).val()?(t("#cssfile_contents").prop("disabled",!0),t("#advanced_stylesheet_form").hide("slow")):t("#cssfile_contents").prop("disabled",!1)}),t("#activated_stylesheet").change(function(){var e=t(this).find(":selected"),a={action:"get_stylesheet_contents",cssfile:e.val()};t.post(photocrati_ajax.url,a,function(e){"object"!=typeof e&&(e=JSON.parse(e)),t("#cssfile_contents").val(e.error?e.error:e.contents);var a=t("#writable_identicator");e.writable?a.text(a.attr("writable_label")+" "+e.writepath):a.text(a.attr("readonly_label"))})}).change()});
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php
index 63b9a922dbfed0a21006a3952e5d0fbfb825de93..a9adaf0e1387edff71485569dc9f8ac89cd69596 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php
@@ -4,8 +4,10 @@
 	?>
 	<tr>
 		<td class="column1">
-			<label for="gallery_path">
-				<?php esc_html_e($gallery_path_label)?>
+			<label 	for="gallery_path"
+					title="<?php echo esc_attr($gallery_path_help); ?>"
+               		class="tooltip">
+					<?php esc_html_e($gallery_path_label)?>
 			</label>
 		</td>
 		<td colspan="2">
@@ -16,9 +18,6 @@
                 data-original-value='<?php echo esc_attr($gallery_path); ?>'
 				value="<?php echo esc_attr($gallery_path) ?>"
 			/>
-			<p class="description">
-				<?php esc_html_e($gallery_path_help)?>
-			</p>
 		</td>
 	</tr>
 	<?php 
@@ -26,8 +25,10 @@
 	?>
 	<tr>
 		<td>
-			<label for="delete_images">
-				<?php esc_html_e($delete_image_files_label) ?>
+			<label 	for="delete_images" 
+					title="<?php echo esc_attr($delete_image_files_help); ?>"
+               		class="tooltip">
+					<?php esc_html_e($delete_image_files_label) ?>
 			</label>
 		</td>
 		<td colspan="2">
@@ -45,14 +46,15 @@
                        value="0"
                        <?php checked(0, $delete_image_files); ?>/>
                 <label for="delete_images_no"><?php _e('No'); ?></label>
-                <?php esc_html_e($delete_image_files_help); ?>
 			</p>
 		</td>
 	</tr>
 	<tr>
 		<td>
-			<label for="automatic_resize">
-				<?php esc_html_e($automatic_resize_label)?>
+			<label 	for="automatic_resize" 
+					title="<?php echo esc_attr($automatic_resize_help); ?>"
+               		class="tooltip">
+					<?php esc_html_e($automatic_resize_label)?>
 			</label>
 		</td>
 		<td colspan="2">
@@ -70,14 +72,15 @@
                        value="0"
                     <?php checked(0, $automatic_resize ? 1 : 0); ?>/>
                 <label for="automatic_resize_no"><?php _e('No'); ?></label>
-                <?php esc_html_e($automatic_resize_help); ?>
             </p>
 		</td>
 	</tr>
 	<tr>
 		<td>
-			<label for="resize_images">
-				<?php esc_html_e($resize_images_label) ?>
+			<label 	for="resize_images" 
+					title="<?php echo esc_attr($resize_images_help); ?>"
+               		class="tooltip">
+					<?php esc_html_e($resize_images_label) ?>
 			</label>
 		</td>
 		<td class="column2">
@@ -111,12 +114,6 @@
 			</div>
 		</td>
 	</tr>
-	<tr class="description_row">
-		<td class="column1"></td>
-		<td colspan="2">
-			<p class="description"><?php esc_html_e($resize_images_help) ?></p>
-		</td>
-	</tr>
 	<tr>
 		<td>
 			<label for="backup_images">
@@ -124,9 +121,6 @@
 			</label>
 		</td>
 		<td colspan="2">
-			<label for="backup_images_yes">
-				<?php esc_html_e($backup_images_yes_label)?>
-			</label>
 			<input
 				id="backup_images_yes"
 				name="image_options[imgBackup]"
@@ -134,10 +128,10 @@
 				type="radio"
 				<?php checked(1, $backup_images ? 1 : 0)?>
 			/>
-			&nbsp;
-			<label for="backup_images_no">
-				<?php esc_html_e($backup_images_no_label)?>
+			<label for="backup_images_yes">
+				<?php esc_html_e($backup_images_yes_label)?>
 			</label>
+			&nbsp;
 			<input
 				id="backup_images_no"
 				name="image_options[imgBackup]"
@@ -145,6 +139,9 @@
 				type="radio"
 				<?php checked(0, $backup_images ? 1 : 0)?>
 			/>
+			<label for="backup_images_no">
+				<?php esc_html_e($backup_images_no_label)?>
+			</label>
 		</td>
 	</tr>
 	<tr id="sorting_options_row">
@@ -177,8 +174,10 @@
 	</tr>
 	<tr>
 		<td>
-			<label for="show_related_images">
-				<?php esc_html_e($show_related_images_label)?>
+			<label 	for="show_related_images" 
+					title="<?php echo esc_attr($show_related_images_help); ?>"
+               		class="tooltip">
+					<?php esc_html_e($show_related_images_label)?>
 			</label>
 		</td>
 		<td colspan="2">
@@ -196,7 +195,6 @@
                        value="0"
                        <?php checked(0, $show_related_images); ?>/>
                 <label for="show_related_images_no"><?php _e('No'); ?></label>
-                <?php esc_html_e($show_related_images_help); ?>
 			</p>
 		</td>
 	</tr>
@@ -249,7 +247,7 @@
 					<?php esc_html_e($related_images_heading_label) ?>
 				</label>
 			</td>
-			<td>
+			<td colspan="2">
 				<input id="related_images_heading" type="text" name="image_options[relatedHeading]"
 							 value="<?php echo esc_attr($related_images_heading)?>"/>
 			</td>
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 330bd2a232e7122008480443737031f339b806a2..8c8a1b28256a908e9add0b91dde382003c44cd3e 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
@@ -25,6 +25,13 @@
         <tbody class="lightbox_library_settings hidden" id="lightbox_library_<?php echo esc_attr($name); ?>">
             <?php echo $form; ?>
         </tbody>
+    <?php } ?>
+    <?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>
+            </td>
+        </tr>
     <?php } ?>
 	<tr>
 		<td class="column1">
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php
index aaf38c894120ff5a564440a45312ce302d85bc23..7a6b340749d04c2b6e8cbfcbc65ca94174dc0c63 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php
@@ -1,7 +1,9 @@
 <table>
     <tr>
         <td class="column1">
-            <label for="mediarss_activated">
+            <label  for="mediarss_activated" 
+                    title="<?php echo esc_attr($mediarss_activated_help); ?>"
+                    class="tooltip">
                 <?php esc_html_e($mediarss_activated_label)?>
             </label>
         </td>
@@ -27,14 +29,13 @@
                 value="0"
                 <?php checked(FALSE, $mediarss_activated ? TRUE : FALSE)?>
                 />
-            <p class="description">
-                <?php esc_html_e($mediarss_activated_help)?>
-            </p>
         </td>
     </tr>
     <tr>
         <td class="column1">
-            <label for="galleries_in_feeds">
+            <label  for="galleries_in_feeds"  
+                    title="<?php echo esc_attr($galleries_in_feeds_help); ?>"
+                    class="tooltip">
                 <?php esc_html_e($galleries_in_feeds_label)?>
             </label>
         </td>
@@ -60,9 +61,6 @@
                 value="0"
                 <?php checked(FALSE, $galleries_in_feeds ? TRUE : FALSE)?>
                 />
-            <p class="description">
-                <?php esc_html_e($galleries_in_feeds_help)?>
-            </p>
         </td>
     </tr>
     <tr>
@@ -72,7 +70,7 @@
         <td>
             <input type='submit'
                    name="action_proxy"
-                   class="button delete button-secondary"
+                   class="button delete button-primary"
                    data-proxy-value="cache"
                    data-confirm="<?php echo $cache_confirmation; ?>"
                    value='<?php echo $cache_label; ?>'
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php
index bdd95908b934f1d38a202b7fdd6aa0c2d4e035f2..c21371b7aab71018c497bba1082713d4e72d7835 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php
@@ -7,7 +7,7 @@
         </td>
         <td>
             <input type="submit"
-                   class="button-secondary"
+                   class="button-primary"
 				   data-confirm="<?php echo $reset_confirmation; ?>"
 				   data-proxy-value="reset"
                    name="action_proxy"
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php
index 9f9ab52c7d1698e2811951e78af6e5b77897ddbf..b89d8bbe31f265c3ca7ea040aa9d021deb116127 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php
@@ -39,7 +39,6 @@
                         'javascript:alert("/*\nCSS Name: Example\nDescription: This is an example stylesheet\nAuthor: John Smith\nVersion: 1.0\n*/");'
                     );
                 ?>
-                All stylesheets must contain a <a href='#' onclick='javascript:alert("/*\nCSS Name: Example\nDescription: This is an example stylesheet\nAuthor: John Smith\nVersion: 1.0\n*/");'>file header</a>
             </p>
 		</td>
 	</tr>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php
index 5c79632cf38caaca76f9841b3e19ab58cb1cd7cf..60aaaeb77aef06d9c81e1eecd77c530c9e8e17b6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php
@@ -1,7 +1,9 @@
 <table class="thumbnail_options">
 	<tr>
 		<td>
-			<label for="thumbnail_dimensions_width">
+			<label for="thumbnail_dimensions_width"
+					title="<?php echo esc_attr($thumbnail_dimensions_help); ?>"
+               		class="tooltip">
 				<?php esc_html_e($thumbnail_dimensions_label) ?>
 			</label>
 		</td>
@@ -19,12 +21,13 @@
               'thumbnails-template.php'
           )));
 		?>
-			<p class="description"><?php esc_html_e($thumbnail_dimensions_help)?></p>
 		</td>
 	</tr>
 	<tr>
 		<td>
-			<label for="thumbnail_crop">
+			<label 	for="thumbnail_crop" 
+					title="<?php echo esc_attr($thumbnail_crop_help); ?>"
+               		class="tooltip">
 				<?php esc_html_e($thumbnail_crop_label) ?>
 			</label>
 		</td>
@@ -42,7 +45,6 @@
                    value="0"
                 <?php checked(0, $thumbnail_crop); ?>/>
             <label for="thumbnail_crop_no"><?php _e('No'); ?></label>
-			<p class="description"><?php esc_html_e($thumbnail_crop_help); ?></p>
 		</td>
 	</tr>
     <?php /*
@@ -66,7 +68,9 @@
     */ ?>
 	<tr>
 		<td>
-			<label for="size_list">
+			<label 	for="size_list"
+					title="<?php echo esc_attr($size_list_help); ?>"
+               		class="tooltip">
 				<?php esc_html_e($size_list_label) ?>
 			</label>
 		</td>
@@ -94,7 +98,6 @@
 				echo "<i>No default sizes present.</i>";
 			}
 		?>
-			<p class="description"><?php esc_html_e($size_list_help)?></p>
 		</td>
 	</tr>
 </table>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php
index 54b6fb6c6bcf9030f32775d97fe6eade541b05c7..25c007d8c65e5402a239390875e09d5cc276ee01 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php
@@ -73,7 +73,7 @@
             </td>
             <td>
                 <img src='<?php echo $thumbnail_url; ?>'/>
-                <button id='nextgen_settings_preview_refresh' data-refresh-url='<?php echo $refresh_url; ?>'><?php echo $refresh_label; ?></button>
+                <button id='nextgen_settings_preview_refresh' class="button-primary" data-refresh-url='<?php echo $refresh_url; ?>'><?php echo $refresh_label; ?></button>
             </td>
         </tr>
     <?php } ?>
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php
index d201dd641035111d41aaf98c1a3007ab7bdb6199..0d04fa6ece97ad6ef07f857fbbeaf62fc8f13ed3 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php
@@ -19,7 +19,7 @@ class M_NextGen_Pagination extends C_Base_Module
             'photocrati-nextgen_pagination',
             "Pagination",
             "Provides pagination for display types",
-            '0.4',
+            '3.0.0',
             "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_pagination/static/style.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.min.css
index fcbae4b6e2348274a3f1318e22db9b7de8d9ec71..b4c28bbbb8fa0da50f7f2e18096e6dab7897f345 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.min.css
@@ -1 +1 @@
-.ngg-navigation{font-size:.9em!important;clear:both!important;display:block!important;padding-top:15px;padding-bottom:3px;text-align:center}.ngg-navigation span{font-weight:700;margin:0 6px}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{border:1px solid #DDD;margin-right:3px;padding:3px 8px;text-decoration:none}.ngg-navigation a.next:hover,.ngg-navigation a.page-numbers:hover,.ngg-navigation a.prev:hover,.ngg-navigation span.next:hover,.ngg-navigation span.page-numbers:hover,.ngg-navigation span.prev:hover{background-color:#06C;color:#FFF!important;text-decoration:none!important}.ngg-clear{clear:both}
\ No newline at end of file
+.ngg-navigation{font-size:.9em!important;clear:both!important;display:block!important;padding-top:15px;padding-bottom:3px;text-align:center}.ngg-navigation span{font-weight:700;margin:0 6px}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{border:1px solid #ddd;margin-right:3px;padding:3px 8px;text-decoration:none}.ngg-navigation a.next:hover,.ngg-navigation a.page-numbers:hover,.ngg-navigation a.prev:hover,.ngg-navigation span.next:hover,.ngg-navigation span.page-numbers:hover,.ngg-navigation span.prev:hover{background-color:#06c;color:#fff!important;text-decoration:none!important}.ngg-clear{clear:both}
\ No newline at end of file
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 09258600837eb138a0adc389b1886fde6a6d576b..b335e584a116ca96ab8ee4a7d692651e9374df45 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',
-            '0.8',
+            '3.0.0',
             '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 a4aef9cf0f53f79e5836dee908ccac17ccefd69e..3eeb6164bf11080617da4ff6aa54006d1d0c0c85 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
@@ -1,7 +1,7 @@
 <?php
 /**
  * Class A_NextGen_Pro_Plus_Upgrade_Page
- * @mixin C_Page_Manager
+ * @mixin C_NextGen_Admin_Page_Manager
  * @adapts I_Page_Manager
  * @todo merge with A_NextGen_Pro_Upgrade_Page class
  */
@@ -39,7 +39,7 @@ class A_NextGen_Pro_Upgrade_Controller extends Mixin
     }
     function get_page_title()
     {
-        return __('Upgrade to Pro', 'nggallery');
+        return __('Upgrade', 'nggallery');
     }
     function get_required_permission()
     {
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 36e50faf1800e1254b90149c9fa8930eaf8c56e9..99173ff0746c01b357dbef71c8b896f2c95febfb 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
@@ -1,3 +1,8 @@
+
+#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;
@@ -7,6 +12,15 @@
 	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;
 }
@@ -31,6 +45,7 @@
     width: 100%;
     display: block;
     margin-top: 60px;
+    display:none;
 }
 
 #nextgen_pro_upgrade_page.nextgen_plus p span {
@@ -45,17 +60,25 @@
     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: 450px;
-	width: 800px;
+	height: 370px;
+    width: 650px;
 	max-width: 100%;
 }
 
 #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: #76a934;
+    background-color: #9fbb1a;
     border: none;
     box-shadow: none;
     text-transform: uppercase;
@@ -65,7 +88,7 @@
     padding: 12px 22px;
     text-shadow: none;
     text-align: center;
-    margin: 40px 0 60px;
+    margin: 40px 0;
     font-weight: bold;
 }
 
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 a8945430bf25e9e44a3357b642a797eed273954b..3ca57a2f3f531e117fa44238b6b03a1892fa5d41 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 @@
-.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 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%;display:block;margin-top:60px}#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}#nextgen_pro_upgrade_page iframe{height:450px;width:800px;max-width:100%}#nextgen_pro_upgrade_page a.button-primary{font-size:14px;background-color:#76a934;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 60px;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;max-width:none;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%;display:block;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{font-size:15px;height:2.8em;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;height:50px;width:300px;max-width:100%;padding:12px 22px;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
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 74ebe48dda154582012a4355573d568cdc63f053..41545aa649dd7d1ae870eed7d2a372fb2eed9625 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
@@ -1,12 +1,25 @@
-<div id='nextgen_pro_upgrade_page' class="wrap about-wrap">
-    <h1><?php esc_html_e($i18n->plus_title); ?></h1>
-    <p class="about-text">
-        <?php esc_html_e($i18n->plus_desc_first); ?><br>
-        <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"><?php esc_html_e($i18n->plus_button); ?></a><br>
-        <span><?php esc_html_e($i18n->video); ?></span>
-        </p>
+<?php 
+$action_status = array('message' => '', 'status' => 'ok');
+if ($action_status['message']!='') : ?>
+        <div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+            <p><strong><?php echo $action_status['message']; ?></strong></p>
+        </div>
+<?php endif; ?>
+<div id='ngg_page_content'>
+    <div id='nextgen_pro_upgrade_page' class="wrap about-wrap">
+        <div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php esc_html_e($i18n->plus_title); ?></h3>
+        </div>
+
+        <div class='ngg_page_content_main'>
+            <p class="about-text">
+                <?php esc_html_e($i18n->plus_desc_first); ?><br>
+                <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"><?php esc_html_e($i18n->plus_button); ?></a><br>
+                <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>
+            </div>
+        </div>
 
-    <div class="feature-section">
-        <iframe src="https://www.youtube.com/embed/zmA-b_jiXN0" 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 209c444afde7294b0a7fdf44886241dd9007df52..dd0d8c456aa5df66ae67eaaa1f8f0839f2636fd8 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
@@ -1,14 +1,30 @@
+<?php 
+$action_status = array('message' => '', 'status' => 'ok');
+if ($action_status['message']!='') : ?>
+        <div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+            <p><strong><?php echo $action_status['message']; ?></strong></p>
+        </div>
+<?php endif; ?>
 
-<div id='nextgen_pro_upgrade_page' class="wrap about-wrap nextgen_plus">
-    <h1><?php esc_html_e($i18n->pro_title); ?></h1>
-    <p class="about-text">
-        <?php esc_html_e($i18n->pro_desc); ?><br>
-        <a href='https://www.imagely.com/wordpress-gallery-plugin/nextgen-pro/' target='_blank' class="button-primary"><?php esc_html_e($i18n->pro_button); ?></a><br>
-        <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>
-    </div>
-</div>
+<div id='ngg_page_content'>
 
+    <div id='nextgen_pro_upgrade_page' class="wrap about-wrap">
+        <div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php esc_html_e($i18n->pro_title); ?></h3>
+        </div>
 
+        <div class='ngg_page_content_main'>
+
+            <p class="about-text">
+                <?php esc_html_e($i18n->pro_desc); ?><br>
+                <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"><?php esc_html_e($i18n->pro_button); ?></a><br>
+                <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>
+            </div>
+		    
+		</div> <!-- /#ngg_page_content_main -->
+
+    </div> <!-- /#ngg_pro_upgrade_page -->
+
+</div> <!-- /#ngg_page_content -->
\ No newline at end of file
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 14fab0d9d4b2abce0e94d2663249b31be1131712..896580f340476310162998b5ffd6a0962b741b4f 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',
-			'0.16',
+			'3.0.0',
 			'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
 			'Imagely',
 			'https://www.imagely.com'
@@ -110,16 +110,16 @@ class C_NextGen_Settings_Installer
 			'thumbEffectContext'  => 'nextgen_images', // select effect
 
 			// Watermark settings
-			'wmPos'    => 'botRight',             // Postion
-			'wmXpos'   => 5,                      // X Pos
+			'wmPos'    => 'midCenter',            // Postion
+			'wmXpos'   => 15,                     // X Pos
 			'wmYpos'   => 5,                      // Y Pos
-			'wmType'   => 'image',                // Type : 'image' / 'text'
+			'wmType'   => 'text',                 // Type : 'image' / 'text'
 			'wmPath'   => '',                     // Path to image
 			'wmFont'   => 'arial.ttf',            // Font type
-			'wmSize'   => 10,                     // Font Size
+			'wmSize'   => 30,                     // Font Size
 			'wmText'   => get_option('blogname'), // Text
-			'wmColor'  => '000000',               // Font Color
-			'wmOpaque' => '100',                  // Font Opaque
+			'wmColor'  => 'ffffff',               // Font Color
+			'wmOpaque' => '33',                   // Font Opaque
 
 			// Image Rotator settings
 			'slideFX'      => 'fade',
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 0ea62481da87a28b4bcf5e620c5f4cce4a973105..01ae873c6b885c0916ae65b7ba1c8d794cd3956d 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',
-			'0.6',
+			'3.0.0',
 			'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 4353cbbf52228863b77106086057a5916fd7921f..e787aa1c3f4c7473ba4057762f14a17dc4dcc5c5 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
@@ -590,6 +590,9 @@ class C_NextGen_API extends C_Component
                         $error = null;
                         if ($gallery != null) {
                             if ($task_type == 'gallery_remove') {
+                                /**
+                                 * @var $mapper Mixin_Gallery_Mapper
+                                 */
                                 if (!$mapper->destroy($gallery, true)) {
                                     $error = __('Failed to remove gallery (%1$s).', 'nggallery');
                                 }
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 c88c7e782cb7f623277b97a6911302550e009689..479077faa10cdc1e5de94fc76668d617acb0db78 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
@@ -13,25 +13,35 @@ class nggAdminPanel{
 	function __construct() {
 
 		// Buffer the output
-		add_action('admin_init', array(&$this, 'start_buffer'));
+		add_action('admin_init', array($this, 'start_buffer'));
 
 		// Add the admin menu
-		add_action( 'admin_menu', array (&$this, 'add_menu') );
-        add_action( 'admin_bar_menu', array(&$this, 'admin_bar_menu'), 99 );
-		add_action( 'network_admin_menu', array (&$this, 'add_network_admin_menu') );
+		add_action( 'admin_menu', array ($this, 'add_menu') );
+        add_action( 'admin_bar_menu', array($this, 'admin_bar_menu'), 99 );
+		add_action( 'network_admin_menu', array ($this, 'add_network_admin_menu') );
 
 		// Add the script and style files
-		add_action('admin_print_scripts', array(&$this, 'load_scripts') );
-		add_action('admin_print_styles', array(&$this, 'load_styles') );
+		add_action('admin_print_scripts', array($this, 'load_scripts') );
+		add_action('admin_print_styles', array($this, 'load_styles') );
 
 		// Try to detect plugins that embed their own jQuery and jQuery UI
 		// libraries and load them in NGG's admin pages
-		add_action('admin_enqueue_scripts', array(&$this, 'buffer_scripts'), 0);
-		add_action('admin_print_scripts', array(&$this, 'output_scripts'), PHP_INT_MAX);
+		add_action('admin_enqueue_scripts', array($this, 'buffer_scripts'), 0);
+		add_action('admin_print_scripts', array($this, 'output_scripts'), PHP_INT_MAX);
 
         //TODO: remove after release of Wordpress 3.3
-		add_filter('contextual_help', array(&$this, 'show_help'), 10, 2);
-        add_filter('current_screen', array(&$this, 'edit_current_screen'));
+		add_filter('contextual_help', array($this, 'show_help'), 10, 2);
+        add_filter('current_screen', array($this, 'edit_current_screen'));
+
+        add_action('ngg_admin_enqueue_scripts', array($this, 'enqueue_progress_bars'));
+	}
+
+	function enqueue_progress_bars()
+	{
+		// Enqueue the new Gritter-based progress bars
+		wp_enqueue_style('ngg_progressbar');
+		wp_enqueue_script('ngg_progressbar');
+
 	}
 
 	function start_buffer()
@@ -138,6 +148,7 @@ class nggAdminPanel{
 								window.location.search = '?skipjs[{$skipjs_count}]='+url;
 							}
 						}
+						console.error(msg)
 						return true;
 					};</script>\n",
 					$html
@@ -151,7 +162,7 @@ class nggAdminPanel{
 	// integrate the menu
 	function add_menu()  {
 
-		add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), path_join(NGGALLERY_URLPATH, 'admin/images/nextgen_16_color.png') );
+		add_menu_page( __( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), path_join(NGGALLERY_URLPATH, 'admin/images/imagely_icon.png'), 11 );
 	    add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'));
 	    add_submenu_page( NGGFOLDER , __('Manage Galleries', 'nggallery'), __('Manage Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu'));
 	    add_submenu_page( NGGFOLDER , _n( 'Manage Albums', 'Albums', 1, 'nggallery' ), _n( 'Manage Albums', 'Manage Albums', 1, 'nggallery' ), 'NextGEN Edit album', 'nggallery-manage-album', array (&$this, 'show_menu'));
@@ -164,7 +175,7 @@ class nggAdminPanel{
 	// integrate the network menu
 	function add_network_admin_menu()  {
 
-		add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'), path_join(NGGALLERY_URLPATH, 'admin/images/nextgen_16_color.png') );
+		add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'), path_join(NGGALLERY_URLPATH, 'admin/images/imagely_icon.png') );
 		add_submenu_page( NGGFOLDER , __('Network settings', 'nggallery'), __('Network settings', 'nggallery'), 'nggallery-wpmu', NGGFOLDER,  array (&$this, 'show_network_settings'));
 	}
 
@@ -278,9 +289,8 @@ class nggAdminPanel{
 		) );
 		wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), NGG_SCRIPT_VERSION);
 
-        // Enqueue the new Gritter-based progress bars
-        wp_enqueue_style('ngg_progressbar');
-        wp_enqueue_script('ngg_progressbar');
+		wp_enqueue_script('wp-color-picker');
+        wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', false, NGG_SCRIPT_VERSION );
 
 		switch ($_GET['page']) {
 			case NGGFOLDER :
@@ -292,22 +302,20 @@ class nggAdminPanel{
 				wp_enqueue_script( 'ngg-progressbar' );
 				wp_enqueue_script( 'jquery-ui-dialog' );
 				wp_enqueue_script( 'jquery-ui-sortable' );
-    			wp_register_script('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.js'), false, NGG_SCRIPT_VERSION);
-    			wp_localize_script('shutter', 'shutterSettings', array(
+				wp_register_script('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.js'), false, NGG_SCRIPT_VERSION);
+				wp_localize_script('shutter', 'shutterSettings', array(
     						'msgLoading' => __('L O A D I N G', 'nggallery'),
     						'msgClose' => __('Click to Close', 'nggallery'),
     						'imageCount' => '1'
     			) );
     			wp_enqueue_script( 'shutter' );
-
-                // includes tooltip styling
-                wp_enqueue_style('nextgen_admin_page', $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'), FALSE, NGG_SCRIPT_VERSION);
+    			add_thickbox();
 			break;
 			case "nggallery-manage-album" :
                 wp_enqueue_script( 'jquery-ui-dialog' );
                 wp_enqueue_script( 'jquery-ui-sortable' );
                 wp_enqueue_script( 'ngg_select2' );
-				wp_enqueue_style('ngg_select2');
+				wp_enqueue_style( 'ngg_select2' );
 			break;
 		}
 	}
@@ -327,8 +335,6 @@ class nggAdminPanel{
 	function load_styles() {
 		global $ngg;
 
-        // load the icon for the navigation menu
-        wp_enqueue_style( 'nggmenu', NGGALLERY_URLPATH .'admin/css/menu.css', false, NGG_SCRIPT_VERSION );
 		wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, NGG_SCRIPT_VERSION, 'screen' );
 		wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', false, NGG_SCRIPT_VERSION, 'screen' );
 
@@ -341,7 +347,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(C_Fs::get_instance()->find_static_abspath('photocrati-nextgen-legacy#overview.css') ) );		
 			case "nggallery-about" :
 				wp_enqueue_style( 'nggadmin' );
                 //TODO:Remove after WP 3.3 release
@@ -350,7 +356,6 @@ class nggAdminPanel{
 			break;
 			case "nggallery-manage-gallery" :
                 wp_enqueue_script('jquery-ui-tooltip');
-                wp_enqueue_style('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.css'), false, NGG_SCRIPT_VERSION, 'screen');
 			case "nggallery-roles" :
 			case "nggallery-manage-album" :
 				$this->enqueue_jquery_ui_theme();
@@ -389,9 +394,9 @@ class nggAdminPanel{
 			$help .= '<h5>' . __('More Help & Info', 'nggallery') . '</h5>';
 			$help .= '<div class="metabox-prefs">';
 			$help .= __('<a href="http://wordpress.org/tags/nextgen-gallery?forum_id=10" target="_blank">Support Forums</a>', 'nggallery');
-			$help .= ' | <a href="http://www.nextgen-gallery.com/faq/" target="_blank">' . __('FAQ', 'nggallery') . '</a>';
+			$help .= ' | <a href="https://www.imagely.com/docs/nextgen-gallery/?utm_source=ngg&utm_medium=ngguser&utm_campaign=help" target="_blank">' . __('FAQ', 'nggallery') . '</a>';
 			$help .= ' | <a href="https://bitbucket.org/photocrati/nextgen-gallery/issues" target="_blank">' . __('Feature request', 'nggallery') . '</a>';
-			$help .= ' | <a href="https://www.imagely.com/languages/" target="_blank">' . __('Get your language pack', 'nggallery') . '</a>';
+			$help .= ' | <a href="https://www.imagely.com/languages/?utm_source=ngg&utm_medium=ngguser&utm_campaign=help" target="_blank">' . __('Get your language pack', 'nggallery') . '</a>';
 			$help .= ' | <a href="https://bitbucket.org/photocrati/nextgen-gallery" target="_blank">' . __('Contribute development', 'nggallery') . '</a>';
 			$help .= ' | <a href="http://wordpress.org/extend/plugins/nextgen-gallery" target="_blank">' . __('Download latest version', 'nggallery') . '</a>';
 			$help .= "</div>\n";
@@ -446,6 +451,11 @@ class nggAdminPanel{
         if ( defined('IS_WP_3_3') )
             $this->add_contextual_help($screen);
 
+		if ( 	strpos($screen->id, 'ngg') !== FALSE || 
+				strpos($screen->id, 'nextgen') !== FALSE ||
+				strpos($screen->id, 'ngg') === 0 ) 
+				{ $screen->ngg = TRUE; }	
+
 		return $screen;
 	}
 
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 ece5c6bf04025b7d3bd519e004e6399e00bd4b9e..a7a676870d80b9e7c7581d511a914cb32b91418f 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
@@ -284,6 +284,8 @@ class nggManageAlbum {
 
 	global $wpdb, $nggdb;
 
+	// $action_status = array('message' => '', 'status' => 'ok');
+
 	if (isset($_REQUEST['act_album'])) $this->currentID = intval($_REQUEST['act_album']);
 
 	$album = $this->_get_album($this->currentID);
@@ -298,9 +300,10 @@ class nggManageAlbum {
 
 ?>
 <style type="text/css">
+	.select2-container { z-index: 10000; }
 	.select2-container {max-width: 580px; }
 	.select2-drop { max-width: 580px; }
-	.select2-choice { max-width: 580;}
+	.select2-choice { max-width: 580px;}
 </style>
 
 <script type="text/javascript">
@@ -314,7 +317,7 @@ jQuery(document).ready(
 
 			// Refresh when a new gallery has been added
 			Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:new_gallery', function(){
-				window.location.href = window.location.href;
+				window.location.href = window.location.href.toString();
 			});
 
 			// Updates the thumbnail image when a previewpic has been modified
@@ -327,6 +330,19 @@ jQuery(document).ready(
 			});
 		}
 
+
+		// Select2 doesn't play nicely inside of jQuery-UI modals; this following block
+		// is necessary to allow the select2 search field to receive input focus
+		if ($.ui && $.ui.dialog && $.ui.dialog.prototype._allowInteraction) {
+			var allowInteraction = $.ui.dialog.prototype._allowInteraction;
+			$.ui.dialog.prototype._allowInteraction = function(e) {
+				if ($(e.target).closest('.select2-dropdown').length) {
+					return true;
+				}
+				return allowInteraction.apply(this, arguments);
+			};
+		}
+
         $("#previewpic").select2({
 	        width: '100%'
         });
@@ -436,127 +452,138 @@ function showDialog() {
 
 </script>
 
-<div class="wrap album" id="wrap" >
-    <?php screen_icon( 'nextgen-gallery' ); ?>
-	<h2><?php esc_html_e('Manage Albums', 'nggallery') ?></h2>
-	<form id="selectalbum" method="POST" onsubmit="ngg_serialize()" accept-charset="utf-8">
-		<?php wp_nonce_field('ngg_album') ?>
-		<input name="sortorder" type="hidden" />
-		<div class="albumnav tablenav">
-			<div class="alignleft actions">
-				<?php esc_html_e('Select album', 'nggallery') ?>
-				<select id="act_album" name="act_album" onchange="this.form.submit();">
-					<option value="0" ><?php esc_html_e('No album selected', 'nggallery') ?></option>
-					<?php
-						if( is_array($this->albums) ) {
-							foreach($this->albums as $a) {
-								$selected = ($this->currentID == $a->id) ? 'selected="selected" ' : '';
-								echo '<option value="' . $a->id . '" ' . $selected . '>' . $a->id . ' - ' . esc_attr( $a->name ) . '</option>'."\n";
+<?php if (isset($action_status) && $action_status['message']!='') : ?>
+		<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+			<p><strong><?php echo $action_status['message']; ?></strong></p>
+		</div>
+<?php endif; ?>
+
+<div class="wrap album ngg_manage_albums" id="wrap" >
+
+    <div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php esc_html_e('Manage Albums', 'nggallery') ?></h3>
+    </div>
+
+    <div class='ngg_page_content_main'>
+		<form id="selectalbum" method="POST" onsubmit="ngg_serialize()" accept-charset="utf-8">
+			<?php wp_nonce_field('ngg_album') ?>
+			<input name="sortorder" type="hidden" />
+			<div class="albumnav tablenav">
+				<div class="alignleft actions">
+					<span class="ngg_select_album"><?php esc_html_e('Select album', 'nggallery') ?></span>
+					<select id="act_album" name="act_album" onchange="this.form.submit();">
+						<option value="0" ><?php esc_html_e('No album selected', 'nggallery') ?></option>
+						<?php
+							if( is_array($this->albums) ) {
+								foreach($this->albums as $a) {
+									$selected = ($this->currentID == $a->id) ? 'selected="selected" ' : '';
+									echo '<option value="' . $a->id . '" ' . $selected . '>' . $a->id . ' - ' . esc_attr( $a->name ) . '</option>'."\n";
+								}
 							}
-						}
-					?>
-				</select>
-				<?php if ($album && $this->currentID){ ?>
-					<input class="button-primary" type="submit" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>"/>
-					<?php if(nggGallery::current_user_can( 'NextGEN Edit album settings' )) { ?>
-					<input class="button-secondary" type="submit" name="showThickbox" value="<?php esc_attr_e( 'Edit Album', 'nggallery'); ?>" onclick="showDialog(); return false;" />
-					<?php } ?>
-					<?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
-					<input class="button-secondary action "type="submit" name="delete" value="<?php esc_attr_e('Delete', 'nggallery'); ?>" onclick="javascript:check=confirm('<?php echo esc_js('Delete album ?','nggallery'); ?>');if(check==false) return false;"/>
-					<?php } ?>
-				<?php } else { ?>
-					<?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
-					<span><?php esc_html_e('Add new album', 'nggallery'); ?>&nbsp;</span>
-					<input class="search-input" id="newalbum" name="newalbum" type="text" value="" />
-					<input class="button-secondary action" type="submit" name="add" value="<?php esc_attr_e('Add', 'nggallery'); ?>"/>
+						?>
+					</select>
+					<?php if ($album && $this->currentID){ ?>
+						<input class="button-primary" type="submit" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>"/>
+						<?php if(nggGallery::current_user_can( 'NextGEN Edit album settings' )) { ?>
+						<input class="button-primary" type="submit" name="showThickbox" value="<?php esc_attr_e( 'Edit Album', 'nggallery'); ?>" onclick="showDialog(); return false;" />
+						<?php } ?>
+						<?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
+						<input class="button-primary action "type="submit" name="delete" value="<?php esc_attr_e('Delete', 'nggallery'); ?>" onclick="javascript:check=confirm('<?php echo esc_js('Delete album ?','nggallery'); ?>');if(check==false) return false;"/>
+						<?php } ?>
+					<?php } else { ?>
+						<?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
+						<span><?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 } ?>
 					<?php } ?>
-				<?php } ?>
+				</div>
 			</div>
-		</div>
-	</form>
+		</form>
 
-	<br class="clear"/>
+		<br class="clear"/>
 
-	<div>
-		<div style="float:right;">
-		  <a href="#" title="<?php esc_attr_e('Show / hide used galleries','nggallery'); ?>" id="toggle_used"><?php esc_html_e('[Show all]', 'nggallery'); ?></a>
-		| <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>
+			<div style="float:right;">
+			  <a href="#" title="<?php esc_attr_e('Show / hide used galleries','nggallery'); ?>" id="toggle_used"><?php esc_html_e('Show all', 'nggallery'); ?></a>
+			| <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 a album, you can drag and drop a gallery or another album into your new album below','nggallery'); ?>
 		</div>
-		<?php esc_html_e('After you create and select a album, you can drag and drop a gallery or another album into your new album below','nggallery'); ?>
-	</div>
 
-	<br class="clear" />
+		<br class="clear" />
 
-	<div class="container">
+		<div class="container">
 
-		<!-- /#album container -->
-		<div class="widget widget-right">
-			<div class="widget-top">
-				<h3><?php esc_html_e('Select album', 'nggallery'); ?></h3>
-			</div>
-			<div id="albumContainer" class="widget-holder">
-			<?php
-			if( is_array( $this->albums ) ) {
-				foreach($this->albums as $a) {
-					$this->get_container('a' . $a->id);
+			<!-- /#target-album -->
+			<div class="widget target-album widget-left">
+			<?php if ($album && $this->currentID){ ?>
+					<div class="widget-top">
+						<h3><?php esc_html_e('Album ID', 'nggallery');  ?> <?php echo $album->id . ' : ' . esc_html( $album->name ); ?> </h3>
+					</div>
+					<div id="galleryContainer" class="widget-holder target">
+					<?php
+					$sort_array = $album->sortorder;
+					foreach($sort_array as $galleryid) {
+						$this->get_container($galleryid, false);
+					}
 				}
-			}
-		?>
-			</div>
-		</div>
-
-		<!-- /#select container -->
-		<div class="widget widget-right">
-			<div class="widget-top">
-				<h3><?php esc_html_e('Select gallery', 'nggallery'); ?></h3>
-			</div>
-			<div id="selectContainer" class="widget-holder">
-		<?php
-
-		if( is_array( $this->galleries ) ) {
-			//get the array of galleries
-			$sort_array = $album ? $album->sortorder : array();
-			foreach($this->galleries as $gallery) {
-				if (!in_array($gallery->gid, $sort_array)) {
-					if (in_array($gallery->gid,$used_list))
-						$this->get_container($gallery->gid,true);
-					else
-						$this->get_container($gallery->gid,false);
+				else
+				{
+					?>
+					<div class="widget-top">
+						<h3><?php esc_html_e('No album selected!', 'nggallery'); ?></h3>
+					</div>
+					<div class="widget-holder target">
+					<?php
 				}
-			}
-		}
-		?>
-			</div>
-		</div>
+			?>
+				</div>
+			</div><!-- /#target-album -->
 
-		<!-- /#target-album -->
-		<div class="widget target-album widget-left">
-		<?php if ($album && $this->currentID){ ?>
+			<!-- /#select container -->
+			<div class="widget widget-right">
 				<div class="widget-top">
-					<h3><?php esc_html_e('Album ID', 'nggallery');  ?> <?php echo $album->id . ' : ' . esc_html( $album->name ); ?> </h3>
+					<h3><?php esc_html_e('Select gallery', 'nggallery'); ?></h3>
 				</div>
-				<div id="galleryContainer" class="widget-holder target">
-				<?php
-				$sort_array = $album->sortorder;
-				foreach($sort_array as $galleryid) {
-					$this->get_container($galleryid, false);
-				}
-			}
-			else
-			{
-				?>
+				<div id="selectContainer" class="widget-holder">
+					<?php
+					if( is_array( $this->galleries ) ) {
+						//get the array of galleries
+						$sort_array = $album ? $album->sortorder : array();
+						foreach($this->galleries as $gallery) {
+							if (!in_array($gallery->gid, $sort_array)) {
+								if (in_array($gallery->gid,$used_list))
+									$this->get_container($gallery->gid,true);
+								else
+									$this->get_container($gallery->gid,false);
+							}
+						}
+					}
+					?>
+				</div>
+			</div>
+
+			<!-- /#album container -->
+			<div class="widget widget-right">
 				<div class="widget-top">
-					<h3><?php esc_html_e('No album selected!', 'nggallery'); ?></h3>
+					<h3><?php esc_html_e('Select album', 'nggallery'); ?></h3>
+				</div>
+				<div id="albumContainer" class="widget-holder">
+					<?php
+					if( is_array( $this->albums ) ) {
+						foreach($this->albums as $a) {
+							$this->get_container('a' . $a->id);
+						}
+					}
+					?>
 				</div>
-				<div class="widget-holder target">
-				<?php
-			}
-		?>
 			</div>
-		</div><!-- /#target-album -->
 
-	</div><!-- /#container -->
+		</div><!-- /#container -->
+
+	</div> <!-- /.ngg_page_content_main -->
+
 </div><!-- /#wrap -->
 
 <?php if ($album && $this->currentID): ?>
@@ -603,7 +630,7 @@ function showDialog() {
                     'echo' => TRUE,
                     'name' => 'pageid',
                     'selected' => $album->pageid,
-                    'show_option_none' => esc_html('Not linked', 'nggallery'),
+                    'show_option_none' => esc_html__('Not linked', 'nggallery'),
                     'option_none_value' => 0
                 ));
                 $dropdown = ob_get_contents();
@@ -624,7 +651,7 @@ function showDialog() {
 	    	<td class="submit">
 	    		<input type="submit" class="button-primary" name="update_album" value="<?php esc_attr_e('OK', 'nggallery'); ?>" />
 	    		&nbsp;
-	    		<input class="button-secondary dialog-cancel" type="reset" value="<?php esc_attr_e('Cancel', 'nggallery'); ?>"/>
+	    		<input class="button-primary dialog-cancel" type="reset" value="<?php esc_attr_e('Cancel', 'nggallery'); ?>"/>
 	    	</td>
 		</tr>
 	</table>
@@ -642,11 +669,12 @@ function showDialog() {
 	 *
 	 * @param integer $id (the prefix 'a' indidcates that you look for a album
 	 * @param bool $used (object will be hidden)
-	 * @return $output
+	 * @return string
 	 */
 	function get_container($id = 0, $used = false) {
 		global $wpdb, $nggdb;
 
+		$retval = NULL;
 		$obj =  array();
 		$preview_image = '';
         $class = '';
@@ -655,7 +683,7 @@ function showDialog() {
 		if (substr( $id, 0, 1) == 'a') {
 
 			if ( !$album = $this->_get_album(substr( $id, 1)))
-				return;
+				return $retval;
 
 			$obj['id']   = $album->id;
 			$obj['name'] = $obj['title'] = $album->name;
@@ -681,7 +709,7 @@ function showDialog() {
 
 		} else {
 			if ( !$gallery = $nggdb->find_gallery( $id ) )
-				return;
+				return $retval;
 
 			$obj['id']    = $gallery->gid;
 			$obj['name']  = $gallery->name;
@@ -709,7 +737,7 @@ function showDialog() {
 		// add class if it's in use in other albums
 		$used = $used ? ' inUse' : '';
 
-		echo '<div id="gid-' . $prefix . $obj['id'] . '" class="groupItem' . $used . '">
+		$retval = '<div id="gid-' . $prefix . $obj['id'] . '" class="groupItem' . $used . '">
 				<div class="innerhandle">
 					<div class="item_top ' . $class . '">
 						<a href="#" class="min" title="close">[-]</a>
@@ -723,7 +751,9 @@ function showDialog() {
 							' . apply_filters('ngg_display_album_item_content', '', $obj) . '
 						</div>
 				</div>
-			   </div>';
+			   	</div>';
+			   	echo $retval;
+				return $retval;
 	}
 
 	/**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.min.css
index 024ff0be775bad493bc4863c340aca1e288b45b7..4e59e178d640a6dedfe2cbdda201473c9c27b02d 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.min.css
@@ -1 +1 @@
-@media projection,screen{.ui-tabs-hide{display:none}}@media print{.ui-tabs-nav{display:none}}#slider{border-color:#EBEBEB #ccc #ccc #ebebeb;border-style:solid;border-width:1px;margin:15px 15% 0 15px;padding:2px}#tabs{display:block;background:0 #F1F1F1;font-size:14px;overflow:hidden}.ui-tabs-nav{list-style:none;margin:0;padding:0 0 0 10px}.ui-tabs-nav:after{display:block;clear:both;content:" "}.ui-tabs-nav li{float:left;padding:6px 5px;min-width:84px;margin:2px 2px 0 1px!important;text-decoration:none;list-style:none}.ui-tabs-nav a,.ui-tabs-nav a span{display:block;padding:0 1px}.ui-tabs-nav a{margin:1px 0 0;padding-left:0;color:#2583AD;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;outline:0}.ui-tabs-nav .ui-tabs-selected{background:url(../images/menu-bits.gif) left top repeat-x #6D6D6D;border-color:#6D6D6D;color:#FFF;text-shadow:0 -1px 0 #666;-moz-border-radius-topright:6px;-khtml-border-top-right-radius:6px;-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-moz-border-radius-topleft:6px;-khtml-border-top-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px}.ui-tabs-selected a,.ui-tabs-selected a:hover{color:#FFF!important}.ui-tabs-nav .ui-tabs-selected a,.ui-tabs-nav .ui-tabs-selected a:hover{position:relative;top:1px;z-index:2;margin-top:0}.ui-tabs-nav li a:hover{color:#D54E21}.ui-tabs-nav a span{width:64px;min-width:64px;height:18px;min-height:18px;padding-top:6px;padding-right:0}*>.ui-tabs-nav a span{width:auto;height:auto}.ui-tabs-nav .ui-tabs-selected a span{padding-bottom:1px}.ui-tabs-nav .ui-tabs-selected a,.ui-tabs-nav a:active,.ui-tabs-nav a:focus,.ui-tabs-nav a:hover{background-position:100% -150px}.ui-tabs-nav .ui-tabs-disabled a:active,.ui-tabs-nav .ui-tabs-disabled a:focus,.ui-tabs-nav .ui-tabs-disabled a:hover,.ui-tabs-nav a{background-position:100% -100px}.ui-tabs-nav .ui-tabs-selected a span,.ui-tabs-nav a:active span,.ui-tabs-nav a:focus span,.ui-tabs-nav a:hover span{background-position:0 -50px}.ui-tabs-nav .ui-tabs-disabled a:active span,.ui-tabs-nav .ui-tabs-disabled a:focus span,.ui-tabs-nav .ui-tabs-disabled a:hover span,.ui-tabs-nav a span{background-position:0 0}.ui-tabs-nav .ui-tabs-disabled a:link,.ui-tabs-nav .ui-tabs-disabled a:visited,.ui-tabs-nav .ui-tabs-selected a:link,.ui-tabs-nav .ui-tabs-selected a:visited{cursor:text}.ui-tabs-nav .ui-tabs-unselect a:active,.ui-tabs-nav .ui-tabs-unselect a:focus,.ui-tabs-nav .ui-tabs-unselect a:hover,.ui-tabs-nav a:active,.ui-tabs-nav a:focus,.ui-tabs-nav a:hover{cursor:pointer}.ui-tabs-disabled{opacity:.4;filter:alpha(opacity=40)}.ui-tabs-panel{border-top:1px solid #97a5b0!important;padding:1em 8px;background:#fff;border:none!important;height:100%!important;margin:0!important;overflow:visible!important}.ui-tabs-panel a{display:inline}* html .ui-tabs-nav{display:inline-block}
\ No newline at end of file
+@media projection,screen{.ui-tabs-hide{display:none}}@media print{.ui-tabs-nav{display:none}}#slider{border-color:#ebebeb #ccc #ccc #ebebeb;border-style:solid;border-width:1px;margin:15px 15% 0 15px;padding:2px}#tabs{display:block;background:#f1f1f1 none repeat scroll 0;font-size:14px;overflow:hidden}.ui-tabs-nav{list-style:none;margin:0;padding:0 0 0 10px}.ui-tabs-nav:after{display:block;clear:both;content:" "}.ui-tabs-nav li{float:left;padding:6px 5px;min-width:84px;margin:2px 2px 0 1px!important;text-decoration:none;list-style:none}.ui-tabs-nav a,.ui-tabs-nav a span{display:block;padding:0 1px}.ui-tabs-nav a{margin:1px 0 0;padding-left:0;color:#2583ad;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;outline:0}.ui-tabs-nav .ui-tabs-selected{background:#6d6d6d url(../images/menu-bits.gif) repeat-x scroll left top;border-color:#6d6d6d;color:#fff;text-shadow:0 -1px 0 #666;-moz-border-radius-topright:6px;-khtml-border-top-right-radius:6px;-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-moz-border-radius-topleft:6px;-khtml-border-top-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px}.ui-tabs-selected a,.ui-tabs-selected a:hover{color:#fff!important}.ui-tabs-nav .ui-tabs-selected a,.ui-tabs-nav .ui-tabs-selected a:hover{position:relative;top:1px;z-index:2;margin-top:0}.ui-tabs-nav li a:hover{color:#d54e21}.ui-tabs-nav a span{width:64px;min-width:64px;height:18px;min-height:18px;padding-top:6px;padding-right:0}*>.ui-tabs-nav a span{width:auto;height:auto}.ui-tabs-nav .ui-tabs-selected a span{padding-bottom:1px}.ui-tabs-nav .ui-tabs-selected a,.ui-tabs-nav a:active,.ui-tabs-nav a:focus,.ui-tabs-nav a:hover{background-position:100% -150px}.ui-tabs-nav .ui-tabs-disabled a:active,.ui-tabs-nav .ui-tabs-disabled a:focus,.ui-tabs-nav .ui-tabs-disabled a:hover,.ui-tabs-nav a{background-position:100% -100px}.ui-tabs-nav .ui-tabs-selected a span,.ui-tabs-nav a:active span,.ui-tabs-nav a:focus span,.ui-tabs-nav a:hover span{background-position:0 -50px}.ui-tabs-nav .ui-tabs-disabled a:active span,.ui-tabs-nav .ui-tabs-disabled a:focus span,.ui-tabs-nav .ui-tabs-disabled a:hover span,.ui-tabs-nav a span{background-position:0 0}.ui-tabs-nav .ui-tabs-disabled a:link,.ui-tabs-nav .ui-tabs-disabled a:visited,.ui-tabs-nav .ui-tabs-selected a:link,.ui-tabs-nav .ui-tabs-selected a:visited{cursor:text}.ui-tabs-nav .ui-tabs-unselect a:active,.ui-tabs-nav .ui-tabs-unselect a:focus,.ui-tabs-nav .ui-tabs-unselect a:hover,.ui-tabs-nav a:active,.ui-tabs-nav a:focus,.ui-tabs-nav a:hover{cursor:pointer}.ui-tabs-disabled{opacity:.4}.ui-tabs-panel{border-top:1px solid #97a5b0!important;padding:1em 8px;background:#fff;border:none!important;height:100%!important;margin:0!important;overflow:visible!important}.ui-tabs-panel a{display:inline}* html .ui-tabs-nav{display:inline-block}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.min.css
index f7d06471488ff78fdf5c7d1b0cb90c111940b12e..c8123e475dbab50828ae5bb93a8cd7841bb78924 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.min.css
@@ -1 +1 @@
-#colorSelector{background:url(../images/select.png);height:36px;position:relative;width:36px}#colorSelector div{background:url(../images/select.png) center center;height:30px;left:3px;position:absolute;top:3px;width:30px}
\ No newline at end of file
+#colorSelector{background:transparent url(../images/select.png) repeat scroll 0 0;height:36px;position:relative;width:36px}#colorSelector div{background:transparent url(../images/select.png) repeat scroll center center;height:30px;left:3px;position:absolute;top:3px;width:30px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.min.css
index e6c8036e240ec4bd395247129726fbc9c2238b35..1832d696708a70a29ac888c4597c9bf240e9e2e4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.min.css
@@ -1 +1 @@
-.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto 2px}.imageBox .imageBox_theImage{border:1px solid #DDD;padding:2px}.imageBoxHighlighted .imageBox_theImage{border:3px solid #316AC5;padding:0}.imageBoxHighlighted span{background-color:#316AC5;color:#FFF;padding: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}
\ No newline at end of file
+.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto;margin-bottom:2px}.imageBox .imageBox_theImage{border:1px solid #ddd;padding:2px}.imageBoxHighlighted .imageBox_theImage{border:3px solid #316ac5;padding:0}.imageBoxHighlighted span{background-color:#316ac5;color:#fff;padding: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;position:absolute;z-index:10;display:none}
\ No newline at end of file
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 691b0fdf6552ae416b9f811f30050577af34adcf..32694f25409a830dd5bac99c2b0b38ef58f2ce29 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
@@ -6,7 +6,7 @@
 	display: none;
 }
 
-/* SETTINGS FOR Overview Gallery */
+/* OVERVIEW PAGES */
 
 #newversion {
 	border-color:#CCCCCC;
@@ -29,25 +29,45 @@
 	width:24px;
 }
 
-#ngg-gallery-wizard {
-	min-height: auto;
+#ngg_page_content .ngg_overview .ngg_page_content_header h2 {
+	padding-top: 2px;
 }
 
-#ngg-gallery-wizard a {
-	font-weight: bold;
+#ngg_page_content .ngg_overview .ngg_page_content_main h2 {
+	text-align: left;
+    font-size: 28px;
+    font-weight: 500;
+    color: #444;
+    margin: 20px 0;
 }
 
-#gallerydiv h3 {
-	margin-left: 10px;
+#ngg_page_content .ngg_overview .ngg_page_content_main .about-text {
+	font-size: 18px;
+	max-width: none;
+	margin: 20px 0;
 }
 
-#gallerydiv span.toggle-indicator {
-	font-size: 2em;
-	line-height: 2em;
+#ngg-gallery-wizard {
+    min-height: auto;
+    position: absolute;
+    top: 0;
+    right: 0;
+    text-align: right;
+    margin: 0 20px 0 0;
+    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;
 }
 
-#gallerydiv span.toggle-indicator:hover {
-	cursor: pointer;
+#ngg-gallery-wizard a {
+	font-weight: bold;
+	text-decoration: none;
+	margin-left: 20px;
 }
 
 .warning {
@@ -93,38 +113,47 @@
 	color: #666;
 }
 
-#pro.ngg-tab .button-primary {
-	background-color: #669933;
-    border: none;
-    box-shadow: none;
-    text-shadow: none;
-    padding: 12px 40px;
-    height: 50px;
-    font-size: 16px;
-    text-transform: uppercase;
+.toplevel_page_nextgen-gallery .feature-video iframe {
+    box-shadow: 0 0 50px 25px rgba(0,0,0,.03);
 }
 
-#pro.ngg-tab .feature-section {
-	text-align: center;
-	margin-top: 50px;
+div[data-id="pro-link"] .feature-section iframe {
+	width: 900px;
+    height: 506px;
+	max-width: 100%;
 }
 
-#pro.ngg-tab .feature-section iframe {
-	width: 800px;
-	height: 450px;
-	max-width: 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;
 }
 
+/* COMMON STYLING FOR DIALOGS */
 
+.ngg-admin .ui-dialog {
+    max-width: 100%;
+}
 
-/* SETTING FOR FLASH UPLOAD BUTTON */
+/* FLASH UPLOAD BUTTON */
 .swfupload {
 	position:absolute;
 	z-index:1;
 	vertical-align:top;
 }
 
-/* SETTINGS FOR THE OPTIONS TABLE */
+/* OPTIONS TABLE */
 .ngg-options th {
 	width:22%;
 }
@@ -180,7 +209,175 @@ a.switch-expert {
 	background:#F9F9F9 none repeat scroll 0%;
 }
 
-/* SETTINGS FOR MANAGE TABLE */
+/* MANAGE GALLERY */
+
+.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;
+}
+
+.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;
+}
+
+.gallery_page_nggallery-manage-gallery #ngg_page_content > .wrap > h2 {
+    display:none;
+}
+
+#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 {
+	margin-left: 10px;
+	display: inline-block;
+    height: 50px;
+    float: left;
+    margin: 0;
+    line-height: 50px;
+}
+
+#gallerydiv span.toggle-indicator {
+	display: inline-block;
+    float: left;
+    line-height: 50px;
+}
+
+#gallerydiv span.toggle-indicator:before {
+	font-size: 24px;
+    margin: 12px 20px 0 10px;
+}
+
+#gallerydiv span.toggle-indicator:hover {
+	cursor: pointer;
+}
+
+#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;
+}
+#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, 0.08)!important
+}
+
+#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;
+}
+
+#ngg_page_content .ngg_manage_galleries table thead th, 
+#ngg_page_content .ngg_manage_galleries table thead td,
+#ngg_page_content .ngg_manage_galleries table tfoot th, 
+#ngg_page_content .ngg_manage_galleries table tfoot td {
+	background-color: transparent;
+	border: none;
+}
+
+#ngg_page_content .ngg_manage_galleries table th, 
+#ngg_page_content .ngg_manage_galleries table td {
+	padding: 12px 10px;
+	font-size: 14px;
+}
+
+#ngg_page_content .ngg_manage_galleries table th {
+	font-weight: bold !important;
+	color: #fff;
+}
+
+.ngg_manage_galleries th#id {
+	min-width: 40px;
+}
+
+.ngg_manage_galleries th#title {
+	min-width: 80px;
+}
+
+.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: rgb(247, 248, 243);
+}
+
+#ngg_page_content .ngg_manage_galleries th a {
+	padding: 0 !important;
+	color: #fff;
+}
+
+div#poststuff {
+	min-width: auto;
+}
 
 div#poststuff #gallerydiv {
 	cursor:pointer;
@@ -202,95 +399,312 @@ p#ngg-inlinebutton {
     min-width: 105px;
 }
 
+#gallery_fields tr td:nth-of-type(2) {
+    padding-right: 60px;
+}
+
 #gallery_fields input[type=text],
 #gallery_fields textarea,
 #gallery_fields select {
 	min-width: 220px;
 	width: 99%;
+	color: #888;
 }
 
-#ngg-listimages .row_actions,
-#ngg-listimages .row_actions td {
-	border-top: none;
-	/* background-color: #F9F9F9; */
-	padding-top: 0px;
-	padding-bottom: 0px;
+table#ngg-listimages {
+	border: 1px solid #f7f7f7;
 }
 
-#ngg-listimages .row_actions.alternate,
-#ngg-listimages .row_actions.alternate td {
-	/* background-color: #FCFCFC; */
+#ngg-listimages thead,
+#ngg-listimages tfoot {
+	background: #f5f5f5;
+	background-color: #38576f;
 }
 
-#ngg-listimages .row-actions {
-	padding-left: 0px;
-	margin-bottom: -2px;
-	position: relative;
-	bottom: 4px;
-	right: 0; /* Necessary for RTL languages */
+#ngg-listimages tfoot {
+	background: #f5f5f5;
+	background-color: #38576f;
+}
+
+
+#ngg-listimages.widefat thead th, 
+.ngg-admin #ngg_page_content .widefat tfoot th {
+	padding: 12px 10px !important;
+}
+
+#ngg-listimages tr.alternate {
+	background-color: rgb(247, 248, 243);
+}
+
+#ngg-listimages td {
+	padding: 15px 5px !important;
 }
 
 #ngg-listimages .iedit,
 #ngg-listimages .iedit td,
-#ngg-listimages .iedit th {
+#ngg-listimages th {
 	border: none;
 }
 
+#ngg-listimages th,
 #ngg-listimages .iedit td {
-	padding-top: 8px;
+	padding: 15px 5px;
+}
+
+#ngg-listimages th {
+	font-size: 12px;
+	font-weight: bold;
 }
 
 #ngg-listimages .column select {
-	width: 100%;
+	width: 100% !important;
 }
 
 #ngg-listimages .column-1 input {
 	margin: 0 0 0 8px;
 }
 
-#ngg-listimages .column-1,
+#ngg-listimages .column-1 {
+    width: 24px;
+}
+
 #ngg-listimages .column-2 {
-	width: 4%;
-    min-width: 33px;
+    width: 30px;
 }
 
 #ngg-listimages .column-3 {
 	min-width: 80px;
-	width: 10%;
+	width: 15%;
 }
 
 #ngg-listimages .column-3 .thumb {
-	max-height: 80px;
-	max-width: 80px;
+	max-height: 100%;
+	max-width: 100%;
 }
 
 #ngg-listimages .column-4 {
-	width: 22%;
+	width: 15%;
 	max-width: 220px;
-
 }
 
-#ngg-listimages .column-4 .meta {
-	font-size: 11px;
+#ngg-listimages .column-4 {
+	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] {
-	position: relative;
-	top: -2px;
+	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: 57px;
+	height: 70px;
 }
 
 #ngg-listimages .column-6 textarea {
-	height: 80px;
+	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;
+}
+
+/* Updating Imagify for color consistency. 
+ * To Imagify: hope you guys don't mind, 
+ * but given our redesign, we'd like the colors 
+ * to be consitent on these pages. */
+#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-gallery #ngg-overlay-dialog-bottom button,
+.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 .ui-dialog button,
+.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary,
+.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary,
+.gallery_page_nggallery-manage-album .ui-dialog .button-primary,
+.gallery_page_nggallery-manage-album .ui-dialog .button-secondary {
+    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-gallery #ngg-overlay-dialog-bottom button: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 .ui-dialog button:hover
+.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary:hover,
+.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary:hover,
+.gallery_page_nggallery-manage-album .ui-dialog .button-primary:hover,
+.gallery_page_nggallery-manage-album .ui-dialog .button-secondary:hover {
+    background-color: #A9C524 !important;
+}
+
+.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar,
+.gallery_page_nggallery-manage-album .ui-dialog-titlebar{
+    background: #143650;
+    padding: 10px;
+}
+
+.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button,
+.gallery_page_nggallery-manage-album .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-gallery .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-album .ui-dialog-titlebar button:hover,
+.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:active,
+.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:focus {
+    background: #fff !important;
+}
+
+.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog,
+.gallery_page_nggallery-manage-album .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-gallery .ngg-overlay-dialog #ngg-overlay-dialog-main,
+.gallery_page_nggallery-manage-album .ngg-overlay-dialog #ngg-overlay-dialog-main {
+	width: 70%;
+	padding: 20px 20px 0;
+}
+
+.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog td small {
+	margin-left: 10px; 
+	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 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: #669933;
+    display: none;
+    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;
 }
 
 /* SETTINGS FOR PROGRESS BAR */
@@ -312,7 +726,7 @@ div .progressbar {
 	border: medium none ;
 	display: block;
 	height: 30px;
-	background-color: #D54E21;
+	background-color: #9fbb1a;
 	width: 0%;
     -moz-border-radius: 5px;
     -webkit-border-radius: 5px;
@@ -349,26 +763,83 @@ div .progressbar span {
 	border: 1px solid #999;
 }
 
- /* SETTINGS FOR ALBUM PAGE */
+/* SETTINGS FOR ALBUM PAGE */
 
-.albumnav select[name="act_album"] {
-	width:150px;
+/* 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;
+}
+
+.gallery_page_nggallery-manage-album #ngg_page_content div.updated {
+	margin: 0 0 15px 0;
+}
+
+.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: 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%;
+}
+
+.container {
+	margin-top: 10px;
 }
 
-.albumnav span {
-	padding-left: 50px;
+.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: transparent;
+	border: none;
+	margin-bottom: 5px;
+}
+
 div .groupItem
 {
 	cursor: move;
-	width: 295px;
-	padding: 5px;
+	padding: 2px;
     line-height: 1.5;
+    width: 100%;
+    margin: 0;
+    box-sizing: border-box;
 }
 
 div .innerhandle {
@@ -377,7 +848,7 @@ div .innerhandle {
 
 .groupItem .item_top
 {
-	background-color:#2683AE;
+	background-color:#9fbb1a;
 	color: #FFFFFF;
 	font-weight:bold;
 	line-height: 28px;
@@ -387,14 +858,17 @@ div .innerhandle {
 	-khtml-border-radius: 3px;
 	-webkit-border-radius: 3px;
 	border-radius: 3px;
+	height: 40px;
+	padding: 0 10px;
+	line-height: 40px;
 }
 
-.groupItem .album_obj
+#ngg_page_content .groupItem .album_obj
 {
-	background-color:#D54E21;
+	background-color: #38576f;
 }
 
-.groupItem .item_top a
+#ngg_page_content .groupItem .item_top a
 {
 	color:#FFFFFF;
 	float:right;
@@ -440,27 +914,13 @@ div .innerhandle {
 	background: #F9F9F9;
 }
 
-.container {
-	margin-top: 10px;
-}
-
-.target-album {
-	margin:10px 685px 10px 10px;
-}
-
-.widget-right {
-	float:right;
-	margin:0pt 10px;
-	width:315px;
-}
-
 .widget-holder {
 	min-height: 400px;
 	padding-top:1px;
 }
 
 .target {
-	background-color:#F1F1F1;
+	background-color: transparent;
 }
 
 div.widget-top h3 {
@@ -482,6 +942,18 @@ div.widget-top {
 
 /* SETTINGS FOR SORT GALLERY */
 
+#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;
 }
@@ -576,15 +1048,253 @@ DIV that shows the image as you drag it
 
 #ngg-manage-images-items-per-page-label {
 	float: right;
-	line-height: 30px;
+	line-height: 35px;
 	margin-right: 5px;
 }
 
 #ngg-manage-images-items-per-page {
 	float: right;
-	margin-right: 5px;
-}
-
-#adminmenu .wp-submenu a[href*=ngg_pro_upgrade] {
-	color: #76a934;
-}
+	margin-right: 30px;
+}
+
+/* Media Queries */
+
+@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) {
+	/* Manage Galleries */ 
+	.ngg_manage_galleries .search-form {
+	    display: none;
+	}
+	.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: rgb(247, 248, 243);
+    }
+    .ngg_manage_images #gallery_fields,
+    .ngg_manage_images #gallery_fields tbody,
+    .ngg_manage_images #gallery_fields tr,
+    .ngg_manage_images #gallery_fields td {
+    	display:block;
+    	width: 100%;
+    	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;
+    }
+}
+
+@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 th#id,
+	.ngg_manage_galleries th#author, 
+	.ngg_manage_galleries th#page_id,
+	.ngg_manage_galleries td.id,
+	.ngg_manage_galleries td.author, 
+	.ngg_manage_galleries td.page_id {
+		display: none !important;
+	}
+	#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,
+	#ngg-listimages tfoot,
+	#ngg-listimages td.column.column-2, 
+	#ngg-listimages td.column.column-8, 
+	#ngg-listimages td.column.column-6 {
+    	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) {
+	/* Manage Galleries */ 
+	table#ngg-listimages, 
+	table#ngg-listimages tbody, 
+	table#ngg-listimages tr,
+	table#ngg-listimages td {
+		display: block;
+	}
+	table#ngg-listimages tr {
+		padding: 10px 5px !important;
+		border-bottom: ;
+	}
+	#ngg-listimages thead, 
+	#ngg-listimages thead th {
+		display: block;
+		width: 100%;
+		box-sizing: border-box;
+	}
+	#ngg-listimages .row_actions td:first-of-type {
+		display:none;
+	}
+	#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 tr.iedit td {
+	    display: block !important;
+	    float: left;
+	    box-sizing: border-box;
+	    padding-bottom: 10px !important;
+	}
+	#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;
+		/*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;
+	}
+	#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-manage-images-items-per-page,
+	#ngg-manage-images-items-per-page-label {
+		display: none;
+	}
+	#ngg-listimages .column-6 textarea {
+		height: 60px;
+	}
+	.ngg_manage_images .tablenav.bottom .displaying-num {
+		display:none;
+	}
+
+}
+
+
+@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) {
+	/* Manage Galleries */
+	.ngg_manage_galleries th#description, 
+	.ngg_manage_galleries td.description {
+	    display: none !important;
+	}
+	/* Manage Albums */
+	.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
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 6abe2887de50402e577230ca6dd8816995e6ecb7..f974be1f639ae6d637ef192a6e5cc4693620eb2c 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 @@
-#gallerydiv span.toggle-indicator:hover,.show_details,div#poststuff #gallerydiv{cursor:pointer}#iframely h2.title{display:none}#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-gallery-wizard{min-height:auto}#ngg-gallery-wizard a{font-weight:700}#gallerydiv h3{margin-left:10px}#gallerydiv span.toggle-indicator{font-size:2em;line-height:2em}.warning{color:#9F6000;background-color:#FEEFB3;border:1px solid;margin:5px 0;padding:5px}#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;border-style:solid;border-width:1px;margin:5px 15px 2px;padding:0 .6em}#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}#pro.ngg-tab .button-primary{background-color:#693;border:none;box-shadow:none;text-shadow:none;padding:12px 40px;height:50px;font-size:16px;text-transform:uppercase}#wm-preview h3,.wm-table tr{background:0 #F9F9F9}#pro.ngg-tab .feature-section{text-align:center;margin-top:50px}#pro.ngg-tab .feature-section iframe{width:800px;height:450px;max-width:100%}.swfupload{position:absolute;z-index:1;vertical-align:top}.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;border-style:solid;border-width:1px;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}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 input[type=text],#gallery_fields select,#gallery_fields textarea{min-width:220px;width:99%}#ngg-listimages .row_actions,#ngg-listimages .row_actions td{border-top:none;padding-top:0;padding-bottom:0}#ngg-listimages .row-actions{padding-left:0;margin-bottom:-2px;position:relative;bottom:4px;right:0}#ngg-listimages .iedit,#ngg-listimages .iedit td,#ngg-listimages .iedit th{border:none}#ngg-listimages .iedit td{padding-top:8px}#ngg-listimages .column select{width:100%}#ngg-listimages .column-1 input{margin:0 0 0 8px}#ngg-listimages .column-1,#ngg-listimages .column-2{width:4%;min-width:33px}#ngg-listimages .column-3{min-width:80px;width:10%}#ngg-listimages .column-3 .thumb{max-height:80px;max-width:80px}#ngg-listimages .column-4{width:22%;max-width:220px}#ngg-listimages .column-4 .meta{font-size:11px}#ngg-listimages .column-4 label input[type=checkbox]{position:relative;top:-2px}#ngg-listimages .column-5 input[type=text],#ngg-listimages .column-5 textarea,#ngg-listimages .column-6 textarea{width:100%}#ngg-listimages .column-5 textarea{height:57px}#ngg-listimages .column-6 textarea{height:80px}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:#D54E21;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}.albumnav select[name=act_album]{width:150px}.albumnav span{padding-left:50px}#editalbum select[name=pageid]{width:95%}div .groupItem{cursor:move;width:295px;padding:5px;line-height:1.5}div .innerhandle{background-color:#FBFBFB}.groupItem .item_top{background-color:#2683AE;color:#FFF;font-weight:700;line-height:28px;height:28px;padding:0 5px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.groupItem .album_obj{background-color:#D54E21}.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}.container{margin-top:10px}.target-album{margin:10px 685px 10px 10px}.widget-right{float:right;margin:0 10px;width:315px}.widget-holder{min-height:400px;padding-top:1px}.target{background-color:#F1F1F1}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}#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:30px;margin-right:5px}#ngg-manage-images-items-per-page{float:right;margin-right:5px}#adminmenu .wp-submenu a[href*=ngg_pro_upgrade]{color:#76a934}
\ No newline at end of file
+#iframely h2.title{display:none}#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 20px 0 0;line-height:80px;color:#fff;font-size:14px;background:rgba(93,134,167,.18);margin-right:0;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{margin:5px 0 15px;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;border-style:solid;border-width:1px;margin:5px 15px 2px;padding:0 .6em}#donator_message p{line-height:1;margin:.5em 0;padding:2px;padding-bottom: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 iframe{width:900px;height:506px;max-width: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=genesis-link] .feature-section,div[data-id=genesis-link] .feature-section .col,div[data-id=videos-link] .feature-section,div[data-id=videos-link] .feature-section .col{padding:0;margin:0}.ngg-admin .ui-dialog{max-width:100%}.swfupload{position:absolute;z-index:1;vertical-align:top}.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;border-style:solid;border-width:1px;margin-bottom:10px;margin-left:10px;margin-right:8px;padding:2px}#wm-preview h3{background:#f9f9f9 none repeat scroll 0;font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 5px}#wm-position{width:100%;margin-left:40px}.wm-table{border-collapse:collapse;margin-top:1em;width:60%;clear:none}.wm-table td{border-bottom:8px solid #fff;line-height:20px;margin-bottom:9px;padding:10px}.wm-table th{border-bottom:8px solid #fff;padding:10px;text-align:left}.wm-table tr{background:#f9f9f9 none repeat scroll 0}.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 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}.gallery_page_nggallery-manage-gallery #ngg_page_content>.wrap>h2{display:none}#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{margin-left:10px;display:inline-block;height:50px;float:left;margin:0;line-height:50px}#gallerydiv span.toggle-indicator{display:inline-block;float:left;line-height:50px}#gallerydiv span.toggle-indicator:before{font-size:24px;margin:12px 20px 0 10px}#gallerydiv span.toggle-indicator:hover{cursor:pointer}#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}#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{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{min-width:40px}.ngg_manage_galleries th#title{min-width:80px}.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}div#poststuff #gallerydiv{cursor:pointer}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:#f5f5f5;background-color:#38576f}#ngg-listimages tfoot{background:#f5f5f5;background-color:#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}#ngg-listimages .column-4{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{margin-left:10px;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 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;display:none;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:medium 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;cursor:pointer}.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 0}.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;line-height:28px;height:28px;padding:0 5px;-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;margin-bottom: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;position:absolute;z-index:10;display:none}.error_inline{background:#ffebe8 none repeat scroll 0;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{display:none}.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{display:none}#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 tr.iedit td{display:block!important;float:left;box-sizing:border-box;padding-bottom:10px!important}#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;float:left;box-sizing:border-box;padding-bottom:10px!important}#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-manage-images-items-per-page,#ngg-manage-images-items-per-page-label{display:none}#ngg-listimages .column-6 textarea{height:60px}.ngg_manage_images .tablenav.bottom .displaying-num{display:none}}@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
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 a7f5e273e4c0de92a0c31cbfc026de0ded178103..a846e0b6fb1f212a8a66caf54966867ef6461724 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,10 +1,114 @@
-.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px;}
-.ngg_wrap .list_tags {width:240px;vertical-align:top;}
-.ngg_wrap .forms_manage {vertical-align:top;}
-.ngg_wrap .forms_manage h3 {margin-bottom:5px;}
-.ngg_wrap .forms_manage .form-table {margin-top:0;}
-.ngg_wrap .sort_order h3 {margin:0;}
-.ngg_wrap #ajax_area_tagslist {}
-.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;}
\ No newline at end of file
+.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 0;
+}
+
+.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: rgb(247, 248, 243);;
+}
+
+.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 th, 
+.ngg_wrap .forms_manage .form-table td {
+	vertical-align: middle;
+	padding: 0;
+}
+
+/*.ngg_wrap .forms_manage .form-table tr:nth-of-type(2) th, 
+.ngg_wrap .forms_manage .form-table tr:nth-of-type(3) th {
+	padding-left: 20px; 
+}*/
+
+.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 Queries */
+
+@media (max-width: 640px) {
+	.ngg_wrap .list_tags {
+	    width: 100%;
+	    display: block;
+	    box-sizing: border-box;
+	}
+	.ngg_wrap .forms_manage {
+	    width: 100%;
+	    display: block;
+	    box-sizing: border-box;
+	    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/css/tags-admin.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.min.css
index a2b9cf64037cd131ebd6bb5b96d1ffa585fc4a6b..3abf1da04baf8887ace160c0c90655ff2946254d 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 @@
-.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px}.ngg_wrap .list_tags{width:240px;vertical-align:top}.ngg_wrap .forms_manage{vertical-align:top}.ngg_wrap .forms_manage h3{margin-bottom:5px}.ngg_wrap .forms_manage .form-table{margin-top:0}.ngg_wrap .sort_order h3{margin:0}.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}
\ No newline at end of file
+.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 0}.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 .list_tags{width:100%;display:block;box-sizing:border-box}.ngg_wrap .forms_manage{width:100%;display:block;box-sizing:border-box;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 6acf529b70927b35b666c12981c1510205d8131c..d6cdc917bba18341f7fe0a17c0773f875beef0a2 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
@@ -32,7 +32,7 @@ include_once( nggGallery::graphic_library() );
 $ngg_options=get_option('ngg_options');
 
 $thumb = new ngg_Thumbnail($picture->imagePath, TRUE);
-$thumb->resize(350,350);
+$thumb->resize(450,350);
 // we need the new dimension
 $resizedPreviewInfo = $thumb->newDimensions;
 $thumb->destruct();
@@ -41,8 +41,10 @@ $thumb->destruct();
 $storage            = C_Gallery_Storage::get_instance();
 $thumbnail_manager  = C_Dynamic_Thumbnails_Manager::get_instance();
 $dynamic_size       = $thumbnail_manager->get_size_name(array(
-	'width'     =>  350,
+	'width'     =>  450,
 	'height'    =>  350,
+	// 'width'     =>  300,
+	// 'height'    =>  300,
 
 ));
 //$preview_image		= NGGALLERY_URLPATH . 'nggshow.php?pid=' . $picture->pid . '&amp;width=350&amp;height=350';
@@ -91,7 +93,7 @@ if ($thumbnail_crop_frame != null)
 
 <script type="text/javascript">
 //<![CDATA[	
-	var status = 'start';
+	var status = 'edit';
 	var xT, yT, wT, hT, selectedCoords;
 	var selectedImage = "thumb<?php echo $id ?>";
 
@@ -99,7 +101,7 @@ if ($thumbnail_crop_frame != null)
 	{
 		if (status != 'edit') {
 			jQuery('#actualThumb').hide();
-			jQuery('#previewNewThumb').show();
+			jQuery('#previewNewThumb').hide();
 			status = 'edit';	
 		}
 		
@@ -153,17 +155,18 @@ if ($thumbnail_crop_frame != null)
 //]]>
 </script>
 
-<table width="98%" align="center" style="border:1px solid #DADADA">
+<table align="center">
 	<tr>
-		<td rowspan="3" valign="middle" align="center" width="350" style="background-color:#DADADA;">
+		<td rowspan="3" valign="middle" align="center" id="ngg-overlay-dialog-main">
+			<small><?php esc_html_e('Select the area for the thumbnail from the picture on below.', 'nggallery'); ?></small>
 			<img src="<?php echo nextgen_esc_url( $preview_image ); ?>" alt="" id="imageToEdit" />	
 		</td>
-		<td width="300" style="background-color : #DADADA;">
-			<small style="margin-left:6px; display:block;"><?php esc_html_e('Select the area for the thumbnail from the picture on the left.', 'nggallery'); ?></small>
+		<td style="display:none;">
+			<small><?php esc_html_e('Select the area for the thumbnail from the picture on the left.', 'nggallery'); ?></small>
 		</td>		
 	</tr>
-	<tr>
-		<td align="center" width="300" height="320">
+	<tr style="display:none;">
+		<td align="center">
 			<div id="previewNewThumb" style="display:none;width:<?php echo $WidthHtmlPrev; ?>px;height:<?php echo $HeightHtmlPrev; ?>px;overflow:hidden; margin-left:5px;">
 				<img src="<?php echo nextgen_esc_url( $preview_image ); ?>" id="imageToEditPreview" />
 			</div>
@@ -172,13 +175,11 @@ if ($thumbnail_crop_frame != null)
 			</div>
 		</td>
 	</tr>
-	<tr style="background-color:#DADADA;">
-		<td>
-			<input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="updateThumb()" class="button-secondary" style="float:left; margin-left:4px;"/>
-			<div id="thumbMsg" style="color:#FF0000; display : none;font-size:11px; float:right; width:60%; height:2em; line-height:2em;"></div>
-		</td>
-	</tr>
 </table>
+<div id="ngg-overlay-dialog-bottom">
+	<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">
 //<![CDATA[
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 e778ed3360c1c3e7ffea33657b9e87a3ac879747..412af9c27e37a471540d1ddcaf9e2fdc9587e4e0 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
@@ -710,11 +710,12 @@ class nggAdmin{
     static function do_ajax_operation( $operation, $image_array, $title = '' ) {
 
         if ( !is_array($image_array) || empty($image_array) )
-            return;
+            return '';
 
         $js_array  = implode('","', $image_array);
 
         // send out some JavaScript, which initate the ajax operation
+        ob_start();
         ?>
         <script type="text/javascript">
 
@@ -732,8 +733,10 @@ class nggAdmin{
                 nggAjax.init( nggAjaxOptions );
             } );
         </script>
-
     <?php
+        $script = ob_get_clean();
+        echo $script;
+        return $script;
     }
 
     /**
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
new file mode 100644
index 0000000000000000000000000000000000000000..1422c73352f3699ea24b6ac825987abb6f973a38
Binary files /dev/null and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/imagely_icon.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png
index acd45b8bcc4951519bf8b41a26fade87bcc417ce..1422c73352f3699ea24b6ac825987abb6f973a38 100644
Binary files a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png and b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png differ
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.min.css
index 70dd7006939db0ba3ac0844a77ed9d2973e0b2be..e6fdd89d9be59a111a92216b9530e106f7e95d7e 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.min.css
@@ -1 +1 @@
-.jcrop-holder{text-align:left}.jcrop-hline,.jcrop-vline{font-size:0;position:absolute;background:url(Jcrop.gif) top left #fff}.jcrop-vline{height:100%;width:1px!important}.jcrop-hline{width:100%;height:1px!important}.jcrop-handle{font-size:1px;width:7px!important;height:7px!important;border:1px solid #eee;background-color:#333}.jcrop-tracker{width:100%;height:100%}.custom .jcrop-hline,.custom .jcrop-vline{background:#ff0}.custom .jcrop-handle{border-color:#000;background-color:#C7BB00;-moz-border-radius:3px;-webkit-border-radius:3px}
\ No newline at end of file
+.jcrop-holder{text-align:left}.jcrop-hline,.jcrop-vline{font-size:0;position:absolute;background:#fff url(Jcrop.gif) top left repeat}.jcrop-vline{height:100%;width:1px!important}.jcrop-hline{width:100%;height:1px!important}.jcrop-handle{font-size:1px;width:7px!important;height:7px!important;border:1px #eee solid;background-color:#333}.jcrop-tracker{width:100%;height:100%}.custom .jcrop-hline,.custom .jcrop-vline{background:#ff0}.custom .jcrop-handle{border-color:#000;background-color:#c7bb00;-moz-border-radius:3px;-webkit-border-radius:3px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.min.js
index 2cc8bfc4053388c8c29ead2f154167c7ac3f2cb6..373fdcd8d9694e4b09a8040693a2e70e3ab307c6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.min.js
@@ -1 +1 @@
-!function(e){e.Jcrop=function(t,n){function r(e){return""+parseInt(e)+"px"}function s(e){return""+parseInt(e)+"%"}function o(e){return B.baseClass+"-"+e}function a(t){var n=e(t).offset();return[n.left,n.top]}function c(e){return[e.pageX-se[0],e.pageY-se[1]]}function u(e){e!=N&&(ae.setCursor(e),N=e)}function d(e,t){if(se=a(W),ae.setCursor("move"==e?e:e+"-resize"),"move"==e)return ae.activateHandlers(f(t),m);var n=oe.getFixed(),r=p(e),s=oe.getCorner(p(r));oe.setPressed(oe.getCorner(r)),oe.setCurrent(s),ae.activateHandlers(l(e,n),m)}function l(e,t){return function(n){if(B.aspectRatio)switch(e){case"e":n[1]=t.y+1;break;case"w":n[1]=t.y+1;break;case"n":n[0]=t.x+1;break;case"s":n[0]=t.x+1}else switch(e){case"e":n[1]=t.y2;break;case"w":n[1]=t.y2;break;case"n":n[0]=t.x2;break;case"s":n[0]=t.x2}oe.setCurrent(n),ie.update()}}function f(e){var t=e;return ce.watchKeys(),function(e){oe.moveOffset([e[0]-t[0],e[1]-t[1]]),t=e,ie.update()}}function p(e){switch(e){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function b(e){return function(t){return!B.disabled&&(!("move"==e&&!B.allowMove)&&(L=!0,d(e,c(t)),t.stopPropagation(),t.preventDefault(),!1))}}function v(e,t,n){var r=e.width(),s=e.height();r>t&&t>0&&(r=t,s=t/e.width()*e.height()),s>n&&n>0&&(s=n,r=n/e.height()*e.width()),q=e.width()/r,G=e.height()/s,e.width(r).height(s)}function g(e){return{x:parseInt(e.x*q),y:parseInt(e.y*G),x2:parseInt(e.x2*q),y2:parseInt(e.y2*G),w:parseInt(e.w*q),h:parseInt(e.h*G)}}function m(e){var t=oe.getFixed();t.w>B.minSelect[0]&&t.h>B.minSelect[1]?(ie.enableHandles(),ie.done()):ie.release(),ae.setCursor(B.allowSelect?"crosshair":"default")}function y(e){if(B.disabled)return!1;if(!B.allowSelect)return!1;L=!0,se=a(W),ie.disableHandles(),u("crosshair");var t=c(e);return oe.setPressed(t),ae.activateHandlers(x,m),ce.watchKeys(),ie.update(),e.stopPropagation(),e.preventDefault(),!1}function x(e){oe.setCurrent(e),ie.update()}function C(){var t=e("<div></div>").addClass(o("tracker"));return e.browser.msie&&t.css({opacity:0,backgroundColor:"white"}),t}function S(e){function t(){window.setTimeout(g,u)}var n=e[0]/q,r=e[1]/G,s=e[2]/q,o=e[3]/G;if(!U){var i=oe.flipCoords(n,r,s,o),a=oe.getFixed(),c=initcr=[a.x,a.y,a.x2,a.y2],u=B.animationDelay,d=c[0],l=c[1],s=c[2],o=c[3],f=i[0]-initcr[0],h=i[1]-initcr[1],p=i[2]-initcr[2],w=i[3]-initcr[3],b=0,v=B.swingSpeed;ie.animMode(!0);var g=function(){return function(){b+=(100-b)/v,c[0]=d+b/100*f,c[1]=l+b/100*h,c[2]=s+b/100*p,c[3]=o+b/100*w,b<100?t():ie.done(),b>=99.8&&(b=100),z(c)}}();t()}}function k(e){z([e[0]/q,e[1]/G,e[2]/q,e[3]/G])}function z(e){oe.setPressed([e[0],e[1]]),oe.setCurrent([e[2],e[3]]),ie.update()}function M(t){"object"!=typeof t&&(t={}),B=e.extend(B,t),"function"!=typeof B.onChange&&(B.onChange=function(){}),"function"!=typeof B.onSelect&&(B.onSelect=function(){})}function I(){return g(oe.getFixed())}function H(){return oe.getFixed()}function O(e){M(e),R()}function D(){B.disabled=!0,ie.disableHandles(),ie.setCursor("default"),ae.setCursor("default")}function F(){B.disabled=!1,R()}function P(){ie.done(),ae.activateHandlers(null,null)}function J(){T.remove(),K.show()}function R(e){B.allowResize?e?ie.enableOnly():ie.enableHandles():ie.disableHandles(),ae.setCursor(B.allowSelect?"crosshair":"default"),ie.setCursor(B.allowMove?"move":"default"),T.css("backgroundColor",B.bgColor),"setSelect"in B&&(k(n.setSelect),ie.done(),delete B.setSelect),"trueSize"in B&&(q=B.trueSize[0]/A,G=B.trueSize[1]/E),V=B.maxSize[0]||0,Q=B.maxSize[1]||0,X=B.minSize[0]||0,Y=B.minSize[1]||0,"outerImage"in B&&(W.attr("src",B.outerImage),delete B.outerImage),ie.refresh()}var t=t,n=n;"object"!=typeof t&&(t=e(t)[0]),"object"!=typeof n&&(n={}),"trackDocument"in n||(n.trackDocument=!e.browser.msie,e.browser.msie&&"8"==e.browser.version.split(".")[0]&&(n.trackDocument=!0)),"keySupport"in n||(n.keySupport=!e.browser.msie);var j={trackDocument:!1,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,borderOpacity:.4,handleOpacity:.5,handlePad:5,handleSize:9,handleOffset:5,edgeMargin:14,aspectRatio:0,keySupport:!0,cornerHandles:!0,sideHandles:!0,drawBorders:!0,dragEdges:!0,boxWidth:0,boxHeight:0,boundary:8,animationDelay:20,swingSpeed:3,allowSelect:!0,allowMove:!0,allowResize:!0,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){}},B=j;M(n);var K=e(t),W=K.clone().removeAttr("id").css({position:"absolute"});W.width(K.width()),W.height(K.height()),K.after(W).hide(),v(W,B.boxWidth,B.boxHeight);var A=W.width(),E=W.height(),T=e("<div />").width(A).height(E).addClass(o("holder")).css({position:"relative",backgroundColor:B.bgColor}).insertAfter(K).append(W);B.addClass&&T.addClass(B.addClass);var V,Q,X,Y,q,G,L,N,U,Z,$=e("<img />").attr("src",W.attr("src")).css("position","absolute").width(A).height(E),_=e("<div />").width(s(100)).height(s(100)).css({zIndex:310,position:"absolute",overflow:"hidden"}).append($),ee=e("<div />").width(s(100)).height(s(100)).css("zIndex",320),te=e("<div />").css({position:"absolute",zIndex:300}).insertBefore(W).append(_,ee),ne=B.boundary,re=C().width(A+2*ne).height(E+2*ne).css({position:"absolute",top:r(-ne),left:r(-ne),zIndex:290}).mousedown(y),se=a(W),oe=function(){function e(e){var e=i(e);b=f=e[0],v=p=e[1]}function t(e){var e=i(e);d=e[0]-b,l=e[1]-v,b=e[0],v=e[1]}function n(){return[d,l]}function r(e){var t=e[0],n=e[1];0>f+t&&(t-=t+f),0>p+n&&(n-=n+p),E<v+n&&(n+=E-(v+n)),A<b+t&&(t+=A-(b+t)),f+=t,b+=t,p+=n,v+=n}function s(e){var t=o();switch(e){case"ne":return[t.x2,t.y];case"nw":return[t.x,t.y];case"se":return[t.x2,t.y2];case"sw":return[t.x,t.y2]}}function o(){if(!B.aspectRatio)return c();var e,t,n=B.aspectRatio,r=B.minSize[0]/q,s=(B.minSize[1]/G,B.maxSize[0]/q),o=B.maxSize[1]/G,i=b-f,d=v-p,l=Math.abs(i),g=Math.abs(d),m=l/g;return 0==s&&(s=10*A),0==o&&(o=10*E),m<n?(t=v,w=g*n,e=i<0?f-w:w+f,e<0?(e=0,h=Math.abs((e-f)/n),t=d<0?p-h:h+p):e>A&&(e=A,h=Math.abs((e-f)/n),t=d<0?p-h:h+p)):(e=b,h=l/n,t=d<0?p-h:p+h,t<0?(t=0,w=Math.abs((t-p)*n),e=i<0?f-w:w+f):t>E&&(t=E,w=Math.abs(t-p)*n,e=i<0?f-w:w+f)),e>f?(e-f<r?e=f+r:e-f>s&&(e=f+s),t=t>p?p+(e-f)/n:p-(e-f)/n):e<f&&(f-e<r?e=f-r:f-e>s&&(e=f-s),t=t>p?p+(f-e)/n:p-(f-e)/n),e<0?(f-=e,e=0):e>A&&(f-=e-A,e=A),t<0?(p-=t,t=0):t>E&&(p-=t-E,t=E),last=u(a(f,p,e,t))}function i(e){return e[0]<0&&(e[0]=0),e[1]<0&&(e[1]=0),e[0]>A&&(e[0]=A),e[1]>E&&(e[1]=E),[e[0],e[1]]}function a(e,t,n,r){var s=e,o=n,i=t,a=r;return n<e&&(s=n,o=e),r<t&&(i=r,a=t),[Math.round(s),Math.round(i),Math.round(o),Math.round(a)]}function c(){var e=b-f,t=v-p;if(V&&Math.abs(e)>V&&(b=e>0?f+V:f-V),Q&&Math.abs(t)>Q&&(v=t>0?p+Q:p-Q),Y&&Math.abs(t)<Y&&(v=t>0?p+Y:p-Y),X&&Math.abs(e)<X&&(b=e>0?f+X:f-X),f<0&&(b-=f,f-=f),p<0&&(v-=p,p-=p),b<0&&(f-=b,b-=b),v<0&&(p-=v,v-=v),b>A){var n=b-A;f-=n,b-=n}if(v>E){var n=v-E;p-=n,v-=n}if(f>A){var n=f-E;v-=n,p-=n}if(p>E){var n=p-E;v-=n,p-=n}return u(a(f,p,b,v))}function u(e){return{x:e[0],y:e[1],x2:e[2],y2:e[3],w:e[2]-e[0],h:e[3]-e[1]}}var d,l,f=0,p=0,b=0,v=0;return{flipCoords:a,setPressed:e,setCurrent:t,getOffset:n,moveOffset:r,getCorner:s,getFixed:o}}(),ie=function(){function t(t){var n=e("<div />").css({position:"absolute",opacity:B.borderOpacity}).addClass(o(t));return _.append(n),n}function n(t,n){var r=e("<div />").mousedown(b(t)).css({cursor:t+"-resize",position:"absolute",zIndex:n});return ee.append(r),r}function a(e){return n(e,I++).css({top:r(-F+1),left:r(-F+1),opacity:B.handleOpacity}).addClass(o("handle"))}function c(e){var t=B.handleSize,o=F,i=t,a=t,c=o,u=o;switch(e){case"n":case"s":a=s(100);break;case"e":case"w":i=s(100)}return n(e,I++).width(a).height(i).css({top:r(-c+1),left:r(-u+1)})}function u(e){for(i in e)O[e[i]]=a(e[i])}function d(e){var t=Math.round(e.h/2-F),n=Math.round(e.w/2-F),s=(west=-F+1,e.w-F),o=e.h-F;"e"in O&&O.e.css({top:r(t),left:r(s)})&&O.w.css({top:r(t)})&&O.s.css({top:r(o),left:r(n)})&&O.n.css({left:r(n)}),"ne"in O&&O.ne.css({left:r(s)})&&O.se.css({top:r(o),left:r(s)})&&O.sw.css({top:r(o)}),"b"in O&&O.b.css({top:r(o)})&&O.r.css({left:r(s)})}function l(e,t){$.css({top:r(-t),left:r(-e)}),te.css({top:r(t),left:r(e)})}function f(e,t){te.width(e).height(t)}function h(){var e=oe.getFixed();oe.setPressed([e.x,e.y]),oe.setCurrent([e.x2,e.y2]),p()}function p(){if(M)return w()}function w(){var e=oe.getFixed();f(e.w,e.h),l(e.x,e.y),B.drawBorders&&H.right.css({left:r(e.w-1)})&&H.bottom.css({top:r(e.h-1)}),D&&d(e),M||v(),B.onChange(g(e))}function v(){te.show(),W.css("opacity",B.bgOpacity),M=!0}function m(){S(),te.hide(),W.css("opacity",1),M=!1}function y(){D&&(d(oe.getFixed()),ee.show())}function x(){if(D=!0,B.allowResize)return d(oe.getFixed()),ee.show(),!0}function S(){D=!1,ee.hide()}function k(e){(U=e)?S():x()}function z(){k(!1),h()}var M,I=370,H={},O={},D=!1,F=B.handleOffset;B.drawBorders&&(H={top:t("hline").css("top",r(e.browser.msie?-1:0)),bottom:t("hline"),left:t("vline"),right:t("vline")}),B.dragEdges&&(O.t=c("n"),O.b=c("s"),O.r=c("e"),O.l=c("w")),B.sideHandles&&u(["n","s","e","w"]),B.cornerHandles&&u(["sw","nw","ne","se"]);var P=C().mousedown(b("move")).css({cursor:"move",position:"absolute",zIndex:360});return _.append(P),S(),{updateVisible:p,update:w,release:m,refresh:h,setCursor:function(e){P.css("cursor",e)},enableHandles:x,enableOnly:function(){D=!0},showHandles:y,disableHandles:S,animMode:k,done:z}}(),ae=function(){function t(){re.css({zIndex:450}),d&&e(document).mousemove(r).mouseup(s)}function n(){re.css({zIndex:290}),d&&e(document).unbind("mousemove",r).unbind("mouseup",s)}function r(e){a(c(e))}function s(e){return e.preventDefault(),e.stopPropagation(),L&&(L=!1,u(c(e)),B.onSelect(g(oe.getFixed())),n(),a=function(){},u=function(){}),!1}function o(e,n){return L=!0,a=e,u=n,t(),!1}function i(e){re.css("cursor",e)}var a=function(){},u=function(){},d=B.trackDocument;return d||re.mousemove(r).mouseup(s).mouseout(s),W.before(re),{activateHandlers:o,setCursor:i}}(),ce=function(){function t(){B.keySupport&&(o.show(),o.focus())}function n(e){o.hide()}function r(e,t,n){B.allowMove&&(oe.moveOffset([t,n]),ie.updateVisible()),e.preventDefault(),e.stopPropagation()}function s(e){if(e.ctrlKey)return!0;Z=!!e.shiftKey;var t=Z?10:1;switch(e.keyCode){case 37:r(e,-t,0);break;case 39:r(e,t,0);break;case 38:r(e,0,-t);break;case 40:r(e,0,t);break;case 27:ie.release();break;case 9:return!0}return nothing(e)}var o=e('<input type="radio" />').css({position:"absolute",left:"-30px"}).keypress(s).blur(n),i=e("<div />").css({position:"absolute",overflow:"hidden"}).append(o);return B.keySupport&&i.insertBefore(W),{watchKeys:t}}();ee.hide(),R(!0);var ue={animateTo:S,setSelect:k,setOptions:O,tellSelect:I,tellScaled:H,disable:D,enable:F,cancel:P,focus:ce.watchKeys,getBounds:function(){return[A*q,E*G]},getWidgetSize:function(){return[A,E]},release:ie.release,destroy:J};return K.data("Jcrop",ue),ue},e.fn.Jcrop=function(t){function n(n){var r=t.useImg||n.src,s=new Image;s.onload=function(){e.Jcrop(n,t)},s.src=r}return"object"!=typeof t&&(t={}),this.each(function(){if(e(this).data("Jcrop")){if("api"==t)return e(this).data("Jcrop");e(this).data("Jcrop").setOptions(t)}else n(this)}),this}}(jQuery);
\ No newline at end of file
+!function(e){e.Jcrop=function(t,n){function s(e){return parseInt(e)+"px"}function r(e){return parseInt(e)+"%"}function o(e){return j.baseClass+"-"+e}function a(t){var n=e(t).offset();return[n.left,n.top]}function c(e){return[e.pageX-se[0],e.pageY-se[1]]}function u(e){e!=L&&(ie.setCursor(e),L=e)}function d(e,t){if(se=a(K),ie.setCursor("move"==e?e:e+"-resize"),"move"==e)return ie.activateHandlers(f(t),g);var n=re.getFixed(),s=p(e),r=re.getCorner(p(s));re.setPressed(re.getCorner(s)),re.setCurrent(r),ie.activateHandlers(l(e,n),g)}function l(e,t){return function(n){if(j.aspectRatio)switch(e){case"e":case"w":n[1]=t.y+1;break;case"n":case"s":n[0]=t.x+1}else switch(e){case"e":case"w":n[1]=t.y2;break;case"n":case"s":n[0]=t.x2}re.setCurrent(n),oe.update()}}function f(e){var t=e;return ae.watchKeys(),function(e){re.moveOffset([e[0]-t[0],e[1]-t[1]]),t=e,oe.update()}}function p(e){switch(e){case"n":return"sw";case"s":case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function b(e){return function(t){return!j.disabled&&(!("move"==e&&!j.allowMove)&&(G=!0,d(e,c(t)),t.stopPropagation(),t.preventDefault(),!1))}}function v(e){return{x:parseInt(e.x*Y),y:parseInt(e.y*q),x2:parseInt(e.x2*Y),y2:parseInt(e.y2*q),w:parseInt(e.w*Y),h:parseInt(e.h*q)}}function g(e){var t=re.getFixed();t.w>j.minSelect[0]&&t.h>j.minSelect[1]?(oe.enableHandles(),oe.done()):oe.release(),ie.setCursor(j.allowSelect?"crosshair":"default")}function m(e){if(j.disabled)return!1;if(!j.allowSelect)return!1;G=!0,se=a(K),oe.disableHandles(),u("crosshair");var t=c(e);return re.setPressed(t),ie.activateHandlers(y,g),ae.watchKeys(),oe.update(),e.stopPropagation(),e.preventDefault(),!1}function y(e){re.setCurrent(e),oe.update()}function x(){var t=e("<div></div>").addClass(o("tracker"));return e.browser.msie&&t.css({opacity:0,backgroundColor:"white"}),t}function C(e){function t(){window.setTimeout(g,u)}var n=e[0]/Y,s=e[1]/q,r=e[2]/Y,o=e[3]/q;if(!N){var i=re.flipCoords(n,s,r,o),a=re.getFixed(),c=initcr=[a.x,a.y,a.x2,a.y2],u=j.animationDelay,d=c[0],l=c[1],r=c[2],o=c[3],f=i[0]-initcr[0],h=i[1]-initcr[1],p=i[2]-initcr[2],w=i[3]-initcr[3],b=0,v=j.swingSpeed;oe.animMode(!0);var g=function(){return function(){b+=(100-b)/v,c[0]=d+b/100*f,c[1]=l+b/100*h,c[2]=r+b/100*p,c[3]=o+b/100*w,b<100?t():oe.done(),b>=99.8&&(b=100),z(c)}}();t()}}function S(e){z([e[0]/Y,e[1]/q,e[2]/Y,e[3]/q])}function z(e){re.setPressed([e[0],e[1]]),re.setCurrent([e[2],e[3]]),oe.update()}function k(t){"object"!=typeof t&&(t={}),j=e.extend(j,t),"function"!=typeof j.onChange&&(j.onChange=function(){}),"function"!=typeof j.onSelect&&(j.onSelect=function(){})}function M(){return v(re.getFixed())}function I(){return re.getFixed()}function H(e){k(e),J()}function O(){j.disabled=!0,oe.disableHandles(),oe.setCursor("default"),ie.setCursor("default")}function D(){j.disabled=!1,J()}function F(){oe.done(),ie.activateHandlers(null,null)}function P(){E.remove(),B.show()}function J(e){j.allowResize?e?oe.enableOnly():oe.enableHandles():oe.disableHandles(),ie.setCursor(j.allowSelect?"crosshair":"default"),oe.setCursor(j.allowMove?"move":"default"),E.css("backgroundColor",j.bgColor),"setSelect"in j&&(S(n.setSelect),oe.done(),delete j.setSelect),"trueSize"in j&&(Y=j.trueSize[0]/W,q=j.trueSize[1]/A),T=j.maxSize[0]||0,V=j.maxSize[1]||0,Q=j.minSize[0]||0,X=j.minSize[1]||0,"outerImage"in j&&(K.attr("src",j.outerImage),delete j.outerImage),oe.refresh()}var t=t,n=n;"object"!=typeof t&&(t=e(t)[0]),"object"!=typeof n&&(n={}),"trackDocument"in n||(n.trackDocument=!e.browser.msie,e.browser.msie&&"8"==e.browser.version.split(".")[0]&&(n.trackDocument=!0)),"keySupport"in n||(n.keySupport=!e.browser.msie);var R={trackDocument:!1,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,borderOpacity:.4,handleOpacity:.5,handlePad:5,handleSize:9,handleOffset:5,edgeMargin:14,aspectRatio:0,keySupport:!0,cornerHandles:!0,sideHandles:!0,drawBorders:!0,dragEdges:!0,boxWidth:0,boxHeight:0,boundary:8,animationDelay:20,swingSpeed:3,allowSelect:!0,allowMove:!0,allowResize:!0,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){}},j=R;k(n);var B=e(t),K=B.clone().removeAttr("id").css({position:"absolute"});K.width(B.width()),K.height(B.height()),B.after(K).hide(),function(e,t,n){var s=e.width(),r=e.height();s>t&&t>0&&(s=t,r=t/e.width()*e.height()),r>n&&n>0&&(r=n,s=n/e.height()*e.width()),Y=e.width()/s,q=e.height()/r,e.width(s).height(r)}(K,j.boxWidth,j.boxHeight);var W=K.width(),A=K.height(),E=e("<div />").width(W).height(A).addClass(o("holder")).css({position:"relative",backgroundColor:j.bgColor}).insertAfter(B).append(K);j.addClass&&E.addClass(j.addClass);var T,V,Q,X,Y,q,G,L,N,U,Z=e("<img />").attr("src",K.attr("src")).css("position","absolute").width(W).height(A),$=e("<div />").width(r(100)).height(r(100)).css({zIndex:310,position:"absolute",overflow:"hidden"}).append(Z),_=e("<div />").width(r(100)).height(r(100)).css("zIndex",320),ee=e("<div />").css({position:"absolute",zIndex:300}).insertBefore(K).append($,_),te=j.boundary,ne=x().width(W+2*te).height(A+2*te).css({position:"absolute",top:s(-te),left:s(-te),zIndex:290}).mousedown(m),se=a(K),re=function(){function e(e){var e=i(e);b=f=e[0],v=p=e[1]}function t(e){var e=i(e);d=e[0]-b,l=e[1]-v,b=e[0],v=e[1]}function n(){return[d,l]}function s(e){var t=e[0],n=e[1];0>f+t&&(t-=t+f),0>p+n&&(n-=n+p),A<v+n&&(n+=A-(v+n)),W<b+t&&(t+=W-(b+t)),f+=t,b+=t,p+=n,v+=n}function r(e){var t=o();switch(e){case"ne":return[t.x2,t.y];case"nw":return[t.x,t.y];case"se":return[t.x2,t.y2];case"sw":return[t.x,t.y2]}}function o(){if(!j.aspectRatio)return c();var e,t,n=j.aspectRatio,s=j.minSize[0]/Y,r=(j.minSize[1],j.maxSize[0]/Y),o=j.maxSize[1]/q,i=b-f,d=v-p,l=Math.abs(i),g=Math.abs(d),m=l/g;return 0==r&&(r=10*W),0==o&&(o=10*A),m<n?(t=v,w=g*n,e=i<0?f-w:w+f,e<0?(e=0,h=Math.abs((e-f)/n),t=d<0?p-h:h+p):e>W&&(e=W,h=Math.abs((e-f)/n),t=d<0?p-h:h+p)):(e=b,h=l/n,t=d<0?p-h:p+h,t<0?(t=0,w=Math.abs((t-p)*n),e=i<0?f-w:w+f):t>A&&(t=A,w=Math.abs(t-p)*n,e=i<0?f-w:w+f)),e>f?(e-f<s?e=f+s:e-f>r&&(e=f+r),t=t>p?p+(e-f)/n:p-(e-f)/n):e<f&&(f-e<s?e=f-s:f-e>r&&(e=f-r),t=t>p?p+(f-e)/n:p-(f-e)/n),e<0?(f-=e,e=0):e>W&&(f-=e-W,e=W),t<0?(p-=t,t=0):t>A&&(p-=t-A,t=A),last=u(a(f,p,e,t))}function i(e){return e[0]<0&&(e[0]=0),e[1]<0&&(e[1]=0),e[0]>W&&(e[0]=W),e[1]>A&&(e[1]=A),[e[0],e[1]]}function a(e,t,n,s){var r=e,o=n,i=t,a=s;return n<e&&(r=n,o=e),s<t&&(i=s,a=t),[Math.round(r),Math.round(i),Math.round(o),Math.round(a)]}function c(){var e=b-f,t=v-p;if(T&&Math.abs(e)>T&&(b=e>0?f+T:f-T),V&&Math.abs(t)>V&&(v=t>0?p+V:p-V),X&&Math.abs(t)<X&&(v=t>0?p+X:p-X),Q&&Math.abs(e)<Q&&(b=e>0?f+Q:f-Q),f<0&&(b-=f,f-=f),p<0&&(v-=p,p-=p),b<0&&(f-=b,b-=b),v<0&&(p-=v,v-=v),b>W){var n=b-W;f-=n,b-=n}if(v>A){var n=v-A;p-=n,v-=n}if(f>W){var n=f-A;v-=n,p-=n}if(p>A){var n=p-A;v-=n,p-=n}return u(a(f,p,b,v))}function u(e){return{x:e[0],y:e[1],x2:e[2],y2:e[3],w:e[2]-e[0],h:e[3]-e[1]}}var d,l,f=0,p=0,b=0,v=0;return{flipCoords:a,setPressed:e,setCurrent:t,getOffset:n,moveOffset:s,getCorner:r,getFixed:o}}(),oe=function(){function t(t){var n=e("<div />").css({position:"absolute",opacity:j.borderOpacity}).addClass(o(t));return $.append(n),n}function n(t,n){var s=e("<div />").mousedown(b(t)).css({cursor:t+"-resize",position:"absolute",zIndex:n});return _.append(s),s}function a(e){return n(e,I++).css({top:s(1-F),left:s(1-F),opacity:j.handleOpacity}).addClass(o("handle"))}function c(e){var t=j.handleSize,o=F,i=t,a=t,c=o,u=o;switch(e){case"n":case"s":a=r(100);break;case"e":case"w":i=r(100)}return n(e,I++).width(a).height(i).css({top:s(1-c),left:s(1-u)})}function u(e){for(i in e)O[e[i]]=a(e[i])}function d(e){var t=Math.round(e.h/2-F),n=Math.round(e.w/2-F),r=(west=1-F,e.w-F),o=e.h-F;"e"in O&&O.e.css({top:s(t),left:s(r)})&&O.w.css({top:s(t)})&&O.s.css({top:s(o),left:s(n)})&&O.n.css({left:s(n)}),"ne"in O&&O.ne.css({left:s(r)})&&O.se.css({top:s(o),left:s(r)})&&O.sw.css({top:s(o)}),"b"in O&&O.b.css({top:s(o)})&&O.r.css({left:s(r)})}function l(e,t){Z.css({top:s(-t),left:s(-e)}),ee.css({top:s(t),left:s(e)})}function f(e,t){ee.width(e).height(t)}function h(){var e=re.getFixed();re.setPressed([e.x,e.y]),re.setCurrent([e.x2,e.y2]),p()}function p(){if(M)return w()}function w(){var e=re.getFixed();f(e.w,e.h),l(e.x,e.y),j.drawBorders&&H.right.css({left:s(e.w-1)})&&H.bottom.css({top:s(e.h-1)}),D&&d(e),M||g(),j.onChange(v(e))}function g(){ee.show(),K.css("opacity",j.bgOpacity),M=!0}function m(){S(),ee.hide(),K.css("opacity",1),M=!1}function y(){D&&(d(re.getFixed()),_.show())}function C(){if(D=!0,j.allowResize)return d(re.getFixed()),_.show(),!0}function S(){D=!1,_.hide()}function z(e){(N=e)?S():C()}function k(){z(!1),h()}var M,I=370,H={},O={},D=!1,F=j.handleOffset;j.drawBorders&&(H={top:t("hline").css("top",s(e.browser.msie?-1:0)),bottom:t("hline"),left:t("vline"),right:t("vline")}),j.dragEdges&&(O.t=c("n"),O.b=c("s"),O.r=c("e"),O.l=c("w")),j.sideHandles&&u(["n","s","e","w"]),j.cornerHandles&&u(["sw","nw","ne","se"]);var P=x().mousedown(b("move")).css({cursor:"move",position:"absolute",zIndex:360});return $.append(P),S(),{updateVisible:p,update:w,release:m,refresh:h,setCursor:function(e){P.css("cursor",e)},enableHandles:C,enableOnly:function(){D=!0},showHandles:y,disableHandles:S,animMode:z,done:k}}(),ie=function(){function t(){ne.css({zIndex:450}),d&&e(document).mousemove(s).mouseup(r)}function n(){ne.css({zIndex:290}),d&&e(document).unbind("mousemove",s).unbind("mouseup",r)}function s(e){a(c(e))}function r(e){return e.preventDefault(),e.stopPropagation(),G&&(G=!1,u(c(e)),j.onSelect(v(re.getFixed())),n(),a=function(){},u=function(){}),!1}function o(e,n){return G=!0,a=e,u=n,t(),!1}function i(e){ne.css("cursor",e)}var a=function(){},u=function(){},d=j.trackDocument;return d||ne.mousemove(s).mouseup(r).mouseout(r),K.before(ne),{activateHandlers:o,setCursor:i}}(),ae=function(){function t(){j.keySupport&&(o.show(),o.focus())}function n(e){o.hide()}function s(e,t,n){j.allowMove&&(re.moveOffset([t,n]),oe.updateVisible()),e.preventDefault(),e.stopPropagation()}function r(e){if(e.ctrlKey)return!0;U=!!e.shiftKey;var t=U?10:1;switch(e.keyCode){case 37:s(e,-t,0);break;case 39:s(e,t,0);break;case 38:s(e,0,-t);break;case 40:s(e,0,t);break;case 27:oe.release();break;case 9:return!0}return nothing(e)}var o=e('<input type="radio" />').css({position:"absolute",left:"-30px"}).keypress(r).blur(n),i=e("<div />").css({position:"absolute",overflow:"hidden"}).append(o);return j.keySupport&&i.insertBefore(K),{watchKeys:t}}();_.hide(),J(!0);var ce={animateTo:C,setSelect:S,setOptions:H,tellSelect:M,tellScaled:I,disable:O,enable:D,cancel:F,focus:ae.watchKeys,getBounds:function(){return[W*Y,A*q]},getWidgetSize:function(){return[W,A]},release:oe.release,destroy:P};return B.data("Jcrop",ce),ce},e.fn.Jcrop=function(t){function n(n){var s=t.useImg||n.src,r=new Image;r.onload=function(){e.Jcrop(n,t)},r.src=s}return"object"!=typeof t&&(t={}),this.each(function(){if(e(this).data("Jcrop")){if("api"==t)return e(this).data("Jcrop");e(this).data("Jcrop").setOptions(t)}else n(this)}),this}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.min.js
index d497ccb340288769e376473a3834d3989c616a5c..f22ce4d50eb40c5505042a112368688a341ba427 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.min.js
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.min.js
@@ -1 +1 @@
-!function(e){nggAjax={settings:{url:nggAjaxSetup.url,type:"POST",action:nggAjaxSetup.action,operation:nggAjaxSetup.operation,nonce:nggAjaxSetup.nonce,ids:nggAjaxSetup.ids,permission:nggAjaxSetup.permission,error:nggAjaxSetup.error,failure:nggAjaxSetup.failure,timeout:2e4,retries:0,max_retries:5,retry_delay:3e4},run:function(t){s=this.settings;e.ajax({type:"POST",url:s.url,data:"action="+s.action+"&operation="+s.operation+"&_wpnonce="+s.nonce+"&image="+s.ids[t]+"&retries="+nggAjax.settings.retries,cache:!1,timeout:3e4,success:function(e){switch(parseInt(e)){case-1:nggProgressBar.addNote(nggAjax.settings.permission);break;case 0:nggProgressBar.addNote(nggAjax.settings.error);break;case 1:break;default:nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,e)}},error:function(e,t,n){nggAjax.settings.errorThrown=n},complete:function(e,n){if(t++,t<nggAjax.settings.ids.length){var s=!0;if("error"==n||"abort"==n)if(nggAjax.settings.retries+=1,nggAjax.settings.retries<=nggAjax.settings.max_retries){var g=nggAjax.settings.retry_delay/1e3;t--,s=!1,nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[length]+":</strong> Retrying in "+g+" seconds; host might be throttling."),setTimeout(function(){nggAjax.run(t)},nggAjax.settings.retry_delay)}else{var r=e.responseText;""==r&&(r="( "+nggAjax.settings.errorThrown+" )"),nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,r),nggProgressBar.increase(t)}else nggAjax.settings.retries=0,nggProgressBar.increase(t);s&&nggAjax.run(t)}else nggProgressBar.finished()}})},readIDs:function(t){s=this.settings;e.ajax({type:"POST",url:s.url,data:"action="+s.action+"&operation="+s.operation+"&_wpnonce="+s.nonce+"&image="+s.ids[t],dataType:"json",cache:!1,timeout:3e4,success:function(e){imageIDS=imageIDS.concat(e)},error:function(e){nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,e.responseText)},complete:function(){t++,nggProgressBar.increase(t),t<nggAjax.settings.ids.length?nggAjax.readIDs(t):(t=0,nggAjax.settings.ids=imageIDS,nggAjax.settings.operation=nextOperation,nggAjax.settings.maxStep=imageIDS.length,nggProgressBar.init(nggAjax.settings),nggAjax.run(t))}})},init:function(t){if(!this.inited){var n=0;this.settings=e.extend({},this.settings,{},t||{}),"gallery_"==this.settings.operation.substring(0,8)?(nextOperation=this.settings.operation.substring(8),this.settings.operation="get_image_ids",imageIDS=new Array,this.readIDs(n)):this.run(n),this.inited=!0}}}}(jQuery);
\ No newline at end of file
+!function(e){nggAjax={settings:{url:nggAjaxSetup.url,type:"POST",action:nggAjaxSetup.action,operation:nggAjaxSetup.operation,nonce:nggAjaxSetup.nonce,ids:nggAjaxSetup.ids,permission:nggAjaxSetup.permission,error:nggAjaxSetup.error,failure:nggAjaxSetup.failure,timeout:2e4,retries:0,max_retries:5,retry_delay:3e4},run:function(t){s=this.settings;e.ajax({type:"POST",url:s.url,data:"action="+s.action+"&operation="+s.operation+"&_wpnonce="+s.nonce+"&image="+s.ids[t]+"&retries="+nggAjax.settings.retries,cache:!1,timeout:3e4,success:function(e){switch(parseInt(e)){case-1:nggProgressBar.addNote(nggAjax.settings.permission);break;case 0:nggProgressBar.addNote(nggAjax.settings.error);break;case 1:break;default:nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,e)}},error:function(e,t,n){nggAjax.settings.errorThrown=n},complete:function(e,n){if(++t<nggAjax.settings.ids.length){var s=!0;if("error"==n||"abort"==n)if(nggAjax.settings.retries+=1,nggAjax.settings.retries<=nggAjax.settings.max_retries){var g=nggAjax.settings.retry_delay/1e3;t--,s=!1,nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[length]+":</strong> Retrying in "+g+" seconds; host might be throttling."),setTimeout(function(){nggAjax.run(t)},nggAjax.settings.retry_delay)}else{var r=e.responseText;""==r&&(r="( "+nggAjax.settings.errorThrown+" )"),nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,r),nggProgressBar.increase(t)}else nggAjax.settings.retries=0,nggProgressBar.increase(t);s&&nggAjax.run(t)}else nggProgressBar.finished()}})},readIDs:function(t){s=this.settings;e.ajax({type:"POST",url:s.url,data:"action="+s.action+"&operation="+s.operation+"&_wpnonce="+s.nonce+"&image="+s.ids[t],dataType:"json",cache:!1,timeout:3e4,success:function(e){imageIDS=imageIDS.concat(e)},error:function(e){nggProgressBar.addNote("<strong>ID "+nggAjax.settings.ids[t]+":</strong> "+nggAjax.settings.failure,e.responseText)},complete:function(){t++,nggProgressBar.increase(t),t<nggAjax.settings.ids.length?nggAjax.readIDs(t):(t=0,nggAjax.settings.ids=imageIDS,nggAjax.settings.operation=nextOperation,nggAjax.settings.maxStep=imageIDS.length,nggProgressBar.init(nggAjax.settings),nggAjax.run(t))}})},init:function(t){if(!this.inited){this.settings=e.extend({},this.settings,{},t||{}),"gallery_"==this.settings.operation.substring(0,8)?(nextOperation=this.settings.operation.substring(8),this.settings.operation="get_image_ids",imageIDS=new Array,this.readIDs(0)):this.run(0),this.inited=!0}}}}(jQuery);
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php
index 1bd18fa389db41971f11be4f8b36adfa77c7cfc7..e216a3a8341fcc20c82546e8556f7976edbb525a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php
@@ -7,6 +7,8 @@ function nggallery_manage_gallery_main() {
 
 	global $ngg, $nggdb, $wp_query;
 
+	$action_status = array('message' => '', 'status' => 'ok');
+	
 	//Build the pagination for more than 25 galleries
     $_GET['paged'] = isset($_GET['paged']) && ($_GET['paged'] > 0) ? absint($_GET['paged']) : 1;
 
@@ -53,7 +55,7 @@ function nggallery_manage_gallery_main() {
 
 			// If a new gallery is added, refresh the page
 			Frame_Event_Publisher.listen_for('attach_to_post:new_gallery attach_to_post:manage_images attach_to_post:images_added',function(){
-				window.location.href = window.location.href;
+				window.location.href = window.location.href.toString();
 			});
 		}
 
@@ -169,159 +171,170 @@ function nggallery_manage_gallery_main() {
 	}
 	//-->
 	</script>
-	<div class="wrap">
-		<?php screen_icon( 'nextgen-gallery' ); ?>
-		<h2><?php echo _n( 'Manage Galleries', 'Manage Galleries', 2, 'nggallery'); ?></h2>
-		<form class="search-form" action="" method="get">
-		<p class="search-box">
-			<label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
-			<input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" />
-			<input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
-			<input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button" />
-		</p>
-		</form>
-		<form id="editgalleries" class="nggform" method="POST" action="<?php echo nextgen_esc_url($ngg->manage_page->base_page . '&orderby=' . $orderby . '&order=' . $order . '&paged=' . $_GET['paged']); ?>" accept-charset="utf-8">
-		<?php wp_nonce_field('ngg_bulkgallery') ?>
-		<input type="hidden" name="page" value="manage-galleries" />
-
-		<div class="tablenav top">
-
-			<div class="alignleft actions">
-				<?php if ( function_exists('json_encode') ) : ?>
-				<select name="bulkaction" id="bulkaction">
-					<option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
-					<option value="delete_gallery" ><?php _e("Delete",'nggallery'); ?></option>
-                    <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
-					<option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
-					<option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
-					<option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
-					<option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option>
-				</select>
-				<input name="showThickbox" class="button-secondary" type="submit" value="<?php _e('Apply','nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" />
-				<?php endif; ?>
-				<?php if ( current_user_can('NextGEN Upload images') && nggGallery::current_user_can( 'NextGEN Add new gallery' ) ) : ?>
-					<input name="doaction" class="button-secondary action" type="submit" onclick="showAddGallery(); return false;" value="<?php _e('Add new gallery', 'nggallery') ?>"/>
-				<?php endif; ?>
-			</div>
-
 
-        <?php $ngg->manage_page->pagination( 'top', $_GET['paged'], $total_number_of_galleries, $items_per_page  ); ?>
+	<?php if (isset($action_status) && $action_status['message']!='') : ?>
+		<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+			<p><strong><?php echo $action_status['message']; ?></strong></p>
+		</div>
+	<?php endif; ?>
 
+	<div class="wrap ngg_manage_galleries">
+		<div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php echo _n( 'Manage Galleries', 'Manage Galleries', 2, 'nggallery'); ?></h3>
 		</div>
-		<table class="wp-list-table widefat" cellspacing="0">
-			<thead>
-			<tr>
-<?php $wp_list_table->print_column_headers(true); ?>
-			</tr>
-			</thead>
-			<tfoot>
-			<tr>
-<?php $wp_list_table->print_column_headers(false); ?>
-			</tr>
-			</tfoot>
-			<tbody id="the-list">
-<?php
 
-if($gallerylist) {
-    //get the columns
-	$gallery_columns = $wp_list_table->get_columns();
-	$hidden_columns  = get_hidden_columns('nggallery-manage-gallery');
-	$num_columns     = count($gallery_columns) - count($hidden_columns);
-	$image_mapper	 = C_Image_Mapper::get_instance();
-
-	foreach($gallerylist as $gallery) {
-		$alternate = ( !isset($alternate) || $alternate == 'class="alternate"' ) ? '' : 'class="alternate"';
-		$gid = $gallery->gid;
-		$name = (empty($gallery->title) ) ? $gallery->name : $gallery->title;
-		$author_user = get_userdata( (int) $gallery->author );
-		?>
-		<tr id="gallery-<?php echo $gid ?>" <?php echo $alternate; ?> >
-		<?php
-		foreach($gallery_columns as $gallery_column_key => $column_display_name) {
-			$class = "class=\"$gallery_column_key column-$gallery_column_key\"";
-
-			$style = '';
-			if ( in_array($gallery_column_key, $hidden_columns) )
-				$style = ' style="display:none;"';
-
-			$attributes = "$class$style";
-
-			switch ($gallery_column_key) {
-				case 'cb' :
-					?>
-        			<th scope="row" class="column-cb check-column">
-        				<?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
-        					<input name="doaction[]" type="checkbox" value="<?php echo $gid ?>" />
-        				<?php } ?>
-        			</th>
-        			<?php
-    			break;
-    			case 'id' :
-    			    ?>
-					<td <?php echo $attributes ?>><?php echo $gid; ?></td>
-					<?php
-    			break;
-    			case 'title' :
-    			    ?>
-        			<td class="title column-title">
-        				<?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
-        					<a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit'); ?>" >
-        						<?php echo esc_html( M_I18N::translate($name) ); ?>
-        					</a>
-        				<?php } else { ?>
-        					<?php echo esc_html( M_I18N::translate($gallery->title) ); ?>
-        				<?php } ?>
-                        <div class="row-actions"></div>
-        			</td>
-        			<?php
-    			break;
-    			case 'description' :
-    			    ?>
-					<td <?php echo $attributes ?>><?php echo esc_html( M_I18N::translate($gallery->galdesc) ); ?>&nbsp;</td>
-					<?php
-    			break;
-    			case 'author' :
-    			    ?>
-					<td <?php echo $attributes ?>><?php echo esc_html( $author_user->display_name ); ?></td>
+		<div class='ngg_page_content_main'>
+
+			<form class="search-form" action="" method="get">
+			<p class="search-box">
+				<label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
+				<input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" />
+				<input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
+				<input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button-primary" />
+			</p>
+			</form>
+			<form id="editgalleries" class="nggform" method="POST" action="<?php echo nextgen_esc_url($ngg->manage_page->base_page . '&orderby=' . $orderby . '&order=' . $order . '&paged=' . $_GET['paged']); ?>" accept-charset="utf-8">
+			<?php wp_nonce_field('ngg_bulkgallery') ?>
+			<input type="hidden" name="page" value="manage-galleries" />
+
+			<div class="tablenav top">
+
+				<div class="alignleft actions">
+					<?php if ( function_exists('json_encode') ) : ?>
+					<select name="bulkaction" id="bulkaction">
+						<option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
+						<option value="delete_gallery" ><?php _e("Delete",'nggallery'); ?></option>
+	                    <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
+						<option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
+						<option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
+						<option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
+						<option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option>
+					</select>
+					<input name="showThickbox" class="button-primary" type="submit" value="<?php _e('Apply','nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" />
+					<?php endif; ?>
+					<?php if ( current_user_can('NextGEN Upload images') && nggGallery::current_user_can( 'NextGEN Add new gallery' ) ) : ?>
+						<input name="doaction" class="button-primary action" type="submit" onclick="showAddGallery(); return false;" value="<?php _e('Add new gallery', 'nggallery') ?>"/>
+					<?php endif; ?>
+				</div>
+
+
+	        <?php $ngg->manage_page->pagination( 'top', $_GET['paged'], $total_number_of_galleries, $items_per_page  ); ?>
+
+			</div>
+			<table class="wp-list-table widefat" cellspacing="0">
+				<thead>
+				<tr>
+					<?php $wp_list_table->print_column_headers(true); ?>
+				</tr>
+				</thead>
+				<tfoot>
+				<tr>
+					<?php $wp_list_table->print_column_headers(false); ?>
+				</tr>
+				</tfoot>
+				<tbody id="the-list">
 					<?php
-    			break;
-    			case 'page_id' :
-    			    ?>
-        			<td <?php echo $attributes ?>><?php echo $gallery->pageid; ?></td>
-        			<?php
-    			break;
-    			case 'quantity' :
-					$gallery->counter = count(
-						$image_mapper->select($image_mapper->get_primary_key_column())->
-							where(array("galleryid = %d", $gallery->{$gallery->id_field}))->
-							run_query(FALSE, FALSE, TRUE)
-					);
-
-    			    ?>
-        			<td <?php echo $attributes ?>><?php echo $gallery->counter; ?></td>
-        			<?php
-    			break;
-    			default :
+
+					if($gallerylist) {
+					    //get the columns
+						$gallery_columns = $wp_list_table->get_columns();
+						$hidden_columns  = get_hidden_columns('nggallery-manage-gallery');
+						$num_columns     = count($gallery_columns) - count($hidden_columns);
+						$image_mapper	 = C_Image_Mapper::get_instance();
+
+						foreach($gallerylist as $gallery) {
+							$alternate = ( !isset($alternate) || $alternate == 'class="alternate"' ) ? '' : 'class="alternate"';
+							$gid = $gallery->gid;
+							$name = (empty($gallery->title) ) ? $gallery->name : $gallery->title;
+							$author_user = get_userdata( (int) $gallery->author );
+							?>
+							<tr id="gallery-<?php echo $gid ?>" <?php echo $alternate; ?> >
+							<?php
+							foreach($gallery_columns as $gallery_column_key => $column_display_name) {
+								$class = "class=\"$gallery_column_key column-$gallery_column_key\"";
+
+								$style = '';
+								if ( in_array($gallery_column_key, $hidden_columns) )
+									$style = ' style="display:none;"';
+
+								$attributes = "$class$style";
+
+								switch ($gallery_column_key) {
+									case 'cb' :
+										?>
+					        			<th scope="row" class="column-cb check-column">
+					        				<?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
+					        					<input name="doaction[]" type="checkbox" value="<?php echo $gid ?>" />
+					        				<?php } ?>
+					        			</th>
+					        			<?php
+					    			break;
+					    			case 'id' :
+					    			    ?>
+										<td <?php echo $attributes ?>><?php echo $gid; ?></td>
+										<?php
+					    			break;
+					    			case 'title' :
+					    			    ?>
+					        			<td class="title column-title">
+					        				<?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
+					        					<a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit'); ?>" >
+					        						<?php echo esc_html( M_I18N::translate($name) ); ?>
+					        					</a>
+					        				<?php } else { ?>
+					        					<?php echo esc_html( M_I18N::translate($gallery->title) ); ?>
+					        				<?php } ?>
+					                        <div class="row-actions"></div>
+					        			</td>
+					        			<?php
+					    			break;
+					    			case 'description' :
+					    			    ?>
+										<td <?php echo $attributes ?>><?php echo esc_html( M_I18N::translate($gallery->galdesc) ); ?>&nbsp;</td>
+										<?php
+					    			break;
+					    			case 'author' :
+					    			    ?>
+										<td <?php echo $attributes ?>><?php echo esc_html( $author_user->display_name ); ?></td>
+										<?php
+					    			break;
+					    			case 'page_id' :
+					    			    ?>
+					        			<td <?php echo $attributes ?>><?php echo $gallery->pageid; ?></td>
+					        			<?php
+					    			break;
+					    			case 'quantity' :
+										$gallery->counter = count(
+											$image_mapper->select($image_mapper->get_primary_key_column())->
+												where(array("galleryid = %d", $gallery->{$gallery->id_field}))->
+												run_query(FALSE, FALSE, TRUE)
+										);
+
+					    			    ?>
+					        			<td <?php echo $attributes ?>><?php echo $gallery->counter; ?></td>
+					        			<?php
+					    			break;
+					    			default :
+										?>
+										<td <?php echo $attributes ?>><?php do_action('ngg_manage_gallery_custom_column', $gallery_column_key, $gid); ?></td>
+										<?php
+									break;
+									}
+						        } ?>
+							</tr>
+							<?php
+						}
+					} else {
+						echo '<tr><td colspan="7" align="center"><strong>' . __('No entries found', 'nggallery') . '</strong></td></tr>';
+					}
 					?>
-					<td <?php echo $attributes ?>><?php do_action('ngg_manage_gallery_custom_column', $gallery_column_key, $gid); ?></td>
-					<?php
-				break;
-				}
-	        } ?>
-		</tr>
-		<?php
-	}
-} else {
-	echo '<tr><td colspan="7" align="center"><strong>' . __('No entries found', 'nggallery') . '</strong></td></tr>';
-}
-?>
-			</tbody>
-		</table>
-        <div class="tablenav bottom">
-		<?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $total_number_of_galleries, $items_per_page  ); ?>
-        </div>
-		</form>
-	</div>
+				</tbody>
+			</table>
+	        <div class="tablenav bottom">
+			<?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $total_number_of_galleries, $items_per_page  ); ?>
+	        </div>
+			</form>
+		</div> <!-- /.ngg_page_content_main -->
+	</div> <!-- /.wrap -->
 	<!-- #addGallery -->
 	<div id="addGallery" style="display: none;" >
 		<form id="form-tags" method="POST" accept-charset="utf-8">
@@ -342,7 +355,7 @@ if($gallerylist) {
 		    	<td class="submit">
 		    		<input class="button-primary" type="submit" name="addgallery" value="<?php _e('OK','nggallery'); ?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
@@ -371,7 +384,7 @@ if($gallerylist) {
 		    	<td colspan="2" class="submit">
 		    		<input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
@@ -402,7 +415,7 @@ if($gallerylist) {
 		    	<td colspan="2" class="submit">
 		    		<input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
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 353253d724ed8d6bd66160d4c6db4459c1434a0c..227b554d841bcc1ea7ed5dba55bf3421d1c0ddd8 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;
 
+	$action_status = array('message' => '', 'status' => 'ok');
+
 	// Look if its a search result
 	$is_search = isset ($_GET['s']) ? true : false;
 	$counter	= 0;
@@ -150,18 +152,18 @@ jQuery(function (){
       }
 
     	var $this = jQuery(this);
-      var results = new RegExp('[\\?&]w=([^&#]*)').exec(this.href);
-    	var width  = ( results ) ? results[1] : 600;
-      var results = new RegExp('[\\?&]h=([^&#]*)').exec(this.href);
-	    var height = ( results ) ? results[1] : 440;
-      var container = window;
+		var results = new RegExp('[\\?&]w=([^&#]*)').exec(this.href);
+    	var width  = ( results ) ? results[1] : 800;
+		var results = new RegExp('[\\?&]h=([^&#]*)').exec(this.href);
+	    var height = ( results ) ? results[1] : 500;
+		var container = window;
 
       if (window.parent) {
       	container = window.parent;
       }
 
       jQuery('#spinner').fadeIn();
-      jQuery('#spinner').position({ my: "center", at: "center", of: container });
+      jQuery('#spinner').position({my: "center", at: "center", of: container });
 
       var dialog = jQuery('<div class="ngg-overlay-dialog"></div>').appendTo('body');
       // load the remote content
@@ -173,7 +175,7 @@ jQuery(function (){
 
               dialog.dialog({
                   title: ($this.attr('title')) ? $this.attr('title') : '',
-                  position: { my: "center", at: "center", of: container },
+                  position: { my: "center center-30", at: "center", of: window.parent },
                   width: width,
                   height: height,
                   modal: true,
@@ -285,7 +287,7 @@ jQuery(document).ready( function($) {
 	jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed');
 	postboxes.add_postbox_toggles('ngg-manage-gallery');
 
-	jQuery('.iedit').mouseover(
+	/*jQuery('.iedit').mouseover(
 		function(e){
 			jQuery(this).parent().find('.row-actions').css('visibility', 'hidden');
 			jQuery(this).next('.row_actions:first').find('.row-actions:first').css({
@@ -293,177 +295,221 @@ jQuery(document).ready( function($) {
 				'left': 0 // WP 4.4 compatibility; it assigns left:-9999em by default to row-actions
 			});
 		}
-	);
+	);*/
 
 	$(this).data('ready', true);
 });
 
 //-->
 </script>
-<div class="wrap">
-<?php screen_icon( 'nextgen-gallery' ); ?>
-<?php if ($is_search) :?>
-<h2><?php printf( __('Search results for &#8220;%s&#8221;', 'nggallery'), esc_html( get_search_query() ) ); ?></h2>
-<form class="search-form" action="" method="get">
-<p class="search-box">
-	<label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
-	<input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" />
-	<input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
-	<input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button" />
-</p>
-</form>
-
-<br style="clear: both;" />
-
-<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&amp;mode=edit&amp;s=' . get_search_query(); ?>" accept-charset="utf-8">
-<?php wp_nonce_field('ngg_updategallery') ?>
-<input type="hidden" name="page" value="manage-images" />
-
-<?php else :?>
-<h2><?php echo _n( 'Gallery', 'Galleries', 1, 'nggallery' ); ?> : <?php echo esc_html ( M_I18N::translate($gallery->title) ); ?></h2>
-
-<br style="clear: both;" />
-
-<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $act_gid . '&amp;paged=' . esc_attr($_GET['paged']); ?>" accept-charset="utf-8">
-<?php wp_nonce_field('ngg_updategallery') ?>
-<input type="hidden" name="page" value="manage-images" />
-
-<?php if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) : ?>
-<div id="poststuff" class="meta-box-sortables">
-	<?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
-	<div id="gallerydiv" class="postbox <?php echo postbox_classes('gallerydiv', 'ngg-manage-gallery'); ?>" >
-		<div class="handlediv" title="<?php esc_attr_e( 'Click to toggle' ); ?>">
-			<span class="toggle-indicator"></span>
-		</div>
-		<h3>
-			<span>&nbsp;<?php _e('Gallery settings', 'nggallery'); ?></span>
-		</h3>
-		<div class="inside">
-			<?php $controller->render_gallery_fields(); ?>
-
-			<div class="submit">
-				<?php if ( wpmu_enable_function('wpmuImportFolder') && nggGallery::current_user_can( 'NextGEN Import image folder' ) ) : ?>
-				<input type="submit" class="button-secondary" 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'); ?>" />
-			</div>
 
+<?php if ($action_status['message']!='') : ?>
+		<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+			<p><strong><?php echo $action_status['message']; ?></strong></p>
 		</div>
-	</div>
-</div> <!-- poststuff -->
 <?php endif; ?>
 
-<?php endif; ?>
+<div class="wrap ngg_manage_images">
+
+<?php if ($is_search) :?>
 
-<div class="tablenav top ngg-tablenav">
-
-    <?php
-    $ngg->manage_page->pagination( 'top', $_GET['paged'], $total_number_of_images, $items_per_page );
-
-    $items_per_page_array = apply_filters('ngg_manage_images_items_per_page_array', array(
-        '25'  => __(' 25', 'nggallery'),
-        '50'  => __(' 50', 'nggallery'),
-        '75'  => __(' 75', 'nggallery'),
-        '100' => __('100', 'nggallery'),
-        '200' => __('200', 'nggallery'),
-        'all' => __('All', 'nggallery')
-    ));
-    ?>
-
-    <select id="ngg-manage-images-items-per-page">
-        <?php foreach ($items_per_page_array as $val => $label) { ?>
-            <?php
-            $selected = '';
-            if(!empty($_GET['items']) && $val == $_GET['items'])
-                $selected = 'selected';
-            elseif (empty($_GET['items']) && $val == $items_per_page)
-                $selected = 'selected';
-            ?>
-            <option value="<?php echo esc_attr($val); ?>" <?php echo $selected; ?>>
-                <?php echo esc_html($label); ?>
-            </option>
-        <?php } ?>
-    </select>
-    <label id="ngg-manage-images-items-per-page-label"
-           for="ngg-manage-images-items-per-page"><?php echo __('Images per page:', 'nggallery'); ?></label>
-
-	<div class="alignleft actions">
-	<select id="bulkaction" name="bulkaction">
-		<option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
-		<option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
-		<option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
-		<option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
-		<option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option>
-		<option value="delete_images" ><?php _e("Delete images",'nggallery'); ?></option>
-		<option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
-		<option value="rotate_cw" ><?php _e("Rotate images clockwise",'nggallery'); ?></option>
-		<option value="rotate_ccw" ><?php _e("Rotate images counter-clockwise",'nggallery'); ?></option>
-		<option value="copy_to" ><?php _e("Copy to...",'nggallery'); ?></option>
-		<option value="move_to"><?php _e("Move to...",'nggallery'); ?></option>
-		<option value="add_tags" ><?php _e("Add tags",'nggallery'); ?></option>
-		<option value="delete_tags" ><?php _e("Delete tags",'nggallery'); ?></option>
-		<option value="overwrite_tags" ><?php _e("Overwrite tags",'nggallery'); ?></option>
-	</select>
-	<input class="button-secondary" type="submit" name="showThickbox" value="<?php _e('Apply', 'nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" />
-
-	<?php if (($ngg->options['galSort'] == "sortorder") && (!$is_search) ) { ?>
-		<input class="button-secondary" type="submit" name="sortGallery" value="<?php _e('Sort gallery', 'nggallery');?>" />
-	<?php } ?>
-
-	<input type="submit" name="updatepictures" class="button-primary action"  value="<?php _e('Save Changes', 'nggallery');?>" />
+	<div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php printf( __('Search results for &#8220;%s&#8221;', 'nggallery'), esc_html( get_search_query() ) ); ?></h3>
 	</div>
-</div>
-<table id="ngg-listimages" class="widefat fixed" cellspacing="0" >
-
-	<thead>
-		<?php $controller->render_image_row_header() ?>
-	</thead>
-	<tfoot>
-		<?php $controller->render_image_row_header() ?>
-	</tfoot>
-	<tbody id="the-list">
-<?php
-if($picturelist) {
 
-	$thumbsize 	= '';
-	$storage = C_Gallery_Storage::get_instance();
-    $gallery_mapper = C_Gallery_Mapper::get_instance();
+	<div class='ngg_page_content_main'>
 
-	if ($ngg->options['thumbfix'])
-		$thumbsize = 'width="' . $ngg->options['thumbwidth'] . '" height="' . $ngg->options['thumbheight'] . '"';
+		<form class="search-form" action="" method="get">
+		<p class="search-box">
+			<label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label>
+			<input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" />
+			<input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
+			<input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button" />
+		</p>
+		</form>
 
-	foreach($picturelist as $picture) {
+		<br style="clear: both;" />
 
-        if (empty($gallery) && $is_search)
-            $gallery = $gallery_mapper->find($picture->galleryid, FALSE);
+		<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&amp;mode=edit&amp;s=' . get_search_query(); ?>" accept-charset="utf-8">
+		
+			<?php wp_nonce_field('ngg_updategallery') ?>
+			<input type="hidden" name="page" value="manage-images" />
 
-		//for search result we need to check the capatibiliy
-		if ( !nggAdmin::can_manage_this_gallery($gallery->author) && $is_search )
-			continue;
+		<!-- form#updategallery continues below end of if statement -->
 
-		$counter++;
-		$picture->imageURL 	= $storage->get_image_url($picture);
-		$picture->thumbURL 	= $storage->get_thumb_url($picture);
-		$picture->imagePath = $storage->get_image_abspath($picture);
-		$picture->thumbPath = $storage->get_thumb_abspath($picture);
-		echo apply_filters('ngg_manage_images_row', $picture, $counter);
-	}
-}
+	<!-- div.ngg_page_content_main continues below end of if statement -->
 
-// In the case you have no capaptibility to see the search result
-if ( $counter == 0 )
-	echo '<tr><td colspan="' . $num_columns . '" align="center"><strong>'.__('No entries found','nggallery').'</strong></td></tr>';
+	<?php else :?>
 
-?>
+	<div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php echo _n( 'Gallery: ', 'Galleries: ', 1, 'nggallery' ); ?> <?php echo esc_html ( M_I18N::translate($gallery->title) ); ?></h3>
+	</div>
+
+	<br style="clear: both;" />
+
+	<div class='ngg_page_content_main'>
+
+		<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&amp;mode=edit&amp;gid=' . $act_gid . '&amp;paged=' . esc_attr($_GET['paged']); ?>" accept-charset="utf-8">
+		
+			<?php wp_nonce_field('ngg_updategallery') ?>
+			<input type="hidden" name="page" value="manage-images" />
+
+			<?php if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) : ?>
+
+				<div id="poststuff" class="meta-box-sortables">
+					<?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
+					<div id="gallerydiv" class="postbox closed <?php echo postbox_classes('gallerydiv', 'ngg-manage-gallery'); ?>" >
+						<div class="handlediv" title="<?php esc_attr_e( 'Click to toggle' ); ?>">
+							<span class="toggle-indicator"></span>
+							<h3>
+								<span>&nbsp;<?php _e('Gallery Settings', 'nggallery'); ?></span>
+							</h3>
+							
+						</div>
+						
+						<div class="inside">
+							<?php $controller->render_gallery_fields(); ?>
+
+							<div class="submit">
+								<?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'); ?>" />
+							</div>
+
+						</div>
+					</div>
+				</div> <!-- poststuff -->
+
+			<?php endif; ?>
+
+		<!-- form#updategallery continues below end of if statement -->
+
+	<!-- div.ngg_page_content_main continues below end of if statement -->
+
+	<?php endif; ?>
+
+	<!-- div.ngg_page_content_main continues here -->
+
+		<!-- form#updategallery continues here -->
+
+			<div class="tablenav top ngg-tablenav">
+
+			    <?php
+			    $ngg->manage_page->pagination( 'top', $_GET['paged'], $total_number_of_images, $items_per_page );
+
+			    $items_per_page_array = apply_filters('ngg_manage_images_items_per_page_array', array(
+			        '25'  => __(' 25', 'nggallery'),
+			        '50'  => __(' 50', 'nggallery'),
+			        '75'  => __(' 75', 'nggallery'),
+			        '100' => __('100', 'nggallery'),
+			        '200' => __('200', 'nggallery'),
+			        'all' => __('All', 'nggallery')
+			    ));
+			    ?>
+
+			    <select id="ngg-manage-images-items-per-page">
+			        <?php foreach ($items_per_page_array as $val => $label) { ?>
+			            <?php
+			            $selected = '';
+			            if(!empty($_GET['items']) && $val == $_GET['items'])
+			                $selected = 'selected';
+			            elseif (empty($_GET['items']) && $val == $items_per_page)
+			                $selected = 'selected';
+			            ?>
+			            <option value="<?php echo esc_attr($val); ?>" <?php echo $selected; ?>>
+			                <?php echo esc_html($label); ?>
+			            </option>
+			        <?php } ?>
+			    </select>
+			    <label id="ngg-manage-images-items-per-page-label"
+			           for="ngg-manage-images-items-per-page"><?php echo __('Images per page:', 'nggallery'); ?></label>
+
+				<div class="alignleft actions">
+				<select id="bulkaction" name="bulkaction">
+					<option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option>
+					<option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option>
+					<option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option>
+					<option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option>
+					<option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option>
+					<option value="delete_images" ><?php _e("Delete images",'nggallery'); ?></option>
+					<option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option>
+					<option value="rotate_cw" ><?php _e("Rotate images clockwise",'nggallery'); ?></option>
+					<option value="rotate_ccw" ><?php _e("Rotate images counter-clockwise",'nggallery'); ?></option>
+					<option value="copy_to" ><?php _e("Copy to...",'nggallery'); ?></option>
+					<option value="move_to"><?php _e("Move to...",'nggallery'); ?></option>
+					<option value="add_tags" ><?php _e("Add tags",'nggallery'); ?></option>
+					<option value="delete_tags" ><?php _e("Delete tags",'nggallery'); ?></option>
+					<option value="overwrite_tags" ><?php _e("Overwrite tags",'nggallery'); ?></option>
+				</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) ) { ?>
+					<input class="button-primary" type="submit" name="sortGallery" value="<?php _e('Sort gallery', 'nggallery');?>" />
+				<?php } ?>
+
+				<input type="submit" name="updatepictures" class="button-primary action"  value="<?php _e('Save Changes', 'nggallery');?>" />
+				</div>
+			</div>
+
+			<table id="ngg-listimages" class="widefat fixed" cellspacing="0" >
+
+				<thead>
+					<?php $controller->render_image_row_header() ?>
+				</thead>
+
+				<tfoot>
+					<?php $controller->render_image_row_header() ?>
+				</tfoot>
+
+				<tbody id="the-list">
+
+					<?php
+					if($picturelist) {
+
+						$thumbsize 	= '';
+						$storage = C_Gallery_Storage::get_instance();
+					    $gallery_mapper = C_Gallery_Mapper::get_instance();
+
+						if ($ngg->options['thumbfix'])
+							$thumbsize = 'width="' . $ngg->options['thumbwidth'] . '" height="' . $ngg->options['thumbheight'] . '"';
+
+						foreach($picturelist as $picture) {
+
+					        if (empty($gallery) && $is_search)
+					            $gallery = $gallery_mapper->find($picture->galleryid, FALSE);
+
+							//for search result we need to check the capatibiliy
+							if ( !nggAdmin::can_manage_this_gallery($gallery->author) && $is_search )
+								continue;
+
+							$counter++;
+							$picture->imageURL 	= $storage->get_image_url($picture);
+							$picture->thumbURL 	= $storage->get_thumb_url($picture);
+							$picture->imagePath = $storage->get_image_abspath($picture);
+							$picture->thumbPath = $storage->get_thumb_abspath($picture);
+							echo apply_filters('ngg_manage_images_row', $picture, $counter);
+						}
+					}	
+
+					// In the case you have no capaptibility to see the search result
+					if ( $counter == 0 )
+						echo '<tr><td colspan="' . $num_columns . '" align="center"><strong>'.__('No entries found','nggallery').'</strong></td></tr>';
+
+					?>
+
+				</tbody>
+			</table>
+
+		    <div class="tablenav bottom">
+			    <input type="submit" class="button-primary action" name="updatepictures" value="<?php _e('Save Changes', 'nggallery'); ?>" />
+			    <?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $total_number_of_images, $items_per_page  ); ?>
+		    </div>
+
+		</form> <!-- /form#updategallery  -->
+	
+		<br class="clear"/>
+
+	</div><!-- /div.ngg_page_content_main -->
 
-		</tbody>
-	</table>
-    <div class="tablenav bottom">
-    <input type="submit" class="button-primary action" name="updatepictures" value="<?php _e('Save Changes', 'nggallery'); ?>" />
-    <?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $total_number_of_images, $items_per_page  ); ?>
-    </div>
-	</form>
-	<br class="clear"/>
 	</div><!-- /#wrap -->
 
 	<!-- #entertags -->
@@ -477,11 +523,11 @@ if ( $counter == 0 )
 		  	<tr>
 		    	<th><?php _e("Enter the tags",'nggallery'); ?> : <input name="taglist" type="text" style="width:90%" value="" /></th>
 		  	</tr>
-		  	<tr align="right">
+		  	<tr>
 		    	<td class="submit">
 		    		<input class="button-primary" type="submit" name="TB_EditTags" value="<?php _e("OK",'nggallery'); ?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e("Cancel",'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e("Cancel",'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
@@ -513,11 +559,11 @@ if ( $counter == 0 )
 		    		</select>
 		    	</th>
 		  	</tr>
-		  	<tr align="right">
+		  	<tr>
 		    	<td class="submit">
 		    		<input type="submit" class="button-primary" name="TB_SelectGallery" value="<?php _e("OK",'nggallery'); ?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="<?php _e("Cancel",'nggallery'); ?>" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="<?php _e("Cancel",'nggallery'); ?>" />
 		    	</td>
 			</tr>
 		</table>
@@ -542,11 +588,11 @@ if ( $counter == 0 )
 					<br /><small><?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></small>
 				</td>
 			</tr>
-		  	<tr align="right">
+		  	<tr>
 		    	<td colspan="2" class="submit">
 		    		<input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
@@ -573,11 +619,11 @@ if ( $counter == 0 )
 				<td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg->options['thumbfix']); ?> />
 				<br /><small><?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></small></td>
 			</tr>
-		  	<tr align="right">
+		  	<tr>
 		    	<td colspan="2" class="submit">
 		    		<input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" />
 		    		&nbsp;
-		    		<input class="button-secondary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
+		    		<input class="button-primary dialog-cancel" type="reset" value="&nbsp;<?php _e('Cancel', 'nggallery'); ?>&nbsp;" />
 		    	</td>
 			</tr>
 		</table>
@@ -660,4 +706,4 @@ class _NGG_Images_List_Table extends WP_List_Table {
 	{
 
 	}
-}
+}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php
index 5bf51a2449b80f819585e6ff92702ecbd91dfa77..a8886088a1235c6dffd79afe1441f7f8cb8188b4 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php
@@ -8,6 +8,8 @@
 function nggallery_sortorder($galleryID = 0){
 	global $wpdb, $ngg, $nggdb;
 
+	$action_status = array('message' => '', 'status' => 'ok');
+
 	if ($galleryID == 0) return;
 
 	$galleryID = (int) $galleryID;
@@ -77,7 +79,7 @@ function nggallery_sortorder($galleryID = 0){
 			// Listen for events in other frames
 			if (window.Frame_Event_Publisher) {
 				Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:manage_images', function(){
-					window.location.href = window.location.href;
+					window.location.href = window.location.href.toString();
 				});
 			}
 
@@ -86,45 +88,61 @@ function nggallery_sortorder($galleryID = 0){
 
 
 	</script>
-	<div class="wrap">
-		<form id="sortGallery" method="POST" action="<?php echo $clean_url ?>" accept-charset="utf-8">
-			<h2><?php _e('Sort Gallery', 'nggallery') ?></h2>
-			<div class="tablenav">
-				<div class="alignleft actions">
-					<?php wp_nonce_field('ngg_updatesortorder') ?>
-					<input class="button-primary action" type="submit" name="updateSortorder" value="<?php _e('Update Sort Order', 'nggallery') ?>" />
-				</div>
-				<div class="alignright actions">
-					<a href="<?php echo nextgen_esc_url( $back_url ); ?>" class="button"><?php _e('Back to gallery', 'nggallery'); ?></a>
-				</div>
-			</div>
-			<input name="sortorder" type="hidden" />
-			<ul class="subsubsub">
-				<li><?php _e('Presort', 'nggallery') ?> :</li>
-				<li><a href="<?php echo esc_attr(remove_query_arg('presort', $base_url)); ?>" <?php if ($presort == '') echo 'class="current"'; ?>><?php _e('Unsorted', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('presort', 'pid', $base_url)); ?>" <?php if ($presort == 'pid') echo 'class="current"'; ?>><?php _e('Image ID', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('presort', 'filename', $base_url)); ?>" <?php if ($presort == 'filename') echo 'class="current"'; ?>><?php _e('Filename', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('presort', 'alttext', $base_url)); ?>" <?php if ($presort == 'alttext') echo 'class="current"'; ?>><?php _e('Alt/Title text', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('presort', 'imagedate', $base_url)); ?>" <?php if ($presort == 'imagedate') echo 'class="current"'; ?>><?php _e('Date/Time', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('dir', 'ASC', $base_url)); ?>" <?php if ($dir == 'ASC') echo 'class="current"'; ?>><?php _e('Ascending', 'nggallery') ?></a> |</li>
-				<li><a href="<?php echo esc_attr(add_query_arg('dir', 'DESC', $base_url)); ?>" <?php if ($dir == 'DESC') echo 'class="current"'; ?>><?php _e('Descending', 'nggallery') ?></a></li>
-			</ul>
-		</form>
-		<div id="debug" style="clear:both"></div>
-		<div class='jqui-sortable'>
-			<?php
-			if($picturelist) {
-				foreach($picturelist as $picture) {
-					?>
-					<div class="imageBox" id="pid-<?php echo $picture->pid ?>">
-						<div class="imageBox_theImage" style="background-image:url('<?php echo nextgen_esc_url( $picture->thumbURL ); ?>')"></div>
-						<div class="imageBox_label"><span><?php echo esc_html( stripslashes($picture->alttext) ); ?></span></div>
+
+	<?php if ($action_status['message']!='') : ?>
+		<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+			<p><strong><?php echo $action_status['message']; ?></strong></p>
+		</div>
+	<?php endif; ?>
+
+	<div class="wrap ngg_gallery_sort">
+
+		<div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php _e('Sort Gallery', 'nggallery') ?></h3>
+		</div>
+
+		<div class='ngg_page_content_main'>
+
+			<form id="sortGallery" method="POST" action="<?php echo $clean_url ?>" accept-charset="utf-8">
+				
+				<div class="tablenav">
+					<div class="alignleft actions">
+						<?php wp_nonce_field('ngg_updatesortorder') ?>
+						<input class="button-primary action" type="submit" name="updateSortorder" value="<?php _e('Update Sort Order', 'nggallery') ?>" />
 					</div>
-					<?php
+					<div class="alignright actions">
+						<a href="<?php echo nextgen_esc_url( $back_url ); ?>" class="button-primary"><?php _e('Back to gallery', 'nggallery'); ?></a>
+					</div>
+				</div>
+				<input name="sortorder" type="hidden" />
+				<ul class="subsubsub">
+					<li><?php _e('Presort', 'nggallery') ?> :</li>
+					<li><a href="<?php echo esc_attr(remove_query_arg('presort', $base_url)); ?>" <?php if ($presort == '') echo 'class="current"'; ?>><?php _e('Unsorted', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('presort', 'pid', $base_url)); ?>" <?php if ($presort == 'pid') echo 'class="current"'; ?>><?php _e('Image ID', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('presort', 'filename', $base_url)); ?>" <?php if ($presort == 'filename') echo 'class="current"'; ?>><?php _e('Filename', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('presort', 'alttext', $base_url)); ?>" <?php if ($presort == 'alttext') echo 'class="current"'; ?>><?php _e('Alt/Title text', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('presort', 'imagedate', $base_url)); ?>" <?php if ($presort == 'imagedate') echo 'class="current"'; ?>><?php _e('Date/Time', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('dir', 'ASC', $base_url)); ?>" <?php if ($dir == 'ASC') echo 'class="current"'; ?>><?php _e('Ascending', 'nggallery') ?></a> |</li>
+					<li><a href="<?php echo esc_attr(add_query_arg('dir', 'DESC', $base_url)); ?>" <?php if ($dir == 'DESC') echo 'class="current"'; ?>><?php _e('Descending', 'nggallery') ?></a></li>
+				</ul>
+			</form>
+			<div id="debug" style="clear:both"></div>
+			<div class='jqui-sortable'>
+				<?php
+				if($picturelist) {
+					foreach($picturelist as $picture) {
+						?>
+						<div class="imageBox" id="pid-<?php echo $picture->pid ?>">
+							<div class="imageBox_theImage" style="background-image:url('<?php echo nextgen_esc_url( $picture->thumbURL ); ?>')"></div>
+							<div class="imageBox_label"><span><?php echo esc_html( stripslashes($picture->alttext) ); ?></span></div>
+						</div>
+						<?php
+					}
 				}
-			}
-			?>
+				?>
+			</div>
+
 		</div>
+
 	</div>
 
 <?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 6f173869621264b0774cd89f81f9739fe84d46f2..cc40ae4c8b899b6a8b891db25a8f07a2d2f006b1 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
@@ -17,7 +17,7 @@ class nggManageGallery {
 		// GET variables
 		if( isset($_GET['gid']) ) {
 			$this->gid  = (int) $_GET['gid'];
-			$this->gallery = C_Gallery_Mapper::get_instance()->find($this->gid);
+			$this->gallery = C_Gallery_Mapper::get_instance()->find($this->gid, TRUE);
 		}
 		if( isset($_GET['pid']) )
 			$this->pid  = (int) $_GET['pid'];
@@ -194,7 +194,7 @@ class nggManageGallery {
 
 		$output = array();
 
-		$output[] = "<a href='{$image_url}' class='shutter' title='{$filename}'>";
+		$output[] = "<a href='{$image_url}' class='thickbox' title='{$filename}'>";
 		$output[] = "<img class='thumb' src='{$thumb_url}' id='thumb{$picture->pid}'/>";
 		$output[] = "</a>";
 
@@ -302,7 +302,7 @@ class nggManageGallery {
 		$alt_text	= empty($picture->alttext) ? $picture->filename: $picture->alttext;
 		$title		= esc_attr(__('View', 'nggallery'). " \"{$alt_text}\"");
 
-		return "<a href='{$image_url}' class='shutter' title='{$title}'>{$label}</a>";
+		return "<a href='{$image_url}' class='thickbox' title='{$title}'>{$label}</a>";
 	}
 
 	function render_meta_action_link($id, $picture)
@@ -351,6 +351,7 @@ class nggManageGallery {
 		$title		= esc_attr__('Recover image from backup', 'nggallery');
 		$label		= esc_html__('Recover', 'nggallery');
 		$alttext	= empty($picture->alttext) ? $picture->filename : $picture->alttext;
+		$alttext    = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
 		$confirm	= addslashes(__("Recover", 'nggallery'). " \"{$alttext}\"?");
 		$onclick	= "javascript:if(!confirm(\"{$confirm}\")) return false";
 
@@ -363,6 +364,7 @@ class nggManageGallery {
 		$title		= esc_attr__('Delete image', 'nggallery');
 		$label		= esc_html__('Delete', 'nggallery');
 		$alttext	= empty($picture->alttext) ? $picture->filename : $picture->alttext;
+		$alttext    = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
 		$confirm	= addslashes(__("Delete", 'nggallery'). " \"{$alttext}\"?");
 		$onclick	= "javascript:if(!confirm(\"{$confirm}\")) return false;";
 
@@ -592,6 +594,9 @@ class nggManageGallery {
 								nggGallery::show_message(sprintf(__('One or more "../" in Gallery paths could be unsafe and NextGen Gallery will not delete gallery %s automatically', 'nggallery'), $gallery->{$gallery->id_field}));
 							}
 							else {
+								/**
+								 * @var $mapper Mixin_Gallery_Mapper
+								 */
 								if ($mapper->destroy($id, TRUE))
 									$deleted = TRUE;
 							}
@@ -795,6 +800,8 @@ class nggManageGallery {
 
 		if (isset ($_POST['updatepictures']) )  {
 		// Update pictures
+			$success = FALSE;
+
 
 			check_admin_referer('ngg_updategallery');
 
@@ -810,29 +817,42 @@ class nggManageGallery {
 					$html = strip_tags($html, implode('', $tags));
 					$_POST[$field] = $html;
 				}
+
+				$mapper = C_Gallery_Mapper::get_instance();
 				
 				// Update the gallery
-				$mapper = C_Gallery_Mapper::get_instance();
-				if ($entity = $mapper->find($this->gid)) {
-					foreach ($_POST as $key => $value) {
-						$entity->$key = $value;
-					}
-					$mapper->save($entity);
+				if (!$this->gallery) {
+					$this->gallery = $mapper->find($this->gid, TRUE);
 				}
 
-				if ($entity->path == '../' || FALSE !== strpos($entity->path, '/../'))
-					nggGallery::show_message(sprintf(__('One or more "../" in Gallery paths could be unsafe and NextGen Gallery will not delete this gallery automatically', 'nggallery'), $entity->{$entity->id_field}));
+				if ($this->gallery) {
+					foreach ($_POST as $key => $value) {
+						$this->gallery->$key = $value;
+					}
+					$mapper->save($this->gallery);
 
-                wp_cache_delete($this->gid, 'ngg_gallery');
+					if ($this->gallery->is_invalid()) {
+						foreach ($this->gallery->get_errors() as $property => $errors) {
+							foreach ($errors as $error) {
+								nggGallery::show_error($error);
+							}
+						}
+					}
 
+					wp_cache_delete($this->gid, 'ngg_gallery');
+					$success = $this->gallery->is_valid();
+				}
 			}
 
-			$this->update_pictures();
 
-			//hook for other plugin to update the fields
-			do_action('ngg_update_gallery', $this->gid, $_POST);
+			if ($success) {
+				$this->update_pictures();
+
+				//hook for other plugin to update the fields
+				do_action('ngg_update_gallery', $this->gid, $_POST);
 
-			nggGallery::show_message(__('Updated successfully', 'nggallery'));
+				nggGallery::show_message(__('Updated successfully', 'nggallery'));
+			}
 		}
 
 		if (isset ($_POST['scanfolder']))  {
@@ -1117,6 +1137,7 @@ class nggManageGallery {
 		$pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
 
 		echo $pagination;
+		return $pagination;
 	}
 
 }
\ No newline at end of file
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 1aa577575e374e29eff710df0b9cafd496182212..3aaa9155dbb82e72abee69044c7d1f5b885c1276 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
@@ -152,249 +152,264 @@ class C_NGG_Admin_Overview
  * nggallery_admin_overview()
  *
  * Add the admin overview the dashboard style
- * @return mixed content
+ * @return NULL
  */
 function nggallery_admin_overview()
 {
     $NGG_Admin_Overview = new C_NGG_Admin_Overview();
 
     global $wpdb;
+    
+    $action_status = array('message' => '', 'status' => 'ok');
+
     $images    = intval($wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures"));
     $galleries = intval($wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery"));
     $albums    = intval($wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum"));
 
     ?>
 
-    <div class="wrap about-wrap">
-        <h1><?php _e( 'Welcome to NextGEN Gallery', 'nggallery' ); ?></h1>
-
-        <div class="about-text"><?php printf( __( "Congrats! You're now running the most popular WordPress gallery plugin of all time. So far you've added %s images, %s galleries, and %s albums." ), $images, $galleries, $albums); ?></div>
-        <div class="about-text" id="ngg-gallery-wizard"><?php echo __("Need help setting up a gallery? Launch the ", 'nggallery') . ' <a data-ngg-wizard="nextgen.beginner.gallery_creation_igw" class="ngg-wizard-invoker" href="' . esc_url(add_query_arg('ngg_wizard', 'nextgen.beginner.gallery_creation_igw')) . '">' . __('Gallery Wizard.', 'nggallery') . '</a>'; ?></div>
-        <div class="wp-badge"></div>
-
-        <h2 class="nav-tab-wrapper wp-clearfix" id="ngg-tabs-wrapper">
-            <a href="#top#welcome" class="nav-tab nav-tab-active" id="welcome-link"><?php _e( 'Welcome', 'nggallery' ); ?></a>
-            <a href="#top#videos" class="nav-tab" id="videos-link"><?php _e( 'More Videos' ); ?></a>
-            <a href="#top#pro" class="nav-tab" id="pro-link"><?php _e( 'NextGEN Pro' ); ?></a>
-            <a href="#top#genesis" class="nav-tab" id="genesis-link"><?php _e( 'Genesis Themes' ); ?></a>
-            <?php if (!is_multisite() || is_super_admin()) { ?>
-                <a href="#top#details" class="nav-tab" id="details-link"><?php _e( 'Site Details' ); ?></a>
-            <?php } ?>
-            <a href="#top#freedoms" class="nav-tab" id="freedoms-link"><?php _e( 'Freedoms' ); ?></a>
-        </h2>
-
-        <div id="welcome" class="ngg-tab">
-
-            <div class="headline-feature feature-video">
-                <iframe width="1050" height="590" src="https://www.youtube.com/embed/qwNr5ZNGavo?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
-            </div>
-
-            <hr>
-
-            <div class="feature-section three-col">
-                <h2><?php _e( 'Meet the Imagely Product Ambassadors', 'nggallery' ); ?></h2>
-                <p class="about-text centered"><?php _e( "NextGEN Gallery and other Imagely products are used by some of the best photographers in the world. Meet some of the Imagely Ambassadors who are putting Imagely and NextGEN Gallery to work professionally.", 'nggallery' ); ?>
-                </p>
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/the-youngrens/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/theyoungrens-ngg.jpg" alt="The Youngrens"/></a>
-                    <h3><?php _e( 'The Youngrens' ); ?></h3>
-                    <p><?php _e( 'Jeff and Erin are a luxury husband and wife photography team who deeply love each other and their photography clients. They shoot weddings and engagements all over the U.S. and beyond. With three photography businesses that serve different clientele, they have unique insights into business strategies and are passionate about improving the day to day lives of other photographers.', 'nggallery' ); ?></p>
-                </div>
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/tamara-lackey/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/TamaraLackey-ngg.jpg" alt="Tamara Lackey" /></a>
-                    <h3><?php _e( 'Tamara Lackey' ); ?></h3>
-                    <p><?php _e( 'Tamara Lackey is a renowned professional photographer, speaker, and author. Her authentic lifestyle photography, from children’s portraits to celebrity portraits, is praised within her industry and published internationally. She is a Nikon USA Ambassador, the host of The reDefine Show web series, and the co-founder of the non-profit charitable organization, Beautiful Together, in support of children waiting for families.', 'nggallery' ); ?></p>
-                </div>
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/colby-brown/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/colby-brown-ngg.jpg" alt="Colby Brown" /></a>
-                    <h3><?php _e( 'Colby Brown' ); ?></h3>
-                    <p><?php _e( 'Colby is a photographer, photo educator, and author specializing in landscape, travel and humanitarian photography. With an audience reaching millions, Colby partners on social influencer marketing campaigns with some of the biggest companies and destinations in the world, including Sony, Samsung, Toshiba, Iceland Naturally, Jordan Tourism Board, Australia.com, Visit California and more.', 'nggallery' ); ?></p>
-                </div>
-            </div>
-
-            <div class="feature-section three-col">
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/jared-platt/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/jared-platt-ngg.jpg" alt="Jared Platt" /></a>
-                    <h3><?php _e( 'Jared Platt' ); ?></h3>
-                    <p><?php _e( 'Jared is a professional wedding and lifestyle photographer. He also travels the world giving lectures and workshops on photography, lighting, and post-production efficiency and workflow. His interactive style, and attention to detail and craft make him an entertaining and demanding photography instructor.', 'nggallery' ); ?></p>
-                </div>
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/brian-matiash/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/brian-matiash-ngg.jpeg" alt="" /></a>
-                    <h3><?php _e( 'Brian Matiash' ); ?></h3>
-                    <p><?php _e( 'Brian is a professional photographer, author, and educator. He fuses landscape & travel photography with experiential storytelling and practical instructing to help others grow creatively. He is also a Sony Artisan of Imagery, a Zeiss Lens Ambassador, a Formatt-Hitech Featured Photographer, and a member of G-Technology’s G-Team.', 'nggallery' ); ?></p>
-                </div>
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/christine-tremoulet/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/Christine-Tremoulet-ngg.jpg" alt="" /></a>
-                    <h3><?php _e( 'Christine Tremoulet' ); ?></h3>
-                    <p><?php _e( 'Christine famously coined the term WordPress. She is an author, speaker, business coach, and story strategist who specializes in helping creatives celebrate their story online through blogging and social media. When not offering actionable know-how to businesses, she can be found taking long road trips across North America in her Mini Cooper.', 'nggallery' ); ?></p>
-                </div>
-            </div>
-
-            <div class="feature-section three-col">
-                <div class="col">
-                    <a href="https://www.imagely.com/team-member/david-beckstead/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/david-beckstead-ngg.jpg" alt="David Beckstead" /></a>
-                    <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>
+    <?php if ($action_status['message']!='') : ?>
+        <div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+            <p><strong><?php echo $action_status['message']; ?></strong></p>
+        </div>
+    <?php endif; ?>
 
+    <div class="wrap about-wrap ngg_overview">
 
+        <div class="ngg_page_content_header">
+            <img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php echo _e( 'Welcome to NextGEN Gallery', 'nggallery' ); ?></h3>
         </div>
 
-        <div id="videos" class="ngg-tab">
+        <div class="about-text" id="ngg-gallery-wizard"><span><?php echo __("Need help getting started? ", 'nggallery')?></span><?php echo ' <a data-ngg-wizard="nextgen.beginner.gallery_creation_igw" class="ngg-wizard-invoker button-primary" href="' . esc_url(add_query_arg('ngg_wizard', 'nextgen.beginner.gallery_creation_igw')) . '">' . __('Launch Gallery Wizard', 'nggallery') . '</a>'; ?>
+        </div>
 
-            <p class="about-text centered"><?php printf( __( 'We have a growing list of video tutorials to get you started. Watch some below or head over to <a href="%s" target="_blank">NextGEN Gallery University on YouTube</a> to see all available vidoes.', 'nggallery' ), esc_url( 'https://www.youtube.com/playlist?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM' ) ); ?>
-            </p>
+        <div class='ngg_page_content_menu'>
+            <a href="javascript:void(0)" data-id="welcome-link"><?php _e( 'Welcome', 'nggallery' ); ?></a>
+            <a href="javascript:void(0)" data-id="videos-link" style="display:none;"><?php _e( 'More Videos' ); ?></a>
+            <a href="javascript:void(0)" data-id="pro-link"><?php _e( 'Upgrade to Pro' ); ?></a>
+            <a href="javascript:void(0)" data-id="genesis-link"><?php _e( 'Genesis Themes' ); ?></a>
+            <?php if (!is_multisite() || is_super_admin()) { ?>
+                 <a href="javascript:void(0)" data-id="details-link"><?php _e( 'Site Details' ); ?></a>
+            <?php } ?>
+            <a href="javascript:void(0)" data-id="freedoms-link"><?php _e( 'Freedoms' ); ?></a>
+        </div>
 
-            <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>
-            </div>
+        <div class='ngg_page_content_main'>
 
-            <hr>
+            <div data-id="welcome-link">
 
-            <div class="feature-section two-col">
-                <h2><?php _e( 'More Video Tutorials' ); ?></h2>
-                <div class="col">
-                    <div class="headline-feature feature-video">
-                        <iframe width="1280" height="720" src="https://www.youtube.com/embed/h_HrKpkI90w?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
-                    </div>
+                <div class="about-text"><strong><?php printf( __( "Congrats! You're now running the most popular WordPress gallery plugin of all time.")) ?></strong><br><?php printf( __( " So far you've added %s images, %s galleries, and %s albums." ), $images, $galleries, $albums); ?>
                 </div>
-                <div class="col">
-                    <div class="headline-feature feature-video">
-                        <iframe width="1280" height="720" src="https://www.youtube.com/embed/58u9AjMJqJM?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
-                    </div>
-                </div>
-            </div>
 
-            <div class="feature-section two-col">
-                <div class="col">
-                    <div class="headline-feature feature-video">
-                        <iframe width="1280" height="720" src="https://www.youtube.com/embed/OfxWM59fb_Y?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
-                    </div>
-                </div>
-                <div class="col">
-                    <div class="headline-feature feature-video">
-                        <iframe width="1280" height="720" src="https://www.youtube.com/embed/BiFjDYIaZZw?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
-                    </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>
                 </div>
-            </div>
 
-            <p class="about-text centered"><?php printf( __( 'Want more? Head over to <a href="%s" target="_blank">NextGEN Gallery University on YouTube</a>.', 'nggallery' ), esc_url( 'https://www.youtube.com/playlist?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM' ) ); ?>
-            </p>
+                <hr>
 
-        </div>
-        
-        <div id="pro" class="ngg-tab">
-
-            <h2><?php _e( 'Upgrade to NextGEN Pro!' ); ?></h2>
-            <p class="about-text centered"><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 centered"><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"><?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>
-            </div>
-
-
-        </div>
-
-        <div id="genesis" class="ngg-tab">
-
-            <h2><?php _e( 'Genesis Child Themes for Photographers' ); ?></h2>
-            <p class="about-text centered"><?php _e( 'Meet the new series of Genesis child themes by Imagely: gorgeous, responsive image-centric themes for photographers or anyone with visually rich websites.', 'nggallery' ); ?></p>
-            <h3 class="about-text centered"><?php _e( 'CLICK TO LEARN MORE:', 'nggallery' ); ?></h3>
-            <div class="feature-section two-col">
-                    <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/ansel/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/ansel-ngg.jpg" class="ngg-theme-image"></a>
-                    </div>
+                <div class="feature-section three-col">
+                    <h2><?php _e( 'Meet the Imagely Product Ambassadors', 'nggallery' ); ?></h2>
+                    <p class="about-text"><?php _e( "NextGEN Gallery and other Imagely products are used by some of the best photographers in the world. Meet some of the Imagely Ambassadors who are putting Imagely and NextGEN Gallery to work professionally.", 'nggallery' ); ?>
+                    </p>
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/fearless/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/fearless-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/the-youngrens/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/theyoungrens-ngg.jpg" alt="The Youngrens"/></a>
+                        <h3><?php _e( 'The Youngrens' ); ?></h3>
+                        <p><?php _e( 'Jeff and Erin are a luxury husband and wife photography team who deeply love each other and their photography clients. They shoot weddings and engagements all over the U.S. and beyond. With three photography businesses that serve different clientele, they have unique insights into business strategies and are passionate about improving the day to day lives of other photographers.', 'nggallery' ); ?></p>
                     </div>
-            </div>
-            <div class="feature-section two-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/blush/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/blush-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/tamara-lackey/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/TamaraLackey-ngg.jpg" alt="Tamara Lackey" /></a>
+                        <h3><?php _e( 'Tamara Lackey' ); ?></h3>
+                        <p><?php _e( 'Tamara Lackey is a renowned professional photographer, speaker, and author. Her authentic lifestyle photography, from children’s portraits to celebrity portraits, is praised within her industry and published internationally. She is a Nikon USA Ambassador, the host of The reDefine Show web series, and the co-founder of the non-profit charitable organization, Beautiful Together, in support of children waiting for families.', 'nggallery' ); ?></p>
                     </div>
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/free-spirit/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/free-spirit-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/colby-brown/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/colby-brown-ngg.jpg" alt="Colby Brown" /></a>
+                        <h3><?php _e( 'Colby Brown' ); ?></h3>
+                        <p><?php _e( 'Colby is a photographer, photo educator, and author specializing in landscape, travel and humanitarian photography. With an audience reaching millions, Colby partners on social influencer marketing campaigns with some of the biggest companies and destinations in the world, including Sony, Samsung, Toshiba, Iceland Naturally, Jordan Tourism Board, Australia.com, Visit California and more.', 'nggallery' ); ?></p>
                     </div>
-            </div>
-            <div class="feature-section two-col">
+                </div>
+
+                <div class="feature-section three-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/reportage/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/reportage-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/jared-platt/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/jared-platt-ngg.jpg" alt="Jared Platt" /></a>
+                        <h3><?php _e( 'Jared Platt' ); ?></h3>
+                        <p><?php _e( 'Jared is a professional wedding and lifestyle photographer. He also travels the world giving lectures and workshops on photography, lighting, and post-production efficiency and workflow. His interactive style, and attention to detail and craft make him an entertaining and demanding photography instructor.', 'nggallery' ); ?></p>
                     </div>
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/lightly/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/lightly-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/brian-matiash/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/brian-matiash-ngg.jpeg" alt="" /></a>
+                        <h3><?php _e( 'Brian Matiash' ); ?></h3>
+                        <p><?php _e( 'Brian is a professional photographer, author, and educator. He fuses landscape & travel photography with experiential storytelling and practical instructing to help others grow creatively. He is also a Sony Artisan of Imagery, a Zeiss Lens Ambassador, a Formatt-Hitech Featured Photographer, and a member of G-Technology’s G-Team.', 'nggallery' ); ?></p>
                     </div>
-            </div>
-            <div class="feature-section two-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/rebel/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/rebel-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/christine-tremoulet/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/Christine-Tremoulet-ngg.jpg" alt="" /></a>
+                        <h3><?php _e( 'Christine Tremoulet' ); ?></h3>
+                        <p><?php _e( 'Christine famously coined the term WordPress. She is an author, speaker, business coach, and story strategist who specializes in helping creatives celebrate their story online through blogging and social media. When not offering actionable know-how to businesses, she can be found taking long road trips across North America in her Mini Cooper.', 'nggallery' ); ?></p>
                     </div>
+                </div>
+
+                <div class="feature-section three-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/summerly/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/summerly-ngg.jpg" class="ngg-theme-image"></a>
+                        <a href="https://www.imagely.com/team-member/david-beckstead/?utm_source=ngg&utm_medium=ngguser&utm_campaign=ambassador" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/david-beckstead-ngg.jpg" alt="David Beckstead" /></a>
+                        <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>
+
+
             </div>
-            <div class="feature-section two-col">
+
+            <div data-id="videos-link" style="display:none;">
+
+                <p class="about-text"><?php printf( __( 'We have a growing list of video tutorials to get you started. Watch some below or head over to <a href="%s" target="_blank">NextGEN Gallery University on YouTube</a> to see all available vidoes.', 'nggallery' ), esc_url( 'https://www.youtube.com/playlist?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM' ) ); ?>
+                </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>
+                </div>
+
+                <div class="feature-section two-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/expedition/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/expedition-ngg.jpg" class="ngg-theme-image"></a>
+                        <div class="headline-feature feature-video">
+                            <iframe width="1280" height="720" src="https://www.youtube.com/embed/h_HrKpkI90w?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
+                        </div>
                     </div>
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/punk-bride/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/punk-bride-ngg.jpg" class="ngg-theme-image"></a>
+                        <div class="headline-feature feature-video">
+                            <iframe width="1280" height="720" src="https://www.youtube.com/embed/58u9AjMJqJM?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
+                        </div>
                     </div>
-            </div>
-            <div class="feature-section two-col">
+                </div>
+
+                <div class="feature-section two-col">
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/journal/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/journal-ngg.jpg" class="ngg-theme-image"></a>
+                        <div class="headline-feature feature-video">
+                            <iframe width="1280" height="720" src="https://www.youtube.com/embed/OfxWM59fb_Y?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
+                        </div>
                     </div>
                     <div class="col">
-                        <a href="https://www.imagely.com/wordpress-photography-themes/simplicity/" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/simplicity-ngg.jpg" class="ngg-theme-image"></a>
+                        <div class="headline-feature feature-video">
+                            <iframe width="1280" height="720" src="https://www.youtube.com/embed/BiFjDYIaZZw?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM" frameborder="0" allowfullscreen></iframe>
+                        </div>
                     </div>
-            </div>
-            
-        </div>
+                </div>
 
-        <?php if (!is_multisite() || is_super_admin()) { ?>
-            <div id="details" class="ngg-tab">
-                <h2><?php _e( 'Site Details' ); ?></h2>
-                <p class="about-text centered"><?php _e( 'When contacting support, consider copying and pasting this information in your support request. It helps us troubleshoot more quickly.', 'nggallery' ); ?>
+                <p class="about-text"><?php printf( __( 'Want more? Head over to <a href="%s" target="_blank">NextGEN Gallery University on YouTube</a>.', 'nggallery' ), esc_url( 'https://www.youtube.com/playlist?list=PL9cmsdHslD0vIcJjBggJ-XMjtwvqrRgoM' ) ); ?>
                 </p>
-                <div class="two-col">
-                    <div class="col">
-                        <?php if (is_multisite()) $NGG_Admin_Overview->dashboard_quota(); ?>
-                    </div>
-                    <div class="col">
-                        <p><strong><?php print __('Server Settings', 'nggallery'); ?></strong></p>
-                        <ul>
-                            <?php $NGG_Admin_Overview->server_info(); ?>
-                        </ul>
-                    </div>
+
+            </div>
+
+            <div data-id="pro-link">
+
+                <h2><?php _e( 'Upgrade to NextGEN Pro!' ); ?></h2>
+                <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>
                 </div>
-                <div class="two-col">
-                    <div class="col">
+
+            </div>
+
+            <div data-id="genesis-link">
+
+                <h2><?php _e( 'Genesis Child Themes for Photographers' ); ?></h2>
+                <p class="about-text"><?php _e( 'Meet the new series of Genesis child themes by Imagely: gorgeous, responsive image-centric themes for photographers or anyone with visually rich websites.', 'nggallery' ); ?></p>
+                <h3 class="about-text"><?php _e( 'CLICK TO LEARN MORE:', 'nggallery' ); ?></h3>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/ansel/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/ansel-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/fearless/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/fearless-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/blush/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/blush-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/free-spirit/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/free-spirit-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/reportage/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/reportage-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/lightly/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/lightly-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/rebel/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/rebel-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/summerly/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/summerly-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/expedition/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/expedition-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/punk-bride/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/punk-bride-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                <div class="feature-section two-col">
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/journal/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/journal-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                        <div class="col">
+                            <a href="https://www.imagely.com/wordpress-photography-themes/simplicity/?utm_source=ngg&utm_medium=ngguser&utm_campaign=imagelytheme" target="_blank"><img src="https://f001.backblaze.com/file/nextgen-gallery/simplicity-ngg.jpg" class="ngg-theme-image"></a>
+                        </div>
+                </div>
+                
+            </div>
+
+            <?php if (!is_multisite() || is_super_admin()) { ?>
+                <div data-id="details-link">
+                    <h2><?php _e( 'Site Details' ); ?></h2>
+                    <p class="about-text"><?php _e( 'When contacting support, consider copying and pasting this information in your support request. It helps us troubleshoot more quickly.', 'nggallery' ); ?>
+                    </p>
+                    <div class="two-col">
+                        <div class="col">
+                            <p><strong><?php print __('Server Settings', 'nggallery'); ?></strong></p>
+                            <ul>
+                                <?php $NGG_Admin_Overview->server_info(); ?>
+                            </ul>
+                        </div>
+                        <div class="col">
                             <p><strong><?php print __('Graphic Library', 'nggallery'); ?></strong></p>
                             <ul>
                                 <?php $NGG_Admin_Overview->gd_info(); ?>
                             </ul>
+                        </div>
+                    </div>
+                    <div class="two-col">
+                        <div class="col">
+                            <?php if (is_multisite()) $NGG_Admin_Overview->dashboard_quota(); ?>
+                        </div>
                     </div>
                 </div>
-            </div>
-        <?php } ?>
-        
-        <div id="freedoms" class="ngg-tab">
+            <?php } ?>
+            
+            <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-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>
 
-            <ol start="0">
-                <li><p><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></p></li>
-                <li><p><?php _e( 'You have access to the source code, the freedom to study how the program works, and the freedom to change it to make it do what you wish.' ); ?></p></li>
-                <li><p><?php _e( 'You have the freedom to redistribute copies of the original program so you can help your neighbor.' ); ?></p></li>
-                <li><p><?php _e( 'You have the freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.' ); ?></p></li>
-            </ol>
+                <ol start="0">
+                    <li><p><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></p></li>
+                    <li><p><?php _e( 'You have access to the source code, the freedom to study how the program works, and the freedom to change it to make it do what you wish.' ); ?></p></li>
+                    <li><p><?php _e( 'You have the freedom to redistribute copies of the original program so you can help your neighbor.' ); ?></p></li>
+                    <li><p><?php _e( 'You have the freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.' ); ?></p></li>
+                </ol>
 
-            <p><?php _e( 'NextGEN Gallery grows because people like you tell your friends and website visitors about it. We thank you for doing so.' ); ?></p>
+                <p><?php _e( 'NextGEN Gallery grows because people like you tell your friends and website visitors about it. We thank you for doing so.' ); ?></p>
 
-        </div>
+            </div>
 
-    </div>
+        </div> <!-- /.ngg_page_content_main -->
+    
+    </div> <!-- /.wrap -->
 
     <?php
+    return NULL;
 }
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 5542cd64ac98b0e294553c56274e38bee54ea8bc..f91949c4bc50aad95255b8bd4ff8e0afc3218cf0 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
@@ -30,7 +30,7 @@ include_once( nggGallery::graphic_library() );
 $ngg_options = get_option('ngg_options');
 
 $thumb = new ngg_Thumbnail($picture->imagePath, TRUE);
-$thumb->resize(350,350);
+$thumb->resize(450,350);
 
 // we need the new dimension
 $resizedPreviewInfo = $thumb->newDimensions;
@@ -40,9 +40,8 @@ $thumb->destruct();
 $storage            = C_Gallery_Storage::get_instance();
 $thumbnail_manager  = C_Dynamic_Thumbnails_Manager::get_instance();
 $dynamic_size       = $thumbnail_manager->get_size_name(array(
-	'width'     =>  350,
-	'height'    =>  350,
-
+	'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);
@@ -84,9 +83,9 @@ $preview_image      = $storage->get_image_url($id, $dynamic_size);
 	}
 </script>
 
-<table width="98%" align="center" style="border:1px solid #DADADA">
-	<tr style="height : 360px;">
-		<td valign="middle" align="center" style="background-color:#DADADA; width : 370px;">
+<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" />	
 		</td>
 		<td>
@@ -96,11 +95,10 @@ $preview_image      = $storage->get_image_url($id, $dynamic_size);
 			<input type="radio" name="ra" value="fh" /><?php esc_html_e('Flip horizontally', 'nggallery'); ?>
 		</td>		
 	</tr>
-	<tr style="background-color:#DADADA;">
-
-		<td colspan="2">
-			<input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="rotateImage()" class="button-secondary" style="float:right; margin-left:4px;"/>
-			<div id="thumbMsg" style="color:#FF0000; display : none;font-size:11px; float:right; width:60%; height:2em; line-height:2em;"></div>
-		</td>
-	</tr>
 </table>
+<div id="ngg-overlay-dialog-bottom">
+	<input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="rotateImage()" class="button-primary" />
+	<div id="thumbMsg"></div>
+</div>
+
+
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php
index e42c94100406fc94ee184e68e3de7bba6f022d6a..65b3015567a92bc23ee845489e6c498e30b9dad8 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php
@@ -20,8 +20,9 @@ if ( isset($_POST['tag_action']) ) {
 		$todelete = (isset($_POST['deletetag_name'])) ? $_POST['deletetag_name'] : '';
 		$action_status = nggTags::delete_tags( $todelete );
 	} elseif ( $_POST['tag_action'] == 'editslug' ) {
-		$matchtag = (isset($_POST['tagname_match'])) ? $_POST['tagname_match'] : '';
+		$matchtag = esc_html((isset($_POST['tagname_match'])) ? $_POST['tagname_match'] : '');
 		$newslug   = (isset($_POST['tagslug_new'])) ? $_POST['tagslug_new'] : '';
+		$newslug = esc_html(M_NextGen_Data::strip_html($newslug));
 		$action_status = nggTags::edit_tag_slug( $matchtag, $newslug );
 	}
 }
@@ -93,170 +94,166 @@ if ($nb_tags < $tag_count && $offset>0) {
 <style>
 	.disabled, .disabled:hover { border-color: #E5E5E5; color: #999999; cursor: default; }
 </style>
-
-<div class="wrap ngg_wrap">
-    <?php screen_icon( 'nextgen-gallery' ); ?>
-	<h2><?php _e('Manage image tags', 'nggallery'); ?></h2>
-
-	<?php if ($action_status['message']!='') : ?>
-	<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
-		<p><strong><?php echo $action_status['message']; ?></strong></p>
-	</div>
-	<?php endif; ?>
-
-	<table>
-		<tr>
-			<td class="list_tags">
-				<fieldset class="options" id="taglist">
-					<h3><?php _e('Existing Tags', 'nggallery'); ?></h3>
-
-					<form method="get">
-						<p>
-							<label for="search"><?php _e('Search tags', 'nggallery'); ?></label><br />
-							<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
-							<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
-							<input type="text" name="search" id="search" size="10" value="<?php if (isset($_GET['search'])) echo esc_attr( stripslashes($_GET['search']) ); ?>" />
-							<input class="button" type="submit" value="<?php _e('Go', 'nggallery'); ?>" />
-						</p>
-					</form>
-
-					<div class="sort_order">
-						<h3><?php _e('Sort Order:', 'nggallery'); ?></h3>
-						<?php
-						$output = array();
-						foreach( $order_array as $sort => $title ) {
-							$output[] = ($sort == $sort_order) ? '<span style="color: red;">'.$title.'</span>' : '<a href="'. $admin_base_url . '&amp;tag_sortorder=' . $sort . $search_url .'">'.$title.'</a>';
-						}
-						echo implode('<br />', $output);
-						$output = array();
-						unset($output);
-						?>
-					</div>
-
-					<div id="ajax_area_tagslist">
-						<ul>
+<?php if ($action_status['message']!='') : ?>
+		<div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade">
+			<p><strong><?php echo $action_status['message']; ?></strong></p>
+		</div>
+<?php endif; ?>
+<div class="wrap ngg_wrap ngg_manage_tags">
+    <div class="ngg_page_content_header"><img src="<?php  echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php _e('Manage image tags', 'nggallery'); ?></h3></div>
+
+    <div class='ngg_page_content_main'>
+
+		<table>
+			<tr>
+				<td class="list_tags">
+					<fieldset class="options" id="taglist">
+						<h3><?php _e('Search Tags', 'nggallery'); ?></h3>
+
+						<form method="get">
+							<p>
+								<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
+								<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
+								<input type="text" name="search" id="search" size="10" value="<?php if (isset($_GET['search'])) echo esc_attr( stripslashes($_GET['search']) ); ?>" />
+								<input class="button-primary" type="submit" value="<?php _e('Go', 'nggallery'); ?>" />
+							</p>
+						</form>
+
+						<div class="sort_order">
+							<h3><?php _e('Sort Tags', 'nggallery'); ?></h3>
 							<?php
-							$tags = (array) nggTags::find_tags($param, true);
-							foreach( $tags as $tag ) {
-                                //TODO:Tag link should be call a list of images in manage gallery
-                                //echo '<li><span>' . $tag->name . '</span>&nbsp;<a href="'.(ngg_get_tag_link( $tag->term_id )).'" title="'.sprintf(__('View all images tagged with %s', 'nggallery'), $tag->name).'">('.$tag->count.')</a></li>'."\n";
-                                echo '<li><span>' . esc_html( $tag->name ). '</span>&nbsp;'.'('. esc_html( $tag->count ).')</li>'."\n";
-
+							$output = array();
+							foreach( $order_array as $sort => $title ) {
+								$output[] = ($sort == $sort_order) ? '<span style="color: #76a934; font-weight: bold;">'.$title.'</span>' : '<a href="'. $admin_base_url . '&amp;tag_sortorder=' . $sort . $search_url .'">'.$title.'</a>';
 							}
-							unset($tags);
+							echo implode(' | ', $output);
+							$output = array();
+							unset($output);
 							?>
-						</ul>
-
-						<?php if ( $prev_offset!='' || $next_offset!='' ) : ?>
-						<div class="navigation">
-
-							<?php if ($prev_offset!='') { ?>
-							<form method="get" style="display: inline;">
-								<span>
-									<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
-									<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
-									<input type="hidden" name="offset" value="<?php echo $prev_offset; ?>" />
-									<input class="button" type="submit" value="&laquo; <?php _e('Previous tags', 'nggallery'); ?>" />
-								</span>
-							</form>
-							<?php } else { ?>
-								<span><span class="button disabled">&laquo; <?php _e('Previous tags', 'nggallery'); ?></span></span>
-							<?php } ?>
-
-							<?php if ($next_offset!='') { ?>
-							<form method="get" style="display: inline;">
-								<span>
-									<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
-									<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
-									<input type="hidden" name="offset" value="<?php echo $next_offset; ?>" />
-									<input class="button" type="submit" value="<?php _e('Next tags', 'nggallery'); ?> &raquo;" />
-								</span>
-							</form>
-							<?php } else { ?>
-								<span><span class="button disabled"><?php _e('Previous tags', 'nggallery'); ?> &raquo;</span></span>
-							<?php } ?>
 						</div>
-						<?php endif; ?>
-					</div>
-				</fieldset>
-			</td>
-			<td class="forms_manage">
-				<h3><?php _e('Rename Tag', 'nggallery'); ?></h3>
-				<form action="<?php echo $action_url; ?>" method="post">
-					<input type="hidden" name="tag_action" value="renametag" />
-					<?php wp_nonce_field('nggallery_admin_tags'); ?>
-
-					<table class="form-table">
-						<tr valign="top">
-							<td colspan="2">
-								<p><?php _e('Enter the tag to rename and its new value.  You can use this feature to merge tags too. Click "Rename" and all posts which use this tag will be updated.', 'nggallery'); ?></p>
-								<p><?php _e('You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p>
-							</td>
-						</tr>
-						<tr valign="top">
-							<th scope="row"><label for="renametag_old"><?php _e('Tag(s) to rename:', 'nggallery'); ?></label></th>
-							<td><input type="text" id="renametag_old" name="renametag_old" value="" size="40" /></td>
-						</tr>
-						<tr valign="top">
-							<th scope="row"><label for="renametag_new"><?php _e('New tag name(s):', 'nggallery'); ?></label></th>
-							<td>
-								<input type="text" id="renametag_new" name="renametag_new" value="" size="40" />
-								<input class="button" type="submit" name="rename" value="<?php _e('Rename', 'nggallery'); ?>" />
-							</td>
-						</tr>
-					</table>
-				</form>
-
-				<h3><?php _e('Delete Tag', 'nggallery'); ?></h3>
-				<form action="<?php echo $action_url; ?>" method="post">
-					<input type="hidden" name="tag_action" value="deletetag" />
-					<?php wp_nonce_field('nggallery_admin_tags'); ?>
-
-					<table class="form-table">
-						<tr valign="top">
-							<td colspan="2">
-								<p><?php _e('Enter the name of the tag to delete.  This tag will be removed from all posts.', 'nggallery'); ?></p>
-								<p><?php _e('You can specify multiple tags to delete by separating them with commas', 'nggallery'); ?>.</p>
-							</td>
-						</tr>
-						<tr valign="top">
-							<th scope="row"><label for="deletetag_name"><?php _e('Tag(s) to delete:', 'nggallery'); ?></label></th>
-							<td>
-								<input type="text" id="deletetag_name" name="deletetag_name" value="" size="40" />
-								<input class="button" type="submit" name="delete" value="<?php _e('Delete', 'nggallery'); ?>" />
-							</td>
-						</tr>
-					</table>
-				</form>
-
-				<h3><?php _e('Edit Tag Slug', 'nggallery'); ?></h3>
-				<form action="<?php echo $action_url; ?>" method="post">
-					<input type="hidden" name="tag_action" value="editslug" />
-                    <?php wp_nonce_field('nggallery_admin_tags'); ?>
-
-					<table class="form-table">
-						<tr valign="top">
-							<td colspan="2">
-								<p><?php _e('Enter the tag name to edit and its new slug. This will be used in tagcloud links. <a href="http://codex.wordpress.org/Glossary#Slug" target="_blank">Slug definition</a>', 'nggallery'); ?></p>
-								<p><?php _e('You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p>
-							</td>
-						</tr>
-						<tr valign="top">
-							<th scope="row"><label for="tagname_match"><?php _e('Tag(s) to match:', 'nggallery'); ?></label></th>
-							<td><input type="text" id="tagname_match" name="tagname_match" value="" size="40" /></td>
-						</tr>
-						<tr valign="top">
-							<th scope="row"><label for="tagslug_new"><?php _e('Slug(s) to set:', 'nggallery'); ?></label></th>
-							<td>
-								<input type="text" id="tagslug_new" name="tagslug_new" value="" size="40" />
-								<input class="button" type="submit" name="edit" value="<?php _e('Edit', 'nggallery'); ?>" />
-							</td>
-						</tr>
-					</table>
-				</form>
-			</td>
-		</tr>
-	</table>
+
+						<div id="ajax_area_tagslist">
+							<ul>
+								<?php
+								$tags = (array) nggTags::find_tags($param, true);
+								foreach( $tags as $tag ) {
+	                                //TODO:Tag link should be call a list of images in manage gallery
+	                                //echo '<li><span>' . $tag->name . '</span>&nbsp;<a href="'.(ngg_get_tag_link( $tag->term_id )).'" title="'.sprintf(__('View all images tagged with %s', 'nggallery'), $tag->name).'">('.$tag->count.')</a></li>'."\n";
+	                                echo '<li><span>' . esc_html( $tag->name ). '</span>&nbsp;'.'('. esc_html( $tag->count ).')</li>'."\n";
+
+								}
+								unset($tags);
+								?>
+							</ul>
+
+							<?php if ( $prev_offset!='' || $next_offset!='' ) : ?>
+							<div class="navigation">
+
+								<?php if ($prev_offset!='') { ?>
+								<form method="get" style="display: inline;">
+									<span>
+										<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
+										<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
+										<input type="hidden" name="offset" value="<?php echo $prev_offset; ?>" />
+										<input class="button-primary" type="submit" value="&laquo; <?php _e('Previous tags', 'nggallery'); ?>" />
+									</span>
+								</form>
+								<?php } else { ?>
+									<span><span class="button-primary">&laquo; <?php _e('Previous tags', 'nggallery'); ?></span></span>
+								<?php } ?>
+
+								<?php if ($next_offset!='') { ?>
+								<form method="get" style="display: inline;">
+									<span>
+										<input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" />
+										<input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" />
+										<input type="hidden" name="offset" value="<?php echo $next_offset; ?>" />
+										<input class="button-primary" type="submit" value="<?php _e('Next tags', 'nggallery'); ?> &raquo;" />
+									</span>
+								</form>
+								<?php } else { ?>
+									<span><span class="button-primary"><?php _e('Previous tags', 'nggallery'); ?> &raquo;</span></span>
+								<?php } ?>
+							</div>
+							<?php endif; ?>
+						</div>
+					</fieldset>
+				</td>
+				<td class="forms_manage">
+					<h3><?php _e('Rename Tag', 'nggallery'); ?></h3>
+					<form action="<?php echo $action_url; ?>" method="post">
+						<input type="hidden" name="tag_action" value="renametag" />
+						<?php wp_nonce_field('nggallery_admin_tags'); ?>
+
+						<table class="form-table">
+							<tr valign="top">
+								<td colspan="2">
+									<p><?php _e('Enter the tag to rename and its new value.  You can use this feature to merge tags too. Click "Rename" and all posts which use this tag will be updated. You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p>
+								</td>
+							</tr>
+							<tr valign="top">
+								<th scope="row"><label for="renametag_old"><?php _e('Tag(s) to rename:', 'nggallery'); ?></label></th>
+								<td><input type="text" id="renametag_old" name="renametag_old" value="" size="40" /></td>
+							</tr>
+							<tr valign="top">
+								<th scope="row"><label for="renametag_new"><?php _e('New tag name(s):', 'nggallery'); ?></label></th>
+								<td>
+									<input type="text" id="renametag_new" name="renametag_new" value="" size="40" />
+									<input class="button-primary" type="submit" name="rename" value="<?php _e('Rename', 'nggallery'); ?>" />
+								</td>
+							</tr>
+						</table>
+					</form>
+
+					<h3><?php _e('Delete Tag', 'nggallery'); ?></h3>
+					<form action="<?php echo $action_url; ?>" method="post">
+						<input type="hidden" name="tag_action" value="deletetag" />
+						<?php wp_nonce_field('nggallery_admin_tags'); ?>
+
+						<table class="form-table">
+							<tr valign="top">
+								<td colspan="2">
+									<p><?php _e('Enter the name of the tag to delete. This tag will be removed from all posts. You can specify multiple tags to delete by separating them with commas.', 'nggallery'); ?></p>
+								</td>
+							</tr>
+							<tr valign="top">
+								<th scope="row"><label for="deletetag_name"><?php _e('Tag(s) to delete:', 'nggallery'); ?></label></th>
+								<td>
+									<input type="text" id="deletetag_name" name="deletetag_name" value="" size="40" />
+									<input class="button-primary" type="submit" name="delete" value="<?php _e('Delete', 'nggallery'); ?>" />
+								</td>
+							</tr>
+						</table>
+					</form>
+
+					<h3><?php _e('Edit Tag Slug', 'nggallery'); ?></h3>
+					<form action="<?php echo $action_url; ?>" method="post">
+						<input type="hidden" name="tag_action" value="editslug" />
+	                    <?php wp_nonce_field('nggallery_admin_tags'); ?>
+
+						<table class="form-table">
+							<tr valign="top">
+								<td colspan="2">
+									<p><?php _e('Enter the tag name to edit and its new slug. This will be used in tagcloud links. <a href="http://codex.wordpress.org/Glossary#Slug" target="_blank">Slug definition</a>. You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p>
+								</td>
+							</tr>
+							<tr valign="top">
+								<th scope="row"><label for="tagname_match"><?php _e('Tag(s) to match:', 'nggallery'); ?></label></th>
+								<td><input type="text" id="tagname_match" name="tagname_match" value="" size="40" /></td>
+							</tr>
+							<tr valign="top">
+								<th scope="row"><label for="tagslug_new"><?php _e('Slug(s) to set:', 'nggallery'); ?></label></th>
+								<td>
+									<input type="text" id="tagslug_new" name="tagslug_new" value="" size="40" />
+									<input class="button-primary" type="submit" name="edit" value="<?php _e('Edit', 'nggallery'); ?>" />
+								</td>
+							</tr>
+						</table>
+					</form>
+				</td>
+			</tr>
+		</table>
+	</div> <!-- /.ngg_page_content_main -->
   	<script type="text/javascript">
   	// <![CDATA[
   		// Register onclick event
@@ -288,4 +285,4 @@ if ($nb_tags < $tag_count && $offset>0) {
 		}
 	// ]]>
 	</script>
-</div>
\ No newline at end of file
+</div> <!-- /.wrap -->
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php
index 8f0726a3f96f13dd1e55d5154d1ca3368ed67659..b863513d043c2ec9330fd73fac3cca1671d99dc0 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php
@@ -7,5 +7,5 @@
 			</option>
 		<?php endforeach ?>
 	</select>
-	<input type="submit" id="group" value="<?php _e('Add page', 'nggallery'); ?>" name="addnewpage" class="button-secondary action">
+	<input type="submit" id="group" value="<?php _e('Add page', 'nggallery'); ?>" name="addnewpage" class="button-primary action">
 </span>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_path_field.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_path_field.php
index f58757689e537e31e191268eb8bf137479b129d3..cd238601c36a6800f3d48fe8ce7db27a4497f157 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_path_field.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_path_field.php
@@ -3,7 +3,7 @@
 		type="text"
 		name="path"
 		id="gallery_path"
-		value="<?php echo esc_attr(str_replace('\\', DIRECTORY_SEPARATOR, $gallery->path)) ?>"
+		value="<?php echo esc_attr(preg_replace('#[/\\\]+#', DIRECTORY_SEPARATOR, $gallery->path )); ?>"
         <?php if (is_multisite()) echo "disabled"; ?>
 		/>
 </span>
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php
index 9e1a4297a74a9ea49c78f5079db1e14a577d0f05..dbee208b7b7b9a429c275144de85097a5c32703b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php
@@ -28,9 +28,20 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
 
         // the path should always end with a slash	
         $ngg_options['gallerypath']    = trailingslashit($ngg_options['gallerypath']);
+		$fs               = C_Fs::get_instance();
+		$root             = $fs->get_document_root('galleries');
+		$gallery_abspath = $fs->get_absolute_path($fs->join_paths($root, $ngg_options['gallerypath']));
+		if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) $gallery_abspath = DIRECTORY_SEPARATOR.$gallery_abspath;
+		if (strpos($gallery_abspath, $root) === FALSE) {
+            $messagetext = sprintf(__("Gallery path must be located in %s", 'nggallery'), $root);
+            $storage = C_Gallery_Storage::get_instance();
+            $ngg_options['gallerypath'] = implode(DIRECTORY_SEPARATOR, array('wp-content', 'uploads', 'sites', '%BLOG_ID%', 'nggallery')).DIRECTORY_SEPARATOR;
+            unset($storage);
+	    }
+	    else {
+			$messagetext = __('Updated successfully','nggallery');
+        }
 		update_site_option('ngg_options', $ngg_options);
-        
-	 	$messagetext = __('Updated successfully','nggallery');
 	}		
 
     // Show donation message only one time.
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php
index 3ed624641c58f2f0fb92d57522bcbc2390a09a67..03460f7e6b806bce83ad86f2202948e1c0ecbf68 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php
@@ -9,8 +9,17 @@ class Ngg_Serializable
 	 */
 	function serialize($value)
 	{
+		// Try encoding using JSON. It's usually Unicode safe but still, sometimes trips over
+		// things
+		$serialized = @json_encode($value);
+
+		if (!$serialized) {
+			$serialized = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]/u', '', $value);
+			$serialized = @json_encode($serialized);
+		}
+
 		//Using json_encode here because PHP's serialize is not Unicode safe
-		return base64_encode(json_encode($value));
+		return base64_encode($serialized);
 	}
 
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php
index 10d5bed1ecda744092bfe1af703705ede29b46a1..6db241f4a101503c19cc7d15872803b5df61cff7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php
@@ -129,7 +129,7 @@ class nggGallery {
 	* @param string $template_name Name of the template file (without extension)
 	* @param string $vars Array of variable name=>value that is available to the display code (optional)
 	* @deprecated Use C_Displayed_Gallery_Renderer class
-	* @return void
+	* @return string
 	**/
 	static function capture ($template_name, $vars = array ())
 	{
@@ -216,7 +216,7 @@ class nggGallery {
 				}
 			}
 		}
-		return;
+		return '';
 	}
 
 	/**
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php
index 4e9fd6d57010ec119bbfa999ef4b351d4fd3de99..723ad83dc46d4810789171c17218103ef8367cd6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php
@@ -16,7 +16,7 @@ class nggImage extends Ngg_Serializable
     // TODO: Make nggImage a subclass of C_Component and use the wrapper functionality
     function __construct($image)
     {
-        $image->meta_data = $this->unserialize($image->meta_data);
+	    $image->meta_data = $this->unserialize($image->meta_data);
         C_Component_Registry::get_instance();
         $this->_ngiw = new C_Image_Wrapper($image, NULL, TRUE);
     }
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php
index 802fdb441f25fbcc03e929e9d9c532434af94c13..c240915745b744db69e9a125bdc6fd7be92d77a0 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php
@@ -188,13 +188,13 @@ var $imageMagickBefore;
      * @param string $cmd an ImageMagick command (eg. "convert")
      * @param string $args the arguments which should be passed
      * @param bool �passthru(optional) output the result to the webserver instead
-     * @return void | if passthru return the image
+	 * @return string
      */
 	function execute( $cmd, $args, $passthru = false) {
 		
 		// in error case we do not continue
 		if($this->error == true)
-			return;
+			return '';
 
 		//if path is not empty
 		if ($this->imageMagickDir != '') {
@@ -218,7 +218,7 @@ var $imageMagickBefore;
 		// for single pic we need the direct output
 		header('Content-type: image/jpeg');
 		$this->errmsg = "{$this->imageMagickDir}{$cmd} {$args}";
-		passthru( "{$this->imageMagickDir}{$cmd} {$args}" );
+		return passthru( "{$this->imageMagickDir}{$cmd} {$args}" );
 	}
 
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php
index cab96bed9aede80e639607472d8710ef3a5c963a..45c5dffdaf590115e694cd0245c4603c503fdcdd 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php
@@ -99,7 +99,7 @@ class nggMeta{
 
         // on request sanitize the output
         if ( $this->sanitize == true )
-            array_walk( $meta , create_function('&$value', '$value = esc_html($value);'));
+            array_walk( $meta , 'esc_html');
 
         return $meta;
     }
@@ -187,7 +187,7 @@ class nggMeta{
 
         // on request sanitize the output
         if ( $this->sanitize == true )
-            array_walk( $this->exif_array , create_function('&$value', '$value = esc_html($value);'));
+            array_walk( $this->exif_array , 'esc_html');
 
         return $this->exif_array;
 
@@ -266,7 +266,7 @@ class nggMeta{
 
         // on request sanitize the output
         if ( $this->sanitize == true )
-            array_walk( $this->iptc_array , create_function('&$value', '$value = esc_html($value);'));
+            array_walk( $this->iptc_array , 'esc_html');
 
         return $this->iptc_array;
     }
@@ -408,7 +408,7 @@ class nggMeta{
 
         // on request sanitize the output
         if ( $this->sanitize == true )
-            array_walk( $this->xmp_array , create_function('&$value', '$value = esc_html($value);'));
+            array_walk( $this->xmp_array , 'esc_html');
 
         return $this->xmp_array;
     }
@@ -421,6 +421,7 @@ class nggMeta{
         } else {
             $array = $value;
         }
+        return $array;
     }
 
     /**
@@ -530,7 +531,7 @@ class nggMeta{
      * Reason : GD manipulation removes that options
      *
      * @since V1.4.0
-     * @return void
+     * @return array
      */
     function get_common_meta() {
         global $wpdb;
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php
index e3d65769be89b2ef8505b8f5875bc4fa8f25a81c..9a3aecfb536fb091e3197819633084542757420b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php
@@ -209,7 +209,7 @@ class nggdb
      * @param bool $exclude
      * @return An array containing the nggImage objects representing the images in the gallery.
      */
-    function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true) {
+    static function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true) {
 
         global $wpdb;
 
@@ -272,8 +272,8 @@ class nggdb
 
         // Unserialize the galleries inside the album
         if ( $album ) {
-			// XXX nggdb is used statically, cannot inherit from Ngg_Serializable
-			$serializer = new Ngg_Serializable();
+
+	        $serializer = new Ngg_Serializable();
 
             if ( !empty( $album->sortorder ) )
                 $album->gallery_ids = $serializer->unserialize( $album->sortorder );
@@ -738,7 +738,7 @@ class nggdb
 
             // split the words it a array if seperated by a space or comma
             preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
-            $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
+            $search_terms = array_map(array($this, 'trim_quotes_and_whitespace'), $matches[0]);
 
             $n = '%';
             $searchand = '';
@@ -783,6 +783,11 @@ class nggdb
         return null;
     }
 
+    function trim_quotes_and_whitespace($str)
+    {
+    	return trim($str, "\"'\n\r");
+    }
+
     /**
      * search for galleries and return the result
      *
@@ -801,7 +806,7 @@ class nggdb
 
             // split the words it a array if seperated by a space or comma
             preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
-            $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
+            $search_terms = array_map(array($this, 'trim_quotes_and_whitespace'), $matches[0]);
 
             $n = '%';
             $searchand = '';
@@ -849,7 +854,7 @@ class nggdb
 
             // split the words it a array if seperated by a space or comma
             preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
-            $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
+            $search_terms = array_map(array($this, 'trim_quotes_and_whitespace'), $matches[0]);
 
             $n = '%';
             $searchand = '';
@@ -892,16 +897,14 @@ class nggdb
         global $wpdb;
 
         // XXX nggdb is used statically, cannot inherit from Ngg_Serializable
-        $serializer = new Ngg_Serializable();
+	    $serializer = new Ngg_Serializable();
 
         // Query database for existing values
         // Use cache object
         $old_values = $wpdb->get_var( $wpdb->prepare( "SELECT meta_data FROM $wpdb->nggpictures WHERE pid = %d ", $id ) );
-        $old_values = $serializer->unserialize( $old_values );
-
+        $old_values = $serializer->unserialize( $old_values);
         $meta = array_merge( (array)$old_values, (array)$new_values );
         $serialized_meta = $serializer->serialize($meta);
-
         $result = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->nggpictures SET meta_data = %s WHERE pid = %d", $serialized_meta, $id) );
 
         do_action('ngg_updated_image_meta', $id, $meta);
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php
index 30c895c75bd557463d56702aa6370313b42a997c..a07b9146c5a12b410f2dec5df7d085e88715b385 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php
@@ -11,15 +11,9 @@ class nggSitemaps {
 
     var $images	= array();
 
-    /**
-     * nggSitemaps::__construct()
-     *
-     * @return
-     */
-    function __construct() {
-
+    function __construct()
+    {
         add_filter('wpseo_sitemap_urlimages', array( &$this, 'add_wpseo_xml_sitemap_images'), 10, 2);
-
     }
 
     /**
@@ -97,7 +91,7 @@ class nggSitemaps {
      * Parse the single image shortcode and return all images into an array
      *
      * @param array $atts
-     * @return
+     * @return string
      */
     function add_images( $atts ) {
 
@@ -110,7 +104,7 @@ class nggSitemaps {
 
         // Some error checks
         if ( count($pids) == 0 )
-            return;
+            return '';
 
         $images = nggdb::find_images_in_list( $pids );
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php
index 975520c642a68a6a726c55d0ae3ac39ad266b840..7e5404f15cfaa8a13a2d4aa3918448df56f31096 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php
@@ -394,5 +394,6 @@ if (!function_exists('nggtags_delete_empty_element')) {
 		if ( !empty($element) ) {
 			return $element;
 		}
+		return NULL;
 	}
 }
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 ef68696e86b070205d63d30f9e6483bd8895e2ba..23b497740cec1373f52184490fe353e853829696 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',
-			'0.21',
+			'3.0.0',
 			'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/ngglegacy/nggallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php
index 36a4bf7f64991a22703a5390816ffe113a6bfa5f..36bd2a35da782413dfb6ca3342e11926ba14b8ca 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php
@@ -66,7 +66,7 @@ class nggLoader
 
 			// Pass the init check or show a message
 			if (get_option( 'ngg_init_check' ) != false )
-				add_action( 'admin_notices', create_function('', 'echo \'<div id="message" class="error"><p><strong>' . get_option( "ngg_init_check" ) . '</strong></p></div>\';') );
+				add_action( 'admin_notices', array($this, 'output_init_check_error'));
 
 		} else {
 
@@ -77,6 +77,11 @@ class nggLoader
 		}
 	}
 
+	function output_init_check_error()
+	{
+		echo sprintf("<div id='message' class='error'><p><strong>%s</strong></p></div>", esc_html(get_option('ngg_init_check')));
+	}
+
 	function required_version() {
 
 		global $wp_version;
@@ -87,10 +92,7 @@ class nggLoader
 		if ( ($wp_ok == FALSE) ) {
 			add_action(
 				'admin_notices',
-				create_function(
-					'',
-					'global $ngg; printf (\'<div id="message" class="error"><p><strong>\' . __(\'Sorry, NextGEN Gallery works only under WordPress %s or higher\', "nggallery" ) . \'</strong></p></div>\', $ngg->minimum_WP );'
-				)
+				array($this, 'output_minimum_wp_version_error')
 			);
 			return false;
 		}
@@ -99,6 +101,14 @@ class nggLoader
 
 	}
 
+	function output_minimum_wp_version_error()
+	{
+		echo sprintf(
+			"<div id='message' class='error'><p><strong>%s</strong></p></div>",
+			sprintf(__("Sorry, NextGEN Gallery works only under WordPress %s or higher.", 'nggallery'), $this->minimum_WP)
+		);
+	}
+
 	function check_memory_limit() {
 
 		// get the real memory limit before some increase it
@@ -113,13 +123,10 @@ class nggLoader
 			$this->memory_limit = (int) substr( $this->memory_limit, 0, -1);
 
 			//This works only with enough memory, 16MB is silly, wordpress requires already 16MB :-)
-			if ( ($this->memory_limit != 0) && ($this->memory_limit < 16 ) ) {
+			if ( ($this->memory_limit != 0) && ($this->memory_limit < 32 ) ) {
 				add_action(
 					'admin_notices',
-					create_function(
-						'',
-						'echo \'<div id="message" class="error"><p><strong>' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher', 'nggallery') . '</strong></p></div>\';'
-					)
+					array($this, 'output_memory_limit_error')
 				);
 				return false;
 			}
@@ -129,6 +136,14 @@ class nggLoader
 
 	}
 
+	function output_memory_limit_error()
+	{
+		echo sprintf(
+			"<div id='message' class='error'><p><strong>%s</strong></p>",
+			__("Sorry, NextGEN Gallery works only with a memory limit of 32MB or higher")
+		);
+	}
+
 	function define_tables() {
 		global $wpdb;
 
@@ -198,7 +213,7 @@ class nggLoader
 
 		// Load global libraries												// average memory usage (in bytes)
 		require_once (dirname (__FILE__) . '/lib/core.php');					//  94.840
-		require_once (dirname (__FILE__) . '/lib/class.ngg_serializable.php');					//  94.840
+		require_once (dirname (__FILE__) . '/lib/class.ngg_serializable.php');
 		require_once (dirname (__FILE__) . '/lib/ngg-db.php');					// 132.400
 		require_once (dirname (__FILE__) . '/lib/image.php');					//  59.424
 		require_once (dirname (__FILE__) . '/lib/tags.php');				    // 117.136
@@ -218,7 +233,7 @@ class nggLoader
 			require_once (dirname (__FILE__) . '/lib/rewrite.php');				//  71.936
 
 			// Load backend libraries
-			if ( is_admin() ) {
+			if ( is_admin() && !$this->is_rest_url()) {
 				require_once (dirname (__FILE__) . '/admin/admin.php');
 				require_once (dirname (__FILE__) . '/admin/media-upload.php');
 				$this->nggAdminPanel = new nggAdminPanel();
@@ -226,6 +241,11 @@ class nggLoader
 		}
 	}
 
+	function is_rest_url()
+	{
+		return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
+	}
+
 	function load_thickbox_images() {
 		// WP core reference relative to the images. Bad idea
 		echo "\n" . '<script type="text/javascript">tb_pathToImage = "' . site_url() . '/wp-includes/js/thickbox/loadingAnimation.gif";tb_closeImage = "' . site_url() . '/wp-includes/js/thickbox/tb-close.png";</script>'. "\n";
@@ -261,12 +281,6 @@ class nggLoader
 		if( isset($option->response[ $this->plugin_name ]) ){
 			//Clear it''s download link
 			$option->response[ $this->plugin_name ]->package = '';
-
-			//Add a notice message
-			if ($this->add_PHP5_notice == false){
-				add_action( "in_plugin_update_message-$this->plugin_name", create_function('', 'echo \'<br /><span style="color:red">Please update to PHP5.2 as soon as possible, the plugin is not tested under PHP4 anymore</span>\';') );
-				$this->add_PHP5_notice = true;
-			}
 		}
 		return $option;
 	}
@@ -286,11 +300,21 @@ class nggLoader
 
 		// If test-head query var exists hook into wp_head
 		if ( isset( $_GET['test-head'] ) )
-			add_action( 'wp_head', create_function('', 'echo \'<!--wp_head-->\';'), 99999 );
+			add_action( 'wp_head', array($this, 'output_wp_head_comment'), 99999 );
 
 		// If test-footer query var exists hook into wp_footer
 		if ( isset( $_GET['test-footer'] ) )
-			add_action( 'wp_footer', create_function('', 'echo \'<!--wp_footer-->\';'), 99999 );
+			add_action( 'wp_footer', array($this, 'output_wp_footer_comment'), 99999 );
+	}
+
+	function output_wp_head_comment()
+	{
+		echo "<!--wp_user-->";
+	}
+
+	function output_wp_footer_comment()
+	{
+		echo "<!--wp_footer-->";
 	}
 }
 
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.min.css
index e045db2b9195a095e789c905dd76650679046147..adc535cf4d468ce2360c957739bbda0640c2e6ed 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.min.css
@@ -1 +1 @@
-.ngg-thumbnail{margin:0 12px 0 0!important}.ngg-gallery-thumbnail-box{width:20%}.ngg-gallery-thumbnail{background:url(shadowAlpha.png) bottom right no-repeat!important;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{border:1px solid #600;padding:3px 7px}.ngg-related-gallery img{margin:0 2px}
\ No newline at end of file
+.ngg-thumbnail{margin:0!important;margin-right:12px!important}.ngg-gallery-thumbnail-box{width:20%}.ngg-gallery-thumbnail{background:url(shadowAlpha.png) no-repeat bottom right!important;background:url(shadow.gif) no-repeat bottom right;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{border:1px solid #600;padding:3px 7px}.ngg-related-gallery img{margin:0 2px}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.min.css
index 18f55b568921cc8fb9aa57f9589927dbc36c7c3c..b5700d3788b66ab5e8276b1a3ead70da506c99e1 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.min.css
@@ -1 +1 @@
-.ngg-related-gallery{background:#F9F9F9;border:1px solid #E0E0E0;overflow:hidden;margin-bottom:1em;margin-top:1em;padding:5px}.ngg-related-gallery img{border:1px solid #DDD;float:left;margin:0 3px;padding:2px;height:50px;width:50px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
+.ngg-related-gallery{background:#f9f9f9;border:1px solid #e0e0e0;overflow:hidden;margin-bottom:1em;margin-top:1em;padding:5px}.ngg-related-gallery img{border:1px solid #ddd;float:left;margin:0 3px;padding:2px;height:50px;width:50px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.min.css
index addb2da7df3fb10b02776a348f510edaae026996..6fb7d300faf0da88de6011c0a7dcee207d3f55c9 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.min.css
@@ -1 +1 @@
-.ngg-albumtitle{border-bottom:1px dashed #AAA;padding-bottom:3px}.ngg-gallery-thumbnail img,.ngg-gallery-thumbnail-box,.ngg-imagebrowser .pic,.ngg-imagebrowser img,.ngg-thumbnail,.ngg-thumbnail img{border-style:solid;border-width:1px;color:inherit}.ngg-thumbnail{background:0 50% #EEE;border-color:#DDD #bbb #aaa #ccc;margin-right:5px;padding:5px}.ngg-thumbnail img{filter:alpha(opacity=100);-moz-opacity:.99;opacity:.99;background:0 #FFF;border-color:#AAA #ccc #ddd #bbb;padding:2px;vertical-align:top}.ngg-thumbnail img:hover{filter:alpha(opacity=90);-moz-opacity:.9;opacity:.9;border-color:#000}.ngg-galleryoverview{overflow:hidden;margin-top:10px;width:100%;clear:both;display:block!important}.ngg-gallery-thumbnail-box{background:0 50% #EEE;border-color:#DDD #bbb #aaa #ccc;display:inline;margin:3px;padding:5px;position:relative}.ngg-gallery-thumbnail img{filter:alpha(opacity=100);-moz-opacity:.99;opacity:.99;background:0 #FFF;border-color:#AAA #ccc #ddd #bbb;padding:2px;vertical-align:top}.ngg-gallery-thumbnail img:hover{filter:alpha(opacity=90);-moz-opacity:.9;opacity:.9;border-color:#000}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-imagebrowser h3{text-align:center;padding-bottom:10px}.ngg-imagebrowser .pic{background:0 50% #EEE;border-color:#DDD #bbb #aaa #ccc;display:block;padding:10px}.ngg-imagebrowser img{margin:-3px;background:0 #FFF;border-color:#AAA #ccc #ddd #bbb;padding:2px;vertical-align:top}.ngg-imagebrowser-nav{padding:10px}.ngg-imagebrowser-nav .back:hover,.ngg-imagebrowser-nav .next:hover{border:1px solid #000}.ngg-imagebrowser-nav .back a:hover,.ngg-imagebrowser-nav .next a:hover{text-decoration:none!important}
\ No newline at end of file
+.ngg-albumtitle{border-bottom:1px dashed #aaa;padding-bottom:3px}.ngg-thumbnail{background:#eee none repeat scroll 0 50%;border-color:#ddd #bbb #aaa #ccc;border-style:solid;border-width:1px;color:inherit;margin-right:5px;padding:5px}.ngg-thumbnail img{-moz-opacity:.99;opacity:.99;background:#fff none repeat scroll 0;border-color:#aaa #ccc #ddd #bbb;border-style:solid;border-width:1px;color:inherit;padding:2px;vertical-align:top}.ngg-thumbnail img:hover{-moz-opacity:.9;opacity:.9;border-color:#000}.ngg-galleryoverview{overflow:hidden;margin-top:10px;width:100%;clear:both;display:block!important}.ngg-gallery-thumbnail-box{background:#eee none repeat scroll 0 50%;border-color:#ddd #bbb #aaa #ccc;border-style:solid;border-width:1px;color:inherit;display:inline;margin:3px;padding:5px;position:relative}.ngg-gallery-thumbnail img{-moz-opacity:.99;opacity:.99;background:#fff none repeat scroll 0;border-color:#aaa #ccc #ddd #bbb;border-style:solid;border-width:1px;color:inherit;padding:2px;vertical-align:top}.ngg-gallery-thumbnail img:hover{-moz-opacity:.9;opacity:.9;border-color:#000}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-imagebrowser h3{text-align:center;padding-bottom:10px}.ngg-imagebrowser .pic{background:#eee none repeat scroll 0 50%;border-color:#ddd #bbb #aaa #ccc;border-style:solid;border-width:1px;color:inherit;display:block;padding:10px}.ngg-imagebrowser img{margin:-3px;background:#fff none repeat scroll 0;border-color:#aaa #ccc #ddd #bbb;border-style:solid;border-width:1px;color:inherit;padding:2px;vertical-align:top}.ngg-imagebrowser-nav{padding:10px}.ngg-imagebrowser-nav .back:hover,.ngg-imagebrowser-nav .next:hover{border:1px solid #000}.ngg-imagebrowser-nav .back a:hover,.ngg-imagebrowser-nav .next a:hover{text-decoration:none!important}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.min.css
index 26f822f9756887849737aedbb914c3762e0923c7..0fa3930169e6192f23a4d0608a1595b8f0fa2004 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.min.css
@@ -1 +1 @@
-.ngg-gallery-thumbnail{background:url(shadowAlpha.png) bottom right no-repeat!important;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{display:none}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-widget,.ngg-widget-slideshow{text-align:center}
\ No newline at end of file
+.ngg-gallery-thumbnail{background:url(shadowAlpha.png) no-repeat bottom right!important;background:url(shadow.gif) no-repeat bottom right;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{display:none}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-widget,.ngg-widget-slideshow{text-align:center}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.min.css
index ca2f30b2fbad965965f109fb4763095c827fda13..f6c726d5170763d583b7f129025da8cf7100dda6 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.min.css
@@ -1 +1 @@
-.ngg-albumoverview{margin:10px 0 0!important}.ngg-album{margin:0 0 5px!important}.ngg-albumtitle{margin:0 0 10px!important}.ngg-albumcontent{margin:0!important}.ngg-thumbnail{float:left;margin:0 12px 0 0!important}.ngg-thumbnail img{margin:4px 0 4px 5px!important}.ngg-album-link,.ngg-gallery-thumbnail-box{margin:0!important}.ngg-album-compact h4{margin-bottom:0!important;margin-top:0!important;padding:0!important}.ngg-gallery-thumbnail{background:url(shadowAlpha.png) bottom right no-repeat!important;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px!important}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-related-gallery img{margin:0 2px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
+.ngg-albumoverview{margin:10px 0 0 0!important}.ngg-album{margin:0 0 5px!important}.ngg-albumtitle{margin:0 0 10px 0!important}.ngg-albumcontent{margin:0!important}.ngg-thumbnail{float:left;margin:0 12px 0 0!important}.ngg-thumbnail img{margin:4px 0 4px 5px!important}.ngg-album-link{margin:0!important}.ngg-album-compact h4{margin-bottom:0!important;margin-top:0!important;padding:0!important}.ngg-gallery-thumbnail-box{margin:0!important}.ngg-gallery-thumbnail{background:url(shadowAlpha.png) no-repeat bottom right!important;background:url(shadow.gif) no-repeat bottom right;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px!important}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{padding:3px 7px}.ngg-related-gallery img{margin:0 2px}.ngg-related-gallery img:hover{border:1px solid #000}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.min.css
index 2893db927fbcca1439b38da84aca586f9b265e02..0c9f90db7520d83a24f530bc22a61f7a0a6c01ee 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.min.css
@@ -1 +1 @@
-.ngg-gallery-thumbnail{background:url(shadowAlpha.png) bottom right no-repeat!important;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{display:none}
\ No newline at end of file
+.ngg-gallery-thumbnail{background:url(shadowAlpha.png) no-repeat bottom right!important;background:url(shadow.gif) no-repeat bottom right;margin:10px 0 0 10px!important}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{display:none}
\ No newline at end of file
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.min.css
index ab87df0d7971fab2d72e06c3d5e3bc563f02ae39..6c4167cd498f1ace85bc659c85a8a7d978c6e0c7 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.min.css
@@ -1 +1 @@
-.ngg-gallery-thumbnail{background:url(shadowAlpha.png) bottom right no-repeat!important;margin:10px 0 0 10px!important;padding:10px 15px;border-color:#EEE;border-style:solid none none solid;border-width:1px medium medium 1px}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{margin:-6px 6px 6px -6px;text-align:center;color:grey}
\ No newline at end of file
+.ngg-gallery-thumbnail{background:url(shadowAlpha.png) no-repeat bottom right!important;background:url(shadow.gif) no-repeat bottom right;margin:10px 0 0 10px!important;padding:10px 15px 10px 15px;border-color:#eee;border-style:solid none none solid;border-width:1px medium medium 1px}.ngg-gallery-thumbnail img{margin:-6px 6px 6px -6px}.ngg-gallery-thumbnail span{margin:-6px 6px 6px -6px;text-align:center;color:grey}
\ 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 74ab3df06c3debefe35e58af81010e2839c31c70..9e0239fac0a203ee5b3df6159fe1653c39149920 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 0}#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
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 4c1d7d58447984e71fc8802ac36686bd06bfa774..638a94d94a100195d08161f13827368f2f4ae052 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',
-			'0.9',
+			'3.0.0',
 			'https://www.imagely.com',
 			'Imagely',
 			'https://www.imagely.com'
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 490a062c0e37d76ed8d0c01008a5f6ed3343da40..267ffa8426b0dba29fcd6ad811808c0b714eea59 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,7 +14,7 @@ class M_Security extends C_Base_Module
 			'photocrati-security',
 			'Security',
 			'Provides utilities to check for credentials and security',
-			'0.3',
+			'3.0.0',
 			'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/simple_html_dom/module.simple_html_dom.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/module.simple_html_dom.php
new file mode 100644
index 0000000000000000000000000000000000000000..c9e47cd44dcc317a035c0eba55403690e4a37e11
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/module.simple_html_dom.php
@@ -0,0 +1,40 @@
+<?php
+
+/***
+	{
+		Module: photocrati-simple_html_dom
+	}
+***/
+
+if (!function_exists(('file_get_html'))) require_once('simplehtmldom/simple_html_dom.php');
+
+class M_Simple_Html_Dom extends C_Base_Module
+{
+    function define($id = 'pope-module',
+                    $name = 'Pope Module',
+                    $description = '',
+                    $version = '',
+                    $uri = '',
+                    $author = '',
+                    $author_uri = '',
+                    $context = FALSE)
+    {
+        parent::define(
+            'photocrati-simple_html_dom',
+            'Simple HTML Dom',
+            'Provides the simple_html_dom utility for other modules to use',
+            '3.0.0',
+            'https://www.imagely.com',
+            'Imagely',
+            'https://www.imagely.com'
+        );
+    }
+
+		function get_type_list()
+		{
+			return array(
+			);
+		}
+}
+
+new M_Simple_Html_Dom();
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/package.module.simple_html_dom.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/package.module.simple_html_dom.php
new file mode 100644
index 0000000000000000000000000000000000000000..b3d9bbc7f3711e882119cd6b3af051245d859d04
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/package.module.simple_html_dom.php
@@ -0,0 +1 @@
+<?php
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/simplehtmldom/simple_html_dom.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/simplehtmldom/simple_html_dom.php
new file mode 100644
index 0000000000000000000000000000000000000000..2c20ad90c82c3f4897eb1e316a3c2898041b1828
--- /dev/null
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simple_html_dom/simplehtmldom/simple_html_dom.php
@@ -0,0 +1,1742 @@
+<?php
+/**
+ * Website: http://sourceforge.net/projects/simplehtmldom/
+ * Additional projects that may be used: http://sourceforge.net/projects/debugobject/
+ * Acknowledge: Jose Solorzano (https://sourceforge.net/projects/php-html/)
+ * Contributions by:
+ *	 Yousuke Kumakura (Attribute filters)
+ *	 Vadim Voituk (Negative indexes supports of "find" method)
+ *	 Antcs (Constructor with automatically load contents either text or file/url)
+ *
+ * all affected sections have comments starting with "PaperG"
+ *
+ * Paperg - Added case insensitive testing of the value of the selector.
+ * Paperg - Added tag_start for the starting index of tags - NOTE: This works but not accurately.
+ *  This tag_start gets counted AFTER \r\n have been crushed out, and after the remove_noice calls so it will not reflect the REAL position of the tag in the source,
+ *  it will almost always be smaller by some amount.
+ *  We use this to determine how far into the file the tag in question is.  This "percentage will never be accurate as the $dom->size is the "real" number of bytes the dom was created from.
+ *  but for most purposes, it's a really good estimation.
+ * Paperg - Added the forceTagsClosed to the dom constructor.  Forcing tags closed is great for malformed html, but it CAN lead to parsing errors.
+ * Allow the user to tell us how much they trust the html.
+ * Paperg add the text and plaintext to the selectors for the find syntax.  plaintext implies text in the innertext of a node.  text implies that the tag is a text node.
+ * This allows for us to find tags based on the text they contain.
+ * Create find_ancestor_tag to see if a tag is - at any level - inside of another specific tag.
+ * Paperg: added parse_charset so that we know about the character set of the source document.
+ *  NOTE:  If the user's system has a routine called get_last_retrieve_url_contents_content_type availalbe, we will assume it's returning the content-type header from the
+ *  last transfer or curl_exec, and we will parse that and use it in preference to any other method of charset detection.
+ *
+ * Found infinite loop in the case of broken html in restore_noise.  Rewrote to protect from that.
+ * PaperG (John Schlick) Added get_display_size for "IMG" tags.
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @author S.C. Chen <me578022@gmail.com>
+ * @author John Schlick
+ * @author Rus Carroll
+ * @version 1.5 ($Rev: 208 $)
+ * @package PlaceLocalInclude
+ * @subpackage simple_html_dom
+ */
+
+/**
+ * All of the Defines for the classes below.
+ * @author S.C. Chen <me578022@gmail.com>
+ */
+define('HDOM_TYPE_ELEMENT', 1);
+define('HDOM_TYPE_COMMENT', 2);
+define('HDOM_TYPE_TEXT',	3);
+define('HDOM_TYPE_ENDTAG',  4);
+define('HDOM_TYPE_ROOT',	5);
+define('HDOM_TYPE_UNKNOWN', 6);
+define('HDOM_QUOTE_DOUBLE', 0);
+define('HDOM_QUOTE_SINGLE', 1);
+define('HDOM_QUOTE_NO',	 3);
+define('HDOM_INFO_BEGIN',   0);
+define('HDOM_INFO_END',	 1);
+define('HDOM_INFO_QUOTE',   2);
+define('HDOM_INFO_SPACE',   3);
+define('HDOM_INFO_TEXT',	4);
+define('HDOM_INFO_INNER',   5);
+define('HDOM_INFO_OUTER',   6);
+define('HDOM_INFO_ENDSPACE',7);
+define('DEFAULT_TARGET_CHARSET', 'UTF-8');
+define('DEFAULT_BR_TEXT', "\r\n");
+define('DEFAULT_SPAN_TEXT', " ");
+define('MAX_FILE_SIZE', 600000);
+// helper functions
+// -----------------------------------------------------------------------------
+// get html dom from file
+// $maxlen is defined in the code as PHP_STREAM_COPY_ALL which is defined as -1.
+function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
+{
+	// We DO force the tags to be terminated.
+	$dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
+	// For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
+	$contents = file_get_contents($url, $use_include_path, $context, $offset);
+	// Paperg - use our own mechanism for getting the contents as we want to control the timeout.
+	//$contents = retrieve_url_contents($url);
+	if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
+	{
+		return false;
+	}
+	// The second parameter can force the selectors to all be lowercase.
+	$dom->load($contents, $lowercase, $stripRN);
+	return $dom;
+}
+
+// get html dom from string
+function str_get_html($str, $lowercase=true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
+{
+	$dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
+	if (empty($str) || strlen($str) > MAX_FILE_SIZE)
+	{
+		$dom->clear();
+		return false;
+	}
+	$dom->load($str, $lowercase, $stripRN);
+	return $dom;
+}
+
+// dump html dom tree
+function dump_html_tree($node, $show_attr=true, $deep=0)
+{
+	$node->dump($node);
+}
+
+
+/**
+ * simple html dom node
+ * PaperG - added ability for "find" routine to lowercase the value of the selector.
+ * PaperG - added $tag_start to track the start position of the tag in the total byte index
+ *
+ * @package PlaceLocalInclude
+ */
+class simple_html_dom_node
+{
+	public $nodetype = HDOM_TYPE_TEXT;
+	public $tag = 'text';
+	public $attr = array();
+	public $children = array();
+	public $nodes = array();
+	public $parent = null;
+	// The "info" array - see HDOM_INFO_... for what each element contains.
+	public $_ = array();
+	public $tag_start = 0;
+	private $dom = null;
+
+	function __construct($dom)
+	{
+		$this->dom = $dom;
+		$dom->nodes[] = $this;
+	}
+
+	function __destruct()
+	{
+		$this->clear();
+	}
+
+	function __toString()
+	{
+		return $this->outertext();
+	}
+
+	// clean up memory due to php5 circular references memory leak...
+	function clear()
+	{
+		$this->dom = null;
+		$this->nodes = null;
+		$this->parent = null;
+		$this->children = null;
+	}
+
+	// dump node's tree
+	function dump($show_attr=true, $deep=0)
+	{
+		$lead = str_repeat('	', $deep);
+
+		echo $lead.$this->tag;
+		if ($show_attr && count($this->attr)>0)
+		{
+			echo '(';
+			foreach ($this->attr as $k=>$v)
+				echo "[$k]=>\"".$this->$k.'", ';
+			echo ')';
+		}
+		echo "\n";
+
+		if ($this->nodes)
+		{
+			foreach ($this->nodes as $c)
+			{
+				$c->dump($show_attr, $deep+1);
+			}
+		}
+	}
+
+
+	// Debugging function to dump a single dom node with a bunch of information about it.
+	function dump_node($echo=true)
+	{
+
+		$string = $this->tag;
+		if (count($this->attr)>0)
+		{
+			$string .= '(';
+			foreach ($this->attr as $k=>$v)
+			{
+				$string .= "[$k]=>\"".$this->$k.'", ';
+			}
+			$string .= ')';
+		}
+		if (count($this->_)>0)
+		{
+			$string .= ' $_ (';
+			foreach ($this->_ as $k=>$v)
+			{
+				if (is_array($v))
+				{
+					$string .= "[$k]=>(";
+					foreach ($v as $k2=>$v2)
+					{
+						$string .= "[$k2]=>\"".$v2.'", ';
+					}
+					$string .= ")";
+				} else {
+					$string .= "[$k]=>\"".$v.'", ';
+				}
+			}
+			$string .= ")";
+		}
+
+		if (isset($this->text))
+		{
+			$string .= " text: (" . $this->text . ")";
+		}
+
+		$string .= " HDOM_INNER_INFO: '";
+		if (isset($node->_[HDOM_INFO_INNER]))
+		{
+			$string .= $node->_[HDOM_INFO_INNER] . "'";
+		}
+		else
+		{
+			$string .= ' NULL ';
+		}
+
+		$string .= " children: " . count($this->children);
+		$string .= " nodes: " . count($this->nodes);
+		$string .= " tag_start: " . $this->tag_start;
+		$string .= "\n";
+
+		if ($echo)
+		{
+			echo $string;
+		}
+		return $string;
+	}
+
+	// returns the parent of node
+	// If a node is passed in, it will reset the parent of the current node to that one.
+	function parent($parent=null)
+	{
+		// I am SURE that this doesn't work properly.
+		// It fails to unset the current node from it's current parents nodes or children list first.
+		if ($parent !== null)
+		{
+			$this->parent = $parent;
+			$this->parent->nodes[] = $this;
+			$this->parent->children[] = $this;
+		}
+
+		return $this->parent;
+	}
+
+	// verify that node has children
+	function has_child()
+	{
+		return !empty($this->children);
+	}
+
+	// returns children of node
+	function children($idx=-1)
+	{
+		if ($idx===-1)
+		{
+			return $this->children;
+		}
+		if (isset($this->children[$idx]))
+		{
+			return $this->children[$idx];
+		}
+		return null;
+	}
+
+	// returns the first child of node
+	function first_child()
+	{
+		if (count($this->children)>0)
+		{
+			return $this->children[0];
+		}
+		return null;
+	}
+
+	// returns the last child of node
+	function last_child()
+	{
+		if (($count=count($this->children))>0)
+		{
+			return $this->children[$count-1];
+		}
+		return null;
+	}
+
+	// returns the next sibling of node
+	function next_sibling()
+	{
+		if ($this->parent===null)
+		{
+			return null;
+		}
+
+		$idx = 0;
+		$count = count($this->parent->children);
+		while ($idx<$count && $this!==$this->parent->children[$idx])
+		{
+			++$idx;
+		}
+		if (++$idx>=$count)
+		{
+			return null;
+		}
+		return $this->parent->children[$idx];
+	}
+
+	// returns the previous sibling of node
+	function prev_sibling()
+	{
+		if ($this->parent===null) return null;
+		$idx = 0;
+		$count = count($this->parent->children);
+		while ($idx<$count && $this!==$this->parent->children[$idx])
+			++$idx;
+		if (--$idx<0) return null;
+		return $this->parent->children[$idx];
+	}
+
+	// function to locate a specific ancestor tag in the path to the root.
+	function find_ancestor_tag($tag)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) { $debug_object->debug_log_entry(1); }
+
+		// Start by including ourselves in the comparison.
+		$returnDom = $this;
+
+		while (!is_null($returnDom))
+		{
+			if (is_object($debug_object)) { $debug_object->debug_log(2, "Current tag is: " . $returnDom->tag); }
+
+			if ($returnDom->tag == $tag)
+			{
+				break;
+			}
+			$returnDom = $returnDom->parent;
+		}
+		return $returnDom;
+	}
+
+	// get dom node's inner html
+	function innertext()
+	{
+		if (isset($this->_[HDOM_INFO_INNER])) return $this->_[HDOM_INFO_INNER];
+		if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]);
+
+		$ret = '';
+		foreach ($this->nodes as $n)
+			$ret .= $n->outertext();
+		return $ret;
+	}
+
+	// get dom node's outer text (with tag)
+	function outertext()
+	{
+		global $debug_object;
+		if (is_object($debug_object))
+		{
+			$text = '';
+			if ($this->tag == 'text')
+			{
+				if (!empty($this->text))
+				{
+					$text = " with text: " . $this->text;
+				}
+			}
+			$debug_object->debug_log(1, 'Innertext of tag: ' . $this->tag . $text);
+		}
+
+		if ($this->tag==='root') return $this->innertext();
+
+		// trigger callback
+		if ($this->dom && $this->dom->callback!==null)
+		{
+			call_user_func_array($this->dom->callback, array($this));
+		}
+
+		if (isset($this->_[HDOM_INFO_OUTER])) return $this->_[HDOM_INFO_OUTER];
+		if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]);
+
+		// render begin tag
+		if ($this->dom && $this->dom->nodes[$this->_[HDOM_INFO_BEGIN]])
+		{
+			$ret = $this->dom->nodes[$this->_[HDOM_INFO_BEGIN]]->makeup();
+		} else {
+			$ret = "";
+		}
+
+		// render inner text
+		if (isset($this->_[HDOM_INFO_INNER]))
+		{
+			// If it's a br tag...  don't return the HDOM_INNER_INFO that we may or may not have added.
+			if ($this->tag != "br")
+			{
+				$ret .= $this->_[HDOM_INFO_INNER];
+			}
+		} else {
+			if ($this->nodes)
+			{
+				foreach ($this->nodes as $n)
+				{
+					$ret .= $this->convert_text($n->outertext());
+				}
+			}
+		}
+
+		// render end tag
+		if (isset($this->_[HDOM_INFO_END]) && $this->_[HDOM_INFO_END]!=0)
+			$ret .= '</'.$this->tag.'>';
+		return $ret;
+	}
+
+	// get dom node's plain text
+	function text()
+	{
+		if (isset($this->_[HDOM_INFO_INNER])) return $this->_[HDOM_INFO_INNER];
+		switch ($this->nodetype)
+		{
+			case HDOM_TYPE_TEXT: return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]);
+			case HDOM_TYPE_COMMENT: return '';
+			case HDOM_TYPE_UNKNOWN: return '';
+		}
+		if (strcasecmp($this->tag, 'script')===0) return '';
+		if (strcasecmp($this->tag, 'style')===0) return '';
+
+		$ret = '';
+		// In rare cases, (always node type 1 or HDOM_TYPE_ELEMENT - observed for some span tags, and some p tags) $this->nodes is set to NULL.
+		// NOTE: This indicates that there is a problem where it's set to NULL without a clear happening.
+		// WHY is this happening?
+		if (!is_null($this->nodes))
+		{
+			foreach ($this->nodes as $n)
+			{
+				$ret .= $this->convert_text($n->text());
+			}
+
+			// If this node is a span... add a space at the end of it so multiple spans don't run into each other.  This is plaintext after all.
+			if ($this->tag == "span")
+			{
+				$ret .= $this->dom->default_span_text;
+			}
+
+
+		}
+		return $ret;
+	}
+
+	function xmltext()
+	{
+		$ret = $this->innertext();
+		$ret = str_ireplace('<![CDATA[', '', $ret);
+		$ret = str_replace(']]>', '', $ret);
+		return $ret;
+	}
+
+	// build node's text with tag
+	function makeup()
+	{
+		// text, comment, unknown
+		if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]);
+
+		$ret = '<'.$this->tag;
+		$i = -1;
+
+		foreach ($this->attr as $key=>$val)
+		{
+			++$i;
+
+			// skip removed attribute
+			if ($val===null || $val===false)
+				continue;
+
+			$ret .= $this->_[HDOM_INFO_SPACE][$i][0];
+			//no value attr: nowrap, checked selected...
+			if ($val===true)
+				$ret .= $key;
+			else {
+				switch ($this->_[HDOM_INFO_QUOTE][$i])
+				{
+					case HDOM_QUOTE_DOUBLE: $quote = '"'; break;
+					case HDOM_QUOTE_SINGLE: $quote = '\''; break;
+					default: $quote = '';
+				}
+				$ret .= $key.$this->_[HDOM_INFO_SPACE][$i][1].'='.$this->_[HDOM_INFO_SPACE][$i][2].$quote.$val.$quote;
+			}
+		}
+		$ret = $this->dom->restore_noise($ret);
+		return $ret . $this->_[HDOM_INFO_ENDSPACE] . '>';
+	}
+
+	// find elements by css selector
+	//PaperG - added ability for find to lowercase the value of the selector.
+	function find($selector, $idx=null, $lowercase=false)
+	{
+		$selectors = $this->parse_selector($selector);
+		if (($count=count($selectors))===0) return array();
+		$found_keys = array();
+
+		// find each selector
+		for ($c=0; $c<$count; ++$c)
+		{
+			// The change on the below line was documented on the sourceforge code tracker id 2788009
+			// used to be: if (($levle=count($selectors[0]))===0) return array();
+			if (($levle=count($selectors[$c]))===0) return array();
+			if (!isset($this->_[HDOM_INFO_BEGIN])) return array();
+
+			$head = array($this->_[HDOM_INFO_BEGIN]=>1);
+
+			// handle descendant selectors, no recursive!
+			for ($l=0; $l<$levle; ++$l)
+			{
+				$ret = array();
+				foreach ($head as $k=>$v)
+				{
+					$n = ($k===-1) ? $this->dom->root : $this->dom->nodes[$k];
+					//PaperG - Pass this optional parameter on to the seek function.
+					$n->seek($selectors[$c][$l], $ret, $lowercase);
+				}
+				$head = $ret;
+			}
+
+			foreach ($head as $k=>$v)
+			{
+				if (!isset($found_keys[$k]))
+				{
+					$found_keys[$k] = 1;
+				}
+			}
+		}
+
+		// sort keys
+		ksort($found_keys);
+
+		$found = array();
+		foreach ($found_keys as $k=>$v)
+			$found[] = $this->dom->nodes[$k];
+
+		// return nth-element or array
+		if (is_null($idx)) return $found;
+		else if ($idx<0) $idx = count($found) + $idx;
+		return (isset($found[$idx])) ? $found[$idx] : null;
+	}
+
+	// seek for given conditions
+	// PaperG - added parameter to allow for case insensitive testing of the value of a selector.
+	protected function seek($selector, &$ret, $lowercase=false)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) { $debug_object->debug_log_entry(1); }
+
+		list($tag, $key, $val, $exp, $no_key) = $selector;
+
+		// xpath index
+		if ($tag && $key && is_numeric($key))
+		{
+			$count = 0;
+			foreach ($this->children as $c)
+			{
+				if ($tag==='*' || $tag===$c->tag) {
+					if (++$count==$key) {
+						$ret[$c->_[HDOM_INFO_BEGIN]] = 1;
+						return;
+					}
+				}
+			}
+			return;
+		}
+
+		$end = (!empty($this->_[HDOM_INFO_END])) ? $this->_[HDOM_INFO_END] : 0;
+		if ($end==0) {
+			$parent = $this->parent;
+			while (!isset($parent->_[HDOM_INFO_END]) && $parent!==null) {
+				$end -= 1;
+				$parent = $parent->parent;
+			}
+			$end += $parent->_[HDOM_INFO_END];
+		}
+
+		for ($i=$this->_[HDOM_INFO_BEGIN]+1; $i<$end; ++$i) {
+			$node = $this->dom->nodes[$i];
+
+			$pass = true;
+
+			if ($tag==='*' && !$key) {
+				if (in_array($node, $this->children, true))
+					$ret[$i] = 1;
+				continue;
+			}
+
+			// compare tag
+			if ($tag && $tag!=$node->tag && $tag!=='*') {$pass=false;}
+			// compare key
+			if ($pass && $key) {
+				if ($no_key) {
+					if (isset($node->attr[$key])) $pass=false;
+				} else {
+					if (($key != "plaintext") && !isset($node->attr[$key])) $pass=false;
+				}
+			}
+			// compare value
+			if ($pass && $key && $val  && $val!=='*') {
+				// If they have told us that this is a "plaintext" search then we want the plaintext of the node - right?
+				if ($key == "plaintext") {
+					// $node->plaintext actually returns $node->text();
+					$nodeKeyValue = $node->text();
+				} else {
+					// this is a normal search, we want the value of that attribute of the tag.
+					$nodeKeyValue = $node->attr[$key];
+				}
+				if (is_object($debug_object)) {$debug_object->debug_log(2, "testing node: " . $node->tag . " for attribute: " . $key . $exp . $val . " where nodes value is: " . $nodeKeyValue);}
+
+				//PaperG - If lowercase is set, do a case insensitive test of the value of the selector.
+				if ($lowercase) {
+					$check = $this->match($exp, strtolower($val), strtolower($nodeKeyValue));
+				} else {
+					$check = $this->match($exp, $val, $nodeKeyValue);
+				}
+				if (is_object($debug_object)) {$debug_object->debug_log(2, "after match: " . ($check ? "true" : "false"));}
+
+				// handle multiple class
+				if (!$check && strcasecmp($key, 'class')===0) {
+					foreach (explode(' ',$node->attr[$key]) as $k) {
+						// Without this, there were cases where leading, trailing, or double spaces lead to our comparing blanks - bad form.
+						if (!empty($k)) {
+							if ($lowercase) {
+								$check = $this->match($exp, strtolower($val), strtolower($k));
+							} else {
+								$check = $this->match($exp, $val, $k);
+							}
+							if ($check) break;
+						}
+					}
+				}
+				if (!$check) $pass = false;
+			}
+			if ($pass) $ret[$i] = 1;
+			unset($node);
+		}
+		// It's passed by reference so this is actually what this function returns.
+		if (is_object($debug_object)) {$debug_object->debug_log(1, "EXIT - ret: ", $ret);}
+	}
+
+	protected function match($exp, $pattern, $value) {
+		global $debug_object;
+		if (is_object($debug_object)) {$debug_object->debug_log_entry(1);}
+
+		switch ($exp) {
+			case '=':
+				return ($value===$pattern);
+			case '!=':
+				return ($value!==$pattern);
+			case '^=':
+				return preg_match("/^".preg_quote($pattern,'/')."/", $value);
+			case '$=':
+				return preg_match("/".preg_quote($pattern,'/')."$/", $value);
+			case '*=':
+				if ($pattern[0]=='/') {
+					return preg_match($pattern, $value);
+				}
+				return preg_match("/".$pattern."/i", $value);
+		}
+		return false;
+	}
+
+	protected function parse_selector($selector_string) {
+		global $debug_object;
+		if (is_object($debug_object)) {$debug_object->debug_log_entry(1);}
+
+		// pattern of CSS selectors, modified from mootools
+		// Paperg: Add the colon to the attrbute, so that it properly finds <tag attr:ibute="something" > like google does.
+		// Note: if you try to look at this attribute, yo MUST use getAttribute since $dom->x:y will fail the php syntax check.
+// Notice the \[ starting the attbute?  and the @? following?  This implies that an attribute can begin with an @ sign that is not captured.
+// This implies that an html attribute specifier may start with an @ sign that is NOT captured by the expression.
+// farther study is required to determine of this should be documented or removed.
+//		$pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is";
+		$pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-:]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is";
+		preg_match_all($pattern, trim($selector_string).' ', $matches, PREG_SET_ORDER);
+		if (is_object($debug_object)) {$debug_object->debug_log(2, "Matches Array: ", $matches);}
+
+		$selectors = array();
+		$result = array();
+		//print_r($matches);
+
+		foreach ($matches as $m) {
+			$m[0] = trim($m[0]);
+			if ($m[0]==='' || $m[0]==='/' || $m[0]==='//') continue;
+			// for browser generated xpath
+			if ($m[1]==='tbody') continue;
+
+			list($tag, $key, $val, $exp, $no_key) = array($m[1], null, null, '=', false);
+			if (!empty($m[2])) {$key='id'; $val=$m[2];}
+			if (!empty($m[3])) {$key='class'; $val=$m[3];}
+			if (!empty($m[4])) {$key=$m[4];}
+			if (!empty($m[5])) {$exp=$m[5];}
+			if (!empty($m[6])) {$val=$m[6];}
+
+			// convert to lowercase
+			if ($this->dom->lowercase) {$tag=strtolower($tag); $key=strtolower($key);}
+			//elements that do NOT have the specified attribute
+			if (isset($key[0]) && $key[0]==='!') {$key=substr($key, 1); $no_key=true;}
+
+			$result[] = array($tag, $key, $val, $exp, $no_key);
+			if (trim($m[7])===',') {
+				$selectors[] = $result;
+				$result = array();
+			}
+		}
+		if (count($result)>0)
+			$selectors[] = $result;
+		return $selectors;
+	}
+
+	function __get($name)
+	{
+		if (isset($this->attr[$name]))
+		{
+			return $this->convert_text($this->attr[$name]);
+		}
+		switch ($name)
+		{
+			case 'outertext': return $this->outertext();
+			case 'innertext': return $this->innertext();
+			case 'plaintext': return $this->text();
+			case 'xmltext': return $this->xmltext();
+			default: return array_key_exists($name, $this->attr);
+		}
+	}
+
+	function __set($name, $value)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) {$debug_object->debug_log_entry(1);}
+
+		switch ($name)
+		{
+			case 'outertext': return $this->_[HDOM_INFO_OUTER] = $value;
+			case 'innertext':
+				if (isset($this->_[HDOM_INFO_TEXT])) return $this->_[HDOM_INFO_TEXT] = $value;
+				return $this->_[HDOM_INFO_INNER] = $value;
+		}
+		if (!isset($this->attr[$name]))
+		{
+			$this->_[HDOM_INFO_SPACE][] = array(' ', '', '');
+			$this->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_DOUBLE;
+		}
+		$this->attr[$name] = $value;
+
+		return $value;
+	}
+
+	function __isset($name)
+	{
+		switch ($name)
+		{
+			case 'outertext': return true;
+			case 'innertext': return true;
+			case 'plaintext': return true;
+		}
+		//no value attr: nowrap, checked selected...
+		return (array_key_exists($name, $this->attr)) ? true : isset($this->attr[$name]);
+	}
+
+	function __unset($name) {
+		if (isset($this->attr[$name]))
+			unset($this->attr[$name]);
+	}
+
+	// PaperG - Function to convert the text from one character set to another if the two sets are not the same.
+	function convert_text($text)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) {$debug_object->debug_log_entry(1);}
+
+		$converted_text = $text;
+
+		$sourceCharset = "";
+		$targetCharset = "";
+
+		if ($this->dom)
+		{
+			$sourceCharset = strtoupper($this->dom->_charset);
+			$targetCharset = strtoupper($this->dom->_target_charset);
+		}
+		if (is_object($debug_object)) {$debug_object->debug_log(3, "source charset: " . $sourceCharset . " target charaset: " . $targetCharset);}
+
+		if (!empty($sourceCharset) && !empty($targetCharset) && (strcasecmp($sourceCharset, $targetCharset) != 0))
+		{
+			// Check if the reported encoding could have been incorrect and the text is actually already UTF-8
+			if ((strcasecmp($targetCharset, 'UTF-8') == 0) && ($this->is_utf8($text)))
+			{
+				$converted_text = $text;
+			}
+			else
+			{
+				$converted_text = iconv($sourceCharset, $targetCharset, $text);
+			}
+		}
+
+		// Lets make sure that we don't have that silly BOM issue with any of the utf-8 text we output.
+		if ($targetCharset == 'UTF-8')
+		{
+			if (substr($converted_text, 0, 3) == "\xef\xbb\xbf")
+			{
+				$converted_text = substr($converted_text, 3);
+			}
+			if (substr($converted_text, -3) == "\xef\xbb\xbf")
+			{
+				$converted_text = substr($converted_text, 0, -3);
+			}
+		}
+
+		return $converted_text;
+	}
+
+	/**
+	* Returns true if $string is valid UTF-8 and false otherwise.
+	*
+	* @param mixed $str String to be tested
+	* @return boolean
+	*/
+	static function is_utf8($str)
+	{
+		$c=0; $b=0;
+		$bits=0;
+		$len=strlen($str);
+		for($i=0; $i<$len; $i++)
+		{
+			$c=ord($str[$i]);
+			if($c > 128)
+			{
+				if(($c >= 254)) return false;
+				elseif($c >= 252) $bits=6;
+				elseif($c >= 248) $bits=5;
+				elseif($c >= 240) $bits=4;
+				elseif($c >= 224) $bits=3;
+				elseif($c >= 192) $bits=2;
+				else return false;
+				if(($i+$bits) > $len) return false;
+				while($bits > 1)
+				{
+					$i++;
+					$b=ord($str[$i]);
+					if($b < 128 || $b > 191) return false;
+					$bits--;
+				}
+			}
+		}
+		return true;
+	}
+	/*
+	function is_utf8($string)
+	{
+		//this is buggy
+		return (utf8_encode(utf8_decode($string)) == $string);
+	}
+	*/
+
+	/**
+	 * Function to try a few tricks to determine the displayed size of an img on the page.
+	 * NOTE: This will ONLY work on an IMG tag. Returns FALSE on all other tag types.
+	 *
+	 * @author John Schlick
+	 * @version April 19 2012
+	 * @return array an array containing the 'height' and 'width' of the image on the page or -1 if we can't figure it out.
+	 */
+	function get_display_size()
+	{
+		global $debug_object;
+
+		$width = -1;
+		$height = -1;
+
+		if ($this->tag !== 'img')
+		{
+			return false;
+		}
+
+		// See if there is aheight or width attribute in the tag itself.
+		if (isset($this->attr['width']))
+		{
+			$width = $this->attr['width'];
+		}
+
+		if (isset($this->attr['height']))
+		{
+			$height = $this->attr['height'];
+		}
+
+		// Now look for an inline style.
+		if (isset($this->attr['style']))
+		{
+			// Thanks to user gnarf from stackoverflow for this regular expression.
+			$attributes = array();
+			preg_match_all("/([\w-]+)\s*:\s*([^;]+)\s*;?/", $this->attr['style'], $matches, PREG_SET_ORDER);
+			foreach ($matches as $match) {
+			  $attributes[$match[1]] = $match[2];
+			}
+
+			// If there is a width in the style attributes:
+			if (isset($attributes['width']) && $width == -1)
+			{
+				// check that the last two characters are px (pixels)
+				if (strtolower(substr($attributes['width'], -2)) == 'px')
+				{
+					$proposed_width = substr($attributes['width'], 0, -2);
+					// Now make sure that it's an integer and not something stupid.
+					if (filter_var($proposed_width, FILTER_VALIDATE_INT))
+					{
+						$width = $proposed_width;
+					}
+				}
+			}
+
+			// If there is a width in the style attributes:
+			if (isset($attributes['height']) && $height == -1)
+			{
+				// check that the last two characters are px (pixels)
+				if (strtolower(substr($attributes['height'], -2)) == 'px')
+				{
+					$proposed_height = substr($attributes['height'], 0, -2);
+					// Now make sure that it's an integer and not something stupid.
+					if (filter_var($proposed_height, FILTER_VALIDATE_INT))
+					{
+						$height = $proposed_height;
+					}
+				}
+			}
+
+		}
+
+		// Future enhancement:
+		// Look in the tag to see if there is a class or id specified that has a height or width attribute to it.
+
+		// Far future enhancement
+		// Look at all the parent tags of this image to see if they specify a class or id that has an img selector that specifies a height or width
+		// Note that in this case, the class or id will have the img subselector for it to apply to the image.
+
+		// ridiculously far future development
+		// If the class or id is specified in a SEPARATE css file thats not on the page, go get it and do what we were just doing for the ones on the page.
+
+		$result = array('height' => $height,
+						'width' => $width);
+		return $result;
+	}
+
+	// camel naming conventions
+	function getAllAttributes() {return $this->attr;}
+	function getAttribute($name) {return $this->__get($name);}
+	function setAttribute($name, $value) {$this->__set($name, $value);}
+	function hasAttribute($name) {return $this->__isset($name);}
+	function removeAttribute($name) {$this->__set($name, null);}
+	function getElementById($id) {return $this->find("#$id", 0);}
+	function getElementsById($id, $idx=null) {return $this->find("#$id", $idx);}
+	function getElementByTagName($name) {return $this->find($name, 0);}
+	function getElementsByTagName($name, $idx=null) {return $this->find($name, $idx);}
+	function parentNode() {return $this->parent();}
+	function childNodes($idx=-1) {return $this->children($idx);}
+	function firstChild() {return $this->first_child();}
+	function lastChild() {return $this->last_child();}
+	function nextSibling() {return $this->next_sibling();}
+	function previousSibling() {return $this->prev_sibling();}
+	function hasChildNodes() {return $this->has_child();}
+	function nodeName() {return $this->tag;}
+	function appendChild($node) {$node->parent($this); return $node;}
+
+}
+
+/**
+ * simple html dom parser
+ * Paperg - in the find routine: allow us to specify that we want case insensitive testing of the value of the selector.
+ * Paperg - change $size from protected to public so we can easily access it
+ * Paperg - added ForceTagsClosed in the constructor which tells us whether we trust the html or not.  Default is to NOT trust it.
+ *
+ * @package PlaceLocalInclude
+ */
+class simple_html_dom
+{
+	public $root = null;
+	public $nodes = array();
+	public $callback = null;
+	public $lowercase = false;
+	// Used to keep track of how large the text was when we started.
+	public $original_size;
+	public $size;
+	protected $pos;
+	protected $doc;
+	protected $char;
+	protected $cursor;
+	protected $parent;
+	protected $noise = array();
+	protected $token_blank = " \t\r\n";
+	protected $token_equal = ' =/>';
+	protected $token_slash = " />\r\n\t";
+	protected $token_attr = ' >';
+	// Note that this is referenced by a child node, and so it needs to be public for that node to see this information.
+	public $_charset = '';
+	public $_target_charset = '';
+	protected $default_br_text = "";
+	public $default_span_text = "";
+
+	// use isset instead of in_array, performance boost about 30%...
+	protected $self_closing_tags = array('img'=>1, 'br'=>1, 'input'=>1, 'meta'=>1, 'link'=>1, 'hr'=>1, 'base'=>1, 'embed'=>1, 'spacer'=>1);
+	protected $block_tags = array('root'=>1, 'body'=>1, 'form'=>1, 'div'=>1, 'span'=>1, 'table'=>1);
+	// Known sourceforge issue #2977341
+	// B tags that are not closed cause us to return everything to the end of the document.
+	protected $optional_closing_tags = array(
+		'tr'=>array('tr'=>1, 'td'=>1, 'th'=>1),
+		'th'=>array('th'=>1),
+		'td'=>array('td'=>1),
+		'li'=>array('li'=>1),
+		'dt'=>array('dt'=>1, 'dd'=>1),
+		'dd'=>array('dd'=>1, 'dt'=>1),
+		'dl'=>array('dd'=>1, 'dt'=>1),
+		'p'=>array('p'=>1),
+		'nobr'=>array('nobr'=>1),
+		'b'=>array('b'=>1),
+		'option'=>array('option'=>1),
+	);
+
+	function __construct($str=null, $lowercase=true, $forceTagsClosed=true, $target_charset=DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
+	{
+		if ($str)
+		{
+			if (preg_match("/^http:\/\//i",$str) || is_file($str))
+			{
+				$this->load_file($str);
+			}
+			else
+			{
+				$this->load($str, $lowercase, $stripRN, $defaultBRText, $defaultSpanText);
+			}
+		}
+		// Forcing tags to be closed implies that we don't trust the html, but it can lead to parsing errors if we SHOULD trust the html.
+		if (!$forceTagsClosed) {
+			$this->optional_closing_array=array();
+		}
+		$this->_target_charset = $target_charset;
+	}
+
+	function __destruct()
+	{
+		$this->clear();
+	}
+
+	// load html from string
+	function load($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
+	{
+		global $debug_object;
+
+		// prepare
+		$this->prepare($str, $lowercase, $stripRN, $defaultBRText, $defaultSpanText);
+		// strip out cdata
+		$this->remove_noise("'<!\[CDATA\[(.*?)\]\]>'is", true);
+		// strip out comments
+		$this->remove_noise("'<!--(.*?)-->'is");
+		// Per sourceforge http://sourceforge.net/tracker/?func=detail&aid=2949097&group_id=218559&atid=1044037
+		// Script tags removal now preceeds style tag removal.
+		// strip out <script> tags
+		$this->remove_noise("'<\s*script[^>]*[^/]>(.*?)<\s*/\s*script\s*>'is");
+		$this->remove_noise("'<\s*script\s*>(.*?)<\s*/\s*script\s*>'is");
+		// strip out <style> tags
+		$this->remove_noise("'<\s*style[^>]*[^/]>(.*?)<\s*/\s*style\s*>'is");
+		$this->remove_noise("'<\s*style\s*>(.*?)<\s*/\s*style\s*>'is");
+		// strip out preformatted tags
+		$this->remove_noise("'<\s*(?:code)[^>]*>(.*?)<\s*/\s*(?:code)\s*>'is");
+		// strip out server side scripts
+		$this->remove_noise("'(<\?)(.*?)(\?>)'s", true);
+		// strip smarty scripts
+		$this->remove_noise("'(\{\w)(.*?)(\})'s", true);
+
+		// parsing
+		while ($this->parse());
+		// end
+		$this->root->_[HDOM_INFO_END] = $this->cursor;
+		$this->parse_charset();
+
+		// make load function chainable
+		return $this;
+
+	}
+
+	// load html from file
+	function load_file()
+	{
+		$args = func_get_args();
+		$this->load(call_user_func_array('file_get_contents', $args), true);
+		// Throw an error if we can't properly load the dom.
+		if (($error=error_get_last())!==null) {
+			$this->clear();
+			return false;
+		}
+		return $this;
+	}
+
+	// set callback function
+	function set_callback($function_name)
+	{
+		$this->callback = $function_name;
+	}
+
+	// remove callback function
+	function remove_callback()
+	{
+		$this->callback = null;
+	}
+
+	// save dom as string
+	function save($filepath='')
+	{
+		$ret = $this->root->innertext();
+		if ($filepath!=='') file_put_contents($filepath, $ret, LOCK_EX);
+		return $ret;
+	}
+
+	// find dom node by css selector
+	// Paperg - allow us to specify that we want case insensitive testing of the value of the selector.
+	function find($selector, $idx=null, $lowercase=false)
+	{
+		return $this->root->find($selector, $idx, $lowercase);
+	}
+
+	// clean up memory due to php5 circular references memory leak...
+	function clear()
+	{
+		foreach ($this->nodes as $n) {$n->clear(); $n = null;}
+		// This add next line is documented in the sourceforge repository. 2977248 as a fix for ongoing memory leaks that occur even with the use of clear.
+		if (isset($this->children)) foreach ($this->children as $n) {$n->clear(); $n = null;}
+		if (isset($this->parent)) {$this->parent->clear(); unset($this->parent);}
+		if (isset($this->root)) {$this->root->clear(); unset($this->root);}
+		unset($this->doc);
+		unset($this->noise);
+	}
+
+	function dump($show_attr=true)
+	{
+		$this->root->dump($show_attr);
+	}
+
+	// prepare HTML data and init everything
+	protected function prepare($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
+	{
+		$this->clear();
+
+		// set the length of content before we do anything to it.
+		$this->size = strlen($str);
+		// Save the original size of the html that we got in.  It might be useful to someone.
+		$this->original_size = $this->size;
+
+		//before we save the string as the doc...  strip out the \r \n's if we are told to.
+		if ($stripRN) {
+			$str = str_replace("\r", " ", $str);
+			$str = str_replace("\n", " ", $str);
+
+			// set the length of content since we have changed it.
+			$this->size = strlen($str);
+		}
+
+		$this->doc = $str;
+		$this->pos = 0;
+		$this->cursor = 1;
+		$this->noise = array();
+		$this->nodes = array();
+		$this->lowercase = $lowercase;
+		$this->default_br_text = $defaultBRText;
+		$this->default_span_text = $defaultSpanText;
+		$this->root = new simple_html_dom_node($this);
+		$this->root->tag = 'root';
+		$this->root->_[HDOM_INFO_BEGIN] = -1;
+		$this->root->nodetype = HDOM_TYPE_ROOT;
+		$this->parent = $this->root;
+		if ($this->size>0) $this->char = $this->doc[0];
+	}
+
+	// parse html content
+	protected function parse()
+	{
+		if (($s = $this->copy_until_char('<'))==='')
+		{
+			return $this->read_tag();
+		}
+
+		// text
+		$node = new simple_html_dom_node($this);
+		++$this->cursor;
+		$node->_[HDOM_INFO_TEXT] = $s;
+		$this->link_nodes($node, false);
+		return true;
+	}
+
+	// PAPERG - dkchou - added this to try to identify the character set of the page we have just parsed so we know better how to spit it out later.
+	// NOTE:  IF you provide a routine called get_last_retrieve_url_contents_content_type which returns the CURLINFO_CONTENT_TYPE from the last curl_exec
+	// (or the content_type header from the last transfer), we will parse THAT, and if a charset is specified, we will use it over any other mechanism.
+	protected function parse_charset()
+	{
+		global $debug_object;
+
+		$charset = null;
+
+		if (function_exists('get_last_retrieve_url_contents_content_type'))
+		{
+			$contentTypeHeader = get_last_retrieve_url_contents_content_type();
+			$success = preg_match('/charset=(.+)/', $contentTypeHeader, $matches);
+			if ($success)
+			{
+				$charset = $matches[1];
+				if (is_object($debug_object)) {$debug_object->debug_log(2, 'header content-type found charset of: ' . $charset);}
+			}
+
+		}
+
+		if (empty($charset))
+		{
+			$el = $this->root->find('meta[http-equiv=Content-Type]',0);
+			if (!empty($el))
+			{
+				$fullvalue = $el->content;
+				if (is_object($debug_object)) {$debug_object->debug_log(2, 'meta content-type tag found' . $fullvalue);}
+
+				if (!empty($fullvalue))
+				{
+					$success = preg_match('/charset=(.+)/', $fullvalue, $matches);
+					if ($success)
+					{
+						$charset = $matches[1];
+					}
+					else
+					{
+						// If there is a meta tag, and they don't specify the character set, research says that it's typically ISO-8859-1
+						if (is_object($debug_object)) {$debug_object->debug_log(2, 'meta content-type tag couldn\'t be parsed. using iso-8859 default.');}
+						$charset = 'ISO-8859-1';
+					}
+				}
+			}
+		}
+
+		// If we couldn't find a charset above, then lets try to detect one based on the text we got...
+		if (empty($charset))
+		{
+			// Use this in case mb_detect_charset isn't installed/loaded on this machine.
+			$charset = false;
+			if (function_exists('mb_detect_encoding'))
+			{
+				// Have php try to detect the encoding from the text given to us.
+				$charset = mb_detect_encoding($this->root->plaintext . "ascii", $encoding_list = array( "UTF-8", "CP1252" ) );
+				if (is_object($debug_object)) {$debug_object->debug_log(2, 'mb_detect found: ' . $charset);}
+			}
+
+			// and if this doesn't work...  then we need to just wrongheadedly assume it's UTF-8 so that we can move on - cause this will usually give us most of what we need...
+			if ($charset === false)
+			{
+				if (is_object($debug_object)) {$debug_object->debug_log(2, 'since mb_detect failed - using default of utf-8');}
+				$charset = 'UTF-8';
+			}
+		}
+
+		// Since CP1252 is a superset, if we get one of it's subsets, we want it instead.
+		if ((strtolower($charset) == strtolower('ISO-8859-1')) || (strtolower($charset) == strtolower('Latin1')) || (strtolower($charset) == strtolower('Latin-1')))
+		{
+			if (is_object($debug_object)) {$debug_object->debug_log(2, 'replacing ' . $charset . ' with CP1252 as its a superset');}
+			$charset = 'CP1252';
+		}
+
+		if (is_object($debug_object)) {$debug_object->debug_log(1, 'EXIT - ' . $charset);}
+
+		return $this->_charset = $charset;
+	}
+
+	// read tag info
+	protected function read_tag()
+	{
+		if ($this->char!=='<')
+		{
+			$this->root->_[HDOM_INFO_END] = $this->cursor;
+			return false;
+		}
+		$begin_tag_pos = $this->pos;
+		$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+
+		// end tag
+		if ($this->char==='/')
+		{
+			$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+			// This represents the change in the simple_html_dom trunk from revision 180 to 181.
+			// $this->skip($this->token_blank_t);
+			$this->skip($this->token_blank);
+			$tag = $this->copy_until_char('>');
+
+			// skip attributes in end tag
+			if (($pos = strpos($tag, ' '))!==false)
+				$tag = substr($tag, 0, $pos);
+
+			$parent_lower = strtolower($this->parent->tag);
+			$tag_lower = strtolower($tag);
+
+			if ($parent_lower!==$tag_lower)
+			{
+				if (isset($this->optional_closing_tags[$parent_lower]) && isset($this->block_tags[$tag_lower]))
+				{
+					$this->parent->_[HDOM_INFO_END] = 0;
+					$org_parent = $this->parent;
+
+					while (($this->parent->parent) && strtolower($this->parent->tag)!==$tag_lower)
+						$this->parent = $this->parent->parent;
+
+					if (strtolower($this->parent->tag)!==$tag_lower) {
+						$this->parent = $org_parent; // restore origonal parent
+						if ($this->parent->parent) $this->parent = $this->parent->parent;
+						$this->parent->_[HDOM_INFO_END] = $this->cursor;
+						return $this->as_text_node($tag);
+					}
+				}
+				else if (($this->parent->parent) && isset($this->block_tags[$tag_lower]))
+				{
+					$this->parent->_[HDOM_INFO_END] = 0;
+					$org_parent = $this->parent;
+
+					while (($this->parent->parent) && strtolower($this->parent->tag)!==$tag_lower)
+						$this->parent = $this->parent->parent;
+
+					if (strtolower($this->parent->tag)!==$tag_lower)
+					{
+						$this->parent = $org_parent; // restore origonal parent
+						$this->parent->_[HDOM_INFO_END] = $this->cursor;
+						return $this->as_text_node($tag);
+					}
+				}
+				else if (($this->parent->parent) && strtolower($this->parent->parent->tag)===$tag_lower)
+				{
+					$this->parent->_[HDOM_INFO_END] = 0;
+					$this->parent = $this->parent->parent;
+				}
+				else
+					return $this->as_text_node($tag);
+			}
+
+			$this->parent->_[HDOM_INFO_END] = $this->cursor;
+			if ($this->parent->parent) $this->parent = $this->parent->parent;
+
+			$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+			return true;
+		}
+
+		$node = new simple_html_dom_node($this);
+		$node->_[HDOM_INFO_BEGIN] = $this->cursor;
+		++$this->cursor;
+		$tag = $this->copy_until($this->token_slash);
+		$node->tag_start = $begin_tag_pos;
+
+		// doctype, cdata & comments...
+		if (isset($tag[0]) && $tag[0]==='!') {
+			$node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until_char('>');
+
+			if (isset($tag[2]) && $tag[1]==='-' && $tag[2]==='-') {
+				$node->nodetype = HDOM_TYPE_COMMENT;
+				$node->tag = 'comment';
+			} else {
+				$node->nodetype = HDOM_TYPE_UNKNOWN;
+				$node->tag = 'unknown';
+			}
+			if ($this->char==='>') $node->_[HDOM_INFO_TEXT].='>';
+			$this->link_nodes($node, true);
+			$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+			return true;
+		}
+
+		// text
+		if ($pos=strpos($tag, '<')!==false) {
+			$tag = '<' . substr($tag, 0, -1);
+			$node->_[HDOM_INFO_TEXT] = $tag;
+			$this->link_nodes($node, false);
+			$this->char = $this->doc[--$this->pos]; // prev
+			return true;
+		}
+
+		if (!preg_match("/^[\w-:]+$/", $tag)) {
+			$node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until('<>');
+			if ($this->char==='<') {
+				$this->link_nodes($node, false);
+				return true;
+			}
+
+			if ($this->char==='>') $node->_[HDOM_INFO_TEXT].='>';
+			$this->link_nodes($node, false);
+			$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+			return true;
+		}
+
+		// begin tag
+		$node->nodetype = HDOM_TYPE_ELEMENT;
+		$tag_lower = strtolower($tag);
+		$node->tag = ($this->lowercase) ? $tag_lower : $tag;
+
+		// handle optional closing tags
+		if (isset($this->optional_closing_tags[$tag_lower]) )
+		{
+			while (isset($this->optional_closing_tags[$tag_lower][strtolower($this->parent->tag)]))
+			{
+				$this->parent->_[HDOM_INFO_END] = 0;
+				$this->parent = $this->parent->parent;
+			}
+			$node->parent = $this->parent;
+		}
+
+		$guard = 0; // prevent infinity loop
+		$space = array($this->copy_skip($this->token_blank), '', '');
+
+		// attributes
+		do
+		{
+			if ($this->char!==null && $space[0]==='')
+			{
+				break;
+			}
+			$name = $this->copy_until($this->token_equal);
+			if ($guard===$this->pos)
+			{
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				continue;
+			}
+			$guard = $this->pos;
+
+			// handle endless '<'
+			if ($this->pos>=$this->size-1 && $this->char!=='>') {
+				$node->nodetype = HDOM_TYPE_TEXT;
+				$node->_[HDOM_INFO_END] = 0;
+				$node->_[HDOM_INFO_TEXT] = '<'.$tag . $space[0] . $name;
+				$node->tag = 'text';
+				$this->link_nodes($node, false);
+				return true;
+			}
+
+			// handle mismatch '<'
+			if ($this->doc[$this->pos-1]=='<') {
+				$node->nodetype = HDOM_TYPE_TEXT;
+				$node->tag = 'text';
+				$node->attr = array();
+				$node->_[HDOM_INFO_END] = 0;
+				$node->_[HDOM_INFO_TEXT] = substr($this->doc, $begin_tag_pos, $this->pos-$begin_tag_pos-1);
+				$this->pos -= 2;
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				$this->link_nodes($node, false);
+				return true;
+			}
+
+			if ($name!=='/' && $name!=='') {
+				$space[1] = $this->copy_skip($this->token_blank);
+				$name = $this->restore_noise($name);
+				if ($this->lowercase) $name = strtolower($name);
+				if ($this->char==='=') {
+					$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+					$this->parse_attr($node, $name, $space);
+				}
+				else {
+					//no value attr: nowrap, checked selected...
+					$node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_NO;
+					$node->attr[$name] = true;
+					if ($this->char!='>') $this->char = $this->doc[--$this->pos]; // prev
+				}
+				$node->_[HDOM_INFO_SPACE][] = $space;
+				$space = array($this->copy_skip($this->token_blank), '', '');
+			}
+			else
+				break;
+		} while ($this->char!=='>' && $this->char!=='/');
+
+		$this->link_nodes($node, true);
+		$node->_[HDOM_INFO_ENDSPACE] = $space[0];
+
+		// check self closing
+		if ($this->copy_until_char_escape('>')==='/')
+		{
+			$node->_[HDOM_INFO_ENDSPACE] .= '/';
+			$node->_[HDOM_INFO_END] = 0;
+		}
+		else
+		{
+			// reset parent
+			if (!isset($this->self_closing_tags[strtolower($node->tag)])) $this->parent = $node;
+		}
+		$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+
+		// If it's a BR tag, we need to set it's text to the default text.
+		// This way when we see it in plaintext, we can generate formatting that the user wants.
+		// since a br tag never has sub nodes, this works well.
+		if ($node->tag == "br")
+		{
+			$node->_[HDOM_INFO_INNER] = $this->default_br_text;
+		}
+
+		return true;
+	}
+
+	// parse attributes
+	protected function parse_attr($node, $name, &$space)
+	{
+		// Per sourceforge: http://sourceforge.net/tracker/?func=detail&aid=3061408&group_id=218559&atid=1044037
+		// If the attribute is already defined inside a tag, only pay atetntion to the first one as opposed to the last one.
+		if (isset($node->attr[$name]))
+		{
+			return;
+		}
+
+		$space[2] = $this->copy_skip($this->token_blank);
+		switch ($this->char) {
+			case '"':
+				$node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_DOUBLE;
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				$node->attr[$name] = $this->restore_noise($this->copy_until_char_escape('"'));
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				break;
+			case '\'':
+				$node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_SINGLE;
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				$node->attr[$name] = $this->restore_noise($this->copy_until_char_escape('\''));
+				$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+				break;
+			default:
+				$node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_NO;
+				$node->attr[$name] = $this->restore_noise($this->copy_until($this->token_attr));
+		}
+		// PaperG: Attributes should not have \r or \n in them, that counts as html whitespace.
+		$node->attr[$name] = str_replace("\r", "", $node->attr[$name]);
+		$node->attr[$name] = str_replace("\n", "", $node->attr[$name]);
+		// PaperG: If this is a "class" selector, lets get rid of the preceeding and trailing space since some people leave it in the multi class case.
+		if ($name == "class") {
+			$node->attr[$name] = trim($node->attr[$name]);
+		}
+	}
+
+	// link node's parent
+	protected function link_nodes(&$node, $is_child)
+	{
+		$node->parent = $this->parent;
+		$this->parent->nodes[] = $node;
+		if ($is_child)
+		{
+			$this->parent->children[] = $node;
+		}
+	}
+
+	// as a text node
+	protected function as_text_node($tag)
+	{
+		$node = new simple_html_dom_node($this);
+		++$this->cursor;
+		$node->_[HDOM_INFO_TEXT] = '</' . $tag . '>';
+		$this->link_nodes($node, false);
+		$this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+		return true;
+	}
+
+	protected function skip($chars)
+	{
+		$this->pos += strspn($this->doc, $chars, $this->pos);
+		$this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+	}
+
+	protected function copy_skip($chars)
+	{
+		$pos = $this->pos;
+		$len = strspn($this->doc, $chars, $pos);
+		$this->pos += $len;
+		$this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+		if ($len===0) return '';
+		return substr($this->doc, $pos, $len);
+	}
+
+	protected function copy_until($chars)
+	{
+		$pos = $this->pos;
+		$len = strcspn($this->doc, $chars, $pos);
+		$this->pos += $len;
+		$this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next
+		return substr($this->doc, $pos, $len);
+	}
+
+	protected function copy_until_char($char)
+	{
+		if ($this->char===null) return '';
+
+		if (($pos = strpos($this->doc, $char, $this->pos))===false) {
+			$ret = substr($this->doc, $this->pos, $this->size-$this->pos);
+			$this->char = null;
+			$this->pos = $this->size;
+			return $ret;
+		}
+
+		if ($pos===$this->pos) return '';
+		$pos_old = $this->pos;
+		$this->char = $this->doc[$pos];
+		$this->pos = $pos;
+		return substr($this->doc, $pos_old, $pos-$pos_old);
+	}
+
+	protected function copy_until_char_escape($char)
+	{
+		if ($this->char===null) return '';
+
+		$start = $this->pos;
+		while (1)
+		{
+			if (($pos = strpos($this->doc, $char, $start))===false)
+			{
+				$ret = substr($this->doc, $this->pos, $this->size-$this->pos);
+				$this->char = null;
+				$this->pos = $this->size;
+				return $ret;
+			}
+
+			if ($pos===$this->pos) return '';
+
+			if ($this->doc[$pos-1]==='\\') {
+				$start = $pos+1;
+				continue;
+			}
+
+			$pos_old = $this->pos;
+			$this->char = $this->doc[$pos];
+			$this->pos = $pos;
+			return substr($this->doc, $pos_old, $pos-$pos_old);
+		}
+		return '';
+	}
+
+	// remove noise from html content
+	// save the noise in the $this->noise array.
+	protected function remove_noise($pattern, $remove_tag=false)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) { $debug_object->debug_log_entry(1); }
+
+		$count = preg_match_all($pattern, $this->doc, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE);
+
+		for ($i=$count-1; $i>-1; --$i)
+		{
+			$key = '___noise___'.sprintf('% 5d', count($this->noise)+1000);
+			if (is_object($debug_object)) { $debug_object->debug_log(2, 'key is: ' . $key); }
+			$idx = ($remove_tag) ? 0 : 1;
+			$this->noise[$key] = $matches[$i][$idx][0];
+			$this->doc = substr_replace($this->doc, $key, $matches[$i][$idx][1], strlen($matches[$i][$idx][0]));
+		}
+
+		// reset the length of content
+		$this->size = strlen($this->doc);
+		if ($this->size>0)
+		{
+			$this->char = $this->doc[0];
+		}
+	}
+
+	// restore noise to html content
+	function restore_noise($text)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) { $debug_object->debug_log_entry(1); }
+
+		while (($pos=strpos($text, '___noise___'))!==false)
+		{
+			// Sometimes there is a broken piece of markup, and we don't GET the pos+11 etc... token which indicates a problem outside of us...
+			if (strlen($text) > $pos+15)
+			{
+				$key = '___noise___'.$text[$pos+11].$text[$pos+12].$text[$pos+13].$text[$pos+14].$text[$pos+15];
+				if (is_object($debug_object)) { $debug_object->debug_log(2, 'located key of: ' . $key); }
+
+				if (isset($this->noise[$key]))
+				{
+					$text = substr($text, 0, $pos).$this->noise[$key].substr($text, $pos+16);
+				}
+				else
+				{
+					// do this to prevent an infinite loop.
+					$text = substr($text, 0, $pos).'UNDEFINED NOISE FOR KEY: '.$key . substr($text, $pos+16);
+				}
+			}
+			else
+			{
+				// There is no valid key being given back to us... We must get rid of the ___noise___ or we will have a problem.
+				$text = substr($text, 0, $pos).'NO NUMERIC NOISE KEY' . substr($text, $pos+11);
+			}
+		}
+		return $text;
+	}
+
+	// Sometimes we NEED one of the noise elements.
+	function search_noise($text)
+	{
+		global $debug_object;
+		if (is_object($debug_object)) { $debug_object->debug_log_entry(1); }
+
+		foreach($this->noise as $noiseElement)
+		{
+			if (strpos($noiseElement, $text)!==false)
+			{
+				return $noiseElement;
+			}
+		}
+		return NULL;
+	}
+	function __toString()
+	{
+		return $this->root->innertext();
+	}
+
+	function __get($name)
+	{
+		switch ($name)
+		{
+			case 'outertext':
+				return $this->root->innertext();
+			case 'innertext':
+				return $this->root->innertext();
+			case 'plaintext':
+				return $this->root->text();
+			case 'charset':
+				return $this->_charset;
+			case 'target_charset':
+				return $this->_target_charset;
+		}
+		return '';
+	}
+
+	// camel naming conventions
+	function childNodes($idx=-1) {return $this->root->childNodes($idx);}
+	function firstChild() {return $this->root->first_child();}
+	function lastChild() {return $this->root->last_child();}
+	function createElement($name, $value=null) {return @str_get_html("<$name>$value</$name>")->first_child();}
+	function createTextNode($value) {return @end(str_get_html($value)->nodes);}
+	function getElementById($id) {return $this->find("#$id", 0);}
+	function getElementsById($id, $idx=null) {return $this->find("#$id", $idx);}
+	function getElementByTagName($name) {return $this->find($name, 0);}
+	function getElementsByTagName($name, $idx=-1) {return $this->find($name, $idx);}
+	function loadFile() {$args = func_get_args();$this->load_file($args);}
+}
\ No newline at end of file
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 fb7a0fc0b02359fc4431510c334dc71e6d72fa97..4a1e5ea7c6c69dc934cdfbc86108e6d7e6920b90 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",
-            '0.6',
+            '3.0.0',
             '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/validation/module.validation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php
index 2f598a9020e9165328f1eae7e7d8bdfa784d3527..8772d81a1089d32fd9c666da891752aaeeac5675 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php
@@ -14,7 +14,7 @@ class M_Validation extends C_Base_Module
 			'photocrati-validation',
 			'Validation',
 			'Provides validation support for objects',
-			'0.2',
+			'3.0.0',
 			'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/widget/module.widget.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php
index 32f9a4c5ff898d522d9d2916a9446a23788818f5..391d861b0eec0127ef40642d08e04126c1e8d00c 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php
@@ -17,7 +17,7 @@ class M_Widget extends C_Base_Module
             'photocrati-widget',
             'Widget',
             'Handles clearing of NextGen Widgets',
-            '0.6',
+            '3.0.0',
             '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/widget/package.module.widget.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/package.module.widget.php
index 38feb1ed5871bc2710cf3e44887af0e90255c1a5..cd7e84799b4b61697014991c5a15e4c03d7c106b 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/package.module.widget.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/package.module.widget.php
@@ -33,6 +33,7 @@ class Mixin_Widget extends Mixin
         $options = array('title' => FALSE, 'items' => $number, 'show' => $show, 'type' => 'random', 'width' => $width, 'height' => $height, 'exclude' => $exclude, 'list' => $list, 'webslice' => FALSE);
         $widget = new C_Widget_Gallery();
         $widget->widget($args = array('widget_id' => 'sidebar_1'), $options);
+        return $widget;
     }
     /**
      * Function for templates without widget support
@@ -44,6 +45,7 @@ class Mixin_Widget extends Mixin
         $options = array('title' => FALSE, 'items' => $number, 'show' => $show, 'type' => 'recent', 'width' => $width, 'height' => $height, 'exclude' => $exclude, 'list' => $list, 'webslice' => FALSE);
         $widget = new C_Widget_Gallery();
         $widget->widget($args = array('widget_id' => 'sidebar_1'), $options);
+        return $widget;
     }
     /**
      * Function for templates without widget support
@@ -57,6 +59,7 @@ class Mixin_Widget extends Mixin
     {
         $widget = new C_Widget_Slideshow();
         $widget->render_slideshow($galleryID, $width, $height);
+        return $widget;
     }
 }
 class C_Widget_Gallery extends WP_Widget
diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.min.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.min.css
index c2e4fd238989d424ae0f3f0a4f89965b1e3f1dac..a25d3062a0ac76af3ee1e4e816ecf3385f9bb039 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.min.css
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.min.css
@@ -1 +1 @@
-.ngg-widget,.ngg-widget-slideshow{overflow:hidden;margin:0;padding:5px 0 0;text-align:left}.ngg-widget img{border:2px solid #A9A9A9;margin:0 2px 2px 0;padding:1px;height:auto;float:left}
\ No newline at end of file
+.ngg-widget,.ngg-widget-slideshow{overflow:hidden;margin:0;padding:5px 0 0 0;text-align:left}.ngg-widget img{border:2px solid #a9a9a9;margin:0 2px 2px 0;padding:1px;height:auto;float:left}
\ No newline at end of file
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 ef32e554d0db334e6580acbe86ecb2beca51537a..842bc1214c2055bfc2b32c044f34831849b09cc1 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",
-			'0.8',
+			'3.0.0',
 			'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/wpcli/module.wpcli.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wpcli/module.wpcli.php
index ad56e770eb8e709ec3fcf604e3d94d7d689840e0..2dda3d22381ab2f3a4f012189060b0e1727c208a 100644
--- a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wpcli/module.wpcli.php
+++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wpcli/module.wpcli.php
@@ -15,7 +15,7 @@ class M_WPCLI extends C_Base_Module
             'photocrati-wpcli',
             'WP-CLI Integration',
             "Provides additional commands for WP-CLI (https://github.com/wp-cli/wp-cli",
-            '0.2',
+            '3.0.0',
             '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/product.photocrati_nextgen.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php
index 3a97ed15ddf6d7195ba6e728ecad1b52fddd3ef9..7c00321492495e9b243b3fdf9c3792dc48b5747f 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
@@ -22,6 +22,7 @@ class P_Photocrati_NextGen extends C_Base_Product
 		'photocrati-ajax'                       =>  'always',
 		'photocrati-datamapper'                 =>  'always',
 		'photocrati-nextgen-legacy'             =>  'always',
+		'photocrati-simple_html_dom'            =>  'always',
 		'photocrati-nextgen-data'               =>  'always',
 
 		// We should look at how to make the modules below only
@@ -52,7 +53,8 @@ class P_Photocrati_NextGen extends C_Base_Product
 		'photocrati-widget'                     =>  'always',
 		'photocrati-third_party_compat'         =>  'always',
 		'photocrati-nextgen_xmlrpc'             =>  'always',
-		'photocrati-wpcli'                      =>  'always'
+		'photocrati-wpcli'                      =>  'always',
+        'photocrati-imagify'                    =>  'backend'
 	);
 
 	function get_modules_provided()
diff --git a/wp-content/plugins/nextgen-gallery/readme.txt b/wp-content/plugins/nextgen-gallery/readme.txt
index 91a6ef4b550098d1ffa588ee4ba11ea02b9f5c09..f22497b65a879a29a8aca938c12b7b14965d8995 100644
--- a/wp-content/plugins/nextgen-gallery/readme.txt
+++ b/wp-content/plugins/nextgen-gallery/readme.txt
@@ -1,12 +1,12 @@
-=== NextGEN Gallery - WordPress Gallery Plugin ===
+=== WordPress Gallery Plugin - NextGEN Gallery ===
 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: 2.2.33
-Tested up to: 4.9.1
+Stable tag: 3.0.1
+Tested up to: 4.9.5
 License: GPLv2
 
-The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 18 million downloads.
+The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 21 million downloads.
 
 == Description ==
 
@@ -16,19 +16,21 @@ 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 display 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.
+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>
 
-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
 
-**Demos**<br>
-*<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-thumbnail-gallery/" target="_blank">Basic Thumbnail Gallery Demo</a><br>
-*<a href="https://www.imagely.com/wordpress-gallery-plugin/basic-slideshow-gallery/" target="_blank">Basic Slideshow Gallery Demo</a><br>
+**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-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>
 
-**Demos**<br>
+https://www.youtube.com/embed/zmA-b_jiXN0
+
+**NEXTGEN PRO DEMOS**<br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-mosaic-gallery/" target="_blank">Pro Mosaic Gallery</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-masonry-gallery/" target="_blank">Pro Masonry Gallery</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-filmstrip-gallery/" target="_blank">Pro Filmstrip Gallery</a><br>
@@ -38,13 +40,13 @@ Learn more about <a href="https://www.imagely.com/wordpress-gallery-plugin/" tar
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-blogstyle-gallery/" target="_blank">Pro Blog Style Gallery</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-grid-album/" target="_blank">Pro Grid Albums</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-list-album/" target="_blank">Pro List Album</a><br>
-*<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-lightbox-demo/" target="_blank">Pro Lightbox Demo</a> (full screen and responsive with commenting, social sharing, and deep linking for individual images)<br>
+*<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-lightbox-demo/" target="_blank">Pro Lightbox Demo</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-proofing-demo/" target="_blank">Pro Proofing Demo</a><br>
 *<a href="https://www.imagely.com/wordpress-gallery-plugin/pro-ecommerce-demo/" target="_blank">Pro Ecommerce Demo</a><br>
 
 = 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 Genesis WordPress themes for photographers, provide managed WordPress hosting for photographers, and run the WordPress Photography Podcast.
+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.
 
 Learn more or connect with us:<br>
 *<a href="https://www.imagely.com/" target="_blank">Imagely Website</a><br>
@@ -59,7 +61,7 @@ Learn more or connect with us:<br>
 == Credits ==
 
 Copyright:<br>
-Imagely 2016
+Imagely 2016-2018
 Photocrati Media 2012-2016<br>
 Alex Rabe 2007-2011
 
@@ -71,9 +73,9 @@ You should have received a copy of the GNU General Public License along with thi
 
 == 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. You can also download the zip file from this page and upload it from the Plugins >> Add New > Upload page.
+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. From our Insert Gallery Window, you can create, manage, customize, and display your 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 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.
 
 DOCUMENTATION: See <a href="https://www.imagely.com/docs/nextgen-gallery/" target="_blank">NextGEN Gallery Documentation</a>.
 
@@ -83,23 +85,17 @@ https://www.youtube.com/watch?v=qwNr5ZNGavo
 
 == Screenshots ==
 
-1. NextGEN Thumbnail Gallery
-2. NextGEN Slideshow Gallery
-3. NextGEN Imagebrowser Gallery
-4. NextGEN Central Gallery Settings Page
-5. NextGEN Other Options Page - Watermarking
-6. NextGEN Manage Gallery Page - Edit Thumbnails
-7. NextGEN Manage Gallery Page - Edit Image Tags
-8. NextGEN Interface for Adding Galleries to a Page or Post
-9. NextGEN NextGEN Placeholder Image When Editing a Page or Post
+1. Thumbnail Gallery
+2. Slideshow Gallery
+3. Manage Gallery Page
+4. Insert Gallery Window
+5. Gallery Settings Page
 
 == Shortcode ==
 
-NextGEN Gallery 2.x introduces our new Insert Gallery Window, which means you never need to work with shortcodes again if you would prefer not too.
-
-If you do want to work with shortcodes, we've also introduce a new, more powerful, and more flexible shortcode system with NextGEN Gallery 2.0.
+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.
 
-**<a href="https://www.imagely.com/docs/nextgen-gallery-shortcodes/">Learn About NextGEN Gallery Shortcodes</a>**
+If you do want to work with shortcodes, there is a powerful shortcode system as you'd expect of a popular WordPress gallery plugin. <a href="https://www.imagely.com/docs/nextgen-gallery-shortcodes/">Learn About NextGEN Gallery Shortcodes</a>.
 
 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>.
 
@@ -115,24 +111,24 @@ This is often due to the URL paths to the CSS and JavaScript files used by the L
 
 Yes. See <a href="https://www.imagely.com/docs/nextgen-gallery/" target="_blank">NextGEN Gallery Documentation</a>.
 
-= Will NextGEN Gallery work with my theme? =
+= Will this gallery plugin work with my theme? =
 
-Part of what makes the NextGEN Gallery WordPress gallery plugin so popular is its flexibility - it works with the vast majority of premium and free themes, without requiring any coding.
+Yup, NextGEN is a popular and well-established WordPress gallery plugin, and has been for a long time. It will work well with most other themes and plugins in the WordPress ecosystem.
 
 
 = Are the photo galleries flash based? =
 
-No, NextGEN Gallery uses Javascript and jQuery based displays to ensure compatibility across the widest range of displays possible.
+Nope, we use no flash elements. 
 
 
 = Are the galleries mobile friendly? =
 
-Yes, since we use Javascript rather than flash, NextGEN Gallery is compatible with Android, iOS, and Blackberry. As of July 2013, all photo galleries are responsive. NextGEN Pro also includes a full screen, responsive Pro Lightbox with mobile gesture support.
+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.
 
 
 = What is the difference between a gallery and an album? =
 
-In the simplest of terms, Galleries contain your photos and Albums contain your Galleries. Albums act as links and placeholders to quickly and easily navigate your galleries - Galleries will actually display your images.
+In simple terms, Albums are collections of galleries. So Galleries contain your photos and Albums contain your Galleries. Albums act as links and placeholders to quickly and easily navigate your galleries. Galleries will actually display your images.
 
 
 = Can I upload multiple images at once? =
@@ -145,27 +141,27 @@ Yes, you can batch upload entire photo galleries at one time.
 Yes, WordPress allows you to password protect pages by default - which includes all photo galleries and content for the entire page. Password protection of pages can be turned on and off at any time, with just a few clicks.
 
 
-= Can I add a watermark to the photos/slideshows? =
+= Can I add a watermark to the my photos? =
 
 Yes, you can add text or image watermarks to your gallery images.
 
 
-= Can I crop thumbnails? =
+= Can I crop photo thumbnails? =
 
 Yes, each thumbnail image can be individually adjusted to suit your needs.
 
 
 = Is there pagination for photo galleries? =
 
-Yes, and you can adjust the amount of images to be shown on a page at any time.
+Yes, you can use pagination when displaying thumbnail galleries. And you can adjust the amount of photos to be shown on a page at any time.
 
 
 = Can I customize the lightbox? =
 
-Yes, the lightbox can be configured with multiple options directly from the Dashboard, and there are multiple CSS styles which can be applied and modified as well.
+Yes, the lightbox can be configured with multiple options directly from the Dashboard, and there are multiple CSS styles which can be applied and modified as well. If you want even more options, consider upgrading to NextGEN Pro and useing the NextGEN Pro lightbox. 
 
 
-= Can I add HTML to the captions? =
+= Can I add HTML to photo captions? =
 
 Yes, caption areas are fully HMTL capable.
 
@@ -177,7 +173,7 @@ Since the captions are fully HTML capable, you can add external links and any ot
 
 = Is NextGEN Gallery available in foreign languages? =
 
-Yes, the NextGEN Gallery WordPress gallery plugin has been translated into dozens of languages - <a href="https://www.imagely.com/languages/" target="_blank">click here to find out more.</a>
+Yes, our WordPress gallery plugin has been translated into dozens of languages - <a href="https://www.imagely.com/languages/" target="_blank">click here to find out more.</a>
 
 
 = More Information =
@@ -187,11 +183,48 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 == Changelog ==
 
-= V2.2.33 - 12.24.2017
-* Fixed:   Certain image attributes were not being validated correctly
-
-= V2.2.30 - 12.13.2017
+= V3.0.1 - 05.17.2018 =
+* Fixed:   Prevent caching of display_tab.js which can break the IGW
+
+= V3.0.0 - 05.16.2018 =
+* NEW: 	   Complete redesign of NextGEN Gallery backend interface
+* Changed: Image descriptions may now include <img> elements with src, alt, title, id, class, name, rel, and style
+* Changed: Upgraded Select2 to latest release (4.0.5)
+* Changed: Updated link href to 'image delete' & 'recover' links
+* Fixed:   Gutenberg compatibility
+* Fixed:   Removed use of screen_icon() from plugin
+* Fixed:   Color selection widget keeping unsaved values between page refreshes
+
+= V2.2.54 - 02.28.2018 =
+* Fixed:   Conflict with Gutenberg editor
+* Fixed:   Manage Albums "Not linked" option wasn't selectable
+* Fixed:   Manage Galleries gallery path field was having extraneous slashes added on IIS servers
+
+= V2.2.50 - 02.20.2018 =
+* Secured: Gallery paths and the ability to manage tags
+* Kudos:   ElevenPaths (Telefonica cibersecurity Unit)
+
+= V2.2.46 - 02.15.2018 =
+* Fixed:   Broken Manage Albums page
+
+= V2.2.45 - 02.14.2018 =
+* NEW:     Partner page for Imagify image optimization
+* Secured: Image property escaping case-sensitive
+* Secured: Vulnerable to CVE-2017-2416 buffer overflows
+* Kudos:   Zhouyuan Yang of Fortinet's FortiGuard Labs
+* Fixed:   Incorrect CSS class format used in form generator text field
+* Fixed:   Clean exit in FastCGI environments
+* Fixed:   Use of deprecated functions in gallery plugin
+
+= V2.2.33 - 12.24.2017 =
+* Secured: Certain image attributes were not being validated correctly
+
+= V2.2.30 - 12.13.2017 =
 * Fixed:   Segfaults on PHP 7.2, 7.1.12, and 7.0.26.
+* Fixed:   WordPress gallery plugin wizards initialized too early.
+* Fixed:   ImageBrowser display types generating warnings on PHP 7.2
+* Fixed:   Gallery plugin widgets causing WSOD on PHP 7.2
+* Fixed:   Removed create_function() calls (deprecated in PHP 7.2)
 
 = V2.2.18 - 12.04.2017 =
 * NEW:     Include PHP 7.2.0 in the warning created by NextGen Gallery 2.2.16
@@ -203,7 +236,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * NEW:     Display an admin warning and disable NextGen Gallery when PHP 7.1.12 or 7.0.26 are in use
 
 = V2.2.14 - 09.18.2017 =
-* NEW:     EXIF and IPTC metadata are copied to new images when generating thumbnails, watermarks, or new sizes
+* NEW:     EXIF and IPTC metadata are copied to new images and photos when generating thumbnails, watermarks, or new sizes
 * Fixed:   Metadata is read and preserved when "Resized images after upload" feature is enabled
 
 = V2.2.12 - 08.01.2017 =
@@ -212,7 +245,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Changed: Added DESC as an option to nggTags::find_images_for_tags()
 * Fixed:   Fixed useage of parse_str for PHP 7 (thanks Bodo Graumann)
 * Fixed:   Made transients manager flush only expired transients
-* Fixed:   Compatibility with Spider Calendar
+* Fixed:   Gallery plugin compatibility with Spider Calendar
 * Fixed:   Problem with validation code of DataMapper Models
 * Fixed:   Convert script/style urls to arrays in the lightbox installer
 
@@ -230,12 +263,12 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Thumbnail editing links missing when locale uses RTL language such as Hebrew
 * Fixed:   Roles and Capabilities discrepancy with displaying NextGEN Gallery UI elements
 * Fixed:   Fancybox lightbox effect not compatible with Pro Mosaic galleries
-* Fixed:   Basic Tagcloud does not honor display type setting when editing in IGW
+* Fixed:   Basic Tagcloud does not honor display type setting when editing in Insert Gallery Window
 * Fixed:   Basic Tagcloud allows selection of Pro display types when NGG Pro is disabled
 * Fixed:   Limit display types available in "Display galleries as" setting for albums
 * Fixed:   Special characters in `show_slideshow_text` parameter causing inserted display to not be editable.
-* Fixed:   NGG Basic Slideshow not honoring transition effect setting
-* Fixed:   Image tags that are no longer should be removed
+* Fixed:   NGG Basic slideshow galleries not honoring transition effect setting
+* Fixed:   Image tags that are no longer should be removed from WordPress gallery plugin
 * Fixed:   Spacing preserved when our shortcodes are placed with other content
 * Fixed:   Breadcrumbs in albums when slug is shared between gallery and album
 * Fixed:   get_unique_slug() creating invalid SQL query when gallery name contains quote characters
@@ -247,33 +280,33 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:    E_WARNING on Gallery Settings page due to improper use of array_combine() on PHP <= 5.3
 
 = V2.2.2 -  04.04.2017 =
-* Fixed:    Hyperlinks in image or photo descriptions
+* Fixed:    Hyperlinks in image descriptions
 * Fixed:    WordPress SEO sitemap image count
 * Fixed:    Removed id parameter in shortcodes
 * Fixed:    Fatal error in Freemius code
 
 = V2.2.1 - 03.13.2017 =
-* NEW:      Template mechanism for all gallery types
-* NEW:      Review notices
-* Changed:  Updated gallery plugin branding to Imagely
+* NEW:      Template mechanism for all display types
+* NEW:      WordPress gallery plugin review notices
+* Changed:  Updated WordPress gallery plugin branding to Imagely
 * Changed:  Added the ability to click on a gallery title and have it open direct to Pro Lightbox
 * Fixed:    Problems with activation after initial installation
 * Fixed:    Don't display legacy shortcodes after creating new galleries
-* Fixed:    False positive malware detection notices against 'eval'
-* Fixed:    Various PHP notices and warnings
-* Fixed:    Issue with dynamic container height for Imagebrowser photo galleries
+* Fixed:    false positive malware detection notices against 'eval'
+* Fixed:    Various WordPress gallery plugin PHP notices and warnings
+* Fixed:    Issue with dynamic container height for Imagebrowser display types
 
 = V2.1.79 - 02.23.2017 =
-* Secured: 	Resolved vulnerability with tag cloud galleries
+* Secured: Resolved vulnerability with tag cloud displays
 
 = V2.1.77 - 01.31.2017 =
 * Changed:  Corrected Facebook link
-* Changed:  Tags in readme.txt
-* Fixed:    Problem deactivating other plugins
+* Changed:  Tags in WordPress gallery plugin readme.txt
+* Fixed:    Problem with deactivating other plugin
 
 = V2.1.69 - 01.18.2017 =
 * Fixed:    Ensured compatibility with WordPress 4.7.1
-* Fixed:    Missing option names on setting pages when Gallery Wizard active
+* Fixed:    Missing option names on setting pages when Wizard active
 * Fixed:    Ensure that NextGEN Gallery is always loaded after it's extension plugins in WP 4.7
 * Fixed:    Pope product uninstaller not running during activation
 
@@ -282,11 +315,11 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   The ability to dismiss the gallery wizard notice
 
 = V2.1.61 - 12.14.2016 =
-* NEW:     Photo gallery creation wizard for new users
-* Fixed:   Shortcodes in widgets not getting substituted in Divi
+* NEW:     Gallery creation wizard for new users
+* Fixed:   Shortcodes in WordPress gallery plugin widgets not getting substituted in Divi
 * Fixed:   Ensure that NGG placeholder text doesn't get styled incorrectly by other themes
 * Fixed:   Various thickbox issues on custom post type pages
-* Fixed:   Hide IGW placeholder images in Yoast feed
+* Fixed:   Hide Insert Gallery placeholder images in Yoast feed
 
 = V2.1.60 - 11.22.2016 =
 * Secured: Ensure that only .css files can be edited using Styles tab
@@ -295,12 +328,12 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Secured: Ability to customize CSS Styles
 * Changed: readme.txt improvements
 * Fixed:   Compatibility with WordPress 4.7.0
-* Fixed:   IGW-inserted tagcloud galleries are incorrect in some cases
+* Fixed:   Insert Gallery Window-inserted tagclouds are incorrect
 
 = V2.1.57 - 11.14.2016 =
 * Secured: Custom Styles may only be written to specific directories
 * Secured: SQL injection vulnerability for gallery names
-* Changed: Gallery type icons are now clickable in the Insert Gallery Window
+* Changed: Display type icons are now clickable in the Insert Gallery Window
 * Changed: Include backup image files when coping/moving a gallery
 * Changed: Show gallery name in upload notification
 * Changed: Added placeholder text to gallery name field on Add Gallery / Upload Images page
@@ -311,34 +344,33 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Conflict with Easy Digital Downloads
 * Fixed:   Misc invalid HTML tags in admin pages (thanks to kniebremser)
 * Fixed:   Change display:hidden to visibility:hidden in various places
-* Fixed:   Escaping of quotes in photo gallery titles and urls
+* Fixed:   Escaping of quotes in gallery titles and urls
 * Fixed:   Untranslatable strings
 
-
 = V2.1.56 - 10.27.2016 =
 * Fixed:   Shortcode parsing was affecting third-party shortcodes
 
 = V2.1.54 - 10.25.2016 =
 * NEW:     Added php docblock directives for code hinting/completion
-* NEW:     Gallery display types can have aliases
+* NEW:     Display types can have aliases
 * NEW:     Visual Shortcodes
 * Changed: Now uses gulp for package compilation & JS/CSS minification
 * Changed: Updated Freemius SDK to 1.2.1
 * Fixed:   Extraneous backslashes being added to gallery titles & descriptions
-* Fixed:   Import folder 'gallery title' field wasn't being used for new photo gallery titles
+* Fixed:   Import folder 'gallery title' field wasn't being used for new gallery titles
 * Fixed:   Settings reset will now redirect to /wp-admin/ to avoid potential activation-related errors
 * Fixed:   Table columns cache becomes out of date between versions
-* Fixed:   Various issues with shortcodes when used in widgets
+* Fixed:   Various issues with WordPress gallery plugin shortcodes when used in widgets
 * Fixed:   Warnings caused by calls to non-existent module package files
 * Fixed:   nextgen_admin's jquery-ui breaking Elegant Themes admin pages
 
-= V2.1.50 - 08.30.2016 =
+= V2.1.50 - 08.30-2016 =
 * NEW:     Added the ability to open galleries within albums using a lightbox
 * Changed: Increased freemius opt-in to 100%
-* Changed: Tamara Lackey's biography on the overview page
-* Fixed:   Images and photos not responsive for all gallery types
+* Changed: Tamara Lackey's biography on the WordPress gallery plugin overview page
+* Fixed:   Images and photos not responsive for all display types
 * Fixed:   Compatibility with the Imagely Lightroom plugin
-* Fixed:   Removed Pope tests folder
+* Fixed:   Removed Pope tests folder from WordPress gallery plugin
 * Fixed:   Maximum function nesting level fatal error when displaying two or more albums
 * Fixed:   Ensure Insert Gallery Window background stays white
 * Fixed:   PHP warning for C_NGG_Lightbox class using incompatible constructor
@@ -349,13 +381,13 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * NEW:     Added notice for deprecating PHP 5.2
 * NEW:     Option to display child gallery and album descriptions when viewing albums
 * Changed: ATP preview images are smaller with tighter margins to show more images
-* Changed: Content of Upgrade to Pro WordPress gallery plugin page
-* Changed: New NextGEN Overview page
+* Changed: Content of WordPress gallery plugin Upgrade to Pro page
+* Changed: New Gallery plugin Overview page
 * Changed: Replicate gallery name sanitation of NG legacy for gallery paths
 * Fixed:   Resolved all found PHP warnings/notices/deprecations and strict errors
 * Fixed:   Compatibility on Windows servers with network mounted document roots
 * Fixed:   Ensure EXIF meta data is loaded from the appropriate exif_data array instead of exif_array
-* Fixed:   Gallery Settings toggle not functioning in all cases
+* Fixed:   Gallery Settings toggle not functioning
 * Fixed:   Uploading breaking when thumbnail or image resizing fails due to lack of specific format support for image libraries
 * Fixed:   Warning generated in nggallery.php checking useMediaRSS option
 
@@ -367,21 +399,21 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 = V2.1.44 - 06.22.2016 =
 * NEW:     "Add Gallery" button added next to "Add Media" button on Create/Edit Post screen
-* NEW:     IGW placeholder images are watermarked
+* NEW:     Insert Gallery placeholder images are watermarked
 * NEW:     Added API for communicating with Lightroom plugin
-* NEW:     Gulp build system
+* NEW:     Gulp build system for plugin
 * NEW:     Added "ngg_igw_placeholder_line_2_settings" and "ngg_igw_placeholder_line_1_settings" filters
 * NEW:     Added "ngg_settings_during_image_generation" filter to adjust image generation
-* NEW:     Added "ngg_before_save_thumbnail" filter for image and photo manipulation abilities
-* NEW:     Added the ability to apply GD filters during image and photo generation
-* NEW:     Integrated with WordPress SEO sitemaps to show include NGG images in image counts
-* Changed: Links to manage a gallery after it's been created don't appear in the IGW
+* NEW:     Added "ngg_before_save_thumbnail" filter for image manipulation abilities
+* NEW:     Added the ability to apply GD filters during image generation
+* NEW:     Integrated with WordPress SEO sitemaps to show include NGG images and photos in image counts
+* Changed: Links to manage a gallery after it's been created don't appear in the Insert Gallery Window
 * Fixed:   Freemius code shouldn't be minified
 * Fixed:   When a datamapper entity is saved, it's corresponding cache should be cleared
-* Fixed:   IGW placeholder images aren't used by WordPress SEO's OpenGraph analysis
+* Fixed:   Insert Gallery Window placeholder images aren't used by WordPress SEO's OpenGraph analysis
 
 = V2.1.43 - 05.25.2016 =
-* NEW:     Added Freemius integration
+* NEW:     Added Freemius integration to plugin
 * NEW:     Added actions actions ngg_updated_image_meta, ngg_recovered_image, ngg_generated_image, ngg_moved_images, and ngg_copied_images
 * NEW:     Added patch from WPML copyping ATP galleries to new language pages when duplicating a page to a new language
 * Changed: Moved 'ngg_delete_picture' action to before the image has been removed
@@ -389,7 +421,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Changed: Updated "Roots" relative url support to re-branded "Soil" relative url
 * Changed: Updated branding so all publicly visible instances of "Photocrati" are now "Imagely"
 * Changed: Upgraded FontAwesome to 4.6.1
-* Fixed:   Album breadcrumbs when used with legacy templates
+* Fixed:   Album breadcrumbs when used with WordPress gallery plugin legacy templates
 * Fixed:   Compatibility with added WP role objects without a remove_cap() method
 * Fixed:   Default watermark setting causing images to be watermarked by text even though "image" is shown chosen on "Other Options"
 * Fixed:   Navigating to albums with UTF8 characters in their name
@@ -397,23 +429,23 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 = V2.1.33 - 04.25.2016 =
 * Fixed:   Compatibility with themes and plugins which enqueue underscore.js in the head of the document
-* Fixed:   Ensure that shutter reloaded can find its image assets
+* Fixed:   Ensure that shutter reloaded can find it's image assets
 
 = V2.1.31 - 04.05.2016 =
 * NEW:     Added constant NGG_SCRIPT_VERSION that is either the plugin version or rand() should SCRIPT_DEBUG be on
 * NEW:     Added warning when saving galleries and refuse to automatically delete galleries with one or more "../" in their path.
 * Changed: ATP slug field disallow several characters (spaces, ?, |, &, [, ]) by replacing them with dashes as they are typed
-* Changed:     Made get_static_url() look in the WP_CONTENT/ngg/(module_name)/static directory for CSS/JS overrides
+* Changed: Made get_static_url() look in the WP_CONTENT/ngg/(module_name)/static directory for CSS/JS overrides
 * Fixed:   Bug introduced in 2.1.24 allowing gallery paths & slugs to contain spaces; galleries must be "saved" once to correct them
 * Fixed:   Compatibility with WPML String Translation when uploading images without title or description
 * Fixed:   Made get_image_url() encode gallery directory names 'because%this%is' a valid directory
 * Fixed:   Manage Galleries > Search results not saving when edited
-* Fixed:   Imagebrowser gallery templates not using AJAX pagination when enabled
+* Fixed:   Provided imagebrowser legacy templates not using AJAX pagination when enabled
 * Fixed:   Resource manager breaking the layout of the Multisite Plugin Activation page
 * Fixed:   Static url generation when the nextgen-gallery directory is a symlink outside of the WordPress roots
 
 = V2.1.27 - 03.16.2016 =
-* Fixed:    Formatting issues with changelog
+* Fixed:    Formatting issues with WordPress gallery plugin changelog
 
 = V2.1.26 - 03.15.2016 =
 * Fixed:    Removed unnecessary whitespace from "Related images" template that caused issues with some themes
@@ -436,10 +468,10 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   PHP warning about incorrect usage of parse_url()
 
 = V2.1.18 - 12.21.2015 =
-* NEW:     Added text domain and domain path to plugin header
+* NEW:     Added text domain and domain path to gallery plugin header
 * NEW:     Add the ability to specify gallery title with import_gallery_from_fs() method
 * NEW:     Swedish (sv_SE) translation (thanks Anders O Johansson)
-* Changed: Updated FontAwesome to version 4.5
+* Changed: Updated plugin's FontAwesome to version 4.5
 * Changed: Handle for bundled version select2 is now called 'ngg_select2'
 * Fixed:   Removed redundant translatable strings (thanks Rene Wolf)
 * Fixed:   Loading non-WOFF fonts on IIS servers
@@ -451,17 +483,13 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Problem deleting interframe communication cookies
 
 = V2.1.15 - 09.09.2015 =
-* Secured: Image, photo, and gallery uploads
+* Secured: Image uploads
 * Fixed:   Don't use esc_attr_e() to prevent translation issues
 * Fixed:   Ensure that deleting a gallery doesn't delete anything it shouldn't
 * Fixed:   get_gallery_abspath() should return NULL if the path doesn't exist
 
-= V2.1.13 - 09.09.2015 =
-* Secured: Image, photo, and gallery uploads
-* Fixed:   Don't use esc_attr_e() to present translation issues
-
 = V2.1.10 - 09.01.2015 =
-* Secured: Escape output of parameters in gallery templates to avoid XSS
+* Secured: Escape output of parameters in templates to avoid XSS
 
 = V2.1.9 - 08.25.2015 =
 * NEW:     Added ngg_manage_galleries_items_per_page filter
@@ -470,31 +498,31 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Secured: Limit the ability to browse folders outside of NGG_IMPORT_ROOT
 
 = V2.1.7 - 08.12.2015 =
-* Changed: "Flush image cache" now removes images from the database w/o a gallery
+* Changed: "Flush image cache" now removes images and photos from the database w/o a gallery
 * Changed: "Show Meta" popup: parse date_format through date_i18n()
 * Changed: Made Add Gallery/Images notifications a link to the gallery
 * Changed: No longer cache displayed galleries as transients
 * Changed: Updated widgets to use PHP5 parent::__construct() over $this->WP_Widget()
 * Fixed:   C_NextGen_Metadata->get_EXIF() was bugged with imagebrowser-exif template
-* Fixed:   Cornerstone/X compatibility
-* Fixed:   Recovering images was 'generating' from backup instead of copying
+* Fixed:   Cornerstone/X compatibility with WordPress gallery plugin
+* Fixed:   Recovering images and photos was 'generating' from backup instead of copying
 * Fixed:   Setting post thumbnail more than once on a page/post
-* Fixed:   Permanently hide gallery types from ATP without an active POPE module
+* Fixed:   Permanently hide display types from ATP without an active POPE module
 
 = V2.1.2 - 07.20.2015 =
-* NEW:     Ability to import photos from Media Library
+* NEW:     Ability to import from Media Library
 * NEW:     Added filter 'ngg_datamapper_table_name'
 * NEW:     Added filter `ngg_legacy_template_directories` for legacy template locator (thanks Ross McKay)
-* NEW:     Pagination available onManage Images page
+* NEW:     Pagination available on Manage Images page
 * NEW:     Added filter ngg_manage_images_items_per_page_array to control pagination options
 * NEW:     Added filters 'ngg_load_frontend_logic' and 'ngg_get_modules_to_load'
 * NEW:     Added filter 'ngg_add_page_shortcode' to control Manage Galleries > 'Create new page' content
 * NEW:     Added filter 'ngg_manage_albums_items_order'
-* Changed: Removed PHP4 support
+* Changed: Removed PHP4 support from WordPress gallery plugin
 * Fixed:   Ability to set NextGEN Image as Featured Image
 * Fixed:   Don't use resource manager in download requests for WP Photo Shelter
 * Fixed:   Updated custom jQuery-UI styling to resemble WordPress postbox styling
-* Fixed:   Styled plupload photo upload buttons to resemble WordPress buttons
+* Fixed:   Styled plupload buttons to resemble WordPress buttons
 * Fixed:   Removed 'fixed' class from manage galleries table. Allows columns to adjust to content
 * Fixed:   Removed note about flash support and fixed typoe (thanks Rene Wolf)
 * Fixed:   Fixed typo in nggallery.po
@@ -504,8 +532,8 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Adjusted album-compact template to always include p.ngg-album-gallery-image-counter
 * Fixed:   Replaced empty gallery rendering in is_feed() with a link
 * Fixed:   Removed default settings for imagerotator, which is no longer supported
-* Fixed:   Optimized scanning of images and photos when importing a gallery
-* Fixed:   When a gallery is deleted, ensure that DB and filesystem are purged
+* Fixed:   Optimized scanning of images when importing a photo gallery
+* Fixed:   When a photo gallery is deleted, ensure that DB and filesystem are purged
 * Fixed:   Removed Insert Gallery Window box shadow
 * Fixed:   Ensure that file_exists() calls are prefixed with @
 
@@ -519,15 +547,15 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * NEW:     Added ngg_manage_images_items_per_page filter
 * NEW:     Added "ngg_get_image_url" filter
 * NEW:     Including Ukranian and Polish translations
-* NEW:     The ability to set template in gallery widgets
+* NEW:     The ability to set template in widgets
 * Changed: Default thumbnail dimensions set to 240x160
 * Changed: Product now adheres to Pope 0.12 and provides get_modules_to_load()
-* Changed: Updated translations
+* Changed: Updated gallery plugin translations
 * Changed: Removed link to capsman plugin in Roles accordion
 * Changed: Taxnomies now use internationalized strings
 * Changed: Image date/time meta data fields are stored as UNIX timestamps
 * Secured: Uploading zips
-* Fixed:   Various PHP warnings and notices
+* Fixed:   Various PHP warnings and notices in WordPress gallery plugin
 * Fixed:   Compatibility fixes for WPML
 * Fixed:   Ensure that backup image functionality fails gracefully
 * Fixed:   WP option 'ngg_do_upgrade' updated in every HTTP request
@@ -538,12 +566,12 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Image filenames substituting spaces for + which is only proper in the query string
 * Fixed:   Insert Gallery Window not working with nested levels of gzip compression
 * Fixed:   Imagebrowser as lightbox effect not working with pagination
-* Fixed:   Compatibility with MultiVerso Advanced File Sharing
+* Fixed:   Plugin compatibility with MultiVerso Advanced File Sharing
 * Fixed:   "Add page" button not displaying on the next immediate page load
 * Fixed:   Double-escaping of non-latin characters
 * Fixed:   Imagebrowser pagination with custom templates
 * Fixed:   Custom CSS is enqueued late to ensure it's one of the last stylesheets loaded
-* Fixed:   Fixed watermarking PNG images
+* Fixed:   Fixed watermarking PNG images and photos
 * Fixed:   Using the "Import Metadata" bulk action overwrites existing data
 * Fixed:   Seconds were not retained from CaptureTime EXIF field
 * Fixed:   Conflicts created by our TinyMCE plugin
@@ -556,39 +584,31 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Use of C_Gallery_Mapper in C_Image_Wrapper
 * Fixed:   Properly handle themes that don't call wp_footer() or wp_print_footer_scripts()
 * Fixed:   Warning about missing style.php file on Network Admin -> Gallery page
-* Fixed:   Warning about getimagesize() failure when backing up an image or photo
+* Fixed:   Warning about getimagesize() failure when backing up an image
 
 = v2.0.79 - 03.20.2015 =
 * Secured: Sanitized C_Displayed_Gallery->_add_find_in_set_column() third parameter
 
-= V2.0.78.1 - 03.12.2015 =
-* Changed: Image date/time meta data fields are stored as UNIX timestamps
-* Fixed:   When importing galleries from folders, allow symlinks
-* Fixed:   Use of C_Gallery_Mapper in C_Image_Wrapper
-* Fixed:   Properly handle themes that don't call wp_footer() or wp_print_footer_scripts()
-* Fixed:   Warning about missing style.php file on Network Admin -> Gallery page
-* Fixed:   Warning about getimagesize() failure when backing up an image or photo
-
 = V2.0.78 - 03.12.2015 =
-* Secured: AJAX actions for uploading photos and importing folders now uses nonce checks
+* Secured: AJAX actions for uploading images and importing folders now uses nonce checks
 
 = V2.0.77 - 03.05.2015 =
 * NEW:     Added "ngg_get_image_url" filter
 * Changed: Use a more reliable means of excluding Pro/Plus modules from using minified static resources
-* Fixed:   Imagebrowser gallery pagination with custom templates
+* Fixed:   Imagebrowser pagination with custom templates
 * Fixed:   Custom CSS is enqueued late to ensure it's one of the last stylesheets loaded
-* Fixed:   Fixed watermarking PNG images
+* Fixed:   Fixed watermarking PNG images and photos
 * Fixed:   Using the "Import Metadata" bulk action overwrites existing data
 * Fixed:   Seconds were not retained from CaptureTime EXIF field
-* Fixed:   Conflicts created by our TinyMCE plugin
+* Fixed:   Conflicts created by WordPress gallery plugin TinyMCE plugin
 * Fixed:   Image mapper setting gid to gallery name, not the unique ID
 * Fixed:   Restored nggdb->get_random_images(), nggdb->search_for_file, and nggdb->find_all_albums()
 * Fixed:   Allow gallery slug as parameter to nggdb::get_gallery()
 * Fixed:   Don't minify Plupload's i18n JavaScript
-* Fixed:   Custom template images and photos not being given their full effect code attributes
+* Fixed:   Custom template images not being given their full effect code attributes
 
 = V2.0.76 - 02.24.2015 =
-* Fixed:   Compatibility checks for very old versions of NextGEN Pro
+* Fixed:   Compatibility checks for very old versions of NextGEN Pro plugin
 * Fixed:   Zero-byte downloads in WooCommerce and WPE-Commerce
 * Fixed:   Invalid URL being enqueued if a custom lightbox is selected with no URL provided
 * Fixed:   Restored a method to nggAdmin to fix compatibility with NextGen Public Uploader
@@ -603,13 +623,13 @@ For more information, feel free to visit the official website for the NextGEN Ga
 = V2.0.71 - 02.19.2015 =
 * NEW:     Module files are compiled into a single package file to reduce disk I/O
 * NEW:     All CSS stylesheets and Javascript source files are minified to reduce latency
-* NEW:     All photo lightboxes are configured using an in-memory management class.
+* NEW:     All lightboxes are configured using an in-memory management class.
 * NEW:     Uses Pope 2.0, benefiting from the new caching capabilities
 * NEW:     NextGEN Gallery's functionality is disabled if NextGEN Pro is incompatible
 * NEW:     Added ngg_effect_code filter
-* Changed: Updated FontAwesome to 4.3.0
-* Changed: Updated select2 to 3.5.2
-* Changed: Removed PicLens / CoolIris gallery integration
+* Changed: Updated WordPress gallery plugin's FontAwesome to 4.3.0
+* Changed: Updated WordPress gallery plugin's  select2 to 3.5.2
+* Changed: Removed PicLens / CoolIris integration from WordPress gallery plugin
 * Changed: Removed JSON API. Please use XML-RPC API instead
 * Changed: For performance reasons, we cache FS & url lookups/calculations
 * Changed: Greatly reduced the # of sql queries, and eliminated anything redundant
@@ -620,24 +640,24 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Changed: Insert Gallery Window is routed using wp-admin/admin_init
 * Changed: Removed unused code from ngglegacy module. Created wrappers for commonly-used functions
 * Changed: LZW module removed
-* Changed: Legacy gallery template drop-down selection now using select2
+* Changed: Legacy template drop-down selection now using select2
 * Secured: Restrict folder browsing to NGG_IMPORT_ROOT constant
 * Fixed:   Compatibility issue with PHP's transparent ZLIB compression
 * Fixed:   Imagebrowser as lightbox effect not working when non-default permalink slug used
 * Fixed:   Angled quotations marks used in shortcode parameters
-* Fixed:   Compatibility between ImageBrowser gallery and TwentyFifteen theme
+* Fixed:   Compatibility between ImageBrowser display type and TwentyFifteen theme
 * Fixed:   Allow pagination to retain query string url parameters when linking to other pages
 * Fixed:   Fixed pagination issues with slideshow galleries displayed as thumbnails
 * Fixed:   Fix C_GalleryStorage_Driver_Base->import_gallery_from_fs() not checking imgBackup
 * Fixed:   Fixed problem with default settings being applied multiple times
-* Fixed:   Fallback to "full" image / photo sizes if "backup" images aren't available
+* Fixed:   Fallback to "full" image sizes if "backup" images aren't available
 * Fixed:   Use M_DataMapper's serialization methods throughout the codebase
 * Fixed:   Conflict with WordPress SEO and get_the_excerpt() call
 * Fixed:   Don't run Resource Manager on wp-login.php or wp-sign.php
-* Fixed:   TinyMCE Image Editor conflict with Insert Gallery Window placeholder images/photos
+* Fixed:   TinyMCE Image Editor conflict with Insert Gallery Window placeholder images
 * Fixed:   Fix Shutter positioning when admin bar is displayed
-* Fixed:   Allow deselection of a legacy gallery template
-* Fixed:   Prevent conflicts when using imagebrowser gallery as a lightbox effect
+* Fixed:   Allow deselection of a WordPress gallery plugin legacy template
+* Fixed:   Prevent conflicts when using imagebrowser as a lightbox effect
 * Fixed:   Pagination not working for slideshow galleries using thumbnail integration
 
 = V2.0.66.33 - 11.24.2014 =
@@ -649,18 +669,18 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 = V2.0.66.29 - 09.17.2014 =
 * NEW:     Added skip_excluding_globally_excluded_images property to displayed gallery objects
-* Fixed:   SQL generation for random photo/image selection
+* Fixed:   SQL generation for random image selection
 * Fixed:   Adjust regex for replacing displayed gallery placeholder images
 * Fixed:   Removed filters to home_url needed previously for WMPL compatibility
 * Fixed:   Use canonical redirects when appropriate
-* Fixed:   Ability to override image/photo files using XML-RPC
+* Fixed:   Ability to override image files using XML-RPC
 
 = V2.0.66.27 - 08.18.2014 =
 * Fixed:   Missing class.frame_communication_option_handler.php error
 
 = V2.0.66.26 - 08.18.2014 =
 * NEW:     Added fault tolerance to bulk action AJAX requests
-* Changed: Moved some settings from DB to in-memory
+* Changed: Moved some WordPress gallery plugin settings from DB to in-memory
 * Fixed:   Compatibility with BuddyPress plugin in multisite environments
 * Fixed:   Ability to find static resources outside of WP_PLUGIN_DIR
 * Fixed:   Autoupdate conflict with Photocrati Theme
@@ -668,13 +688,13 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Issue with settings manager in multisite enviroments
 
 = V2.0.66.17 - 08.08.2014 =
-* NEW:	   Added french translations
+* NEW:	   Added French translations
 * Secured: XSS vulnerability in jQuery Plupload Queue (thanks Codevigilant Team)
 * Secured: XSS vulnerability in thumbnail/slideshow integration links
 * Secured: XSS vulnerability on Manage Albums page
 
 = V2.0.66.16 - 07.30.2014 =
-* NEW:     Added new "limit" setting to Slideshow gallery widgets
+* NEW:     Added new "limit" setting to slideshow gallery widgets
 * NEW:     Added a "ngg_routes" action for other plugins to hook into to provide new routes
 * NEW:     Added NGG_SKIP_LOAD_SCRIPTS constant, which existed in 1.9.x
 * NEW:     Added NGG_GALLERY_ROOT_TYPE constant. Set to 'content' to load galleries from the content_dir / content_url
@@ -688,7 +708,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * NEW: 	   Russian (ru_RU) language thanks to SnakeD3
 * NEW: 	   Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub
 * Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited
-* Changed: "Upgrade to Pro" WordPress gallery plugin page has new design, includes NextGEN Plus
+* Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus
 * Changed: Basic Albums templates now given the image counter P element the class 'ngg-album-gallery-image-counter' (by user request)
 * Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes
 * Changed: Random galleries should be substantially faster now (1000% or more for large image tables)
@@ -703,15 +723,15 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Multisite gallery path tooltip gave a wrong default setting
 * Fixed:   Flush 'all' caches when pope_module_list setting changes
 * Fixed:   Don't enqueue related images css in the admin
-* Fixed:   Basic Slideshows fixes WP creating extraneous P element above the slideshow display
-* Fixed:   Basic Singlepic will now display images/photos marked 'excluded' in the admin
+* Fixed:   Basic slideshow galleries fixes WP creating extraneous P element above the slideshow display
+* Fixed:   Basic Singlepic will now display images marked 'excluded' in the admin
 * Fixed:   Admin pages can now update when the "Save" button text has been translated
 
 = V2.0.66 - 05.20.2014 =
-* Secured: Check mime type of image/photo files using a variety of mechanisms
+* Secured: Check mime type of image files using a variety of mechanisms
 
 = V2.0.65 - 05.04.2014 =
-* Secured: Limit uploads to images/photos and zips
+* Secured: Limit uploads to images and zips
 
 = V2.0.63 - 04.29.2014 =
 * NEW:     Translation ready
@@ -722,16 +742,16 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * NEW:	   Bundled Browser+ JavaScript library
 * NEW:     Added NGG_DISABLE_FILTER_THE_CONTENT constant to manage conflicts
 * Changed: Moved jquery.nextgen_radio_toggle.js to NextGEN Admin Module
-* Changed: Original display settings are passed to secondary gallery types
-* Fixed:   Photo thumbnail dimension calculations are inaccurate by 1px when maintaining aspect ratio
+* Changed: Original display settings are passed to secondary display types
+* Fixed:   Thumbnail dimension calculations are inaccurate by 1px when maintaining aspect ratio
 * Fixed:   Copy IPTC data from original to new image when creating new sizes / thumbnails
-* Fixed:   Use correct absolute path when importing images or photos in a multisite environment
+* Fixed:   Use correct absolute path when importing images in a multisite environment
 * Fixed:   Incorrect display of disk space quotas in multisite environments
 * Fixed:   Removed redundant roles form in multisite environments
 * Fixed:   Insert Gallery Window support for multisite environments
-* Fixed:   Incorrect handling of NextGEN Gallery Styles in multisite environments
-* Fixed:   Not honouring NGG_IMPORT_ROOT constant
-* Fixed:   Fixed inability to edit photo gallery properties using XMLRPC's edit_gallery method
+* Fixed:   Incorrect handling of NextGEN Styles in multisite environments
+* Fixed:   WordPress gallery plugin not honouring NGG_IMPORT_ROOT constant
+* Fixed:   Fixed inability to edit gallery properties using XMLRPC's edit_gallery method
 * Fixed:   Alignment issues in Basic Compact Albums caused by subalbums not displaying image 'counter'
 * Fixed:   Display setting forms compatibility issue with WordPress 3.9
 * Fixed;   Compability with jQuery Dialogs in WordPress 3.9
@@ -747,7 +767,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Resource manager is manipulating feeds
 * Fixed:   Convert absolute urls to relative urls for lightboxes
 * Fixed:   Start the resource manager as early as we can within the init action
-* Fixed:   Routing problem for photo galleries with images named 1.jpg, 2.jpg, 3.jpg, etc.
+* Fixed:   Routing problem for galleries with images named 1.jpg, 2.jpg, 3.jpg, etc.
 * Fixed:   Added tooltips to basic slideshow gallery settings
 * Fixed:   Remove CKEditor's NextGEN button, which is incompatible with NextGEN Gallery 2.x
 
@@ -760,17 +780,17 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Removed code causing jQuery compatibility issues in WP Admin
 * Fixed:   Allow third-parties to override jQuery with Google's CDN
 * Fixed:   When resetting the 'jquery' handle, ensure that jquery-migrate is a dependency
-* Fixed:   Silenced many PHP warnings
+* Fixed:   Silenced many PHP warnings in gallery plugin
 * Fixed:   Datamapper->count() not returning the correct count
 * Fixed:   Compatibility with Gravity Forms
 
-= V2.0.58 - 03.09.2014 =
+= V2.0.58 - 03.10.2014 =
 * Fixed:   Reset jQuery to WP defaults when modified by a third-party
 * Fixed:   Compatibility with WP jQuery Lightbox plugin
 * Fixed:   Compatibility with Peekaboo theme
 
 = V2.0.57 - 03.05.2014 =
-* NEW:     Re-introduced the Reset button
+* NEW:     Re-introduced the Reset button to WordPress gallery plugin
 * NEW:     Tooltip added for Page Link to functionality
 * NEW:     Displayed Gallery Triggers moved from NextGEN Pro to NextGEN Gallery (not in use)
 * NEW:     Added NGG_Store, a client-side persistence layer (not in use)
@@ -782,10 +802,10 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Changed: Transients are removed every 30 minutes instead of 60 minutes
 * Changed: Admin Page & Form components refactored to allow custom POST processing
 * Changed: Default path for NEW multisite installations to wp-content/uploads/sites/%BLOG_ID%/nggallery/
-* Fixed:   Ability to upload ZIP files for photos and galleries on Windows hosts
+* Fixed:   Ability to upload ZIP files on Windows hosts
 * Fixed:   Support for filenames with non-ASCII characters
-* Fixed:   Dynamic updates in the Insert Gallery Window (interframe communication)
-* Fixed:   Insert Gallery Window freezing in IE11
+* Fixed:   Dynamic updates in the Insert Gallery interface (interframe communication)
+* Fixed:   WordPress gallery plugin insert interface freezing in IE11
 * Fixed:   Path issues on Windows Servers
 * Fixed:   Module installer integrity
 * Fixed:   Database query performance. No more joins to the WP options table
@@ -796,24 +816,24 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Corrupted MediaRSS feeds
 * Fixed:   Padding on Gallery Settings and Other Options pages
 * Fixed:   Routing issues on subdirectory installs
-* Fixed:   Importing photo galleries using the Insert Gallery Window
+* Fixed:   Importing galleries using the Insert Gallery Interface
 * Fixed:   Gallery path calculations on Windows web servers
 * Fixed:   Sub-album urls not processed correctly
 * Fixed:   Apply maximum entity count to existing displayed galleries
-* Fixed:   NextGEN Gallery Thumbnail Widget shouldn't use ImageBrowser gallery effect
+* Fixed:   NextGEN Gallery Thumbnail Widget shouldn't use ImageBrowser effect
 * Fixed:   Ability to set shuffle parameter for ImageRotator slideshow galleries
-* Fixed:   PHP warning about HTMLDocument when displaying a SinglePic photo
-* Fixed:   Sanitization of photo gallery title
+* Fixed:   PHP warning about HTMLDocument when displaying a SinglePic
+* Fixed:   Sanitization of gallery title
 * Fixed:   Home URL now used instead of Site URL in MediaRSS feed
-* Fixed:   Insert Gallery Window broken when WPML is installed
-* Fixed:   Insert Gallery Window instructing browser to cache the page
-* Fixed:   Photo watermarking not working in low-memory environments
+* Fixed:   Insert Gallery interface broken when WPML is installed
+* Fixed:   Insert Gallery interface instructing browser to cache the page
+* Fixed:   Watermarking not working in low-memory environments
 * Fixed:   Maximum images limit not being applied for galleries already created.
 * Fixed:   Double forward slashes in static urls
 * Fixed:   Don't sleep when checking if the installer is running
 * Fixed:   Don't enforce Pope interface contracts
 * Fixed:   Remove custom table extra records from wp_options table
-* Fixed:   Scan folder for new images not working
+* Fixed:   Scan folder for new images and photos not working
 * Fixed:   Incorrect page permalink used for "Page Link To" functionality
 * Fixed:   Pagination broken when Basic Thumbnail gallery on the same page as Basic Album
 * Fixed:   parse_url() warnings generated for PHP 5.3.3 and earlier
@@ -822,36 +842,36 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Fixed:   Third-party incompatibilities caused by the Photocrati Resource Manager
 * Fixed:   Compatibility with the Flattr plugin
 * Fixed:   Compatibility with the Weaver II theme
-* Fixed:   Interface tweaks for WordPress 3.8
+* Fixed:   Gallery plugin interface tweaks for WordPress 3.8
 
 = V2.0.40 - 11.26.2013 =
 * NEW:     Added the ability to apply lightbox effects to non-NGG images
 * NEW:     Added NGG_HIDE_STRICT_ERRORS constant. Define and set to TRUE to hide strict errors
-* NEW:     Added NGG_IMPORT_ROOT constant. Define and set to TRUE to browse from a custom directory
+* NEW:     Added NEXTGEN_GALLERY_IMPORT_ROOT constant. Define and set to TRUE to browse from a custom directory
 * NEW:     Added NGG_DEBUG constant. Define and set to TRUE to display helpful messages for debugging
 * NEW:     Each custom table record will have an associated custom post record for expansion
-* NEW:     Display helpful error messages for image and photo upload issues
+* NEW:     Display helpful error messages when there's a problem uploading images and photos
 * NEW:     Add data-(src|thumbnail|image-id|title|description) attribute to gallery image anchors
-* NEW:     Variant support for photo gallery sources. Random images is limited to 5 variations
+* NEW:     Variant support for displayed gallery sources. Random images is limited to 5 variations
 * Fixed:   Excessive creation of transients for random galleries
-* Fixed:   Some issues interfering with photo and gallery uploads
+* Fixed:   Issues prohibiting the ability to upload images and photos
 * Fixed:   Compatibility with NextGEN Gallery Export Plugin for Adobe Lightroom (thanks Vladimir!)
-* Fixed:   Sorting photos in the Insert Gallery Window interface
+* Fixed:   Sorting in the Insert Gallery interface
 * Fixed:   HTML allowed in gallery/album descriptions
-* Fixed:   Requests for photo galleries within albums that have numeric names are broken
+* Fixed:   Requests for galleries within albums that have numeric names are broken
 * Fixed:   Call to a non-member function get() on WP_Query
-* Fixed:   Ability to sort by Image ID in the Insert Gallery Window
+* Fixed:   Ability to sort by Image ID in the Insert Gallery interface
 * Fixed:   Isolate the Insert Gallery Window from implicit third-party script inclusion
 * Fixed:   Check for the existance of thumbnails when generating urls, and if missing, generate new ones
 * Fixed:   Compatibility with NextGEN Facebook OpenGraph+ plugin
-* Fixed:   Various XML-RPC issues
-* Fixed:   Gallery widget stylesheet not included
+* Fixed:   Various XML-RPC issues in WordPress gallery plugin
+* Fixed:   Widgets stylesheet not included
 * Fixed:   Issue with color not being pre-selected when previewing Watermark
 * Fixed:   E_NOTICE emitted when cleaning up cached image files
-* Fixed:   E_NOTICE emitted when viewing gallery type settings
+* Fixed:   E_NOTICE emitted when viewing display type settings
 * Fixed:   Typo adjusting pcre.backtrack_limit for shortcodes
-* Fixed:   Content within the tabs of the Insert Gallery Window cut-off
-* Fixed:   Routing problem which would cause conflicts with different gallery types on the same page
+* Fixed:   Content within the tabs of the Insert Gallery interface cut-off
+* Fixed:   Routing problem which would cause conflicts with different display types on the same page
 * Fixed:   Broken Dynamic CSS links on GoDaddy
 * Fixed:   Ability to use HTML in gallery/album descriptions
 * Fixed:   Sub-album requests conflicting with paginated galleries on the same page
@@ -859,75 +879,80 @@ For more information, feel free to visit the official website for the NextGEN Ga
 
 = V2.0.33 - 10.21.2013 =
 * NEW:     Requests /ngg_tag/[tagname] will create a displayed gallery
-* NEW:     Option added to "Import Gallery" tab to use original images and photos
+* NEW:     Option added to "Import Gallery" tab to use original images
 * Fixed:   Links are broken on the ngg_tags-sitemap.xml file by WordPress SEO
 * Fixed:   PHP notice: Attempt to assign property of non-object
-* Fixed:   Undefined property warnings when using NextGEN Basic Thumbnail gallery
+* Fixed:   Undefined property warnings when using NextGEN Basic Thumbnails
 * Fixed:   Detect if an applying a transient to a displayed gallery was successful
 * Fixed:   Compatibility issues with BJ-Lazy-Load and Colorbox
-* Fixed:   Pagination conflicts for multiple Imagebrowser galleries on the same page
+* Fixed:   Pagination conflicts for multiple Imagebrowsers on the same page
 * Fixed:   Ability to display previous exception with debug mode
-* Fixed:   Tagcloud galleries not working in multisite instances
-* Fixed:   Load widgets.css when a gallery widget is being used
+* Fixed:   Tagclouds not working in multisite instances
+* Fixed:   Load widgets.css when a widget is being used
 * Fixed:   Installer should remove all instances of the component factory
-* Fixed:   Gallery widget settings interface not intuitive
-* Fixed:   Inability to upload images in some Windows host environments
-* Fixed:   Sorting images/galleries using the Insert Gallery Window
+* Fixed:   WordPress gallery plugin widget settings interface not intuitive
+* Fixed:   Inability to upload images and photos in some Windows host environments
+* Fixed:   Sorting images/galleries using the Insert Gallery interface
 * Fixed:   Fix detection of HTTPS (pull request by Leonhardt Wille)
 * Fixed:   Compilation errors of regular expressions
 * Fixed:   Pro galleries wouldn't display in environments using PHP 5.3.3 or less
 * Fixed:   Scanning of router slug is now limited to the uri, not the url
 * Fixed:   Show slideshow link isn't required for thumbnail/imagebrowser integration
-* Fixed:   WordPress media-upload with 'singlepic' image and photo sizes
+* Fixed:   WordPress media-upload with 'singlepic' image size
 * Fixed:   Use target=_blank when the link setting is provided for NextGEN Basic Singlepic
 * Fixed:   Only display rendering errors if WP_DEBUG is enabled
 
+
 = V2.0.31 - 10.03.2013 =
-* NEW:     Restored AJAX gallery pagination for NextGEN Basic ImageBrowser gallery
+* NEW:     Restored AJAX pagination for NextGEN Basic ImageBrowser display type
 * Fixed:   Compatibility with WordPress Local SEO by Yoast
-* Fixed:   Inability to upload images and photos if image_slug field was missing in database
+* Fixed:   Inability to upload images if image_slug field was missing in database
 * Fixed:   Integration of NextGEN Basic Thumbnail and NextGEN Basic Slideshow display types
 * Fixed:   Photocrati Resource Manager further adjusted to be third-party friendly
 * Fixed:   Added the ability to find legacy templates in both the child/parent theme directories
-* Fixed:   JavaScript errors in Insert Gallery Window
+* Fixed:   JavaScript errors in Attach to Post interface
 * Fixed:   Router can handle port numbers in urls
 * Fixed:   Carousel template was linking to NextGEN Basic ImageBrowser view
-* Fixed:   SQL query generated for displayed photo galleries using tags as source
+* Fixed:   SQL query generated for displayed galleries using tags as source
 * Fixed:   3rd party compat: raise & never lower pcre.backtrack_limit
 
 = V2.0.30 - 09.25.2013 =
-* NEW:     Restored the ability to use imagebrowser gallery type instead of a lightbox effect
-* Changed: Displayed photo galleries are no longer rendered in RSS feeds
-* Changed: Removed "Plugin Check" widget from overview page
+* NEW:     Restored the ability to use imagebrowser display type instead of a lightbox effect
+* Changed: Displayed galleries are no longer rendered in RSS feeds
+* Changed: Removed "Plugin Check" widget from WordPress gallery plugin overview page
 * Fixed:   Silence PHP warnings/errors in an output buffer for AJAX actions
 * Fixed:   Compatibility issue with WordPress SEO and broken site maps (and large error_logs)
 * Fixed:   Compatibility issue with AJAX Event Calendar (and possibly others)
 * Fixed:   Adjusted Photocrati Resource Manager to be third-party friendly
 * Fixed:   Fixed empty result set for displayed galleries selecting 'All' tags
-* Fixed:   URL generation for imagebrowser gallery pagination links
-* Fixed:   Ensure that photo and image meta is imported on creation
+* Fixed:   URL generation for imagebrowser pagination links
+* Fixed:   Ensure that image meta is imported on creation
 * Fixed:   Ensure that transients are removed when an external object cache is used
-* Fixed:   Don't load pluggable.php. This will fix some plugin conflicts
-* Fixed:   In Insert Gallery Window, galleries created in one tab weren't showing in another
+* Fixed:   Don't load pluggable.php. This will fix plugin conflicts
+* Fixed:   In Insert Gallery interface, galleries created in one tab weren't showing in another
 * Fixed:   Don't output frame events cookie for XML-RPC requests
 
 = V2.0.27 - 09.18.2013 =
 * Fixed:   Reduce performance impact of purging displayed gallery transients
 
 = V2.0.25 - 09.18.2013 =
-* Reverting to the 2.0.21 codebase, due to performance issues in 2.0.23 and 2.0.24
+* Changed: Reverting to the 2.0.21 codebase, due to major performance issues in 2.0.23 and 2.0.24
+
+= V2.0.24 - 09.18.2013 =
+* WARNING: Broken release. Uses wp_clear_scheduled_hooks() to purge cron records
 
-= V2.0.23 - 09.16.2013 =
+= V2.0.23 - 09.12.2013 =
+* WARNING: Broken release. Major bug creates redundant cron jobs
 * NEW:     WP-Cron job to periodically clean-up displayed gallery transients
 * NEW:     Added "excluded_container_ids" as parameter for ngg_images shortcode
-* Fixed:   Lightbox effect is honoured by all gallery display types
-* Fixed:   Highslide displays photos from the correct displayed galleries
+* Fixed:   Lightbox effect is honoured by all display types
+* Fixed:   Highslide displays images and photos from the correct displayed galleries
 * Fixed:   Ensure that sub-albums display correctly when the word "album" is part of a slug
 * Fixed:   Ensure that sub-albums display correctly when numerical slugs are used
 * Fixed:   Related images heading only added when Related Images functionality is enabled
 * Fixed:   PHP Warning about undefined index when viewing basic albums
 * Fixed:   AJAX handling is third-party compatible
-* Fixed:   Image date is no longer overwritten when a photo is modified
+* Fixed:   Image date is no longer overwritten when an image is modified
 * Fixed:   Fixed issue with displayed galleries using source='tags'
 * Fixed:   Problem with transient cache not getting flushed properly from Other Options page
 * Fixed:   Use correct gallery/transient ID when ajax pagination is used
@@ -938,11 +963,11 @@ For more information, feel free to visit the official website for the NextGEN Ga
 * Changed: Removed dependence on simplehtmldom library
 * Fixed:   Related images functionality works as it did in 1.9.x
 * Fixed:   Don't compress inline JavaScript in post/page content
-* Fixed:   Click-to-advance photo slideshow behavior for slideshows
+* Fixed:   Click-to-advance slideshow behavior for slideshow galleries
 * Fixed:   Security warnings from VaultPress
-* Fixed:   View as Slideshow link works with AJAX paginated galleries
+* Fixed:   View as Slideshow link works with AJAX pagination
 * Fixed:   Broken links on WordPress gallery plugin Overview page
-* Fixed:   Backup images option not working in some cases
+* Fixed:   WordPress gallery plugin Backup images option
 * Fixed:   Stylesheet url generated correctly for Windows hosts
 * Fixed:   Compatibility with NextGen Custom Fields plugin
 * Fixed:   Compatibility with Adsense Explosion plugin
@@ -952,11 +977,11 @@ For more information, feel free to visit the official website for the NextGEN Ga
 Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move files
 
 = V2.0.14 - 08.27.2013 =
-* NEW:     Added the ability to override photo thumbnail settings for NextGEN Basic Albums
+* NEW:     Added the ability to override thumbnail settings for NextGEN Basic Albums
 * NEW:     Shortcode Manager API, which ensures that shortcodes are outputted as intended
 * Changed: Re-added the ability to select the original image size for widgets
 * Fixed:   Ensure that stylesheet url returned is correct for Windows hosts
-* Fixed:   Broken links and lightbox effects with AJAX gallery pagination
+* Fixed:   Broken links and lightbox effects with AJAX pagination
 * Fixed:   Try to ensure that third party plugins don't add content to our dynamic JS
 * Fixed:   Improved reliability of iframely.js
 * Fixed:   Ensure that urls are generated correctly in HTTPs environments
@@ -967,35 +992,35 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW:     Added "run_ngg_resource_manager" hook to by-pass our resource manager
 * Changed: Removed "Reset & Uninstall" tab, for now
 * Fixed:   Compatibility with W3 Total Cache. Please flush cache after updating.
-* Fixed:   Conflicts with Photocrati Theme galleries
-* Fixed:   Blank Insert Gallery Window occurring in some cases
+* Fixed:   Conflicts with Photocrati Theme Galleries
+* Fixed:   Blank Insert Gallery interface window
 * Fixed:   Fixed ability to change Lightbox Effect settings
 * Fixed:   Implemented techniques to ensure WP_Query variables aren't overwritten
 * Fixed:   Enqueuing AJAX JS libraries twice in wp-admin
 * Fixed:   Encoding issues
 * Fixed:   PHP warnings caused by accessing unserialized data as array
-* Fixed:   Fixed installer issues
+* Fixed:   Fixed WordPress gallery plugin installer issues
 
 = V2.0.7 - 08.09.2013 =
-* NEW:     New resource manager that fixes some plugin and theme incompatibilities
+* NEW:     New resource manager that fixes many plugin and theme incompatibilities
 * NEW:     Styles (custom stylesheets) should reside in wp-content/ngg_styles
 * NEW:     Added option to "Other Options -> Misc" to control maximum images returned
 * Secured: Removed default connector for jQuery FileTree library
 * Changed: Updated the simplehtmldom library to version 1.5
 * Changed: jQuery is now enqueued at the beginning of every request
 * Fixed:   Incompatibilities with BuddyPress
-* Fixed:   Incompatibilities with Events+, bbPress, Custom Permalinks, and other plugins
+* Fixed:   Incompatibilities with Events+, bbPress, Custom Permalinks, and many other plugins
 * Fixed:   Incompcatibilities with Member Access, AMember, Magic Fields, and More Fields
-* Fixed:   Incompatibilities with Elegant Themes, Oxygen, Responsive, and some other themes
-* Fixed:   Ensure that gallery images and photos don't have a border by default
-* Fixed:   Conflict between imagebrowser gallery and album urls
+* Fixed:   Incompatibilities with Elegant Themes, Oxygen, Responsive, and many other themes
+* Fixed:   Ensure that gallery images don't have a border by default
+* Fixed:   Conflict between imagebrowser and album urls
 * Fixed:   Reverted default gallerypath to wp-content/gallery/
 * Fixed:   Upgrade-safe way of overriding Styles
 * Fixed:   Generation of AJAX url is now based on slug
 * Fixed:   Restore nggShowGallery and nggShowSlideshow as wrappers to new API
 * Fixed:   Always use domain as specified by WordPress Site URL
 * Fixed:   Use WordPress Home URL over Site URL when appropriate
-* Fixed:   Numerous gallery pagination issues
+* Fixed:   Numerous WordPress gallery plugin pagination issues
 * Fixed:   Adjusted our forms to comply with WordPress Firewalls
 * Fixed:   Correct use of select2 DOM selector for maximum compatibility
 * Fixed:   Path and URL calculations for Windows and UNIX environments
@@ -1009,42 +1034,41 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V2.0 - 07.30.2013 =
 * NEW:	   Improved user experience throughout the plugin, settings and usage.
-* NEW:     Plupload queue photo uploader that allows for bulk and zip uploads within the same interface.
-* NEW:     Complete redesign of the NextGEN Gallery options panel
-* NEW:     Added new Insert Gallery Window for adding galleries from pages and posts.
-* NEW:     Galleries are now mobile friendly and responsive (may need a responsive theme).
+* NEW:     Plupload queue uploader that allows for bulk and zip uploads within the same interface.
+* NEW:     Complete redesign of the NextGEN options panel
+* NEW:     Added new interface for adding galleries from pages and posts.
+* NEW:     Galleries are now mobile friendly and responsive, which is most noticeable with a responsive theme.
 * NEW:     Streamlined functionality for displaying galleries based on tags.
 * NEW:     Architecture based on Pope Framework (http://bitbucket.org/photocrati/pope-framework)
-* NEW:     New shortcode, “ngg_images”, and corresponding Attach to Post interface
+* NEW:     New shortcode, “ngg_images”, and corresponding Insert Gallery interface
 * NEW:     Galleries have now global and instance settings
 * NEW:     Support for FastCGI environments
 * Changed: Replaces shortcodes with placeholder images, however still supports legacy shortcodes.
-* Changed: Introduced new Growl-like notifications
-* Changed: The container and it’s images are centered for slideshows
+* Changed: Introduced new Growl-like notifications for WordPress gallery plugin
+* Changed: The container and its images are centered for photo slideshow galleries
 * Changed: NextGEN styles now override vs replace default styles
 * Changed: NextGEN legacy templates have been deprecated (but still function)
 * FIXED:   The ability to use NextGEN image as a Featured Image.
-* FIXED:   Misc bugs and annoyances, such as PHP warnings, errors, etc.
+* FIXED:   Misc PHP warnings, errors, in gallery plugin
 
 = V1.9.13 - 06.11.2013 =
-* NEW:     Slideshow galleries are now centered to their content area
-* Secured: Ensure that only logged in users can upload images and photos
-* Fixed:   Photo import date is preserved are no longer Jan 1 1970
+* NEW:     Slideshow galleries are now centered to their content area     
+* Secured: Ensure that only logged in users can upload images via plugin
+* Fixed:   Import date is preserved are no longer Jan 1 1970
 * Fixed:   Removed mention of upgrade.php, which no longer exists
 
 = V1.9.12 - 02.15.2013 =
 * Fixed:   jQuery Conflict Detection was trying to dequeue irremovable scripts
 
 = V1.9.11 - 02.12.2013 =
-* NEW: Added the ability to detect JQuery conflicts on NGG Admin Pages and auto-resolve
+* NEW:	   Added the ability to detect JQuery conflicts on NGG Admin Pages and auto-resolve
 * Changed: Added "nggalbum" shortcode. Use this when Jetpack is installed.
 * Changed: Using natural sorting algorithm for alphanumeric values
 * Changed: Database schema is automatically updated when out-of-date
-* Fixed:   Fixed several incompatibility issues with Jetpack
 * Fixed:   Empty drop-down for "Page Link To"
-* Fixed:   Alphabetical image and photo gallery sorting
-* Fixed:   Compatibility with Arjuna X theme
-* Fixed:   “Creating default object from empty value” on album page
+* Fixed:   Alphabetical image sorting
+* Fixed:   Compatibility between gallery plugin and Arjuna X theme
+* Fixed:   “Creating default object from empty value” on album page
 * Fixed:   Compatibility issues with PHP 5.4 on album page
 * Fixed:   E_DEPRECATED warning when using get_userdatabylogin() function
 * Fixed:   Removed many E_NOTICE errors
@@ -1057,11 +1081,13 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Fixed:   Deleted galleries within an album are handed gracefully without warning messages
 * Fixed:   Correct use of register_uninstall_hook
 * Fixed:   CSS and usability issues with the TinyMCE window used to display galleries
+* Fixed:   Inability to generate new image slugs
 
-* NEW:	   JW ImageRotator v3.17 is now bundled with the photo plugin and used by default.
+= V1.9.9 - 12.14.2012 =
+* NEW:	   JW ImageRotator v3.17 is now bundled with the plugin and used by default.
 * Changed: Removed database upgrade code for versions of NextGEN Gallery earlier than 1.9.3
 * Fixed:   Compatibility with WordPress v3.5 ( wpdb->prepare() warnings )
-* Fixed:   Sorting by photo filename now produces expected results using a natural sorting algorithm
+* Fixed:   Sorting by filename now produces expected results using a natural sorting algorithm
 
 = V1.9.8 - 12.05.2012 =
 * Secured: Removed bundled version of swfupload. See fix below for SCM information.
@@ -1069,12 +1095,12 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Fixed:   Our primary SCM is conducted at http://bitbucket.org/photocrati/nextgen-gallery, but was not synchronizing correctly with the WordPress Plugin SVN Repository
 * Fixed:   The transient adjustment fixes: http://wordpress.org/support/topic/plugin-nextgen-gallery-_transient_ngg_request-entry-in-wp_options
 
-= V1.9.7 - 11.13.2012 =
+= V1.9.7 - 11.12.2012 =
 * Secured: Removed bundled version of swfupload; using WordPress-bundled version instead for WordPress 3.2 instances
-* Changed: Using JQuery UI for the image gallery sorting interface (thanks Tomás Soler)
-* Bugfix:  Image and photo uploads work in WP 3.2 when using Safari
+* Changed: Using JQuery UI for the image sorting interface (thanks Tomás Soler)
+* Bugfix:  Image uploads work in WP 3.2 when using Safari
 * Bugfix:  Adjusted TinyMCE window to use built-in JavaScript libraries
-* Bugfix:  Removed Photocrati acquisition announcement
+* Bugfix:  Removed Photocrati acquisition announcement from WordPress gallery plugin
 * Bugfix:  Fixed incorrect usage of ImageJpeg() function
 * Bugfix:  Switched from "template_redirect" to "wp_enqueue_script" hook to load scripts and styles
 
@@ -1085,29 +1111,29 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix: Fixed compatibility issue with Simple Facebook Connect
 * Bugfix: Using correct Facebook Page ID in Like button
 
-= V1.9.5 - 18.07.2012 =
+= V1.9.5 - 07.18.2012 =
 * Changed: Branding changes following Photocrati acquisition (removed donation messages and updated links)
 * Secured: Use WordPress-bundled JavaScript libraries for swfobject and swfupload instead of bundling our own
 * Bugfix: Adjusted thickbox effect styling to ensure that the lightbox is always displayed in the foreground
-* Bugfix: Fixed compat issues with Contact Form 7 and other plugins by following WordPress Plugin conventions
-* Bugfix: Fixed network-wide activation in WordPress 3.4
-* Bugfix: Plugin is no longer dependent on it's folder name
+* Bugfix: Fixed compatibility issues with Contact Form 7 and other plugins by following WordPress Plugin conventions
+* Bugfix: Fixed network-wide gallery plugin activation in WordPress 3.4
+* Bugfix: Gallery plugin is no longer dependent on its folder name
 
 = V1.9.3 - 26.02.2012 =
 * Bugfix : Ensure to set the slug for "all" albums
 * Bugfix : Updated german translation ( THX to Roger Hunziker )
 * Bugfix : Ensure error checking on IPTC array (THX to Kristian Edlund)
-* Bugfix : Handle IE8 cached images better in gallery slideshow
-* Bugfix : Show album preview image or photo if selected  (THX to Kristian Edlund)
+* Bugfix : Handle IE8 cached images better in slideshow galleries
+* Bugfix : Show album preview image if selected  (THX to Kristian Edlund)
 
 = V1.9.2 - 17.01.2012 =
 * NEW : Added more XMLRPC commands (THX to Vladimir Vinogradsky)
 * Changed : Rework Post-thumbnail function (THX to Kristian Edlund)
-* Bugfix : Check first for valid images or photos on unzip (only Mac OS zip-files)
+* Bugfix : Check first for valid images on unzip (only Mac OS zip-files)
 * Bugfix : Increase z-index for twenty eleven theme
-* Bugfix : Support non latin chars in tagcloud gallery
+* Bugfix : Support non latin chars in tagcloud
 * Bugfix : Allow other tinymce intance
-* Bugfix : Better support for WPML translation
+* Bugfix : Better gallery plugin upport for WPML translation
 
 = V1.9.1 - 10.12.2011 =
 * Bugfix : Security hardness for untrusted filenames/meta data (THX to Brian St. Pierre)
@@ -1117,17 +1143,17 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : IE7/IE8 width set correctly for edit album autocomplete field
 
 = V1.9.0 - 27.11.2011 =
-* NEW : Keep image transparency for PNG and GIF format
+* NEW : Keep images transparency for PNG and GIF format
 * NEW : Switch to Plupload, support now HTML5 Upload (only with WordPress 3.3)
-* NEW : Added client side photo resize feature (only with WordPress 3.3)
+* NEW : Added client side resize feature (only with WordPress 3.3)
 * NEW : Support for gallery templates in album shortcodes [ album id=x template="name" gallery="templatename" ]
 * NEW : Added new hook ngg_delete_picture
-* Changed : Updated to jQuery Cycle Version 2.9995
+* Changed : Updated gallery plugin to jQuery Cycle Version 2.9995
 * Changed : Always cache the single pictures, remove option
 * Bugfix : Couldn't use bulk operation for search results
 * Bugfix : Bugfix for Edit thumbnails under IE 8 + 9
-* Bugfix : Allow empty photo altext in ngg.editImage
-* Bugfix : Various PHP notice fixes
+* Bugfix : Allow empty altext in ngg.editImage
+* Bugfix : Various PHP notice fixes in gallery plugin
 * Bugfix : Resize fix for Shutter effect and mobile Browser
 * Bugfix : FTP Import missing slug field into database
 * Bugfix : Check also EXIF field "DateTimeOriginal" for timestamp
@@ -1140,35 +1166,35 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : Sub-Albums in Albums didn't create the correct link
 * Bugfix : AJAX Pagination didn't work anymore
 * Bugfix : Adding index.php to home_url()
-* Bugfix : Preview photo lost on backend gallery page 2 or higher
+* Bugfix : Preview picture lost on backend gallery page 2 or higher
 
 = V1.8.2 - 12.07.2011 =
-* Bugfix : Set gallery pagination variables for search result, otherwise update failed
+* Bugfix : Set pagination variables for search result, otherwise update failed
 * Bugfix : Update failed for paged galleries since WordPress 3.2
 
 = V1.8.1 - 18.06.2011 =
 * Bugfix : Special case for pagination, instead of showing page-1, we show the clean url
-* Bugfix : Various PHP notice fixes
+* Bugfix : Various PHP notice fixes in gallery plugin
 * Bugfix : Typo in rewrite rules
 * Bugfix : Flush rewrite rules during upgrade later
 
 = V1.8.0 - 12.06.2011 =
 * NEW : Full rework of permalink url structure
-* NEW : Adding Google Sitemaps for images  and photos(require WordPress SEO plugin by YOAST )
+* NEW : Adding Google Sitemaps for Images (require WordPress SEO plugin by YOAST )
 * NEW : Support for WPML ( WordPress Multilingual Plugin )
 * NEW : Adding support for arrow key in shutter effect (THX to Flyvans)
-* NEW : Adding sort operation for WordPress gallery plugin overview page
+* NEW : Adding sort operation for galleries overview page
 * Changed : Updated pagination to new WP3.1 style
 * Bugfix : Create unique slug in a better way
 * Bugfix : Rework screen options filter for gallery and image table
 * Bugfix : Empty values in XMLRPC update calls are ignored
 * Bugfix : Create gallery failed when safe-mode on
-* Bugfix : Permalink didn't work in combination with album & imagebrowser gallery
+* Bugfix : Permalink didn't work in combination with album & imagebrowser
 
 = V1.7.4 - 15.02.2011 =
 * Bugfix : Disallow direct call of ajax file to avoid path disclosure (THX to High-Tech Bridge SA)
 * Bugfix : Rework jQuery Cycle slideshow for IE compat reason (THX to Justin Dickenson)
-* Bugfix : Resize only larger images or photos in slideshow
+* Bugfix : Resize only larger images in slideshow galleries
 * Bugfix : Improved image format detection in gd.thumbnail class (THX to Kupar.b)
 
 = V1.7.3 - 20.01.2011 =
@@ -1180,11 +1206,11 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * Bugfix : WP3.1 compat issue, show site admin page only on Multisite installation
 
 = V1.7.2 - 13.12.2010 =
-* Bugfix : Adding images or photos to database require slug (NOT NULL)
+* Bugfix : Adding images to database require slug
 
 = V1.7.1 - 13.12.2010 =
 * Changed : Disable upgrade for PHP4 user
-* Changed : Disable colorpicker for option page
+* Changed : Disable colorpicker for WordPress gallery plugin option page
 * Bugfix : Compat fix for upgrade
 
 = V1.7.0 - 11.12.2010 =
@@ -1193,34 +1219,34 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding Autocomplete field to TinyMCE Popup and Album page
 * NEW : More methods for XMLRPC interface
 * Changed : New hooks for gallery table (THX to Alexander Schneider)
-* Changed : Introduce jQuery dialog as new UI element
+* Changed : Introduce jQuery dialog as new UI element for WordPress gallery plugin
 * Changed : Call TinyMCE window via admin-ajax
 * Bugfix : Better support for SSL blogs
 * Bugfix : Install/Upgrade failed when table prefix contain captial letters
 * Bugfix : Fix validation issues in Media-RSS
 * Bugfix : Empty tags in XMP Meta causes PHP error
-* Bugfix : Rework load mechanism for gallery slideshow
-* Bugfix : Copy meta data when image or photo is copied
+* Bugfix : Rework load mechanism for slideshow
+* Bugfix : Copy meta data when image is copied
 * Bugfix : Icon Support for Ozh' Admin Drop Down Menu
-* Bugfix : Use correct sort order in gallery slideshow
+* Bugfix : Use correct sort order in slideshow galleries
 
 = V1.6.2 - 19.09.2010 =
 * NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
 * Bugfix : Load Tags library with core files
-* Bugfix : Photo slideshow script failed in IE7, load script now in header
-* Bugfix : Load gallery slideshow widget always
+* Bugfix : Slideshow script failed in IE7, load script now in header
+* Bugfix : Load slideshow gallery widget always
 * Changed : New admin notice for database upgrade
-* Changed : Rework crop feature for featured images and photos
+* Changed : Rework crop feature of WordPress gallery plugin for featured images
 * Changed : Use site_url() instead get_option ('siteurl'), required for SSL support
 
 = V1.6.1 - 08.09.2010 =
 * Bugfix : Script load of swfobject.js failed
-* Bugfix : Show gallery sideshow also with 1 or 2 images
+* Bugfix : Show sideshow also with 1 or 2 images
 * Bugfix : Rework null byte check in zip upload
 
 = V1.6.0 - 07.09.2010 =
 * NEW : Wordpress 3.0 Network (Multi-Site) support
-* NEW : Integrate jQuery Cycle as NON-Flash photo slideshow
+* NEW : Integrate jQuery Cycle as NON-Flash slideshow
 * NEW : Adding jQuery File Tree for import folder (THX to Sergey Pasyuk )
 * NEW : Added action hook 'ngg_show_imagebrowser_first' on custom request
 * NEW : Added filter hook 'ngg_slideshow_size' to resize sildeshow for mobile browser plugins
@@ -1239,17 +1265,17 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 * NEW : Adding more hooks for custom fields plugin
 
 = V1.5.4 - 14.06.2010 =
-* Bugfix : No resize of smaller images
+* Bugfix : No resize of smaller images or photos
 * Bugfix : Compat issues for Post Thumbnails under WP3.0
 * Bugfix : Esc_URL in Media RSS
 
 = V1.5.3 - 11.04.2010 =
-* NEW:      Adding gallery pagination to footer
-* Changed:  Prepare new filter to replace photo slideshow
-* Bugfix:   Remove non-breaking space from navigation
-* Bugfix:   Pagination of galleries
-* Bugfix:   Fixed brackets position for old shortcode query
-* Bugfix:   Slideshow option 'Show next image on click' has wrong default value
+* New : Adding pagination to footer
+* Changed : Prepare new filter to replace slideshow galleries
+* Bugfix : Remove non-breaking space from navigation
+* Bugfix : Pagination of galleries
+* Bugfix : Fixed brackets position for old shortcode query
+* Bugfix : Slideshow option 'Show next image on click" has wrong default value
 
 = V1.5.2 - 25.03.2010 =
 * Bugfix : XSS security vulnerability (THX to Core Security Advisories Team , Pedro Varangot)
@@ -1257,18 +1283,18 @@ Fixed:     Match legacy behaviour when changing gallery path, i.e. don't move fi
 
 = V1.5.1 - 23.03.2010 =
 * Bugfix : PHP4 compat issue for Add gallery & options page
-* Bugfix : WordPress gallery plugin widget can now have a empty title
+* Bugfix : Gallery widget can now have a empty title
 * Bugfix : Adding correct stripslash for gallery title
 
 = V1.5.0 - 18.03.2010 =
 * NEW : Support for Post thumbnail feature
-* NEW : Backup and Recover function for photos (THX to Simone Fumagalli)
-* NEW : Resize photos after upload (THX to Simone Fumagalli)
+* NEW : Backup and Recover function for images (THX to Simone Fumagalli)
+* NEW : Resize images after upload (THX to Simone Fumagalli)
 * NEW : Added a JSON class for fetching galleries in a RESTful way (see xml/json.php)
 * NEW : Adding various new capabilities for user roles
 * NEW : Auto downloader for translation file
 * Changed : Rename query var from slideshow to callback for compat reason with other plugin
-* Changed : Convert widget function to new WP structure
+* Changed : Convert WordPress gallery plugin widget function to new WP structure
 * Changed : Include lookup for tags into the backend search
 * Changed : Restructure addgallery and settings page to enable custom tabs
 * Bugfix : Select album preview from gallery preview pics instead random list