Comet Cache - Version 160223

Version Description

= v160211 =

Requires PHP v5.4+. The latest version of Comet Cache is a complete rewrite (OOP design). Faster! and even more dependable. For further details, please see http://cometcache.com/new-minimum-php-version-php-5-4/

Download this release

Release Info

Developer raamdev
Plugin Icon 128x128 Comet Cache
Version 160223
Comparing to
See all releases

Code changes from version 160211.2 to 160223

Files changed (92) hide show
  1. CHANGELOG.md +54 -0
  2. comet-cache.php +1 -1
  3. plugin.php +25 -2
  4. readme.txt +47 -157
  5. src/client-s/css/menu-pages.min.css +1 -1
  6. src/client-s/images/options-lite.png +0 -0
  7. src/includes/api.php +1 -1
  8. src/includes/classes/AbsBase.php +1 -1
  9. src/includes/classes/AbsBaseAp.php +1 -1
  10. src/includes/classes/Actions.php +1 -1
  11. src/includes/classes/AdvCacheBackCompat.php +1 -1
  12. src/includes/classes/AdvancedCache.php +1 -1
  13. src/includes/classes/ApiBase.php +1 -1
  14. src/includes/classes/Conflicts.php +4 -6
  15. src/includes/classes/FeedUtils.php +1 -1
  16. src/includes/classes/MenuPage.php +1 -1
  17. src/includes/classes/MenuPageOptions.php +23 -3
  18. src/includes/classes/Plugin.php +4 -3
  19. src/includes/classes/VsUpgrades.php +11 -3
  20. src/includes/closures/Ac/AbortUtils.php +1 -1
  21. src/includes/closures/Ac/AcPluginUtils.php +1 -1
  22. src/includes/closures/Ac/BrowserUtils.php +1 -1
  23. src/includes/closures/Ac/NcDebugConsts.php +1 -1
  24. src/includes/closures/Ac/NcDebugUtils.php +1 -1
  25. src/includes/closures/Ac/ObUtils.php +1 -1
  26. src/includes/closures/Ac/PostloadUtils.php +1 -1
  27. src/includes/closures/Ac/ShutdownUtils.php +1 -1
  28. src/includes/closures/Plugin/ActionUtils.php +1 -1
  29. src/includes/closures/Plugin/BbPressUtils.php +1 -1
  30. src/includes/closures/Plugin/CleanupUtils.php +1 -1
  31. src/includes/closures/Plugin/CondUtils.php +1 -1
  32. src/includes/closures/Plugin/CronUtils.php +1 -1
  33. src/includes/closures/Plugin/DbUtils.php +1 -1
  34. src/includes/closures/Plugin/DirUtils.php +1 -1
  35. src/includes/closures/Plugin/HtaccessUtils.php +1 -1
  36. src/includes/closures/Plugin/InstallUtils.php +2 -2
  37. src/includes/closures/Plugin/MenuPageUtils.php +5 -1
  38. src/includes/closures/Plugin/NoticeUtils.php +1 -1
  39. src/includes/closures/Plugin/OptionUtils.php +1 -1
  40. src/includes/closures/Plugin/PostUtils.php +1 -1
  41. src/includes/closures/Plugin/UpdateUtils.php +1 -1
  42. src/includes/closures/Plugin/UrlUtils.php +1 -1
  43. src/includes/closures/Plugin/UserUtils.php +1 -1
  44. src/includes/closures/Plugin/WcpAuthorUtils.php +1 -1
  45. src/includes/closures/Plugin/WcpCommentUtils.php +1 -1
  46. src/includes/closures/Plugin/WcpFeedUtils.php +1 -1
  47. src/includes/closures/Plugin/WcpHomeBlogUtils.php +1 -1
  48. src/includes/closures/Plugin/WcpJetpackUtils.php +1 -1
  49. src/includes/closures/Plugin/WcpOpcacheUtils.php +1 -1
  50. src/includes/closures/Plugin/WcpPluginUtils.php +1 -1
  51. src/includes/closures/Plugin/WcpPostTypeUtils.php +1 -1
  52. src/includes/closures/Plugin/WcpPostUtils.php +1 -1
  53. src/includes/closures/Plugin/WcpSettingUtils.php +1 -1
  54. src/includes/closures/Plugin/WcpSitemapUtils.php +1 -1
  55. src/includes/closures/Plugin/WcpTermUtils.php +1 -1
  56. src/includes/closures/Plugin/WcpUpdaterUtils.php +1 -1
  57. src/includes/closures/Plugin/WcpUtils.php +1 -1
  58. src/includes/closures/Plugin/WcpWooCommerceUtils.php +1 -1
  59. src/includes/closures/Shared/BlogUtils.php +1 -1
  60. src/includes/closures/Shared/CacheDirUtils.php +1 -1
  61. src/includes/closures/Shared/CacheLockUtils.php +1 -1
  62. src/includes/closures/Shared/CachePathConsts.php +1 -1
  63. src/includes/closures/Shared/CachePathUtils.php +1 -1
  64. src/includes/closures/Shared/ConditionalUtils.php +33 -2
  65. src/includes/closures/Shared/DomainMappingUtils.php +1 -1
  66. src/includes/closures/Shared/EscapeUtils.php +1 -1
  67. src/includes/closures/Shared/FsUtils.php +1 -1
  68. src/includes/closures/Shared/HookUtils.php +1 -1
  69. src/includes/closures/Shared/HttpUtils.php +1 -1
  70. src/includes/closures/Shared/I18nUtils.php +1 -1
  71. src/includes/closures/Shared/IpAddrUtils.php +1 -1
  72. src/includes/closures/Shared/PatternUtils.php +1 -1
  73. src/includes/closures/Shared/ReplaceUtils.php +1 -1
  74. src/includes/closures/Shared/ServerUtils.php +1 -1
  75. src/includes/closures/Shared/StringUtils.php +1 -1
  76. src/includes/closures/Shared/SysUtils.php +1 -1
  77. src/includes/closures/Shared/TokenUtils.php +1 -1
  78. src/includes/closures/Shared/TrimUtils.php +1 -1
  79. src/includes/closures/Shared/UrlUtils.php +1 -1
  80. src/includes/functions/i18n-utils.php +1 -1
  81. src/includes/functions/wp-cache-postload.php +1 -1
  82. src/includes/plugin.php +4 -2
  83. src/includes/stub.php +2 -4
  84. src/includes/templates/advanced-cache.txt +1 -1
  85. src/includes/translations/comet-cache.pot +392 -362
  86. src/includes/uninstall.php +4 -3
  87. src/vendor/autoload.php +1 -1
  88. src/vendor/composer/autoload_psr4.php +1 -1
  89. src/vendor/composer/autoload_real.php +4 -4
  90. src/vendor/composer/installed.json +6 -6
  91. src/vendor/websharks/sharkicons/src/long-classes.min.css +1 -1
  92. src/vendor/websharks/sharkicons/src/short-classes.min.css +1 -1
CHANGELOG.md CHANGED
@@ -1,3 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = v160211 =
2
 
3
  **Announcing Comet Cache, formerly ZenCache!**
1
+ = v160223 =
2
+
3
+ - **Announcement: After March 1st, 2016 Comet Cache will require PHP Multibyte String support.** The `mbstring` extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, caching will be unstable. For that reason we are requiring the `mbstring` extension to improve reliability when caching and to prevent your site from experiencing unforeseen issues in the future..
4
+ - **Bug Fix (Multisite)**: Fixed a bug where when Comet Cache was Network Activated the plugin settings link would show up in the plugins list for the Main Site and would lead to a 404 error. The settings link is now only shown when viewing the plugins list from the Network Admin. Props @jaswsinc. See [Issue #675](https://github.com/websharks/zencache/issues/675).
5
+ - **Enhancement**: Added support-related links to the plugin options page. Props @renzms. See [Issue #612](https://github.com/websharks/zencache/issues/612#issuecomment-186827661).
6
+
7
+ = v160222 =
8
+
9
+ - **Announcement: ZenCache is changing its name to Comet Cache!** Learn more about this upcoming change [here](https://cometcache.com/r/announcing-comet-cache-formerly-zencache/).
10
+ - **Announcement: This version of ZenCache requires PHP 5.4+.** As announced in the previous release, the minimum PHP version required to run ZenCache / Comet Cache has changed to PHP 5.4+ as of December 1st, 2015. Please see announcement with further details: [New Minimum PHP Version: PHP 5.4](http://zencache.com/r/new-minimum-php-version-php-5-4/)
11
+ - **Announcement: This version of ZenCache does not support the PHP APC Extension**. As announced in the previous release, ZenCache / Comet Cache no longer runs with the PHP APC extension enabled as of December 1st, 2015. Please see announcement with further details: [PHP APC Extension No Longer Supported](http://zencache.com/r/php-apc-extension-no-longer-supported/)
12
+ - **Announcement: After March 1st, 2016 ZenCache / Comet Cache will require PHP Multibyte String support.** The `mbstring` extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, caching will be unstable. For that reason we are requiring the `mbstring` extension to improve reliability when caching and to prevent your site from experiencing unforeseen issues in the future.
13
+ - **Announcement: Restructured Codebase**. The entire ZenCache Lite codebase has been restructured to improve performance, enhance flexibility, and make it easier to build in new features! This release of ZenCache Lite has been built from the ZenCache Pro codebase, which is more polished and up-to-date. This release includes many changes and improvements that were released as part of ZenCache Pro releases over the past 6 months and are now being included in the Lite version. See the full changelog below for a complete list of changes.
14
+ - **New Feature!** A new watered-down Regular Expression syntax is now supported in several existing ZenCache features, including XML Sitemap Patterns, URI Exclusion Patterns, HTTP Referrer Exclusion Patterns, and User-Agent Exclusion Patterns. (It is also supported in the Pro-only Custom URLs to Auto-Clear, and the HTML Compressor CSS Exclusion Patterns and JavaScript Exclusion Patterns.) This new syntax greatly increases the power and flexibility of each of these features and makes things possible like the much-requested ability to Auto-Clear the Home Page or Posts Page of a site whenever a post cache is cleared. For more information on this new watered-down Regular Expression syntax, [this KB Article](http://zencache.com/r/watered-down-regex-syntax/). Props @kristineds @jaswsinc. See [Issue #191](https://github.com/websharks/zencache/issues/191).
15
+ - **Bug Fix**: Fixed a bug with clearing cache files for paginated pages where the `pagination_base` had been changed from the default `page` to something else (e.g., a translated string). The WP Rewrite API is now used to include `pagination_base` and `comments_pagination_base` when building paths to cache files to determine which cache files should be cleared. Props @renzms. See [Issue #607](https://github.com/websharks/zencache/issues/607).
16
+ - **Bug Fix**: This release attempts to resolve reports of Error 500 and Internal Server Error issues when running with PHP 5.6 + OPcache. Instead of clearing the entire Opcode cache whenever the plugin options are saved, we only invalidate the `advanced-cache.php` file, which is rebuilt each time you update your configuration options. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See [Issue #624](https://github.com/websharks/zencache/issues/624).
17
+ - **Bug Fix**: Fixed an issue where a PHP Notice was generated when an inactive WordPress component was being upgraded. This issue did not have any adverse affect on the site, but this fix resolves the issue so that the notice won't appear in PHP logs. See [Issue #589](https://github.com/websharks/zencache/issues/589).
18
+ - **Bug Fix**: Fixed a bug where a commented-out `WP_CACHE` definition in `wp-config.php` (such as what WP Super Cache leaves behind) was being incorrectly ignored and resulted in caching being silently disabled. Props @davidfavor. See [Issue #591](https://github.com/websharks/zencache/issues/591).
19
+ - **Bug Fix**: Fixed a bug where in some scenarios a page might not be cached due to a stray `AUTH_COOKIE` or `SECURE_AUTH_COOKIE` cookie, even when the user is not logged in. Props @jaswsinc @renzms. See [Issue #592](https://github.com/websharks/zencache/issues/592).
20
+ - **Bug Fix**: Fixed an issue related to a popular NGINX server configuration (`try_files $uri $uri/ /index.php?q=$uri&$args;`) that was preventing the entire site from being cached. ZenCache disables caching by default for all requests that include a query string (see _Dashboard → ZenCache → Plugin Options → GET Requests_) and this particular NGINX configuration passes _all_ requests to WordPress with a `?q=` query variable, which was resulting in ZenCache disabling caching on all pages. This release implements better detection for NGINX and works around this scenario. Props @jaswsinc. See [Issue #561](https://github.com/websharks/zencache/issues/561).
21
+ - **Bug Fix**: Fixed a bug where, in some rare cases, `wp-config.php` would end up with two `WP_CACHE` definitions. Props @jaswsinc. See [Issue #509](https://github.com/websharks/zencache/issues/509).
22
+ - **Bug Fix**: Saving a Post as a Draft was incorrectly purging XML Sitemap cache files. Props @jaswsinc. See [Issue #368](https://github.com/websharks/zencache/issues/368).
23
+ - **Bug Fix**: Fixed a bug in the Dynamic Version Salt filter that was generating PHP notices and warnings. See [Issue #522](https://github.com/websharks/zencache/issues/522).
24
+ - **Bug Fix**: Fixed an issue with backwards compatibility that was preventing some AC Plugins from working properly. See [Issue #514](https://github.com/websharks/zencache/issues/514).
25
+ - **Bug Fix**: Fixed a bug where saving a Post/Page as a Draft as a user with an Editor role would unnecessarily clear the Home Page cache. See [Issue #625](https://github.com/websharks/zencache/issues/625).
26
+ - **Multisite Bug Fix**: Fixed a bug where the Clear Cache button wouldn't clear Child-Site Logged-In User Home Page cache files on WordPress Multisite Networks. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
27
+ - **Multisite Bug Fix**: Fixed a bug where the Home Page cache was not clearing on Child Sites in a Multisite Network. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
28
+ - **Multisite Bug Fix**: Fixed a bug with 404 Request caching on Multisite Networks where ZenCache Pro was not considering that each child blog in a multisite network will have its own 404 error page. Props @jaswsinc. See [Issue #539](https://github.com/websharks/zencache/issues/539).
29
+ - **Multisite Bug Fix**: Fixed a bug where clearing the cache from the main site of a multisite network, when there are child blogs in sub-directories, resulted in all child blogs being cleared from the cache, not just the main site as would be expected. This has been resolved and only the main site is cleared when clicking the Clear Cache button. Note that the Wipe Cache button can still be used to clear the cache for all sites in a Multisite Network. Props @jaswsinc. See [Issue #540](https://github.com/websharks/zencache/issues/540).
30
+ - **Multisite Bug Fix**: Fixed a bug where Wiping the cache on a multisite network resulted in the very next page view being cached incorrectly. Props @jaswsinc. See [Issue #541](https://github.com/websharks/zencache/issues/541).
31
+ - **Multisite Bug Fix**: Fixed a bug where when ZenCache was Network Activated the plugin settings link would show up in the plugins list for the Main Site and would lead to a 404 error. The settings link is now only shown when viewing the plugins list from the Network Admin. Props @jaswsinc. See [Issue #675](https://github.com/websharks/zencache/issues/675).
32
+ - **Enhancement**: Added support-related links to the plugin options page. Props @renzms. See [Issue #612](https://github.com/websharks/zencache/issues/612#issuecomment-186827661).
33
+ - **Enhancement**: It's now possible to override the ZenCache Nonce exclusion globally (dangerous) or only for Logged-In Users (safer). Please see [this article](http://zencache.com/r/kb-article-what-are-wordpress-nonces-and-why-are-they-not-cache-compatible/) for full details. [Issue #637](https://github.com/websharks/zencache/issues/637).
34
+ - **Enhancement**: Improved WP Cron-related configuration and validation of custom cron schedules. See [PR #197](https://github.com/websharks/zencache-pro/pull/197).
35
+ - **Enhancement**: ZenCache now clears the cache whenever a WordPress plugin is activated or deactivated. Many WordPress plugins change content on the front-end of the site, so this enhancement ensures that an old cache file is never served to visitors. If you want to disable this automatic behavior, see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-clearing-the-cache-upon-plugin-activation-or-deactivation/). Props @renzms. See [Issue #424](https://github.com/websharks/zencache/issues/424).
36
+ - **Enhancement**: When activating ZenCache for the first time, a new Dashboard message now includes a helpful link to the options page to enable caching and review the options. Props @kristineds. See [Issue #112](https://github.com/websharks/zencache/issues/112).
37
+ - **Enhancement**: The automatic Cache Cleanup schedule that cleans up (deletes) expired/stale cache files has been changed from once every day to once every hour. Running the cleanup hourly makes ZenCache smarter when configured in certain ways and saves disk space. Props @kristineds. See [Issue #472](https://github.com/websharks/zencache/issues/472).
38
+ - **Enhancement**: When the Cache Directory location is changed, ZenCache now cleans up the old Cache Directory and any old cache files instead of leaving them behind. Props @clavaque @renzms. See [Issue #580](https://github.com/websharks/zencache/issues/580).
39
+ - **Enhancement**: Added a new API Function that allows a site owner to clear the cache for a specific URL via `zencache::clearUrl($url);`. See [this article](http://zencache.com/kb-article/clearing-the-cache-dynamically/#toc-988085ad) for further details. Props @kristineds. See [Issue #590](https://github.com/websharks/zencache/issues/590).
40
+ - **Enhancement**: Improved the HTML Notes generated by ZenCache when s2Member (a membership plugin for WordPress) is specifically disabling caching. s2Member automatically disables caching on certain pages that are required to remain dynamic. The HTML Notes generated by ZenCache now explain when this is happening. Props @renzms. See [Issue #504](https://github.com/websharks/zencache/issues/504).
41
+ - **Enhancement**: Manual Cache Clearing options have now been separated from Automatic Cache Clearing options inside the ZenCache Plugin Options to improve the differentiation between these.
42
+ - **Enhancement**: New icons in the ZenCache Plugin Options help improve the visual representation of each panel.
43
+ - **Enhancement**: The installed plugin version is now shown at the top of the ZenCache Options Page. Props @renzms. See [Issue #502](https://github.com/websharks/zencache/issues/502).
44
+ - **Enhancement**: New transition in/out effects on the Cache Cleared Dashboard notifications. Props @jaswsinc. See [Issue #538](https://github.com/websharks/zencache/issues/538).
45
+ - **Enhancement**: Improved compatibility with any Custom Post Type that uses hierarchies. Props @jaswsinc.
46
+ - **Akismet Compatibility:** ZenCache no longer caches pages that contain `akismet_comment_nonce` in the markup. This ensures that a page that contains a time-sensitive `nonce` value does not get cached. Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
47
+ - **Akismet Compatibility:** ZenCache now automatically disables the Akismet Comment Nonce using [the `akismet_comment_nonce` filter](https://github.com/git-mirror/wordpress-akismet/blob/2.5.6/akismet.php#L333), which improves compatibility between Akismet and the page caching functionality provided by ZenCache. This ensures that pages do not contain time-sensitive `nonce` values that should not be cached. If you'd like to revert this behavior, please see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-disabling-the-akismet-comment-nonce/). Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
48
+ - **Akismet Compatibility**: Fixed a bug with Akismet compatibility where ZenCache was not properly disabling the Akismet Comment Nonce, which resulted in pages being unnecessarily excluded from the cache due to the presence of the `akismet_comment_nonce` in the markup. Props @Kalfer. See [Issue #642](https://github.com/websharks/zencache/issues/642).
49
+ - **WooCommerce Compatibility:** This release improves compatibility with the WooCommerce Product Stock feature. When the Product Stock changes, ZenCache will now clear the cache file for the associated Product to ensure that the stock quantity that appears on the site remains up-to-date. See [Issue #597](https://github.com/websharks/zencache/issues/597).
50
+ - **Multisite Domain Mapping Compatibility**: ZenCache is now fully compatible with the [WordPress MU Domain Mapping plugin](https://wordpress.org/plugins/wordpress-mu-domain-mapping/), including Multisite Networks using domain mapping on top-level domains, sub-domains, and sub-directories. Multiple variations of each site spread across an unlimited number of domain mappings and/or the original blog domain/path is also supported. All Pro-only features, including the Auto-Cache Engine, Static CDN Filters, and HTML Compression, are also now compatible with domain mapping. Props @jaswsinc. See [Issue #339](https://github.com/websharks/zencache/issues/339).
51
+ - **bbPress Compatibility**: This release greatly improves compatibility with bbPress. Events like creating a new Forum, creating a new Topic, and posting a reply to a Topic (including threaded replies), now properly clear the necessary cache files to ensure that cached bbPress pages remain up-to-date. Props @jaswsinc. See [Issue #168](https://github.com/websharks/zencache/issues/168).
52
+ - **bbPress Compatibility:** This release improves compatibility with bbPress when ZenCache Logged-In User caching is enabled. In this scenario, bbPress may generate links for Admins that contain time-sensitive `_wpnonce` values which could expire if cached and result in certain admin-related actions failing. ZenCache no longer caches pages that contain `_wpnonce` in the markup. This ensures that pages containing time-sensitive `nonce` values are not cached. Props @kristineds, @jaswsinc, and @clavaque. See [Issue #601](https://github.com/websharks/zencache/issues/601).
53
+ - **New Pro Features:** This release updates the Pro Preview to include several new Pro features that have been added over the past 6 months, including the ability to clear the PHP OPCache whenever manually clearing the cache (_ZenCache Options → Manual Cache Clearing → Clear the PHP OPCache Too?_), clear the CDN Cache whenever manually clearing the cache (_ZenCache Options → Manual Cache Clearing → CDN Cache Clear the CDN Cache Too?_), disable cache expiration if the server load average is high (_ZenCache Options → Cache Expiration Time → Disable Cache Expiration If Server Load Average is High_), the ability to specify which WordPress Roles/Capabilities are allowed to clear the cache from the WordPress Admin bar (_ZenCache Options → Manual Cache Clearing → Also allow others to clear the cache from their Admin Bar?_), a completely new Cache Statistics feature that allows you to monitor the health and status of your cache (_ZenCache → Stats / Charts_), the ability to specify a list of Custom URLs whose cache files should be cleared whenever ZenCache detects that a Post/Page cache should be cleared (_ZenCache Options → Automatic Cache Clearing → Misc. Auto-Clear Options → Auto-Clear a List of Custom URLs Too?_), a new menu of Clear Cache options in the Admin Bar that allows you to clear the cache for just the Home Page, the Current URL, a Specific URL, PHP's OPCache, or the CDN Cache (_ZenCache Options → Plugin Options → Manual Cache Clearing_), the ability to customize the Cache Cleanup Schedule and set your own schedule (_ZenCache Options → Manual Cache Clearing → Cache Cleanup Schedule_), the ability to configure the Pro Plugin Updater to check for Beta versions, an option to clear Expired WordPress Transients, and URI Exclusion Patterns for Client-Side Caching.
54
+
55
  = v160211 =
56
 
57
  **Announcing Comet Cache, formerly ZenCache!**
comet-cache.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Version: 160211.2
4
  Text Domain: comet-cache
5
  Plugin Name: Comet Cache
6
  Network: true
1
  <?php
2
  /*
3
+ Version: 160223
4
  Text Domain: comet-cache
5
  Plugin Name: Comet Cache
6
  Network: true
plugin.php CHANGED
@@ -5,9 +5,13 @@ if (!defined('WPINC')) {
5
  $GLOBALS['wp_php_rv'] = '5.3.2'; //php-required-version// // Leaving this at v5.3.2 so that we can have more control over Dashboard messages below.
6
 
7
  if (require(dirname(__FILE__).'/src/vendor/websharks/wp-php-rv/src/includes/check.php')) {
 
 
 
 
8
  ${__FILE__}['apc_enabled'] = (extension_loaded('apc') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.cache_by_default'), FILTER_VALIDATE_BOOLEAN) && stripos((string)ini_get('apc.filters'), 'comet-cache') === false) ? true : false;
9
 
10
- if ((!version_compare(PHP_VERSION, '5.4', '>=') || ${__FILE__}['apc_enabled'])) {
11
 
12
  if (!version_compare(PHP_VERSION, '5.4', '>=') && is_admin()) {
13
  ${__FILE__}['php54_notice'] = '<h3 style="margin:.5em 0 .25em 0;">'.__('<strong>NOTICE: Comet Cache Minimum PHP Version</strong></h3>', 'comet-cache');
@@ -56,7 +60,26 @@ if (require(dirname(__FILE__).'/src/vendor/websharks/wp-php-rv/src/includes/chec
56
  )
57
  );
58
  }
59
- } else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  require_once dirname(__FILE__).'/src/includes/plugin.php';
61
  }
62
  } else {
5
  $GLOBALS['wp_php_rv'] = '5.3.2'; //php-required-version// // Leaving this at v5.3.2 so that we can have more control over Dashboard messages below.
6
 
7
  if (require(dirname(__FILE__).'/src/vendor/websharks/wp-php-rv/src/includes/check.php')) {
8
+ if (!empty($_REQUEST['comet_cache_mbstring_deprecated_warning_bypass']) && is_admin()) {
9
+ update_site_option('comet_cache_mbstring_deprecated_warning_bypass', time());
10
+ }
11
+
12
  ${__FILE__}['apc_enabled'] = (extension_loaded('apc') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.cache_by_default'), FILTER_VALIDATE_BOOLEAN) && stripos((string)ini_get('apc.filters'), 'comet-cache') === false) ? true : false;
13
 
14
+ if ((!version_compare(PHP_VERSION, '5.4', '>=') || ${__FILE__}['apc_enabled'])) { // If PHP <= 5.4 or APC is enabled
15
 
16
  if (!version_compare(PHP_VERSION, '5.4', '>=') && is_admin()) {
17
  ${__FILE__}['php54_notice'] = '<h3 style="margin:.5em 0 .25em 0;">'.__('<strong>NOTICE: Comet Cache Minimum PHP Version</strong></h3>', 'comet-cache');
60
  )
61
  );
62
  }
63
+ } else { // Load the plugin
64
+
65
+ if (!extension_loaded('mbstring') && !get_site_option('comet_cache_mbstring_deprecated_warning_bypass') && is_admin()) {
66
+ ${__FILE__}['mbstring_deprecated_warning'] = '<h3 style="margin:.5em 0 .25em 0;">'.__('<strong>NOTICE: Comet Cache Will Require the PHP <code>mbstring</code> Extension</strong></h3>', 'comet-cache');
67
+ ${__FILE__}['mbstring_deprecated_warning'] .= '<p style="margin-top:0;">'.sprintf(__('<strong>After March 1st, 2016 Comet Cache will require PHP Multibyte String support.</strong> It appears that your site is currently running PHP v%1$s <strong>without</strong> the <code>mbstring</code> extension enabled. You will need to contact your web hosting company and have them enable the PHP <code>mbstring</code> extension if you want to run the next version of Comet Cache.', 'comet-cache'), esc_html(PHP_VERSION)).'</p>';
68
+ ${__FILE__}['mbstring_deprecated_warning'] .= '<p style="margin-top:0;">'.__('The <code>mbstring</code> extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, Comet Cache will be unstable. For that reason we are requiring the <code>mbstring</code> extension to improve reliablity when caching and to prevent your site from experiencing unforeseen issues in the future.', 'comet-cache').'</p>';
69
+ ${__FILE__}['mbstring_deprecated_warning'] .= '<p style="margin-bottom:.5em;">'.__('<a href="'.esc_attr(add_query_arg('comet_cache_mbstring_deprecated_warning_bypass', '1')).'" onclick="if(!confirm(\'Are you sure? Press OK to continue, or Cancel to stop and read carefully.\')) return false;">Dismiss this notice.</a>', 'comet-cache').'</p>';
70
+ add_action(
71
+ 'all_admin_notices', create_function(
72
+ '', 'if(!current_user_can(\'activate_plugins\'))'.
73
+ ' return;'."\n".// User missing capability.
74
+ 'echo \''.// Wrap `$notice` inside a WordPress error.
75
+ '<div class="notice notice-warning">'.
76
+ ' '.str_replace("'", "\\'", ${__FILE__}['mbstring_deprecated_warning']).
77
+ '</div>'.
78
+ '\';'
79
+ )
80
+ );
81
+ }
82
+
83
  require_once dirname(__FILE__).'/src/includes/plugin.php';
84
  }
85
  } else {
readme.txt CHANGED
@@ -1,6 +1,6 @@
1
  === Comet Cache ===
2
 
3
- Stable tag: 160211.2
4
  Requires at least: 4.1
5
  Tested up to: 4.5-alpha
6
  Text Domain: comet-cache
@@ -8,9 +8,9 @@ Text Domain: comet-cache
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- Contributors: WebSharks, JasWSInc, raamdev
12
  Donate link: http://websharks-inc.com/r/wp-theme-plugin-donation/
13
- Tags: cache, speed, performance, fast, caching, advanced cache, wp cache, static, client-side cache, rss cache, feed cache, gzip compression, page cache
14
 
15
  Comet Cache is an advanced WordPress caching plugin inspired by simplicity. Speed up your site (BIG time!) with an intelligent and easy-to-use cache.
16
 
@@ -336,178 +336,68 @@ Requires PHP v5.4+. The latest version of Comet Cache is a complete rewrite (OOP
336
 
337
  == Changelog ==
338
 
339
- = v160211.2 =
340
-
341
- - **Minor Fix**: Remove unnecessary `src/client-s/css/.sass-cache` directory.
342
-
343
- = v160211 =
344
-
345
- **Announcing Comet Cache, formerly ZenCache!**
346
-
347
- We are very excited to announce the release of [Comet Cache](http://cometcache.com), an advanced WordPress caching plugin inspired by simplicity. Comet Cache is the successor to ZenCache (and Quick Cache before that), a very popular WordPress caching plugin that has been downloaded over 1 million times and has won acclaim for its speed, simplicity, and ease of configuration. [Read the full announcement here](https://cometcache.com/r/announcing-comet-cache-formerly-zencache/).
348
-
349
- = v160103 =
350
 
351
- - **Bug Fix**: Fixed an issue that was unexpectedly producing "Failed to update your /.htaccess file" error messages. The `.htaccess` routines are now more intelligent and take into consideration which plugin options are enabled and which options require updating the `.htaccess` file. This also improves performance by avoiding unnecessary read/writes to the `.htaccess` file. Props @patdumond. See [Issue #641](https://github.com/websharks/zencache/issues/641).
352
- - **Bug Fix**: When `allow_url_fopen` is disabled via the PHP configuration, the Auto-Cache Engine is unable to read the XML Sitemap and was silently failing with only PHP Warning in the PHP error log. The Auto-Cache Engine currently requires [PHP URL-aware fopen wrappers](http://zencache.com/r/allow_url_fopen/). A new Dashboard notice displays an error message when `allow_url_fopen` is disabled and prevents the Auto-Cache Engine from attempting to run. See [Issue #644](https://github.com/websharks/zencache/issues/644).
353
- - **Bug Fix**: Fixed an Auto-Cache Engine bug that was producing false-positive Dashboard errors related to timeouts: "Problematic XML Sitemap URL - WP_Http says: Operation timed out after 5001 milliseconds with 0 bytes received." Due to the way ZenCache was checking the XML Sitemap URL more than necessary, timeouts were more likely to occur. We now only check the URL repeatedly when a failure has been encountered. If the URL is confirmed as working, we don't check the URL again until the Auto-Cache Engine runs (every 15 minutes by default) or until the Plugin Options are saved. If you are still seeing timeout errors after this update, please see [this article](http://zencache.com/kb-article/why-am-i-seeing-auto-cache-engine-timeout-errors/). See [Issue #643](https://github.com/websharks/zencache/issues/643).
354
- - **Bug Fix**: Fixed an Auto-Cache Engine bug where ZenCache would would check both the non-SSL (`http://`) and the SSL (`https://`) version of the XML Sitemap URL when the Site Address was configured to use SSL. See [Issue #643](https://github.com/websharks/zencache/issues/643).
355
- - **Enhancement**: It's now possible to override the ZenCache Nonce exclusion globally (dangerous) or only for Logged-In Users (safer). Please see [this article](http://zencache.com/r/kb-article-what-are-wordpress-nonces-and-why-are-they-not-cache-compatible/) for full details. [Issue #637](https://github.com/websharks/zencache/issues/637).
356
- - **Akismet Compatibility**: Fixed a bug with Akismet compatibility where ZenCache was not properly disabling the Akismet Comment Nonce, which resulted in pages being unnecessarily excluded from the cache due to the presence of the `akismet_comment_nonce` in the markup. Props @Kalfer. See [Issue #642](https://github.com/websharks/zencache/issues/642).
357
 
358
- = v151220 =
359
 
360
- - **New Feature!**: It's now possible to customize the Cache Cleanup Schedule and set your own schedule in _ZenCache → Plugin Options → Manual Cache Clearing → Cache Cleanup Schedule_. ZenCache uses [`wp_get_schedules()`](https://codex.wordpress.org/Function_Reference/wp_get_schedules) when generating the list of available schedules, which makes it possible to create your own custom cron schedule using a plugin like WP Crontrol and use that to define a custom Cache Cleanup Schedule. Props @kristineds. See [Issue #472](https://github.com/websharks/zencache/issues/472).
361
- - **New Feature!** It's now possible to configure the Pro Plugin Updater to check for Beta versions (Release Candidates) of the plugin. See _ZenCache Plugin Updater Beta Testers_. We publish Release Candidates a week or so before official releases to allow for additional testing and early preview of upcoming features and bug fixes. If you're not already on our Beta Testers mailing list, you can signup [here](http://zencache.com/r/zencache-beta-testers-list/). Props @kristineds. See [Issue #352](https://github.com/websharks/zencache/issues/352).
362
- - **New Feature!** It's now possible to clear [Expired WordPress Transients](https://codex.wordpress.org/Transients_API) from the Clear Cache Option Menu in the WordPress Admin Bar. The WordPress Transients API has no functionality to automatically clean up expired transients; doing so is left for plugin authors and we've found that very few plugins that use the Transient API actually clean up expired transients properly, which can lead to your database being full of expired transient data that is no longer used. Props @kristineds. See [Issue #459](https://github.com/websharks/zencache/issues/459).
363
- - **New Feature!** Client-Side Caching now includes a new URI Exclusion Patterns for Client-Side Caching, allowing you to exclude specific URIs from being cached by a client-side browser when Client-Side Caching is enabled. Props @renzms. See [Issue #498](https://github.com/websharks/zencache/issues/498).
364
- - **Bug Fix**: Fixed a bug that was generating a "Failed to update your `/.htaccess` file" error message. The routines that update your `.htaccess` file were failing if your `.htaccess` file already contained the word "ZenCache" (case-insensitive). See [Issue #617](https://github.com/websharks/zencache/issues/617) and [Issue #620](https://github.com/websharks/zencache/issues/620).
365
- - **Bug Fix**: Fixed a bug that in some scenarios could cause custom `.htaccess` rules to be lost if your `.htaccess` file was using the exact same comment start and end markers as ZenCache (`# BEGIN ZenCache` and `# END ZenCache`). If you were using those exact same start and end markers, ZenCache was replacing whatever was between them with a copy of the ZenCache `.htaccess` rules. ZenCache now uses a unique marker (`WmVuQ2FjaGU`) to identify its own code blocks inside your `.htaccess` file. See [Issue #620](https://github.com/websharks/zencache/issues/620).
366
  - **Bug Fix**: Fixed a bug with clearing cache files for paginated pages where the `pagination_base` had been changed from the default `page` to something else (e.g., a translated string). The WP Rewrite API is now used to include `pagination_base` and `comments_pagination_base` when building paths to cache files to determine which cache files should be cleared. Props @renzms. See [Issue #607](https://github.com/websharks/zencache/issues/607).
367
- - **Bug Fix**: Fixed a bug with the Static CDN Filters that affected sites using a permalink structure that ended with `.htm` or `.html`. This bug was supposed to be fixed back in v151002 but another bug prevented the fix from working properly. This release fixes the issue once and for all. See [Issue #495](https://github.com/websharks/zencache/issues/495#issuecomment-160324313).
368
- - **Bug Fix**: With Logged-In User caching enabled, there were some scenarios where the user cache was being cleared on every page load when a user was logged in. ZenCache now hooks into `updated_user_metadata` instead of `update_user_metadata` to clear a specific user cache. Props @kristineds. See [Issue #623](https://github.com/websharks/zencache/issues/623).
369
- - **Bug Fix**: Fixed a bug where the Auto-Cache Engine cron event would disappear in some scenarios. Props @patdumond, @MarioKnight. See [Issue #613](https://github.com/websharks/zencache/issues/613).
370
- - **Bug Fix**: ZenCache no longer caches any pages that contain `_wpnonce` in the markup. This ensures that pages containing time-sensitive `nonce` values are not cached. Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
371
  - **Bug Fix**: This release attempts to resolve reports of Error 500 and Internal Server Error issues when running with PHP 5.6 + OPcache. Instead of clearing the entire Opcode cache whenever the plugin options are saved, we only invalidate the `advanced-cache.php` file, which is rebuilt each time you update your configuration options. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See [Issue #624](https://github.com/websharks/zencache/issues/624).
372
- - **Bug Fix**: Fixed a bug where ZenCache could inadvertently corrupt the `.htaccess` file if it contained invalid UTF-8 characters. This has been fixed by first checking the `.htaccess` file for invalid UTF-8 characters via `wp_check_invalid_utf8()`. See [Issue #633](https://github.com/websharks/zencache/issues/633#issuecomment-165493039).
373
- - **Enhancement**: Improved WP Cron-related configuration and validation of custom cron schedules. See [PR #197](https://github.com/websharks/zencache-pro/pull/197).
374
- - **Enhancement**: ZenCache now clears the cache whenever a WordPress plugin is activated or deactivated. Many WordPress plugins change content on the front-end of the site, so this enhancement ensures that an old cache file is never served to visitors. If you want to disable this automatic behavior, see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-clearing-the-cache-upon-plugin-activation-or-deactivation/). Props @renzms. See [Issue #424](https://github.com/websharks/zencache/issues/424).
375
- - **Enhancement**: The Auto-Cache Engine diagnostic reporting for XML Sitemap-related errors has been greatly improved. The Dashboard notice now explains exactly what error is occurring when the Auto-Cache Engine attempts to verify that the XML Sitemap exists. Props @jaswsinc. See [Issue #615](https://github.com/websharks/zencache/issues/615) and [Issue #618](https://github.com/websharks/zencache/issues/618).
376
- - **Enhancement**: Auto-Cache Engine XML Sitemap error checking is now more intelligent. When configured, the XML Sitemap URL is now checked upon every `admin_init` to verify that the XML Sitemap is accessible and valid. If a previous error has been fixed, the error message will disappear immediately instead of taking 15 minutes (the Auto-Cache Engine run cycle). See [Issue #616](https://github.com/websharks/zencache/issues/616).
377
- - **Enhancement**: Static CDN Filters are no longer applied by default for Logged-In Users. This was causing some confusion because Logged-In User caching is disabled by default. There is no harm in applying Static CDN Filters to all users (logged-in or not logged-in), in fact we recommend it, however we now disable this functionality by default to avoid confusion. A new option allows you to control this behavior and enable Static CDN Filters for Logged-In users; see _ZenCache → Logged-In Users → Static CDN Filters Enabled for Logged-In Users & Comment Authors?_ Props @kristineds, @lkraav, and @isaumya. See [Issue #486](https://github.com/websharks/zencache/issues/486).
378
- - **Enhancement**: The Static CDN Filters now attempt to obey the `ZENCACHE_ALLOWED` and `DONOTCACHEPAGE` constants so that Static CDN Filters are not applied when caching is disabled. However, due to the way Static CDN Filters are implemented this is not always reliable. If you need to programmatically disable Static CDN Filters, see [this article](http://zencache.com/kb-article/how-do-i-disable-static-cdn-filters-via-php/). See [Issue #628](https://github.com/websharks/zencache/issues/628).
379
- - **Enhancement**: When activating ZenCache for the first time, a new Dashboard message now includes a helpful link to the options page to enable caching and review the options. Props @kristineds. See [Issue #112](https://github.com/websharks/zencache/issues/112).
380
- - **Enhancement**: The automatic Cache Cleanup schedule that cleans up (deletes) expired/stale cache files has been changed from once every day to once every hour. Running the cleanup hourly makes ZenCache smarter when configured in certain ways and saves disk space. Props @kristineds. See [Issue #472](https://github.com/websharks/zencache/issues/472).
381
- - **Enhancement:** The new default value for "Clear the PHP OPcache Too?" when clearing the cache manually is now disabled. Instead of having this option enabled by default, we automatically invalidate only the `advanced-cache.php` file in PHP's opcode cache whenever you update your configuration options, which allows ZenCache to function as expected. That was the most important reason for needing to clear the opcode cache in previous versions. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See [Issue #624](https://github.com/websharks/zencache/issues/624).
382
- - **Enhancement**: Improved `.htaccess` utilities so that an exclusive lock is acquired when reading+writing to the file. This helps avoid inadvertently corrupting the `.htaccess` file in scenarios where another process might be reading/writing to it at the same time. See [Issue #633](https://github.com/websharks/zencache/issues/633).
383
- - **Multisite Enhancement**: The Auto-Cache Engine has a new configuration option when running on WP Multisite Networks that allows you to define whether or not the Auto-Cache Engine should look for XML Sitemaps on each of the child blogs. This now defaults to being off; i.e., by default, child blogs are no longer checked. Props @jaswsinc. See [Issue #618](https://github.com/websharks/zencache/issues/618#issuecomment-158695842).
384
- - **Multisite Enhancement**: The Auto-Cache Engine XML Sitemap diagnostic reporting is now always disabled for child blogs and only errors related to a primary sitemap location are displayed on the Dashboard. Props @jaswsinc. See [Issue #618](https://github.com/websharks/zencache/issues/618#issuecomment-158695842).
385
- - **bbPress Compatibility:** This release improves compatibility with bbPress when ZenCache Logged-In User caching is enabled. In this scenario, bbPress may generate links for Admins that contain time-sensitive `_wpnonce` values which could expire if cached and result in certain admin-related actions failing. ZenCache no longer caches pages that contain `_wpnonce` in the markup. This ensures that pages containing time-sensitive `nonce` values are not cached. Props @kristineds, @jaswsinc, and @clavaque. See [Issue #601](https://github.com/websharks/zencache/issues/601).
386
- - **Akismet Compatibility:** ZenCache no longer caches pages that contain `akismet_comment_nonce` in the markup. This ensures that a page that contains a time-sensitive `nonce` value does not get cached. Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
387
- - **Akismet Compatibility:** ZenCache now automatically disables the Akismet Comment Nonce using [the `akismet_comment_nonce` filter](https://github.com/git-mirror/wordpress-akismet/blob/2.5.6/akismet.php#L333), which improves compatibility between Akismet and the page caching functionality provided by ZenCache. This ensures that pages do not contain time-sensitive `nonce` values that should not be cached. If you'd like to revert this behavior, please see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-disabling-the-akismet-comment-nonce/). Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
388
- - **WooCommerce Compatibility:** This release improves compatibility with the WooCommerce Product Stock feature. When the Product Stock changes, ZenCache will now clear the cache file for the associated Product to ensure that the stock quantity that appears on the site remains up-to-date. See [Issue #597](https://github.com/websharks/zencache/issues/597).
389
-
390
- = v151114 =
391
-
392
- - **Announcement: The next version of ZenCache will require PHP 5.4+.** As of December 1st, 2015, the minimum PHP version required to run ZenCache will change to PHP 5.4+. This release of ZenCache will be the last version to support PHP 5.3. Please see announcement with further details: [New Minimum PHP Version: PHP 5.4](http://zencache.com/r/new-minimum-php-version-php-5-4/)
393
- - **Announcement: The next version of ZenCache will not support the PHP APC Extension**. As of December 1st, 2015, ZenCache will no longer run with the PHP APC extension enabled. Please see announcement with further details: [PHP APC Extension No Longer Supported](http://zencache.com/r/php-apc-extension-no-longer-supported/)
394
- - **New Feature!** The Clear Cache button in the Admin Bar now includes a sub-menu with several new options for clearing the cache from anywhere on your site. You can clear the cache for just the Home Page, the Current URL, a Specific URL, PHP's OPCache (if active), or the CDN Cache (when Static CDN Filters are configured). This menu comes in two flavors and can be customized (or disabled entirely) inside _ZenCache → Plugin Options → Manual Cache Clearing_. Props @jaswsinc. See [Issue #596](https://github.com/websharks/zencache/issues/596#issuecomment-152786080).
395
- - **New Feature!** It's now possible to specify a list of Custom URLs whose cache files should be cleared whenever you update a Post/Page, approve a Comment, or make other changes where ZenCache detects that a Post/Page cache should be cleared to keep your site up-to-date. See _ZenCache → Plugin Options → Automatic Cache Clearing → Misc. Auto-Clear Options → Auto-Clear a List of Custom URLs Too?_ Props @kristineds. See [Issue #111](https://github.com/websharks/zencache/issues/111).
396
- - **New Feature!** A new watered-down Regular Expression syntax is now supported in several existing ZenCache features, including the new list of Custom URLs to Auto-Clear, URI Exclusion Patterns, HTTP Referrer Exclusion Patterns, User-Agent Exclusion Patterns, and the HTML Compressor CSS Exclusion Patterns and JavaScript Exclusion Patterns. This new syntax greatly increases the power and flexibility of each of these features and makes things possible like the much-requested ability to Auto-Clear the Home Page or Posts Page of a site whenever a post cache is cleared. For more information on this new watered-down Regular Expression syntax, [this KB Article](http://zencache.com/r/watered-down-regex-syntax/). Props @kristineds @jaswsinc. See [Issue #191](https://github.com/websharks/zencache/issues/191).
397
- - **Bug Fix**: Fixed a bug with Static CDN Filters and Cross-Origin Resource Sharing (CORS) that was generating a "Cross-Origin Request Blocked" error. ZenCache will now update the root `.htaccess` file to include a `Header set Access-Control-Allow-Origin "*"` rule for `ttf`, `ttc`, `otf`, `eot`, `woff`, `woff2`, `font.css`, `css`, and `js` files whenever the Static CDN Filters are enabled. This is necessary to avoid "Cross-Origin Request Blocked" errors. Note that if you are already experiencing this error, you should create and configure a new CDN hostname to resolve the issue. In our tests it appears that some CDNs are caching the initial header response received by the server, which means it's necessary to send the `Access-Control-Allow-Origin` header _before_ configuring the Static CDN Filters with a CDN hostname. See [Issue #427](https://github.com/websharks/zencache/issues/427#issuecomment-121774596).
398
- - **Bug Fix**: Removed `eot,ttf,otf,woff` font extensions from the Static CDN Filter Blacklisted Extensions. These were added in a previous release in an attempt to resolve an issue with Cross-Origin Resource Sharing (CORS), however now that the HTML Compressor has been updated to work with Static CDN Filters, the CSS compressed by the HTML Compressor is now served from the CDN. Fonts are most likely to be referenced by CSS, which is static. So when Static CDN Filters are applied, the CSS is getting moved to the CDN and the fonts are then expected to live on the CDN too. By excluding them from the Static CDN Filter, we were creating a problem instead of solving one. This release removes the font extensions from the default Blacklisted Extensions so that fonts can be hosted on the CDN alongside the CSS that references them. See [Issue #427](https://github.com/websharks/zencache/issues/427#issuecomment-121777790).
399
- - **Bug Fix**: Fixed a bug related to updating plugins with WP-CLI on a site that was running ZenCache Pro. While ZenCache Pro updates must still be done through the ZenCache Pro Updater inside the Dashboard, updating other plugins via WP-CLI was generating a harmless ZenCache exception: "Invalid argument; host token empty!". With this fix, ZenCache will properly detect when WP-CLI is running to avoid these errors. Props @MarioKnight @renzms. See [Issue #563](https://github.com/websharks/zencache/issues/563).
400
- - **Bug Fix**: Fixed a bug where post previews were being cached when Logged-In User Caching and GET Request caching were both enabled (both are disabled by default). This release now detects previews in this scenario and excludes those requests from being cached. Props @clavaque @kristineds. See [Issue #583](https://github.com/websharks/zencache/issues/583).
401
  - **Bug Fix**: Fixed an issue where a PHP Notice was generated when an inactive WordPress component was being upgraded. This issue did not have any adverse affect on the site, but this fix resolves the issue so that the notice won't appear in PHP logs. See [Issue #589](https://github.com/websharks/zencache/issues/589).
402
  - **Bug Fix**: Fixed a bug where a commented-out `WP_CACHE` definition in `wp-config.php` (such as what WP Super Cache leaves behind) was being incorrectly ignored and resulted in caching being silently disabled. Props @davidfavor. See [Issue #591](https://github.com/websharks/zencache/issues/591).
403
  - **Bug Fix**: Fixed a bug where in some scenarios a page might not be cached due to a stray `AUTH_COOKIE` or `SECURE_AUTH_COOKIE` cookie, even when the user is not logged in. Props @jaswsinc @renzms. See [Issue #592](https://github.com/websharks/zencache/issues/592).
404
- - **Enhancement**: Excluded several unnecessary files from the plugin zip file that were being used during the build process but were not necessary to run the plugin. Props @bridgeport. See [Issue #579](https://github.com/websharks/zencache/issues/579).
405
- - **Enhancement**: When the Cache Directory location is changed, ZenCache now cleans up the old Cache Directory and any old cache files instead of leaving them behind. Props @clavaque @renzms. See [Issue #580](https://github.com/websharks/zencache/issues/580).
406
- - **Enhancement**: Added a new API Function that allows a site owner to clear the cache for a specific URL via `zencache::clearUrl($url);`. See [this article](http://zencache.com/kb-article/clearing-the-cache-dynamically/#toc-988085ad) for further details. Props @kristineds. See [Issue #590](https://github.com/websharks/zencache/issues/590).
407
- - **Enhancement**: Improved the HTML Notes generated by ZenCache when s2Member (a membership plugin for WordPress) is specifically disabling caching. s2Member automatically disables caching on certain pages that are required to remain dynamic. The HTML Notes generated by ZenCache now explain when this is happening. Props @renzms. See [Issue #504](https://github.com/websharks/zencache/issues/504).
408
- - **Enhancement**: In Logged-In User Caching, the "Yes, but DON'T maintain a separate cache for each user" option has been hidden because this particular option has the potential to create a security issue if not configured properly. If you were already using this option, it will not be hidden and it will continue to work. Otherwise, if you require this particular option you can now enable it using a filter (see [this comment](https://github.com/websharks/zencache/issues/497#issuecomment-146060440)). Props @renzms @jaswsinc. See [Issue #497](https://github.com/websharks/zencache/issues/497).
409
- - **Enhancement**: The Auto-Cache Engine now detects when the configured XML Sitemap is not valid or is unreachable and displays an appropriate notice. Props @kristineds and @jaswsinc. See [Issue #555](https://github.com/websharks/zencache/issues/555).
410
-
411
- = v151004 =
412
-
413
- - **Bug Fix**: Fixed a bug introduced in the previous release that was resulting in a "Fatal error: Using $this when not in object context" for sites running PHP 5.3. (PHP 5.4+ sites were unaffected.) Props @jaswsinc. See [Issue #581](https://github.com/websharks/zencache/issues/581).
414
-
415
- = v151002 =
416
-
417
- - **New Feature!** Cache Statistics is a completely new ZenCache Pro feature that will help site owners better understand their WordPress site cache. An easy-to-access Cache Stats menu button in the Admin Bar is accompanied by a whole new page that shows Current Cache Totals (including total number of cache files and total size of cache on the disk), Current Disk Health (including total disk capacity and total available), Current System Health (including memory usage and load average), and two beautiful Polar Area pie charts that show you both current and historical data on Cache File Counts and Cache File Sizes with a 30-Day High, Current Total, Page Cache total, and HTML Compressor total for each chart. Props to @jaswsinc. See [Issue #83](https://github.com/websharks/zencache/issues/83).
418
- - **New Feature!** It's now possible to specify which WordPress Roles/Capabilities are allowed to clear the cache from the WordPress Admin bar. A new option inside _Dashboard → ZenCache → Plugin Options → Manual Cache Clearing_ allows specifying a comma-delimited list of Roles and/or Capabilities under, "Also allow others to clear the cache from their Admin Bar?". If a user has an allowed Role/Capability, they will see the "Clear Cache" button in their Admin Bar. This feature is also compatible with WordPress Multisite Networks, allowing a Network Administrator to define which Child Site roles should allow a Child Site user to see the "Clear Cache" button for their Child Site. Props @danielmt2k @jaswsinc. See [Issue #68](https://github.com/websharks/zencache/issues/68).
419
- - **New Feature!** It's now possible to "Disable Cache Expiration If Server Load Average is High" (see _Dashboard → ZenCache → Plugin Options → Cache Expiration Time_). This allows you to provide a specific load average that should cause ZenCache to disable cache expiration and help reduce stress on the server; i.e., to avoid generating a new version of the cache while the server is very busy. Props @jaswsinc. See [Issue #347](https://github.com/websharks/zencache/issues/347).
420
- - **New Feature!** It's now possible to manually clear the CDN Cache when Static CDN Filters are enabled. Inside the Static CDN Filters options panel there's a new "Clear CDN Cache" button and there's also a new option ("Clear the CDN Cache Too?") inside _Dashboard → ZenCache → Plugin Options → Manual Cache Clearing_ that allows you to specify whether or not you'd like the CDN Cache to be cleared whenever the "Clear Cache" button is clicked (either from the Admin Bar or from inside the Plugin Options). Props @kristineds @jaswsinc. See [Issue #488](https://github.com/websharks/zencache/issues/488).
421
- - **New Feature!** When your server has the [PHP OPCache Extension](http://zencache.com/r/php-opcache/) installed, ZenCache can now be configured to also clear the PHP opcode cache whenever you clear the cache manually using the ZenCache "Clear Cache" button. See _ZenCache Options → Manual Cache Clearing → Clear the PHP OPCache Too?_ (note that this option only appears if you have the OPCache Extension installed). Props @jaswsinc. See [Issue #489](https://github.com/websharks/zencache/issues/489).
422
- - **Bug Fix**: Fixed an HTML Compressor bug related to CSS pseudo-classes where spaces between the class name and pseudo-class name were being removed when CSS was minified. Props @patdumond @jaswsinc. See [Issue #544](https://github.com/websharks/zencache/issues/544).
423
- - **Bug Fix**: Fixed an HTML Compressor bug related to `<noscript>` tags. The HTML Compressor now makes no adjustments to anything inside `<noscript>` tags, and the same has always been true for IE conditional comments as well. Props @rtrevellyan @jaswsinc. See [Issue #65](https://github.com/websharks/html-compressor/issues/65).
424
  - **Bug Fix**: Fixed an issue related to a popular NGINX server configuration (`try_files $uri $uri/ /index.php?q=$uri&$args;`) that was preventing the entire site from being cached. ZenCache disables caching by default for all requests that include a query string (see _Dashboard → ZenCache → Plugin Options → GET Requests_) and this particular NGINX configuration passes _all_ requests to WordPress with a `?q=` query variable, which was resulting in ZenCache disabling caching on all pages. This release implements better detection for NGINX and works around this scenario. Props @jaswsinc. See [Issue #561](https://github.com/websharks/zencache/issues/561).
425
- - **Bug Fix**: Fixed a bug with the Static CDN Filters that affected sites using a permalink structure that ended with `.htm` or `.html`. Generally, files that end in `.htm` or `.html` are considered static files, hence the reason ZenCache was rewriting URLs with those extensions to point at the configured CDN. However, if a site uses `.htm` or `.html` in their permalink structure, all links to Posts/Pages within the site will appear to be static files when they are in fact dynamic and therefore should not be rewritten. ZenCache now checks the permalink structure and excludes `.htm` and `.html` from the allowed extensions when the permalink structure is using one of these. Props @jaswsinc. See [Issue #495](https://github.com/websharks/zencache/issues/495).
426
- - **Bug Fix**: Fixed an SSL issue with the HTML Compressor that was causing problems in some hosting environments where the hosting server was incorrectly setting `$_SERVER['REQUEST_SCHEME']` to `http` even when the WordPress Site URL and Home URL were set to use `https://`. As a result of this improper server configuration, the combined CSS/JS files generated by the HTML Compressor were being served over HTTP even when a site was configured to use HTTPS. This release applies a workaround for this improper server configuration that no longer looks at `$_SERVER['REQUEST_SCHEME']`. See [Issue #413](https://github.com/websharks/zencache/issues/413) and [Issue #73](https://github.com/websharks/html-compressor/issues/73).
427
- - **Multisite Bug Fix**: Fixed a bug in the Auto-Cache Engine that was resulting in duplicate Cron Jobs being created for each Child Site. The Auto-Cache Engine now only runs from the Main Site in a network, as it should. When the Auto-Cache Engine runs on the Main Site, it will also run for each of the Child Blogs (see [this article](http://zencache.com/r/kb-article-how-does-the-auto-cache-engine-cache-child-blogs-in-a-multisite-network/) for more information). Props @jaswsinc. See [Issue #543](https://github.com/websharks/zencache/issues/543).
428
- - **Enhancement**: Improved HTML Compressor HTTP connection handling, timeouts, protocol, BOM markers, exceptions, `Referer:` and `User-Agent:` headers. Props @LittleBastard77 @jaswsinc. See [Issue #391](https://github.com/websharks/zencache/issues/391) and [Issue #69](https://github.com/websharks/html-compressor/issues/69).
429
- - **Enhancement**: Manual Cache Clearing options have now been separated from Automatic Cache Clearing options inside the ZenCache Plugin Options to improve the differentiation between these.
430
- - **Enhancement**: New icons in the ZenCache Plugin Options help improve the visual representation of each panel.
431
- - **Enhancement**: The installed plugin version is now shown at the top of the ZenCache Options Page. When a newer version of the plugin is available, an "update available" link appears. Props @renzms. See [Issue #502](https://github.com/websharks/zencache/issues/502).
432
- - **Enhancement**: New transition in/out effects on the Cache Cleared Dashboard notifications. Props @jaswsinc. See [Issue #538](https://github.com/websharks/zencache/issues/538).
433
-
434
- = v150821 =
435
-
436
- - **Multisite Domain Mapping Compatibility**: ZenCache Pro is now fully compatible with the [WordPress MU Domain Mapping plugin](https://wordpress.org/plugins/wordpress-mu-domain-mapping/), including Multisite Networks using domain mapping on top-level domains, sub-domains, and sub-directories. Multiple variations of each site spread across an unlimited number of domain mappings and/or the original blog domain/path is also supported. All other features of ZenCache Pro, including the Auto-Cache Engine, Static CDN Filters, and HTML Compression are also now compatible with domain mapping. Props @jaswsinc. See [Issue #339](https://github.com/websharks/zencache/issues/339).
437
- - **bbPress Compatibility**: This release greatly improves compatibility with bbPress. Events like creating a new Forum, creating a new Topic, and posting a reply to a Topic (including threaded replies), now properly clear the necessary cache files to ensure that cached bbPress pages remain up-to-date. Props @jaswsinc. See [Issue #168](https://github.com/websharks/zencache/issues/168).
438
  - **Bug Fix**: Fixed a bug where, in some rare cases, `wp-config.php` would end up with two `WP_CACHE` definitions. Props @jaswsinc. See [Issue #509](https://github.com/websharks/zencache/issues/509).
439
  - **Bug Fix**: Saving a Post as a Draft was incorrectly purging XML Sitemap cache files. Props @jaswsinc. See [Issue #368](https://github.com/websharks/zencache/issues/368).
440
- - **Bug Fix:** The HTML Compressor now strips UTF-8 Byte Order Markers (BOMs) from CSS files generated by preprocessors such as Sass. Files consolidated by the HTML Compressor include an `@charset` rule already, making a BOM unnecessary. In fact, if BOMs are not stripped, some browsers will choke on portions of a consolidated CSS file, because a BOM could potentially appear in the middle of the file; i.e., at the _wrong_ place. Symptoms included mysterious missing styles in portions of the site, fonts not loading at all times, or font-based icons (e.g., FontAwesome) to render mystery glyphs instead of the icons. Props @jaswsinc. See [Issue #52](https://github.com/websharks/html-compressor/issues/52).
441
- - **Bug Fix:** Improved HTML Compressor strict data type comparison when analyzing `$_SERVER` environment variables to detect an `https://` connection URL. We now detect `(integer)443` and `(string)443`. In addition, we can now pick up `$_SERVER['HTTPS']` being any of `1|on|yes|true` (caSe insensitive). Props @jaswsinc. See [Issue #61](https://github.com/websharks/html-compressor/issues/61).
 
442
  - **Multisite Bug Fix**: Fixed a bug where the Clear Cache button wouldn't clear Child-Site Logged-In User Home Page cache files on WordPress Multisite Networks. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
443
  - **Multisite Bug Fix**: Fixed a bug where the Home Page cache was not clearing on Child Sites in a Multisite Network. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
444
- - **Multisite Bug Fix**: Fixed an issue where the Auto-Cache Engine would fail to auto-cache child blogs in a multisite network whenever the network was being served from a sub-directory. Props @jaswsinc. See [Issue #537](https://github.com/websharks/zencache/issues/537).
445
  - **Multisite Bug Fix**: Fixed a bug with 404 Request caching on Multisite Networks where ZenCache Pro was not considering that each child blog in a multisite network will have its own 404 error page. Props @jaswsinc. See [Issue #539](https://github.com/websharks/zencache/issues/539).
446
  - **Multisite Bug Fix**: Fixed a bug where clearing the cache from the main site of a multisite network, when there are child blogs in sub-directories, resulted in all child blogs being cleared from the cache, not just the main site as would be expected. This has been resolved and only the main site is cleared when clicking the Clear Cache button. Note that the Wipe Cache button can still be used to clear the cache for all sites in a Multisite Network. Props @jaswsinc. See [Issue #540](https://github.com/websharks/zencache/issues/540).
447
  - **Multisite Bug Fix**: Fixed a bug where Wiping the cache on a multisite network resulted in the very next page view being cached incorrectly. Props @jaswsinc. See [Issue #541](https://github.com/websharks/zencache/issues/541).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  - **Enhancement**: Improved compatibility with any Custom Post Type that uses hierarchies. Props @jaswsinc.
 
 
 
 
 
 
 
 
449
 
450
- = v150716 =
451
 
452
- - **Bug Fix**: Fixed a fatal error that was occurring on some sites after upgrading to v150629. We discovered the fatal error was related to PHP's outdated and buggy APC extension, which is often active on sites running PHP 5.3 and PHP 5.4. We now prevent activation of ZenCache on systems with the APC extension enabled and show a warning message instead. We've written [a KB Article that further explains the APC Extension Warning](http://zencache.com/kb-article/why-does-zencache-show-an-apc-extension-warning/) and offers advice to site owners who are currently running APC. See also [Issue #511](https://github.com/websharks/zencache/issues/511).
453
- - **Bug Fix**: Fixed a bug in the Dynamic Version Salt filter that was generating PHP notices and warnings. See [Issue #522](https://github.com/websharks/zencache/issues/522).
454
- - **Bug Fix**: Fixed an issue with backwards compatibility that was preventing some AC Plugins from working properly. See [Issue #514](https://github.com/websharks/zencache/issues/514).
455
- - **Enhancement**: Added a stats pinger, similar to the WordPress stats collector, that reports the server OS, PHP version, MySQL version, WordPress version, and the ZenCache version, securely and anonymously to WebSharks. See [this KB Article](http://zencache.com/kb-article/what-information-does-zencache-pro-report-to-websharks/) for more information.
456
-
457
- = v150626 =
458
-
459
- - **Restructured Codebase**: The entire ZenCache codebase has been restructured to improve performance, enhance flexibility, and make it easier to build in new features!
460
- - **New Feature!** The free version of ZenCache now supports several new options that were previously only available in the Pro version. You can now toggle the Auto-Clear Cache routines for the Home Page, Posts Page, Author Page, Category Archives, Tag Archives, Custom Term Archives, RSS/RDF/Atom Feeds, and XML Sitemaps. This gives you more control over exactly when ZenCache purges the cache for these parts of your site. See _ZenCache → Plugin Options → Clearing the Cache_ for further details.
461
- - **New Feature!** URI Exclusion Patterns are now available in ZenCache Lite! This previously Pro-only feature is now available in the free version of ZenCache and allows you to exclude a list of URIs from being cached by ZenCache. See _ZenCache → Plugin Options → URI Exclusion Patterns_ for further details.
462
- - **New Feature!** HTTP Referrer Exclusion Patterns are now available in ZenCache Lite! This previously Pro-only feature is now available in the free version of ZenCache and allows you to define a list of referring URLs or domains that send you traffic. When ZenCache sees a request coming from one of those URLs or domains, it will not cache that particular request. See _ZenCache → Plugin Options → HTTP Referrer Exclusion Patterns_ for further details.
463
- - **New Pro Feature!**: HTML Compression now supports compressing JSON (in addition to the already supported HTML, JavaScript, and CSS compression). Props @jaswsinc. See [Issue #469](https://github.com/websharks/zencache/issues/469).
464
- - **New Pro Feature!**: Static CDN Filters now supports multiple CDN hostnames. This allows you to configure more than one CDN hostname, also referred to as Domain Sharding. This makes it possible for site owners to work around web browser concurrency limits, allowing the browser to download many resources simultaneously, which increases overall speed. Props to @isaumya and @jaswsinc. See [Issue #468](https://github.com/websharks/zencache/issues/468).
465
- - **Enhancement** (Pro): Static CDN Filters now includes proper support for WordPress Multisite Networks, including support for subdomains (full support for Domain Mapping coming in the next release). If you're running a WordPress Multisite Network and want to configure a CDN, see [this KB Article](http://zencache.com/kb-article/static-cdn-filters-for-wordpress-multisite-networks/) for further details.
466
- - **Enhancement** (Pro): Static CDN Filters now also apply to any static files that are referenced inside CSS files. Props @jaswsinc. See [Issue #461](https://github.com/websharks/zencache/issues/461).
467
- - **Enhancement**: Completed a major restructure of the entire codebase to improve modularity and dependency management. Props @jaswsinc.
468
- - **Enhancement** (Pro): Static CDN Filters now supports the ability to configure separate CDN hostname(s) for each domain (or subdomain) that you run in a WordPress Multisite Network. Props @jaswsinc. See [Issue #475](https://github.com/websharks/zencache/issues/475).
469
- - **Enhancement** (Pro): Static CDN Filters now support subdomains when ZenCache is running inside a WordPress Multisite Network. Props @jaswsinc. See [Issue #439](https://github.com/websharks/zencache/issues/439).
470
- - **Bug Fix** (Pro): Static CDN Filters were not being applied to the primary site on WP Multisite installations that used subdomains. Props to @isaumya for discovering this bug. See [Issue #470](https://github.com/websharks/zencache/issues/470).
471
-
472
- = v150409 =
473
-
474
- - **Enhancement (includes improved CloudFlare support)**: Improvements to IP address detection, including added support for CloudFlare IP forwarding, multiple IPs in a single header, and the ability to customize the lookup order and/or add/remove sources that are searched when looking for the current IP address. It's also possible to revert to the old IP address detection behavior (see [How do I customize remote IP detection?](http://zencache.com/kb-article/how-do-i-customize-ip-address-detection/)). Props @jaswsinc. [Issue #449](https://github.com/websharks/zencache/pull/449)
475
- - **Enhancement** (Pro): Files being served by the HTML Compressor were being sent without a `Vary: Accept-Encoding` header, which caused some page speed testing services to give a lower rating to sites using ZenCache. ZenCache now ensures this header is sent via an `.htaccess` file inside the HTML Compressor cache directory (requires Apache 2.1+). Props @jaswsinc. [Issue #436](https://github.com/websharks/zencache/issues/436).
476
- - **Enhancement** (Pro): Static CDN Filters now also filter any static resources inside Text Widgets, so that those resources can be cached by your CDN. Props @jaswsinc. [Issue #430](https://github.com/websharks/zencache/issues/430)
477
- - **Enhancement** (Pro): Static CDN Filters now apply to minified and compressed CSS/JS files generated by the HTML Compressor; these files will now be cached by your CDN. Props @jaswsinc. [Issue #429](https://github.com/websharks/zencache/issues/429)
478
- - **Bug Fix**: Fixed a bug related to the Quick Cache migration that resulted in caching being disabled despite ZenCache being enabled. Uninstalling Quick Cache was removing `define('WP_CACHE', TRUE);` from the `wp-config.php` file. ZenCache now makes sure that caching remains enabled after uninstalling Quick Cache during the ZenCache migration process. [Issue #450](https://github.com/websharks/zencache/issues/450).
479
- - **Bug Fix**: Fixed a minor UI issue where the ZenCache Dashboard icon would occasionally flash to a black color when refreshing the Dashboard. Props @jaswsinc. [Issue #453](https://github.com/websharks/zencache/issues/453).
480
- - **Bug Fix**: When ZenCache was running on an installation of PHP with `open_basedir` restrictions applied, calls to `is_dir()` were triggering a PHP Warning while looking for a writable temporary directory. This bug has been fixed. [Issue #456](https://github.com/websharks/zencache/issues/456).
481
- - **Bug Fix**: Fixed a bug where changing the permalink for a published post would result in the cache file for the old permalink being left behind and as a result both the old and the new permalink would be accessible, instead of WordPress redirecting the old permalink to the new one. This has been fixed and ZenCache now properly clears the old cache file when changing the permalink on a published post. [Issue #359](https://github.com/websharks/zencache/issues/359).
482
- - **Bug Fix**: Fixed a bug where transitioning a Published post back to Pending or Draft would not automatically clear the cache file. This resulted in the post remaining accessible on the frontend despite being set as Pending or Draft. ZenCache now properly clears the cache file automatically when transitioning from Published to Pending or Draft, which prevents access to the post as expected. [Issue #441](https://github.com/websharks/zencache/issues/441).
483
- - **Bug Fix** (Pro): Some users reported seeing `Warning: trim() expects parameter 1 to be string`. This was produced by a low-impact bug that has been fixed in this release. [Issue #455](https://github.com/websharks/zencache/issues/455).
484
- - **Bug Fix** (Pro): Some users running the HTML Compressor reported seeing 403 Forbidden errors related to loading the compressed/minified files. This was a permissions-related issue that has been resolved in this release. Props @superian and @jaswsinc. See [Issue #50](https://github.com/websharks/html-compressor/issues/50).
485
- - **Bug Fix** (Pro): Some HTTP requests made by the HTML Compressor to servers configured to reject HTTP requests that don't include a User-Agent were failing. A User-Agent is now always used in all requests. Props @jaswsinc. See [Issue #49](https://github.com/websharks/html-compressor/issues/49).
486
- - **Minimum Required PHP Version Bumped to PHP v5.3.2+:** The minimum PHP version required for ZenCache has been bumped up to PHP v5.3.2+ (from PHP v5.3+). The ZenCache cache locking mechanism, specifically the use of `flock()`, requires behavior introduced in PHP v5.3.2. [Issue #444](https://github.com/websharks/zencache/issues/444).
487
-
488
- = v150314 =
489
-
490
- - **Bug Fix**: Fixed a bug in the Quick Cache back compat. method `\zencache\share\apply_wp_filters()`. It was not passing the ZenCache-filtered value through the Quick Cache back compat. routine. This bug affected sites that had disabled automatic cache clearing routines via a filter.
491
- - **Bug Fix** (Pro): Updated Static CDN Filters whitelist to include font file extensions `eot,ttf,otf,woff`, as site owners may wish to serve fonts with these extensions from the CDN (this would require a custom CORS configuration; see [this article](http://davidwalsh.name/cdn-fonts) for instructions). See [#427](https://github.com/websharks/zencache/issues/427).
492
- - **Bug Fix** (Pro): Updated Static CDN Filters blacklist to exclude font file extensions `eot,ttf,otf,woff` by default, as they require custom CORS configuration to display properly. See [#427](https://github.com/websharks/zencache/issues/427).
493
- - **Bug Fix** (Pro): The Static CDN Filters feature was calling a protected method that was requiring PHP v5.4+ but now the Static CDN Filters feature works with PHP v5.3+. See [#426](https://github.com/websharks/zencache/issues/426).
494
- - **Bug Fix**: Fixed a zero-byte `advanced-cache.php` bug related to migrating from Quick Cache. When you deleted/uninstalled Quick Cache after upgrading to ZenCache, the Quick Cache uninstallation process would empty the `advanced-cache.php` file, resulting in the site no longer being cached, despite ZenCache being active. ZenCache now continuously checks to make sure that `advanced-cache.php` is installed properly. See [#432](https://github.com/websharks/zencache/issues/432).
495
-
496
- = v150218 =
497
-
498
- **Announcing ZenCache, formerly Quick Cache!**
499
-
500
- We are very excited to announce the release of [ZenCache](http://zencache.com), an advanced WordPress caching plugin inspired by simplicity. ZenCache is the successor to Quick Cache, a very popular WordPress caching plugin that has been downloaded over 1 million times and won acclaim for its speed, simplicity, and ease of configuration. [Read the full announcement here](http://zencache.com/announcing-zencache-formerly-quick-cache/).
501
-
502
- ZenCache is an evolution of Quick Cache. It comes with a completely refactored codebase, subtle UI enhancements, internal optimizations; along with full backward compatibility with all previous versions of Quick Cache Lite and Quick Cache Pro. In fact, installing ZenCache on a site that was previously running Quick Cache is a piece of cake! Watch [this video](http://zencache.com/kb-article/how-to-migrate-from-quick-cache-lite-to-zencache-lite/) to learn more. All configuration options are preserved.
503
-
504
- - **New Pro Feature: CDN Integration:** With the announcement and release of ZenCache we are excited to also announce a new, highly-requested feature: Static CDN Filters. This feature allows you to serve some and/or ALL static files on your site from a CDN of your choosing. See also: [Introduction to Static CDN Filters](http://zencache.com/kb-article/introduction-to-static-cdn-filters/).
505
- - **Full Backwards Compatibility with Quick Cache and Quick Cache Pro:** ZenCache is fully backwards compatible with all previous versions of Quick Cache Lite and Quick Cache Pro. Simply install ZenCache and your existing Quick Cache options will preserved by ZenCache.
506
-
507
- = v150129 =
508
-
509
- - **Bug Fix** (Pro): Fixed a bug where the Pro Updater would fail when FTP or SFTP details via the WordPress Dashboard are required to perform updates. Props @jaswsinc. See [#389](https://github.com/websharks/quick-cache/issues/389).
510
- - **Bug Fix**: Several fixes for a stubborn bug related to "Fatal Error: 'Unable to clear dir'" error messages and errors referencing "SplFileInfo::getMTime(): stat failed". Props @jaswsinc. See [#397](https://github.com/websharks/quick-cache/issues/397).
511
- - **Bug Fix** (Pro): Fixed a bug where the `qcAC` variable (used to force-enable/disable GET Request caching) was not respected properly whenever a URL contained a query string and a user was currently logged into the site. Props @jaswsinc. See [#401](https://github.com/websharks/quick-cache/issues/401).
512
 
513
  For older Changelog entries, please see the `CHANGELOG.md` file.
1
  === Comet Cache ===
2
 
3
+ Stable tag: 160223
4
  Requires at least: 4.1
5
  Tested up to: 4.5-alpha
6
  Text Domain: comet-cache
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ Contributors: WebSharks, JasWSInc, raamdev, renzms, KristineDS, sitegeek
12
  Donate link: http://websharks-inc.com/r/wp-theme-plugin-donation/
13
+ Tags: cache, speed, performance, fast, caching, advanced cache, static, client-side cache, rss cache, feed cache, gzip compression, page cache
14
 
15
  Comet Cache is an advanced WordPress caching plugin inspired by simplicity. Speed up your site (BIG time!) with an intelligent and easy-to-use cache.
16
 
336
 
337
  == Changelog ==
338
 
339
+ = v160223 =
 
 
 
 
 
 
 
 
 
 
340
 
341
+ - **Announcement: After March 1st, 2016 Comet Cache will require PHP Multibyte String support.** The `mbstring` extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, caching will be unstable. For that reason we are requiring the `mbstring` extension to improve reliability when caching and to prevent your site from experiencing unforeseen issues in the future..
342
+ - **Bug Fix (Multisite)**: Fixed a bug where when Comet Cache was Network Activated the plugin settings link would show up in the plugins list for the Main Site and would lead to a 404 error. The settings link is now only shown when viewing the plugins list from the Network Admin. Props @jaswsinc. See [Issue #675](https://github.com/websharks/zencache/issues/675).
343
+ - **Enhancement**: Added support-related links to the plugin options page. Props @renzms. See [Issue #612](https://github.com/websharks/zencache/issues/612#issuecomment-186827661).
 
 
 
344
 
345
+ = v160222 =
346
 
347
+ - **Announcement: ZenCache is changing its name to Comet Cache!** Learn more about this upcoming change [here](https://cometcache.com/r/announcing-comet-cache-formerly-zencache/).
348
+ - **Announcement: This version of ZenCache requires PHP 5.4+.** As announced in the previous release, the minimum PHP version required to run ZenCache / Comet Cache has changed to PHP 5.4+ as of December 1st, 2015. Please see announcement with further details: [New Minimum PHP Version: PHP 5.4](http://zencache.com/r/new-minimum-php-version-php-5-4/)
349
+ - **Announcement: This version of ZenCache does not support the PHP APC Extension**. As announced in the previous release, ZenCache / Comet Cache no longer runs with the PHP APC extension enabled as of December 1st, 2015. Please see announcement with further details: [PHP APC Extension No Longer Supported](http://zencache.com/r/php-apc-extension-no-longer-supported/)
350
+ - **Announcement: After March 1st, 2016 ZenCache / Comet Cache will require PHP Multibyte String support.** The `mbstring` extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, caching will be unstable. For that reason we are requiring the `mbstring` extension to improve reliability when caching and to prevent your site from experiencing unforeseen issues in the future.
351
+ - **Announcement: Restructured Codebase**. The entire ZenCache Lite codebase has been restructured to improve performance, enhance flexibility, and make it easier to build in new features! This release of ZenCache Lite has been built from the ZenCache Pro codebase, which is more polished and up-to-date. This release includes many changes and improvements that were released as part of ZenCache Pro releases over the past 6 months and are now being included in the Lite version. See the full changelog below for a complete list of changes.
352
+ - **New Feature!** A new watered-down Regular Expression syntax is now supported in several existing ZenCache features, including XML Sitemap Patterns, URI Exclusion Patterns, HTTP Referrer Exclusion Patterns, and User-Agent Exclusion Patterns. (It is also supported in the Pro-only Custom URLs to Auto-Clear, and the HTML Compressor CSS Exclusion Patterns and JavaScript Exclusion Patterns.) This new syntax greatly increases the power and flexibility of each of these features and makes things possible like the much-requested ability to Auto-Clear the Home Page or Posts Page of a site whenever a post cache is cleared. For more information on this new watered-down Regular Expression syntax, [this KB Article](http://zencache.com/r/watered-down-regex-syntax/). Props @kristineds @jaswsinc. See [Issue #191](https://github.com/websharks/zencache/issues/191).
353
  - **Bug Fix**: Fixed a bug with clearing cache files for paginated pages where the `pagination_base` had been changed from the default `page` to something else (e.g., a translated string). The WP Rewrite API is now used to include `pagination_base` and `comments_pagination_base` when building paths to cache files to determine which cache files should be cleared. Props @renzms. See [Issue #607](https://github.com/websharks/zencache/issues/607).
 
 
 
 
354
  - **Bug Fix**: This release attempts to resolve reports of Error 500 and Internal Server Error issues when running with PHP 5.6 + OPcache. Instead of clearing the entire Opcode cache whenever the plugin options are saved, we only invalidate the `advanced-cache.php` file, which is rebuilt each time you update your configuration options. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See [Issue #624](https://github.com/websharks/zencache/issues/624).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
  - **Bug Fix**: Fixed an issue where a PHP Notice was generated when an inactive WordPress component was being upgraded. This issue did not have any adverse affect on the site, but this fix resolves the issue so that the notice won't appear in PHP logs. See [Issue #589](https://github.com/websharks/zencache/issues/589).
356
  - **Bug Fix**: Fixed a bug where a commented-out `WP_CACHE` definition in `wp-config.php` (such as what WP Super Cache leaves behind) was being incorrectly ignored and resulted in caching being silently disabled. Props @davidfavor. See [Issue #591](https://github.com/websharks/zencache/issues/591).
357
  - **Bug Fix**: Fixed a bug where in some scenarios a page might not be cached due to a stray `AUTH_COOKIE` or `SECURE_AUTH_COOKIE` cookie, even when the user is not logged in. Props @jaswsinc @renzms. See [Issue #592](https://github.com/websharks/zencache/issues/592).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
358
  - **Bug Fix**: Fixed an issue related to a popular NGINX server configuration (`try_files $uri $uri/ /index.php?q=$uri&$args;`) that was preventing the entire site from being cached. ZenCache disables caching by default for all requests that include a query string (see _Dashboard → ZenCache → Plugin Options → GET Requests_) and this particular NGINX configuration passes _all_ requests to WordPress with a `?q=` query variable, which was resulting in ZenCache disabling caching on all pages. This release implements better detection for NGINX and works around this scenario. Props @jaswsinc. See [Issue #561](https://github.com/websharks/zencache/issues/561).
 
 
 
 
 
 
 
 
 
 
 
 
 
359
  - **Bug Fix**: Fixed a bug where, in some rare cases, `wp-config.php` would end up with two `WP_CACHE` definitions. Props @jaswsinc. See [Issue #509](https://github.com/websharks/zencache/issues/509).
360
  - **Bug Fix**: Saving a Post as a Draft was incorrectly purging XML Sitemap cache files. Props @jaswsinc. See [Issue #368](https://github.com/websharks/zencache/issues/368).
361
+ - **Bug Fix**: Fixed a bug in the Dynamic Version Salt filter that was generating PHP notices and warnings. See [Issue #522](https://github.com/websharks/zencache/issues/522).
362
+ - **Bug Fix**: Fixed an issue with backwards compatibility that was preventing some AC Plugins from working properly. See [Issue #514](https://github.com/websharks/zencache/issues/514).
363
+ - **Bug Fix**: Fixed a bug where saving a Post/Page as a Draft as a user with an Editor role would unnecessarily clear the Home Page cache. See [Issue #625](https://github.com/websharks/zencache/issues/625).
364
  - **Multisite Bug Fix**: Fixed a bug where the Clear Cache button wouldn't clear Child-Site Logged-In User Home Page cache files on WordPress Multisite Networks. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
365
  - **Multisite Bug Fix**: Fixed a bug where the Home Page cache was not clearing on Child Sites in a Multisite Network. Props @jaswsinc. See [Issue #409](https://github.com/websharks/zencache/issues/409)
 
366
  - **Multisite Bug Fix**: Fixed a bug with 404 Request caching on Multisite Networks where ZenCache Pro was not considering that each child blog in a multisite network will have its own 404 error page. Props @jaswsinc. See [Issue #539](https://github.com/websharks/zencache/issues/539).
367
  - **Multisite Bug Fix**: Fixed a bug where clearing the cache from the main site of a multisite network, when there are child blogs in sub-directories, resulted in all child blogs being cleared from the cache, not just the main site as would be expected. This has been resolved and only the main site is cleared when clicking the Clear Cache button. Note that the Wipe Cache button can still be used to clear the cache for all sites in a Multisite Network. Props @jaswsinc. See [Issue #540](https://github.com/websharks/zencache/issues/540).
368
  - **Multisite Bug Fix**: Fixed a bug where Wiping the cache on a multisite network resulted in the very next page view being cached incorrectly. Props @jaswsinc. See [Issue #541](https://github.com/websharks/zencache/issues/541).
369
+ - **Multisite Bug Fix**: Fixed a bug where when ZenCache was Network Activated the plugin settings link would show up in the plugins list for the Main Site and would lead to a 404 error. The settings link is now only shown when viewing the plugins list from the Network Admin. Props @jaswsinc. See [Issue #675](https://github.com/websharks/zencache/issues/675).
370
+ - **Enhancement**: Added support-related links to the plugin options page. Props @renzms. See [Issue #612](https://github.com/websharks/zencache/issues/612#issuecomment-186827661).
371
+ - **Enhancement**: It's now possible to override the ZenCache Nonce exclusion globally (dangerous) or only for Logged-In Users (safer). Please see [this article](http://zencache.com/r/kb-article-what-are-wordpress-nonces-and-why-are-they-not-cache-compatible/) for full details. [Issue #637](https://github.com/websharks/zencache/issues/637).
372
+ - **Enhancement**: Improved WP Cron-related configuration and validation of custom cron schedules. See [PR #197](https://github.com/websharks/zencache-pro/pull/197).
373
+ - **Enhancement**: ZenCache now clears the cache whenever a WordPress plugin is activated or deactivated. Many WordPress plugins change content on the front-end of the site, so this enhancement ensures that an old cache file is never served to visitors. If you want to disable this automatic behavior, see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-clearing-the-cache-upon-plugin-activation-or-deactivation/). Props @renzms. See [Issue #424](https://github.com/websharks/zencache/issues/424).
374
+ - **Enhancement**: When activating ZenCache for the first time, a new Dashboard message now includes a helpful link to the options page to enable caching and review the options. Props @kristineds. See [Issue #112](https://github.com/websharks/zencache/issues/112).
375
+ - **Enhancement**: The automatic Cache Cleanup schedule that cleans up (deletes) expired/stale cache files has been changed from once every day to once every hour. Running the cleanup hourly makes ZenCache smarter when configured in certain ways and saves disk space. Props @kristineds. See [Issue #472](https://github.com/websharks/zencache/issues/472).
376
+ - **Enhancement**: When the Cache Directory location is changed, ZenCache now cleans up the old Cache Directory and any old cache files instead of leaving them behind. Props @clavaque @renzms. See [Issue #580](https://github.com/websharks/zencache/issues/580).
377
+ - **Enhancement**: Added a new API Function that allows a site owner to clear the cache for a specific URL via `zencache::clearUrl($url);`. See [this article](http://zencache.com/kb-article/clearing-the-cache-dynamically/#toc-988085ad) for further details. Props @kristineds. See [Issue #590](https://github.com/websharks/zencache/issues/590).
378
+ - **Enhancement**: Improved the HTML Notes generated by ZenCache when s2Member (a membership plugin for WordPress) is specifically disabling caching. s2Member automatically disables caching on certain pages that are required to remain dynamic. The HTML Notes generated by ZenCache now explain when this is happening. Props @renzms. See [Issue #504](https://github.com/websharks/zencache/issues/504).
379
+ - **Enhancement**: Manual Cache Clearing options have now been separated from Automatic Cache Clearing options inside the ZenCache Plugin Options to improve the differentiation between these.
380
+ - **Enhancement**: New icons in the ZenCache Plugin Options help improve the visual representation of each panel.
381
+ - **Enhancement**: The installed plugin version is now shown at the top of the ZenCache Options Page. Props @renzms. See [Issue #502](https://github.com/websharks/zencache/issues/502).
382
+ - **Enhancement**: New transition in/out effects on the Cache Cleared Dashboard notifications. Props @jaswsinc. See [Issue #538](https://github.com/websharks/zencache/issues/538).
383
  - **Enhancement**: Improved compatibility with any Custom Post Type that uses hierarchies. Props @jaswsinc.
384
+ - **Akismet Compatibility:** ZenCache no longer caches pages that contain `akismet_comment_nonce` in the markup. This ensures that a page that contains a time-sensitive `nonce` value does not get cached. Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
385
+ - **Akismet Compatibility:** ZenCache now automatically disables the Akismet Comment Nonce using [the `akismet_comment_nonce` filter](https://github.com/git-mirror/wordpress-akismet/blob/2.5.6/akismet.php#L333), which improves compatibility between Akismet and the page caching functionality provided by ZenCache. This ensures that pages do not contain time-sensitive `nonce` values that should not be cached. If you'd like to revert this behavior, please see [this article](http://zencache.com/kb-article/how-do-i-prevent-zencache-from-disabling-the-akismet-comment-nonce/). Props @kristineds and @jaswsinc. See [Issue #601](https://github.com/websharks/zencache/issues/601).
386
+ - **Akismet Compatibility**: Fixed a bug with Akismet compatibility where ZenCache was not properly disabling the Akismet Comment Nonce, which resulted in pages being unnecessarily excluded from the cache due to the presence of the `akismet_comment_nonce` in the markup. Props @Kalfer. See [Issue #642](https://github.com/websharks/zencache/issues/642).
387
+ - **WooCommerce Compatibility:** This release improves compatibility with the WooCommerce Product Stock feature. When the Product Stock changes, ZenCache will now clear the cache file for the associated Product to ensure that the stock quantity that appears on the site remains up-to-date. See [Issue #597](https://github.com/websharks/zencache/issues/597).
388
+ - **Multisite Domain Mapping Compatibility**: ZenCache is now fully compatible with the [WordPress MU Domain Mapping plugin](https://wordpress.org/plugins/wordpress-mu-domain-mapping/), including Multisite Networks using domain mapping on top-level domains, sub-domains, and sub-directories. Multiple variations of each site spread across an unlimited number of domain mappings and/or the original blog domain/path is also supported. All Pro-only features, including the Auto-Cache Engine, Static CDN Filters, and HTML Compression, are also now compatible with domain mapping. Props @jaswsinc. See [Issue #339](https://github.com/websharks/zencache/issues/339).
389
+ - **bbPress Compatibility**: This release greatly improves compatibility with bbPress. Events like creating a new Forum, creating a new Topic, and posting a reply to a Topic (including threaded replies), now properly clear the necessary cache files to ensure that cached bbPress pages remain up-to-date. Props @jaswsinc. See [Issue #168](https://github.com/websharks/zencache/issues/168).
390
+ - **bbPress Compatibility:** This release improves compatibility with bbPress when ZenCache Logged-In User caching is enabled. In this scenario, bbPress may generate links for Admins that contain time-sensitive `_wpnonce` values which could expire if cached and result in certain admin-related actions failing. ZenCache no longer caches pages that contain `_wpnonce` in the markup. This ensures that pages containing time-sensitive `nonce` values are not cached. Props @kristineds, @jaswsinc, and @clavaque. See [Issue #601](https://github.com/websharks/zencache/issues/601).
391
+ - **New Pro Features:** This release updates the Pro Preview to include several new Pro features that have been added over the past 6 months, including the ability to clear the PHP OPCache whenever manually clearing the cache (_ZenCache Options → Manual Cache Clearing → Clear the PHP OPCache Too?_), clear the CDN Cache whenever manually clearing the cache (_ZenCache Options → Manual Cache Clearing → CDN Cache Clear the CDN Cache Too?_), disable cache expiration if the server load average is high (_ZenCache Options → Cache Expiration Time → Disable Cache Expiration If Server Load Average is High_), the ability to specify which WordPress Roles/Capabilities are allowed to clear the cache from the WordPress Admin bar (_ZenCache Options → Manual Cache Clearing → Also allow others to clear the cache from their Admin Bar?_), a completely new Cache Statistics feature that allows you to monitor the health and status of your cache (_ZenCache → Stats / Charts_), the ability to specify a list of Custom URLs whose cache files should be cleared whenever ZenCache detects that a Post/Page cache should be cleared (_ZenCache Options → Automatic Cache Clearing → Misc. Auto-Clear Options → Auto-Clear a List of Custom URLs Too?_), a new menu of Clear Cache options in the Admin Bar that allows you to clear the cache for just the Home Page, the Current URL, a Specific URL, PHP's OPCache, or the CDN Cache (_ZenCache Options → Plugin Options → Manual Cache Clearing_), the ability to customize the Cache Cleanup Schedule and set your own schedule (_ZenCache Options → Manual Cache Clearing → Cache Cleanup Schedule_), the ability to configure the Pro Plugin Updater to check for Beta versions, an option to clear Expired WordPress Transients, and URI Exclusion Patterns for Client-Side Caching.
392
 
393
+ = v160211.2 =
394
 
395
+ - **Minor Fix**: Remove unnecessary `src/client-s/css/.sass-cache` directory.
396
+
397
+ = v160211 =
398
+
399
+ **Announcing Comet Cache, formerly ZenCache!**
400
+
401
+ We are very excited to announce the release of [Comet Cache](http://cometcache.com), an advanced WordPress caching plugin inspired by simplicity. Comet Cache is the successor to ZenCache (and Quick Cache before that), a very popular WordPress caching plugin that has been downloaded over 1 million times and has won acclaim for its speed, simplicity, and ease of configuration. [Read the full announcement here](https://cometcache.com/r/announcing-comet-cache-formerly-zencache/).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402
 
403
  For older Changelog entries, please see the `CHANGELOG.md` file.
src/client-s/css/menu-pages.min.css CHANGED
@@ -1,2 +1,2 @@
1
- @font-face{font-family:sharkicons;src:url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.eot");src:url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.eot?#iefix") format("embedded-opentype"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.ttf") format("truetype"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.woff") format("woff"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.svg#sharkicons") format("svg");font-weight:normal;font-style:normal}.si::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.si-broom::before{content:""}.si-comment-mail-one::before{content:""}.si-comment-mail::before{content:""}.si-s2member::before{content:""}.si-websharks::before{content:""}.si-wp-kb-articles::before{content:""}.si-zencache-logo::before{content:""}.si-zencache::before{content:""}.si-wp-sharks::before{content:""}.si-wp-sharks-fin::before{content:""}.si-comet_cache::before{content:""}.si-comet_cache-logo::before{content:""}.si-comet_cache-comet::before{content:""}.si-feat-watch::before{content:""}.si-feat-server::before{content:""}.si-feat-layers::before{content:""}.si-feat-box::before{content:""}.si-feat-ellipsis::before{content:""}.si-typi-group::before{content:""}.si-enty-bookmark::before{content:""}.si-enty-bookmarks::before{content:""}.si-enty-open-book::before{content:""}.si-enty-archive::before{content:""}.si-enty-area-graph::before{content:""}.si-enty-bucket::before{content:""}.si-enty-colors::before{content:""}.si-enty-copy::before{content:""}.si-enty-drive::before{content:""}.si-enty-feather::before{content:""}.si-enty-gauge::before{content:""}.si-enty-hand::before{content:""}.si-enty-lab-flask::before{content:""}.si-enty-mask::before{content:""}.si-enty-medal::before{content:""}.si-enty-exclamation::before{content:""}.si-enty-palette::before{content:""}.si-enty-ruler::before{content:""}.si-enty-shop::before{content:""}.si-enty-basket::before{content:""}.si-enty-cart::before{content:""}.si-enty-traffic-cone::before{content:""}.si-enty-tree::before{content:""}.si-enty-trophy::before{content:""}.si-enty-v-card::before{content:""}.si-enty-google-hangouts::before{content:""}.si-eleg-line-graph::before{content:""}.si-eleg-male::before{content:""}.si-eleg-female::before{content:""}.si-eleg-atom::before{content:""}.si-broc-cart::before{content:""}.si-broc-crap::before{content:""}.si-broc-atom::before{content:""}.si-icom-headphones::before{content:""}.si-icom-barcode::before{content:""}.si-icom-user::before{content:""}.si-icom-users::before{content:""}.si-icom-user-plus::before{content:""}.si-icom-user-minus::before{content:""}.si-icom-user-check::before{content:""}.si-icom-user-tie::before{content:""}.si-icom-key::before{content:""}.si-icom-key2::before{content:""}.si-icom-happy::before{content:""}.si-icom-happy2::before{content:""}.si-icom-smile::before{content:""}.si-icom-smile2::before{content:""}.si-icom-tongue::before{content:""}.si-icom-tongue2::before{content:""}.si-icom-sad::before{content:""}.si-icom-sad2::before{content:""}.si-icom-wink::before{content:""}.si-icom-wink2::before{content:""}.si-icom-grin::before{content:""}.si-icom-grin2::before{content:""}.si-icom-cool::before{content:""}.si-icom-cool2::before{content:""}.si-icom-angry::before{content:""}.si-icom-angry2::before{content:""}.si-icom-evil::before{content:""}.si-icom-evil2::before{content:""}.si-icom-shocked::before{content:""}.si-icom-shocked2::before{content:""}.si-icom-baffled::before{content:""}.si-icom-baffled2::before{content:""}.si-icom-confused::before{content:""}.si-icom-confused2::before{content:""}.si-icom-neutral::before{content:""}.si-icom-neutral2::before{content:""}.si-icom-hipster::before{content:""}.si-icom-hipster2::before{content:""}.si-icom-wondering::before{content:""}.si-icom-wondering2::before{content:""}.si-icom-sleepy::before{content:""}.si-icom-sleepy2::before{content:""}.si-icom-frustrated::before{content:""}.si-icom-frustrated2::before{content:""}.si-icom-crying::before{content:""}.si-icom-crying2::before{content:""}.si-icom-spell-check::before{content:""}.si-icom-command-key::before{content:""}.si-icom-shift-key::before{content:""}.si-icom-control-key::before{content:""}.si-icom-option-key::before{content:""}.si-icom-wordpress::before{content:""}.si-icom-wordpress-square::before{content:""}.si-icom-yahoo::before{content:""}.si-icom-linux::before{content:""}.si-icom-finder::before{content:""}.si-icom-android::before{content:""}.si-icom-reddit::before{content:""}.si-icom-paypal::before{content:""}.si-icom-git::before{content:""}.si-octi-alignment-align::before{content:""}.si-octi-alignment-aligned-to::before{content:""}.si-octi-alignment-unalign::before{content:""}.si-octi-bookmark::before{content:""}.si-octi-broadcast::before{content:""}.si-octi-browser::before{content:""}.si-octi-checklist::before{content:""}.si-octi-circuit-board::before{content:""}.si-octi-clippy::before{content:""}.si-octi-cloud-download::before{content:""}.si-octi-cloud-upload::before{content:""}.si-octi-comment::before{content:""}.si-octi-comments::before{content:""}.si-octi-tach::before{content:""}.si-octi-device-camera::before{content:""}.si-octi-device-camera-video::before{content:""}.si-octi-device-desktop::before{content:""}.si-octi-diff::before{content:""}.si-octi-file-binary::before{content:""}.si-octi-file-media::before{content:""}.si-octi-file-submodule::before{content:""}.si-octi-file-symlink-directory::before{content:""}.si-octi-file-symlink-file::before{content:""}.si-octi-fold::before{content:""}.si-octi-git-branch::before{content:""}.si-octi-git-commit::before{content:""}.si-octi-git-compare::before{content:""}.si-octi-git-merge::before{content:""}.si-octi-git-pull-request::before{content:""}.si-octi-graph::before{content:""}.si-octi-home::before{content:""}.si-octi-horizontal-rule::before{content:""}.si-octi-key::before{content:""}.si-octi-light-bulb::before{content:""}.si-octi-link-external::before{content:""}.si-octi-lock::before{content:""}.si-octi-markdown::before{content:""}.si-octi-microscope::before{content:""}.si-octi-mirror::before{content:""}.si-octi-move-down::before{content:""}.si-octi-move-left::before{content:""}.si-octi-move-right::before{content:""}.si-octi-move-up::before{content:""}.si-octi-mute::before{content:""}.si-octi-organization::before{content:""}.si-octi-package::before{content:""}.si-octi-paintcan::before{content:""}.si-octi-person::before{content:""}.si-octi-plug::before{content:""}.si-octi-podium::before{content:""}.si-octi-pulse::before{content:""}.si-octi-puzzle::before{content:""}.si-octi-repo::before{content:""}.si-octi-repo-clone::before{content:""}.si-octi-repo-force-push::before{content:""}.si-octi-repo-forked::before{content:""}.si-octi-repo-pull::before{content:""}.si-octi-repo-push::before{content:""}.si-octi-rocket::before{content:""}.si-octi-ruby::before{content:""}.si-octi-screen-full::before{content:""}.si-octi-screen-normal::before{content:""}.si-octi-sign-in::before{content:""}.si-octi-sign-out::before{content:""}.si-octi-split::before{content:""}.si-octi-squirrel::before{content:""}.si-octi-steps::before{content:""}.si-octi-tag::before{content:""}.si-octi-telescope::before{content:""}.si-octi-terminal::before{content:""}.si-octi-unfold::before{content:""}.si-octi-versions::before{content:""}.si-glass::before{content:""}.si-music::before{content:""}.si-search::before{content:""}.si-envelope-o::before{content:""}.si-heart::before{content:""}.si-star::before{content:""}.si-star-o::before{content:""}.si-user::before{content:""}.si-film::before{content:""}.si-th-large::before{content:""}.si-th::before{content:""}.si-th-list::before{content:""}.si-check::before{content:""}.si-close::before{content:""}.si-search-plus::before{content:""}.si-search-minus::before{content:""}.si-power-off::before{content:""}.si-signal::before{content:""}.si-cog::before{content:""}.si-trash-o::before{content:""}.si-home::before{content:""}.si-file-o::before{content:""}.si-clock-o::before{content:""}.si-road::before{content:""}.si-download::before{content:""}.si-arrow-circle-o-down::before{content:""}.si-arrow-circle-o-up::before{content:""}.si-inbox::before{content:""}.si-play-circle-o::before{content:""}.si-repeat::before{content:""}.si-refresh::before{content:""}.si-list-alt::before{content:""}.si-lock::before{content:""}.si-flag::before{content:""}.si-headphones::before{content:""}.si-volume-off::before{content:""}.si-volume-down::before{content:""}.si-volume-up::before{content:""}.si-qrcode::before{content:""}.si-barcode::before{content:""}.si-tag::before{content:""}.si-tags::before{content:""}.si-book::before{content:""}.si-bookmark::before{content:""}.si-print::before{content:""}.si-camera::before{content:""}.si-font::before{content:""}.si-bold::before{content:""}.si-italic::before{content:""}.si-text-height::before{content:""}.si-text-width::before{content:""}.si-align-left::before{content:""}.si-align-center::before{content:""}.si-align-right::before{content:""}.si-align-justify::before{content:""}.si-list::before{content:""}.si-dedent::before{content:""}.si-indent::before{content:""}.si-video-camera::before{content:""}.si-image::before{content:""}.si-pencil::before{content:""}.si-map-marker::before{content:""}.si-adjust::before{content:""}.si-tint::before{content:""}.si-edit::before{content:""}.si-share-square-o::before{content:""}.si-check-square-o::before{content:""}.si-arrows::before{content:""}.si-step-backward::before{content:""}.si-fast-backward::before{content:""}.si-backward::before{content:""}.si-play::before{content:""}.si-pause::before{content:""}.si-stop::before{content:""}.si-forward::before{content:""}.si-fast-forward::before{content:""}.si-step-forward::before{content:""}.si-eject::before{content:""}.si-chevron-left::before{content:""}.si-chevron-right::before{content:""}.si-plus-circle::before{content:""}.si-minus-circle::before{content:""}.si-times-circle::before{content:""}.si-check-circle::before{content:""}.si-question-circle::before{content:""}.si-info-circle::before{content:""}.si-crosshairs::before{content:""}.si-times-circle-o::before{content:""}.si-check-circle-o::before{content:""}.si-ban::before{content:""}.si-arrow-left::before{content:""}.si-arrow-right::before{content:""}.si-arrow-up::before{content:""}.si-arrow-down::before{content:""}.si-mail-forward::before{content:""}.si-expand::before{content:""}.si-compress::before{content:""}.si-plus::before{content:""}.si-minus::before{content:""}.si-asterisk::before{content:""}.si-exclamation-circle::before{content:""}.si-gift::before{content:""}.si-leaf::before{content:""}.si-fire::before{content:""}.si-eye::before{content:""}.si-eye-slash::before{content:""}.si-exclamation-triangle::before{content:""}.si-plane::before{content:""}.si-calendar::before{content:""}.si-random::before{content:""}.si-comment::before{content:""}.si-magnet::before{content:""}.si-chevron-up::before{content:""}.si-chevron-down::before{content:""}.si-retweet::before{content:""}.si-shopping-cart::before{content:""}.si-folder::before{content:""}.si-folder-open::before{content:""}.si-arrows-v::before{content:""}.si-arrows-h::before{content:""}.si-bar-chart::before{content:""}.si-twitter-square::before{content:""}.si-facebook-square::before{content:""}.si-camera-retro::before{content:""}.si-key::before{content:""}.si-cogs::before{content:""}.si-comments::before{content:""}.si-thumbs-o-up::before{content:""}.si-thumbs-o-down::before{content:""}.si-star-half::before{content:""}.si-heart-o::before{content:""}.si-sign-out::before{content:""}.si-linkedin-square::before{content:""}.si-thumb-tack::before{content:""}.si-external-link::before{content:""}.si-sign-in::before{content:""}.si-trophy::before{content:""}.si-github-square::before{content:""}.si-upload::before{content:""}.si-lemon-o::before{content:""}.si-phone::before{content:""}.si-square-o::before{content:""}.si-bookmark-o::before{content:""}.si-phone-square::before{content:""}.si-twitter::before{content:""}.si-facebook::before{content:""}.si-github::before{content:""}.si-unlock::before{content:""}.si-credit-card::before{content:""}.si-feed::before{content:""}.si-hdd-o::before{content:""}.si-bullhorn::before{content:""}.si-bell-o::before{content:""}.si-certificate::before{content:""}.si-hand-o-right::before{content:""}.si-hand-o-left::before{content:""}.si-hand-o-up::before{content:""}.si-hand-o-down::before{content:""}.si-arrow-circle-left::before{content:""}.si-arrow-circle-right::before{content:""}.si-arrow-circle-up::before{content:""}.si-arrow-circle-down::before{content:""}.si-globe::before{content:""}.si-wrench::before{content:""}.si-tasks::before{content:""}.si-filter::before{content:""}.si-briefcase::before{content:""}.si-arrows-alt::before{content:""}.si-group::before{content:""}.si-chain::before{content:""}.si-cloud::before{content:""}.si-flask::before{content:""}.si-cut::before{content:""}.si-copy::before{content:""}.si-paperclip::before{content:""}.si-floppy-o::before{content:""}.si-square::before{content:""}.si-bars::before{content:""}.si-list-ul::before{content:""}.si-list-ol::before{content:""}.si-strikethrough::before{content:""}.si-underline::before{content:""}.si-table::before{content:""}.si-magic::before{content:""}.si-truck::before{content:""}.si-pinterest::before{content:""}.si-pinterest-square::before{content:""}.si-google-plus-square::before{content:""}.si-google-plus::before{content:""}.si-money::before{content:""}.si-caret-down::before{content:""}.si-caret-up::before{content:""}.si-caret-left::before{content:""}.si-caret-right::before{content:""}.si-columns::before{content:""}.si-sort::before{content:""}.si-sort-desc::before{content:""}.si-sort-asc::before{content:""}.si-envelope::before{content:""}.si-linkedin::before{content:""}.si-rotate-left::before{content:""}.si-gavel::before{content:""}.si-dashboard::before{content:""}.si-comment-o::before{content:""}.si-comments-o::before{content:""}.si-bolt::before{content:""}.si-sitemap::before{content:""}.si-umbrella::before{content:""}.si-clipboard::before{content:""}.si-lightbulb-o::before{content:""}.si-exchange::before{content:""}.si-cloud-download::before{content:""}.si-cloud-upload::before{content:""}.si-user-md::before{content:""}.si-stethoscope::before{content:""}.si-suitcase::before{content:""}.si-bell::before{content:""}.si-coffee::before{content:""}.si-cutlery::before{content:""}.si-file-text-o::before{content:""}.si-building-o::before{content:""}.si-hospital-o::before{content:""}.si-ambulance::before{content:""}.si-medkit::before{content:""}.si-fighter-jet::before{content:""}.si-beer::before{content:""}.si-h-square::before{content:""}.si-plus-square::before{content:""}.si-angle-double-left::before{content:""}.si-angle-double-right::before{content:""}.si-angle-double-up::before{content:""}.si-angle-double-down::before{content:""}.si-angle-left::before{content:""}.si-angle-right::before{content:""}.si-angle-up::before{content:""}.si-angle-down::before{content:""}.si-desktop::before{content:""}.si-laptop::before{content:""}.si-tablet::before{content:""}.si-mobile::before{content:""}.si-circle-o::before{content:""}.si-quote-left::before{content:""}.si-quote-right::before{content:""}.si-spinner::before{content:""}.si-circle::before{content:""}.si-mail-reply::before{content:""}.si-github-alt::before{content:""}.si-folder-o::before{content:""}.si-folder-open-o::before{content:""}.si-smile-o::before{content:""}.si-frown-o::before{content:""}.si-meh-o::before{content:""}.si-gamepad::before{content:""}.si-keyboard-o::before{content:""}.si-flag-o::before{content:""}.si-flag-checkered::before{content:""}.si-terminal::before{content:""}.si-code::before{content:""}.si-mail-reply-all::before{content:""}.si-star-half-empty::before{content:""}.si-location-arrow::before{content:""}.si-crop::before{content:""}.si-code-fork::before{content:""}.si-chain-broken::before{content:""}.si-question::before{content:""}.si-info::before{content:""}.si-exclamation::before{content:""}.si-superscript::before{content:""}.si-subscript::before{content:""}.si-eraser::before{content:""}.si-puzzle-piece::before{content:""}.si-microphone::before{content:""}.si-microphone-slash::before{content:""}.si-shield::before{content:""}.si-calendar-o::before{content:""}.si-fire-extinguisher::before{content:""}.si-rocket::before{content:""}.si-maxcdn::before{content:""}.si-chevron-circle-left::before{content:""}.si-chevron-circle-right::before{content:""}.si-chevron-circle-up::before{content:""}.si-chevron-circle-down::before{content:""}.si-html5::before{content:""}.si-css3::before{content:""}.si-anchor::before{content:""}.si-unlock-alt::before{content:""}.si-bullseye::before{content:""}.si-ellipsis-h::before{content:""}.si-ellipsis-v::before{content:""}.si-rss-square::before{content:""}.si-play-circle::before{content:""}.si-ticket::before{content:""}.si-minus-square::before{content:""}.si-minus-square-o::before{content:""}.si-level-up::before{content:""}.si-level-down::before{content:""}.si-check-square::before{content:""}.si-pencil-square::before{content:""}.si-external-link-square::before{content:""}.si-share-square::before{content:""}.si-compass::before{content:""}.si-caret-square-o-down::before{content:""}.si-caret-square-o-up::before{content:""}.si-caret-square-o-right::before{content:""}.si-eur::before{content:""}.si-gbp::before{content:""}.si-dollar::before{content:""}.si-inr::before{content:""}.si-cny::before{content:""}.si-rouble::before{content:""}.si-krw::before{content:""}.si-bitcoin::before{content:""}.si-file::before{content:""}.si-file-text::before{content:""}.si-sort-alpha-asc::before{content:""}.si-sort-alpha-desc::before{content:""}.si-sort-amount-asc::before{content:""}.si-sort-amount-desc::before{content:""}.si-sort-numeric-asc::before{content:""}.si-sort-numeric-desc::before{content:""}.si-thumbs-up::before{content:""}.si-thumbs-down::before{content:""}.si-youtube-square::before{content:""}.si-youtube::before{content:""}.si-xing::before{content:""}.si-xing-square::before{content:""}.si-youtube-play::before{content:""}.si-dropbox::before{content:""}.si-stack-overflow::before{content:""}.si-instagram::before{content:""}.si-flickr::before{content:""}.si-adn::before{content:""}.si-bitbucket::before{content:""}.si-bitbucket-square::before{content:""}.si-tumblr::before{content:""}.si-tumblr-square::before{content:""}.si-long-arrow-down::before{content:""}.si-long-arrow-up::before{content:""}.si-long-arrow-left::before{content:""}.si-long-arrow-right::before{content:""}.si-apple::before{content:""}.si-windows::before{content:""}.si-android::before{content:""}.si-linux::before{content:""}.si-dribbble::before{content:""}.si-skype::before{content:""}.si-foursquare::before{content:""}.si-trello::before{content:""}.si-female::before{content:""}.si-male::before{content:""}.si-gittip::before{content:""}.si-sun-o::before{content:""}.si-moon-o::before{content:""}.si-archive::before{content:""}.si-bug::before{content:""}.si-vk::before{content:""}.si-weibo::before{content:""}.si-renren::before{content:""}.si-pagelines::before{content:""}.si-stack-exchange::before{content:""}.si-arrow-circle-o-right::before{content:""}.si-arrow-circle-o-left::before{content:""}.si-caret-square-o-left::before{content:""}.si-dot-circle-o::before{content:""}.si-wheelchair::before{content:""}.si-vimeo-square::before{content:""}.si-try::before{content:""}.si-plus-square-o::before{content:""}.si-space-shuttle::before{content:""}.si-slack::before{content:""}.si-envelope-square::before{content:""}.si-wordpress::before{content:""}.si-openid::before{content:""}.si-bank::before{content:""}.si-graduation-cap::before{content:""}.si-yahoo::before{content:""}.si-google::before{content:""}.si-reddit::before{content:""}.si-reddit-square::before{content:""}.si-stumbleupon-circle::before{content:""}.si-stumbleupon::before{content:""}.si-delicious::before{content:""}.si-digg::before{content:""}.si-pied-piper::before{content:""}.si-pied-piper-alt::before{content:""}.si-drupal::before{content:""}.si-joomla::before{content:""}.si-language::before{content:""}.si-fax::before{content:""}.si-building::before{content:""}.si-child::before{content:""}.si-paw::before{content:""}.si-spoon::before{content:""}.si-cube::before{content:""}.si-cubes::before{content:""}.si-behance::before{content:""}.si-behance-square::before{content:""}.si-steam::before{content:""}.si-steam-square::before{content:""}.si-recycle::before{content:""}.si-automobile::before{content:""}.si-cab::before{content:""}.si-tree::before{content:""}.si-spotify::before{content:""}.si-deviantart::before{content:""}.si-soundcloud::before{content:""}.si-database::before{content:""}.si-file-pdf-o::before{content:""}.si-file-word-o::before{content:""}.si-file-excel-o::before{content:""}.si-file-powerpoint-o::before{content:""}.si-file-image-o::before{content:""}.si-file-archive-o::before{content:""}.si-file-audio-o::before{content:""}.si-file-movie-o::before{content:""}.si-file-code-o::before{content:""}.si-vine::before{content:""}.si-codepen::before{content:""}.si-jsfiddle::before{content:""}.si-life-bouy::before{content:""}.si-circle-o-notch::before{content:""}.si-ra::before{content:""}.si-empire::before{content:""}.si-git-square::before{content:""}.si-git::before{content:""}.si-hacker-news::before{content:""}.si-tencent-weibo::before{content:""}.si-qq::before{content:""}.si-wechat::before{content:""}.si-paper-plane::before{content:""}.si-paper-plane-o::before{content:""}.si-history::before{content:""}.si-circle-thin::before{content:""}.si-header::before{content:""}.si-paragraph::before{content:""}.si-sliders::before{content:""}.si-share-alt::before{content:""}.si-share-alt-square::before{content:""}.si-bomb::before{content:""}.si-futbol-o::before{content:""}.si-tty::before{content:""}.si-binoculars::before{content:""}.si-plug::before{content:""}.si-slideshare::before{content:""}.si-twitch::before{content:""}.si-yelp::before{content:""}.si-newspaper-o::before{content:""}.si-wifi::before{content:""}.si-calculator::before{content:""}.si-paypal::before{content:""}.si-google-wallet::before{content:""}.si-cc-visa::before{content:""}.si-cc-mastercard::before{content:""}.si-cc-discover::before{content:""}.si-cc-amex::before{content:""}.si-cc-paypal::before{content:""}.si-cc-stripe::before{content:""}.si-bell-slash::before{content:""}.si-bell-slash-o::before{content:""}.si-trash::before{content:""}.si-copyright::before{content:""}.si-at::before{content:""}.si-eyedropper::before{content:""}.si-paint-brush::before{content:""}.si-birthday-cake::before{content:""}.si-area-chart::before{content:""}.si-pie-chart::before{content:""}.si-line-chart::before{content:""}.si-lastfm::before{content:""}.si-lastfm-square::before{content:""}.si-toggle-off::before{content:""}.si-toggle-on::before{content:""}.si-bicycle::before{content:""}.si-bus::before{content:""}.si-ioxhost::before{content:""}.si-angellist::before{content:""}.si-cc::before{content:""}.si-ils::before{content:""}.si-meanpath::before{content:""}.si-buysellads::before{content:""}.si-connectdevelop::before{content:""}.si-dashcube::before{content:""}.si-forumbee::before{content:""}.si-leanpub::before{content:""}.si-sellsy::before{content:""}.si-shirtsinbulk::before{content:""}.si-simplybuilt::before{content:""}.si-skyatlas::before{content:""}.si-cart-plus::before{content:""}.si-cart-arrow-down::before{content:""}.si-diamond::before{content:""}.si-ship::before{content:""}.si-user-secret::before{content:""}.si-motorcycle::before{content:""}.si-street-view::before{content:""}.si-heartbeat::before{content:""}.si-venus::before{content:""}.si-mars::before{content:""}.si-mercury::before{content:""}.si-intersex::before{content:""}.si-transgender-alt::before{content:""}.si-venus-double::before{content:""}.si-mars-double::before{content:""}.si-venus-mars::before{content:""}.si-mars-stroke::before{content:""}.si-mars-stroke-v::before{content:""}.si-mars-stroke-h::before{content:""}.si-neuter::before{content:""}.si-genderless::before{content:""}.si-facebook-official::before{content:""}.si-pinterest-p::before{content:""}.si-whatsapp::before{content:""}.si-server::before{content:""}.si-user-plus::before{content:""}.si-user-times::before{content:""}.si-bed::before{content:""}.si-viacoin::before{content:""}.si-train::before{content:""}.si-subway::before{content:""}.si-medium::before{content:""}.si-y-combinator::before{content:""}.si-optin-monster::before{content:""}.si-opencart::before{content:""}.si-expeditedssl::before{content:""}.si-battery-4::before{content:""}.si-battery-3::before{content:""}.si-battery-2::before{content:""}.si-battery-1::before{content:""}.si-battery-0::before{content:""}.si-mouse-pointer::before{content:""}.si-i-cursor::before{content:""}.si-object-group::before{content:""}.si-object-ungroup::before{content:""}.si-sticky-note::before{content:""}.si-sticky-note-o::before{content:""}.si-cc-jcb::before{content:""}.si-cc-diners-club::before{content:""}.si-clone::before{content:""}.si-balance-scale::before{content:""}.si-hourglass-o::before{content:""}.si-hourglass-1::before{content:""}.si-hourglass-2::before{content:""}.si-hourglass-3::before{content:""}.si-hourglass::before{content:""}.si-hand-grab-o::before{content:""}.si-hand-paper-o::before{content:""}.si-hand-scissors-o::before{content:""}.si-hand-lizard-o::before{content:""}.si-hand-spock-o::before{content:""}.si-hand-pointer-o::before{content:""}.si-hand-peace-o::before{content:""}.si-trademark::before{content:""}.si-registered::before{content:""}.si-creative-commons::before{content:""}.si-gg::before{content:""}.si-gg-circle::before{content:""}.si-tripadvisor::before{content:""}.si-odnoklassniki::before{content:""}.si-odnoklassniki-square::before{content:""}.si-get-pocket::before{content:""}.si-wikipedia-w::before{content:""}.si-safari::before{content:""}.si-chrome::before{content:""}.si-firefox::before{content:""}.si-opera::before{content:""}.si-internet-explorer::before{content:""}.si-television::before{content:""}.si-contao::before{content:""}.si-500px::before{content:""}.si-amazon::before{content:""}.si-calendar-plus-o::before{content:""}.si-calendar-minus-o::before{content:""}.si-calendar-times-o::before{content:""}.si-calendar-check-o::before{content:""}.si-industry::before{content:""}.si-map-pin::before{content:""}.si-map-signs::before{content:""}.si-map-o::before{content:""}.si-map::before{content:""}.si-commenting::before{content:""}.si-commenting-o::before{content:""}.si-houzz::before{content:""}.si-vimeo::before{content:""}.si-black-tie::before{content:""}.si-fonticons::before{content:""}.si-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.si-2x{font-size:2em}.si-3x{font-size:3em}.si-4x{font-size:4em}.si-5x{font-size:5em}.si-fw{text-align:center;width:1.28571429em}.si-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.si-pull-left{float:left;margin-right:.3em}.si-pull-right{float:right;margin-left:.3em}.si-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.si-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.si-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.si-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.si-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.si-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.si-spin{-webkit-animation:si-animation-spin 2s infinite linear;-moz-animation:si-animation-spin 2s infinite linear;animation:si-animation-spin 2s infinite linear}.si-pulse{-webkit-animation:si-animation-spin 1s infinite steps(8);-moz-animation:si-animation-spin 1s infinite steps(8);animation:si-animation-spin 1s infinite steps(8)}.si-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.si-ul>li{position:relative}.si-ul>li .si-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.si-ul>li .si-li .si-lg{left:-1.85714286em}.si-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.si-stack .si-stack-1x,.si-stack .si-stack-2x{left:0;width:100%;text-align:center;position:absolute}.si-stack .si-stack-1x{line-height:inherit}.si-stack .si-stack-2x{font-size:2em}@-webkit-keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes si-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}.plugin-menu-page-animation-spin{-webkit-animation-duration:0.75s;-moz-animation-duration:0.75s;animation-duration:0.75s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;-moz-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:plugin-menu-page-animation-spin;-moz-animation-name:plugin-menu-page-animation-spin;animation-name:plugin-menu-page-animation-spin}@-webkit-keyframes plugin-menu-page-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes plugin-menu-page-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(360deg)}}@keyframes plugin-menu-page-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}html{overflow-y:scroll}#wpwrap{position:relative}#wpwrap::after{top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute;content:'';opacity:0.25;background:url("../images/bg.png")}#wpwrap .updated,#wpwrap .error{margin:1.25em 1.25em 1.25em 0.25em}.plugin-menu-page{min-width:800px;margin:1.25em 1.25em 1.25em 0.25em}.plugin-menu-page,.plugin-menu-page p{font-size:14px}.plugin-menu-page a{color:#033A63}.plugin-menu-page a:hover,.plugin-menu-page a:active{color:#467629}.plugin-menu-page p:first-child,.plugin-menu-page pre:first-child{margin-top:0}.plugin-menu-page p:last-child,.plugin-menu-page pre:last-child{margin-bottom:0}.plugin-menu-page code{border-radius:3px;padding:0.1em 0.25em;background:rgba(178,178,178,0.25);font-family:'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace}.plugin-menu-page pre.code{padding:0;background:none}.plugin-menu-page pre.code>code{font-size:90%;overflow-x:auto;max-width:100%;border-radius:4px;padding:1em;display:block;color:#eee;background:#222;box-shadow:0 0 5px 1px #000 inset}.plugin-menu-page img{border:0}.plugin-menu-page img.screenshot{float:right;border-radius:4px;padding:0.5em;margin:0 0 2em 2em;background:#fff;border:1px solid #afafaf;box-shadow:0 0 5px 0 rgba(0,0,0,0.2) inset}.plugin-menu-page hr{border:0;padding:0;height:1px;margin:1em 0;background:linear-gradient(to left, transparent, rgba(0,0,0,0.75), transparent)}.plugin-menu-page label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plugin-menu-page label.switch-primary{font-size:130%;margin:0;padding:0.5em;border-radius:4px;display:inline;color:#000;background:#f1e982;border:1px solid rgba(0,0,0,0.07);box-shadow:-1px -1px 0 0 rgba(0,0,0,0.25) inset,1px 1px 0 0 #fff inset}.plugin-menu-page select,.plugin-menu-page textarea,.plugin-menu-page select:focus,.plugin-menu-page textarea:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']),.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{width:100%;line-height:1.3em;margin:0;padding:0.25em 0.5em;border-radius:4px;box-sizing:border-box;color:#333;background:#e8e8e8;border:1px solid #848484;box-shadow:0 0 2px 0 rgba(132,132,132,0.5) inset}.plugin-menu-page select,.plugin-menu-page select:focus{box-shadow:0 1px 0 0 #fff inset,0 -2px 3px 0 rgba(132,132,132,0.25) inset}.plugin-menu-page select,.plugin-menu-page select:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']),.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{height:2em}.plugin-menu-page select:focus,.plugin-menu-page textarea:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{color:#000;background:#e2e2e2}.plugin-menu-page input[disabled],.plugin-menu-page select[disabled],.plugin-menu-page textarea[disabled]{opacity:0.5}.plugin-menu-page input::-webkit-input-placeholder,.plugin-menu-page textarea::-webkit-input-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input::-moz-placeholder,.plugin-menu-page textarea::-moz-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input:-moz-placeholder,.plugin-menu-page textarea:-moz-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input:-ms-input-placeholder,.plugin-menu-page textarea:-ms-input-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page table{margin:1em 0}.plugin-menu-page button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:150%;font-weight:bold;line-height:1em;outline:none;cursor:pointer;border-radius:4px;margin:0;padding:0.25em 0.5em;box-sizing:border-box;color:#fff;background:#033A63;border:1px solid rgba(0,0,0,0.5);box-shadow:0 1px 1px 0 rgba(0,0,0,0.25),-1px -1px 0 0 rgba(0,0,0,0.2) inset,1px 1px 0 0 rgba(255,255,255,0.1) inset}.plugin-menu-page button:hover{background:#467629}.plugin-menu-page button[type='submit']{background:#467629}.plugin-menu-page button[type='submit']:hover{background:#033A63}.plugin-menu-page button:active{-webkit-transform:scale(0.98, 0.98);-moz-transform:scale(0.98, 0.98);-ms-transform:scale(0.98, 0.98);-o-transform:scale(0.98, 0.98);transform:scale(0.98, 0.98)}.plugin-menu-page .info,.plugin-menu-page .notice,.plugin-menu-page .warning,.plugin-menu-page .error{border-radius:4px;padding:0.5em;margin:1em 0}.plugin-menu-page .info{background:#cadfed;border:1px solid #216095}.plugin-menu-page .notice{background:#fffde8;border:1px solid #e6db55}.plugin-menu-page .warning{background:#ffefd3;border:1px solid #e6db55}.plugin-menu-page .error{background:pink;border:1px solid #711e1e}.plugin-menu-page .monospace{font-family:'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace}.plugin-menu-page textarea.monospace{white-space:pre}.plugin-menu-page .clearfix::before,.plugin-menu-page .clearfix::after{display:table;content:' '}.plugin-menu-page .clearfix::after{clear:both}.plugin-menu-page-heading .plugin-menu-page-restore-defaults,.plugin-menu-page-heading .plugin-menu-page-panel-togglers{float:right;margin:0 1em 0 0}.plugin-menu-page-heading .plugin-menu-page-panel-togglers button{background:#033A63 !important}.plugin-menu-page-heading .plugin-menu-page-upsells{float:right;clear:right;text-align:right;max-width:350px;margin:1em 0 0}.plugin-menu-page-heading .plugin-menu-page-upsells a{text-decoration:none;line-height:1.5em;margin:0 0.5em;display:inline-block}.plugin-menu-page-heading .plugin-menu-page-version{float:right;clear:right;min-width:350px;margin:0.5em 0 0 0;text-align:right}.plugin-menu-page-body{position:relative}.plugin-menu-page-section-heading{margin:1em 0}.plugin-menu-page-section-heading>small{font-size:65%;font-style:italic;margin:0;display:block;opacity:0.5}.plugin-menu-page-panel{margin:1em 0}.plugin-menu-page-panel:first-child{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-heading{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;padding:10px;font-size:150%;line-height:1.125em;font-weight:bold;border-radius:4px;display:block;cursor:pointer;background:#033A63;color:#ddd !important;box-shadow:0 2px 2px 0 rgba(0,0,0,0.25)}.plugin-menu-page-panel .plugin-menu-page-panel-heading::after{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none;content:""}.plugin-menu-page-panel .plugin-menu-page-panel-heading:hover,.plugin-menu-page-panel .plugin-menu-page-panel-heading.open{color:#fff !important}.plugin-menu-page-panel .plugin-menu-page-panel-heading::after{font-size:80%;float:right;margin:0 0 0 5px}.plugin-menu-page-panel .plugin-menu-page-panel-heading.open::after{content:""}.plugin-menu-page-panel-heading.pro-preview-feature{background:#216095}.pro-preview-feature::after{font-variant:small-caps !important;font-family:sans-serif !important;content:'pro version only' !important;margin-left:15px;background:#216095;color:#FFFFFF;padding:0 5px 2px 5px;font-weight:normal}.plugin-menu-page-panel-heading.pro-preview-additional-features{background:#216095}.pro-preview-additional-features::after{font-variant:small-caps !important;font-family:sans-serif !important;content:'additional pro version only features' !important;margin-left:15px;background:#216095;color:#FFFFFF;padding:0 5px 2px 5px;font-weight:normal}.plugin-menu-page-panel .plugin-menu-page-panel-heading>.si{text-align:center;width:1.28571429em;margin-right:.25em}.plugin-menu-page-panel .plugin-menu-page-panel-body{width:99%;margin:0 auto;display:none;padding:1.2em;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;color:#222;border:1px solid #848484;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.25),0 3px 1px -1px rgba(0,0,0,0.25) inset}.plugin-menu-page-panel .plugin-menu-page-panel-body.open{display:block}.plugin-menu-page-panel .plugin-menu-page-panel-body p{font-size:90%;color:#666}.plugin-menu-page-panel .plugin-menu-page-panel-body p.notice,.plugin-menu-page-panel .plugin-menu-page-panel-body p.info,.plugin-menu-page-panel .plugin-menu-page-panel-body p.warning,.plugin-menu-page-panel .plugin-menu-page-panel-body p.error{color:#000}.plugin-menu-page-panel .plugin-menu-page-panel-body h3{margin:0 0 0.5em}.plugin-menu-page-panel .plugin-menu-page-panel-body h3:first-child{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-body h3+p{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-body a.dotted{text-decoration:none;border-bottom:1px dotted}.plugin-menu-page-panel .plugin-menu-page-panel-body.pro-preview,.plugin-menu-page-panel .plugin-menu-page-panel-body .pro-preview{opacity:0.5}.plugin-menu-page-save{margin-top:2em}.plugin-menu-page-save button{line-height:1.3em;width:100%}
2
  /*# sourceMappingURL=menu-pages.min.css.map */
1
+ @font-face{font-family:sharkicons;src:url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.eot?v160221");src:url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.eot?#iefix&v160221") format("embedded-opentype"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.ttf?v160221") format("truetype"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.woff?v160221") format("woff"),url("../../vendor/websharks/sharkicons/src/fonts/sharkicons.svg?v160221#sharkicons") format("svg");font-weight:normal;font-style:normal}.si::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.si-broom::before{content:""}.si-comment-mail-one::before{content:""}.si-comment-mail::before{content:""}.si-s2member::before{content:""}.si-websharks::before{content:""}.si-wp-kb-articles::before{content:""}.si-zencache-logo::before{content:""}.si-zencache::before{content:""}.si-wp-sharks::before{content:""}.si-wp-sharks-fin::before{content:""}.si-comet-cache::before{content:""}.si-comet-cache-logo::before{content:""}.si-comet-cache-comet::before{content:""}.si-feat-watch::before{content:""}.si-feat-server::before{content:""}.si-feat-layers::before{content:""}.si-feat-box::before{content:""}.si-feat-ellipsis::before{content:""}.si-typi-group::before{content:""}.si-enty-bookmark::before{content:""}.si-enty-bookmarks::before{content:""}.si-enty-open-book::before{content:""}.si-enty-archive::before{content:""}.si-enty-area-graph::before{content:""}.si-enty-bucket::before{content:""}.si-enty-colors::before{content:""}.si-enty-copy::before{content:""}.si-enty-drive::before{content:""}.si-enty-feather::before{content:""}.si-enty-gauge::before{content:""}.si-enty-hand::before{content:""}.si-enty-lab-flask::before{content:""}.si-enty-mask::before{content:""}.si-enty-medal::before{content:""}.si-enty-exclamation::before{content:""}.si-enty-palette::before{content:""}.si-enty-ruler::before{content:""}.si-enty-shop::before{content:""}.si-enty-basket::before{content:""}.si-enty-cart::before{content:""}.si-enty-traffic-cone::before{content:""}.si-enty-tree::before{content:""}.si-enty-trophy::before{content:""}.si-enty-v-card::before{content:""}.si-enty-google-hangouts::before{content:""}.si-eleg-line-graph::before{content:""}.si-eleg-male::before{content:""}.si-eleg-female::before{content:""}.si-eleg-atom::before{content:""}.si-broc-cart::before{content:""}.si-broc-crap::before{content:""}.si-broc-atom::before{content:""}.si-icom-headphones::before{content:""}.si-icom-barcode::before{content:""}.si-icom-user::before{content:""}.si-icom-users::before{content:""}.si-icom-user-plus::before{content:""}.si-icom-user-minus::before{content:""}.si-icom-user-check::before{content:""}.si-icom-user-tie::before{content:""}.si-icom-key::before{content:""}.si-icom-key2::before{content:""}.si-icom-happy::before{content:""}.si-icom-happy2::before{content:""}.si-icom-smile::before{content:""}.si-icom-smile2::before{content:""}.si-icom-tongue::before{content:""}.si-icom-tongue2::before{content:""}.si-icom-sad::before{content:""}.si-icom-sad2::before{content:""}.si-icom-wink::before{content:""}.si-icom-wink2::before{content:""}.si-icom-grin::before{content:""}.si-icom-grin2::before{content:""}.si-icom-cool::before{content:""}.si-icom-cool2::before{content:""}.si-icom-angry::before{content:""}.si-icom-angry2::before{content:""}.si-icom-evil::before{content:""}.si-icom-evil2::before{content:""}.si-icom-shocked::before{content:""}.si-icom-shocked2::before{content:""}.si-icom-baffled::before{content:""}.si-icom-baffled2::before{content:""}.si-icom-confused::before{content:""}.si-icom-confused2::before{content:""}.si-icom-neutral::before{content:""}.si-icom-neutral2::before{content:""}.si-icom-hipster::before{content:""}.si-icom-hipster2::before{content:""}.si-icom-wondering::before{content:""}.si-icom-wondering2::before{content:""}.si-icom-sleepy::before{content:""}.si-icom-sleepy2::before{content:""}.si-icom-frustrated::before{content:""}.si-icom-frustrated2::before{content:""}.si-icom-crying::before{content:""}.si-icom-crying2::before{content:""}.si-icom-spell-check::before{content:""}.si-icom-command-key::before{content:""}.si-icom-shift-key::before{content:""}.si-icom-control-key::before{content:""}.si-icom-option-key::before{content:""}.si-icom-wordpress::before{content:""}.si-icom-wordpress-square::before{content:""}.si-icom-yahoo::before{content:""}.si-icom-linux::before{content:""}.si-icom-finder::before{content:""}.si-icom-android::before{content:""}.si-icom-reddit::before{content:""}.si-icom-paypal::before{content:""}.si-icom-git::before{content:""}.si-octi-alignment-align::before{content:""}.si-octi-alignment-aligned-to::before{content:""}.si-octi-alignment-unalign::before{content:""}.si-octi-bookmark::before{content:""}.si-octi-broadcast::before{content:""}.si-octi-browser::before{content:""}.si-octi-checklist::before{content:""}.si-octi-circuit-board::before{content:""}.si-octi-clippy::before{content:""}.si-octi-cloud-download::before{content:""}.si-octi-cloud-upload::before{content:""}.si-octi-comment::before{content:""}.si-octi-comments::before{content:""}.si-octi-tach::before{content:""}.si-octi-device-camera::before{content:""}.si-octi-device-camera-video::before{content:""}.si-octi-device-desktop::before{content:""}.si-octi-diff::before{content:""}.si-octi-file-binary::before{content:""}.si-octi-file-media::before{content:""}.si-octi-file-submodule::before{content:""}.si-octi-file-symlink-directory::before{content:""}.si-octi-file-symlink-file::before{content:""}.si-octi-fold::before{content:""}.si-octi-git-branch::before{content:""}.si-octi-git-commit::before{content:""}.si-octi-git-compare::before{content:""}.si-octi-git-merge::before{content:""}.si-octi-git-pull-request::before{content:""}.si-octi-graph::before{content:""}.si-octi-home::before{content:""}.si-octi-horizontal-rule::before{content:""}.si-octi-key::before{content:""}.si-octi-light-bulb::before{content:""}.si-octi-link-external::before{content:""}.si-octi-lock::before{content:""}.si-octi-markdown::before{content:""}.si-octi-microscope::before{content:""}.si-octi-mirror::before{content:""}.si-octi-move-down::before{content:""}.si-octi-move-left::before{content:""}.si-octi-move-right::before{content:""}.si-octi-move-up::before{content:""}.si-octi-mute::before{content:""}.si-octi-organization::before{content:""}.si-octi-package::before{content:""}.si-octi-paintcan::before{content:""}.si-octi-person::before{content:""}.si-octi-plug::before{content:""}.si-octi-podium::before{content:""}.si-octi-pulse::before{content:""}.si-octi-puzzle::before{content:""}.si-octi-repo::before{content:""}.si-octi-repo-clone::before{content:""}.si-octi-repo-force-push::before{content:""}.si-octi-repo-forked::before{content:""}.si-octi-repo-pull::before{content:""}.si-octi-repo-push::before{content:""}.si-octi-rocket::before{content:""}.si-octi-ruby::before{content:""}.si-octi-screen-full::before{content:""}.si-octi-screen-normal::before{content:""}.si-octi-sign-in::before{content:""}.si-octi-sign-out::before{content:""}.si-octi-split::before{content:""}.si-octi-squirrel::before{content:""}.si-octi-steps::before{content:""}.si-octi-tag::before{content:""}.si-octi-telescope::before{content:""}.si-octi-terminal::before{content:""}.si-octi-unfold::before{content:""}.si-octi-versions::before{content:""}.si-glass::before{content:""}.si-music::before{content:""}.si-search::before{content:""}.si-envelope-o::before{content:""}.si-heart::before{content:""}.si-star::before{content:""}.si-star-o::before{content:""}.si-user::before{content:""}.si-film::before{content:""}.si-th-large::before{content:""}.si-th::before{content:""}.si-th-list::before{content:""}.si-check::before{content:""}.si-close::before{content:""}.si-search-plus::before{content:""}.si-search-minus::before{content:""}.si-power-off::before{content:""}.si-signal::before{content:""}.si-cog::before{content:""}.si-trash-o::before{content:""}.si-home::before{content:""}.si-file-o::before{content:""}.si-clock-o::before{content:""}.si-road::before{content:""}.si-download::before{content:""}.si-arrow-circle-o-down::before{content:""}.si-arrow-circle-o-up::before{content:""}.si-inbox::before{content:""}.si-play-circle-o::before{content:""}.si-repeat::before{content:""}.si-refresh::before{content:""}.si-list-alt::before{content:""}.si-lock::before{content:""}.si-flag::before{content:""}.si-headphones::before{content:""}.si-volume-off::before{content:""}.si-volume-down::before{content:""}.si-volume-up::before{content:""}.si-qrcode::before{content:""}.si-barcode::before{content:""}.si-tag::before{content:""}.si-tags::before{content:""}.si-book::before{content:""}.si-bookmark::before{content:""}.si-print::before{content:""}.si-camera::before{content:""}.si-font::before{content:""}.si-bold::before{content:""}.si-italic::before{content:""}.si-text-height::before{content:""}.si-text-width::before{content:""}.si-align-left::before{content:""}.si-align-center::before{content:""}.si-align-right::before{content:""}.si-align-justify::before{content:""}.si-list::before{content:""}.si-dedent::before{content:""}.si-indent::before{content:""}.si-video-camera::before{content:""}.si-image::before{content:""}.si-pencil::before{content:""}.si-map-marker::before{content:""}.si-adjust::before{content:""}.si-tint::before{content:""}.si-edit::before{content:""}.si-share-square-o::before{content:""}.si-check-square-o::before{content:""}.si-arrows::before{content:""}.si-step-backward::before{content:""}.si-fast-backward::before{content:""}.si-backward::before{content:""}.si-play::before{content:""}.si-pause::before{content:""}.si-stop::before{content:""}.si-forward::before{content:""}.si-fast-forward::before{content:""}.si-step-forward::before{content:""}.si-eject::before{content:""}.si-chevron-left::before{content:""}.si-chevron-right::before{content:""}.si-plus-circle::before{content:""}.si-minus-circle::before{content:""}.si-times-circle::before{content:""}.si-check-circle::before{content:""}.si-question-circle::before{content:""}.si-info-circle::before{content:""}.si-crosshairs::before{content:""}.si-times-circle-o::before{content:""}.si-check-circle-o::before{content:""}.si-ban::before{content:""}.si-arrow-left::before{content:""}.si-arrow-right::before{content:""}.si-arrow-up::before{content:""}.si-arrow-down::before{content:""}.si-mail-forward::before{content:""}.si-expand::before{content:""}.si-compress::before{content:""}.si-plus::before{content:""}.si-minus::before{content:""}.si-asterisk::before{content:""}.si-exclamation-circle::before{content:""}.si-gift::before{content:""}.si-leaf::before{content:""}.si-fire::before{content:""}.si-eye::before{content:""}.si-eye-slash::before{content:""}.si-exclamation-triangle::before{content:""}.si-plane::before{content:""}.si-calendar::before{content:""}.si-random::before{content:""}.si-comment::before{content:""}.si-magnet::before{content:""}.si-chevron-up::before{content:""}.si-chevron-down::before{content:""}.si-retweet::before{content:""}.si-shopping-cart::before{content:""}.si-folder::before{content:""}.si-folder-open::before{content:""}.si-arrows-v::before{content:""}.si-arrows-h::before{content:""}.si-bar-chart::before{content:""}.si-twitter-square::before{content:""}.si-facebook-square::before{content:""}.si-camera-retro::before{content:""}.si-key::before{content:""}.si-cogs::before{content:""}.si-comments::before{content:""}.si-thumbs-o-up::before{content:""}.si-thumbs-o-down::before{content:""}.si-star-half::before{content:""}.si-heart-o::before{content:""}.si-sign-out::before{content:""}.si-linkedin-square::before{content:""}.si-thumb-tack::before{content:""}.si-external-link::before{content:""}.si-sign-in::before{content:""}.si-trophy::before{content:""}.si-github-square::before{content:""}.si-upload::before{content:""}.si-lemon-o::before{content:""}.si-phone::before{content:""}.si-square-o::before{content:""}.si-bookmark-o::before{content:""}.si-phone-square::before{content:""}.si-twitter::before{content:""}.si-facebook::before{content:""}.si-github::before{content:""}.si-unlock::before{content:""}.si-credit-card::before{content:""}.si-feed::before{content:""}.si-hdd-o::before{content:""}.si-bullhorn::before{content:""}.si-bell-o::before{content:""}.si-certificate::before{content:""}.si-hand-o-right::before{content:""}.si-hand-o-left::before{content:""}.si-hand-o-up::before{content:""}.si-hand-o-down::before{content:""}.si-arrow-circle-left::before{content:""}.si-arrow-circle-right::before{content:""}.si-arrow-circle-up::before{content:""}.si-arrow-circle-down::before{content:""}.si-globe::before{content:""}.si-wrench::before{content:""}.si-tasks::before{content:""}.si-filter::before{content:""}.si-briefcase::before{content:""}.si-arrows-alt::before{content:""}.si-group::before{content:""}.si-chain::before{content:""}.si-cloud::before{content:""}.si-flask::before{content:""}.si-cut::before{content:""}.si-copy::before{content:""}.si-paperclip::before{content:""}.si-floppy-o::before{content:""}.si-square::before{content:""}.si-bars::before{content:""}.si-list-ul::before{content:""}.si-list-ol::before{content:""}.si-strikethrough::before{content:""}.si-underline::before{content:""}.si-table::before{content:""}.si-magic::before{content:""}.si-truck::before{content:""}.si-pinterest::before{content:""}.si-pinterest-square::before{content:""}.si-google-plus-square::before{content:""}.si-google-plus::before{content:""}.si-money::before{content:""}.si-caret-down::before{content:""}.si-caret-up::before{content:""}.si-caret-left::before{content:""}.si-caret-right::before{content:""}.si-columns::before{content:""}.si-sort::before{content:""}.si-sort-desc::before{content:""}.si-sort-asc::before{content:""}.si-envelope::before{content:""}.si-linkedin::before{content:""}.si-rotate-left::before{content:""}.si-gavel::before{content:""}.si-dashboard::before{content:""}.si-comment-o::before{content:""}.si-comments-o::before{content:""}.si-bolt::before{content:""}.si-sitemap::before{content:""}.si-umbrella::before{content:""}.si-clipboard::before{content:""}.si-lightbulb-o::before{content:""}.si-exchange::before{content:""}.si-cloud-download::before{content:""}.si-cloud-upload::before{content:""}.si-user-md::before{content:""}.si-stethoscope::before{content:""}.si-suitcase::before{content:""}.si-bell::before{content:""}.si-coffee::before{content:""}.si-cutlery::before{content:""}.si-file-text-o::before{content:""}.si-building-o::before{content:""}.si-hospital-o::before{content:""}.si-ambulance::before{content:""}.si-medkit::before{content:""}.si-fighter-jet::before{content:""}.si-beer::before{content:""}.si-h-square::before{content:""}.si-plus-square::before{content:""}.si-angle-double-left::before{content:""}.si-angle-double-right::before{content:""}.si-angle-double-up::before{content:""}.si-angle-double-down::before{content:""}.si-angle-left::before{content:""}.si-angle-right::before{content:""}.si-angle-up::before{content:""}.si-angle-down::before{content:""}.si-desktop::before{content:""}.si-laptop::before{content:""}.si-tablet::before{content:""}.si-mobile::before{content:""}.si-circle-o::before{content:""}.si-quote-left::before{content:""}.si-quote-right::before{content:""}.si-spinner::before{content:""}.si-circle::before{content:""}.si-mail-reply::before{content:""}.si-github-alt::before{content:""}.si-folder-o::before{content:""}.si-folder-open-o::before{content:""}.si-smile-o::before{content:""}.si-frown-o::before{content:""}.si-meh-o::before{content:""}.si-gamepad::before{content:""}.si-keyboard-o::before{content:""}.si-flag-o::before{content:""}.si-flag-checkered::before{content:""}.si-terminal::before{content:""}.si-code::before{content:""}.si-mail-reply-all::before{content:""}.si-star-half-empty::before{content:""}.si-location-arrow::before{content:""}.si-crop::before{content:""}.si-code-fork::before{content:""}.si-chain-broken::before{content:""}.si-question::before{content:""}.si-info::before{content:""}.si-exclamation::before{content:""}.si-superscript::before{content:""}.si-subscript::before{content:""}.si-eraser::before{content:""}.si-puzzle-piece::before{content:""}.si-microphone::before{content:""}.si-microphone-slash::before{content:""}.si-shield::before{content:""}.si-calendar-o::before{content:""}.si-fire-extinguisher::before{content:""}.si-rocket::before{content:""}.si-maxcdn::before{content:""}.si-chevron-circle-left::before{content:""}.si-chevron-circle-right::before{content:""}.si-chevron-circle-up::before{content:""}.si-chevron-circle-down::before{content:""}.si-html5::before{content:""}.si-css3::before{content:""}.si-anchor::before{content:""}.si-unlock-alt::before{content:""}.si-bullseye::before{content:""}.si-ellipsis-h::before{content:""}.si-ellipsis-v::before{content:""}.si-rss-square::before{content:""}.si-play-circle::before{content:""}.si-ticket::before{content:""}.si-minus-square::before{content:""}.si-minus-square-o::before{content:""}.si-level-up::before{content:""}.si-level-down::before{content:""}.si-check-square::before{content:""}.si-pencil-square::before{content:""}.si-external-link-square::before{content:""}.si-share-square::before{content:""}.si-compass::before{content:""}.si-caret-square-o-down::before{content:""}.si-caret-square-o-up::before{content:""}.si-caret-square-o-right::before{content:""}.si-eur::before{content:""}.si-gbp::before{content:""}.si-dollar::before{content:""}.si-inr::before{content:""}.si-cny::before{content:""}.si-rouble::before{content:""}.si-krw::before{content:""}.si-bitcoin::before{content:""}.si-file::before{content:""}.si-file-text::before{content:""}.si-sort-alpha-asc::before{content:""}.si-sort-alpha-desc::before{content:""}.si-sort-amount-asc::before{content:""}.si-sort-amount-desc::before{content:""}.si-sort-numeric-asc::before{content:""}.si-sort-numeric-desc::before{content:""}.si-thumbs-up::before{content:""}.si-thumbs-down::before{content:""}.si-youtube-square::before{content:""}.si-youtube::before{content:""}.si-xing::before{content:""}.si-xing-square::before{content:""}.si-youtube-play::before{content:""}.si-dropbox::before{content:""}.si-stack-overflow::before{content:""}.si-instagram::before{content:""}.si-flickr::before{content:""}.si-adn::before{content:""}.si-bitbucket::before{content:""}.si-bitbucket-square::before{content:""}.si-tumblr::before{content:""}.si-tumblr-square::before{content:""}.si-long-arrow-down::before{content:""}.si-long-arrow-up::before{content:""}.si-long-arrow-left::before{content:""}.si-long-arrow-right::before{content:""}.si-apple::before{content:""}.si-windows::before{content:""}.si-android::before{content:""}.si-linux::before{content:""}.si-dribbble::before{content:""}.si-skype::before{content:""}.si-foursquare::before{content:""}.si-trello::before{content:""}.si-female::before{content:""}.si-male::before{content:""}.si-gittip::before{content:""}.si-sun-o::before{content:""}.si-moon-o::before{content:""}.si-archive::before{content:""}.si-bug::before{content:""}.si-vk::before{content:""}.si-weibo::before{content:""}.si-renren::before{content:""}.si-pagelines::before{content:""}.si-stack-exchange::before{content:""}.si-arrow-circle-o-right::before{content:""}.si-arrow-circle-o-left::before{content:""}.si-caret-square-o-left::before{content:""}.si-dot-circle-o::before{content:""}.si-wheelchair::before{content:""}.si-vimeo-square::before{content:""}.si-try::before{content:""}.si-plus-square-o::before{content:""}.si-space-shuttle::before{content:""}.si-slack::before{content:""}.si-envelope-square::before{content:""}.si-wordpress::before{content:""}.si-openid::before{content:""}.si-bank::before{content:""}.si-graduation-cap::before{content:""}.si-yahoo::before{content:""}.si-google::before{content:""}.si-reddit::before{content:""}.si-reddit-square::before{content:""}.si-stumbleupon-circle::before{content:""}.si-stumbleupon::before{content:""}.si-delicious::before{content:""}.si-digg::before{content:""}.si-pied-piper::before{content:""}.si-pied-piper-alt::before{content:""}.si-drupal::before{content:""}.si-joomla::before{content:""}.si-language::before{content:""}.si-fax::before{content:""}.si-building::before{content:""}.si-child::before{content:""}.si-paw::before{content:""}.si-spoon::before{content:""}.si-cube::before{content:""}.si-cubes::before{content:""}.si-behance::before{content:""}.si-behance-square::before{content:""}.si-steam::before{content:""}.si-steam-square::before{content:""}.si-recycle::before{content:""}.si-automobile::before{content:""}.si-cab::before{content:""}.si-tree::before{content:""}.si-spotify::before{content:""}.si-deviantart::before{content:""}.si-soundcloud::before{content:""}.si-database::before{content:""}.si-file-pdf-o::before{content:""}.si-file-word-o::before{content:""}.si-file-excel-o::before{content:""}.si-file-powerpoint-o::before{content:""}.si-file-image-o::before{content:""}.si-file-archive-o::before{content:""}.si-file-audio-o::before{content:""}.si-file-movie-o::before{content:""}.si-file-code-o::before{content:""}.si-vine::before{content:""}.si-codepen::before{content:""}.si-jsfiddle::before{content:""}.si-life-bouy::before{content:""}.si-circle-o-notch::before{content:""}.si-ra::before{content:""}.si-empire::before{content:""}.si-git-square::before{content:""}.si-git::before{content:""}.si-hacker-news::before{content:""}.si-tencent-weibo::before{content:""}.si-qq::before{content:""}.si-wechat::before{content:""}.si-paper-plane::before{content:""}.si-paper-plane-o::before{content:""}.si-history::before{content:""}.si-circle-thin::before{content:""}.si-header::before{content:""}.si-paragraph::before{content:""}.si-sliders::before{content:""}.si-share-alt::before{content:""}.si-share-alt-square::before{content:""}.si-bomb::before{content:""}.si-futbol-o::before{content:""}.si-tty::before{content:""}.si-binoculars::before{content:""}.si-plug::before{content:""}.si-slideshare::before{content:""}.si-twitch::before{content:""}.si-yelp::before{content:""}.si-newspaper-o::before{content:""}.si-wifi::before{content:""}.si-calculator::before{content:""}.si-paypal::before{content:""}.si-google-wallet::before{content:""}.si-cc-visa::before{content:""}.si-cc-mastercard::before{content:""}.si-cc-discover::before{content:""}.si-cc-amex::before{content:""}.si-cc-paypal::before{content:""}.si-cc-stripe::before{content:""}.si-bell-slash::before{content:""}.si-bell-slash-o::before{content:""}.si-trash::before{content:""}.si-copyright::before{content:""}.si-at::before{content:""}.si-eyedropper::before{content:""}.si-paint-brush::before{content:""}.si-birthday-cake::before{content:""}.si-area-chart::before{content:""}.si-pie-chart::before{content:""}.si-line-chart::before{content:""}.si-lastfm::before{content:""}.si-lastfm-square::before{content:""}.si-toggle-off::before{content:""}.si-toggle-on::before{content:""}.si-bicycle::before{content:""}.si-bus::before{content:""}.si-ioxhost::before{content:""}.si-angellist::before{content:""}.si-cc::before{content:""}.si-ils::before{content:""}.si-meanpath::before{content:""}.si-buysellads::before{content:""}.si-connectdevelop::before{content:""}.si-dashcube::before{content:""}.si-forumbee::before{content:""}.si-leanpub::before{content:""}.si-sellsy::before{content:""}.si-shirtsinbulk::before{content:""}.si-simplybuilt::before{content:""}.si-skyatlas::before{content:""}.si-cart-plus::before{content:""}.si-cart-arrow-down::before{content:""}.si-diamond::before{content:""}.si-ship::before{content:""}.si-user-secret::before{content:""}.si-motorcycle::before{content:""}.si-street-view::before{content:""}.si-heartbeat::before{content:""}.si-venus::before{content:""}.si-mars::before{content:""}.si-mercury::before{content:""}.si-intersex::before{content:""}.si-transgender-alt::before{content:""}.si-venus-double::before{content:""}.si-mars-double::before{content:""}.si-venus-mars::before{content:""}.si-mars-stroke::before{content:""}.si-mars-stroke-v::before{content:""}.si-mars-stroke-h::before{content:""}.si-neuter::before{content:""}.si-genderless::before{content:""}.si-facebook-official::before{content:""}.si-pinterest-p::before{content:""}.si-whatsapp::before{content:""}.si-server::before{content:""}.si-user-plus::before{content:""}.si-user-times::before{content:""}.si-bed::before{content:""}.si-viacoin::before{content:""}.si-train::before{content:""}.si-subway::before{content:""}.si-medium::before{content:""}.si-y-combinator::before{content:""}.si-optin-monster::before{content:""}.si-opencart::before{content:""}.si-expeditedssl::before{content:""}.si-battery-4::before{content:""}.si-battery-3::before{content:""}.si-battery-2::before{content:""}.si-battery-1::before{content:""}.si-battery-0::before{content:""}.si-mouse-pointer::before{content:""}.si-i-cursor::before{content:""}.si-object-group::before{content:""}.si-object-ungroup::before{content:""}.si-sticky-note::before{content:""}.si-sticky-note-o::before{content:""}.si-cc-jcb::before{content:""}.si-cc-diners-club::before{content:""}.si-clone::before{content:""}.si-balance-scale::before{content:""}.si-hourglass-o::before{content:""}.si-hourglass-1::before{content:""}.si-hourglass-2::before{content:""}.si-hourglass-3::before{content:""}.si-hourglass::before{content:""}.si-hand-grab-o::before{content:""}.si-hand-paper-o::before{content:""}.si-hand-scissors-o::before{content:""}.si-hand-lizard-o::before{content:""}.si-hand-spock-o::before{content:""}.si-hand-pointer-o::before{content:""}.si-hand-peace-o::before{content:""}.si-trademark::before{content:""}.si-registered::before{content:""}.si-creative-commons::before{content:""}.si-gg::before{content:""}.si-gg-circle::before{content:""}.si-tripadvisor::before{content:""}.si-odnoklassniki::before{content:""}.si-odnoklassniki-square::before{content:""}.si-get-pocket::before{content:""}.si-wikipedia-w::before{content:""}.si-safari::before{content:""}.si-chrome::before{content:""}.si-firefox::before{content:""}.si-opera::before{content:""}.si-internet-explorer::before{content:""}.si-television::before{content:""}.si-contao::before{content:""}.si-500px::before{content:""}.si-amazon::before{content:""}.si-calendar-plus-o::before{content:""}.si-calendar-minus-o::before{content:""}.si-calendar-times-o::before{content:""}.si-calendar-check-o::before{content:""}.si-industry::before{content:""}.si-map-pin::before{content:""}.si-map-signs::before{content:""}.si-map-o::before{content:""}.si-map::before{content:""}.si-commenting::before{content:""}.si-commenting-o::before{content:""}.si-houzz::before{content:""}.si-vimeo::before{content:""}.si-black-tie::before{content:""}.si-fonticons::before{content:""}.si-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.si-2x{font-size:2em}.si-3x{font-size:3em}.si-4x{font-size:4em}.si-5x{font-size:5em}.si-fw{text-align:center;width:1.28571429em}.si-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.si-pull-left{float:left;margin-right:.3em}.si-pull-right{float:right;margin-left:.3em}.si-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.si-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.si-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.si-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.si-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.si-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.si-spin{-webkit-animation:si-animation-spin 2s infinite linear;-moz-animation:si-animation-spin 2s infinite linear;animation:si-animation-spin 2s infinite linear}.si-pulse{-webkit-animation:si-animation-spin 1s infinite steps(8);-moz-animation:si-animation-spin 1s infinite steps(8);animation:si-animation-spin 1s infinite steps(8)}.si-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.si-ul>li{position:relative}.si-ul>li .si-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.si-ul>li .si-li .si-lg{left:-1.85714286em}.si-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.si-stack .si-stack-1x,.si-stack .si-stack-2x{left:0;width:100%;text-align:center;position:absolute}.si-stack .si-stack-1x{line-height:inherit}.si-stack .si-stack-2x{font-size:2em}@-webkit-keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes si-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}.plugin-menu-page-animation-spin{-webkit-animation-duration:0.75s;-moz-animation-duration:0.75s;animation-duration:0.75s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;-moz-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:plugin-menu-page-animation-spin;-moz-animation-name:plugin-menu-page-animation-spin;animation-name:plugin-menu-page-animation-spin}@-webkit-keyframes plugin-menu-page-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes plugin-menu-page-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(360deg)}}@keyframes plugin-menu-page-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}html{overflow-y:scroll}#wpwrap{position:relative}#wpwrap::after{top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute;content:'';opacity:0.25;background:url("../images/bg.png")}#wpwrap .updated,#wpwrap .error{margin:1.25em 1.25em 1.25em 0.25em}.plugin-menu-page{min-width:800px;margin:1.25em 1.25em 1.25em 0.25em}.plugin-menu-page,.plugin-menu-page p{font-size:14px}.plugin-menu-page a{color:#033A63}.plugin-menu-page a:hover,.plugin-menu-page a:active{color:#467629}.plugin-menu-page p:first-child,.plugin-menu-page pre:first-child{margin-top:0}.plugin-menu-page p:last-child,.plugin-menu-page pre:last-child{margin-bottom:0}.plugin-menu-page code{border-radius:3px;padding:0.1em 0.25em;background:rgba(178,178,178,0.25);font-family:'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace}.plugin-menu-page pre.code{padding:0;background:none}.plugin-menu-page pre.code>code{font-size:90%;overflow-x:auto;max-width:100%;border-radius:4px;padding:1em;display:block;color:#eee;background:#222;box-shadow:0 0 5px 1px #000 inset}.plugin-menu-page img{border:0}.plugin-menu-page img.screenshot{float:right;border-radius:4px;padding:0.5em;margin:0 0 2em 2em;background:#fff;border:1px solid #afafaf;box-shadow:0 0 5px 0 rgba(0,0,0,0.2) inset}.plugin-menu-page hr{border:0;padding:0;height:1px;margin:1em 0;background:linear-gradient(to left, transparent, rgba(0,0,0,0.75), transparent)}.plugin-menu-page label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plugin-menu-page label.switch-primary{font-size:130%;margin:0;padding:0.5em;border-radius:4px;display:inline;color:#000;background:#f1e982;border:1px solid rgba(0,0,0,0.07);box-shadow:-1px -1px 0 0 rgba(0,0,0,0.25) inset,1px 1px 0 0 #fff inset}.plugin-menu-page select,.plugin-menu-page textarea,.plugin-menu-page select:focus,.plugin-menu-page textarea:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']),.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{width:100%;line-height:1.3em;margin:0;padding:0.25em 0.5em;border-radius:4px;box-sizing:border-box;color:#333;background:#e8e8e8;border:1px solid #848484;box-shadow:0 0 2px 0 rgba(132,132,132,0.5) inset}.plugin-menu-page select,.plugin-menu-page select:focus{box-shadow:0 1px 0 0 #fff inset,0 -2px 3px 0 rgba(132,132,132,0.25) inset}.plugin-menu-page select,.plugin-menu-page select:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']),.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{height:2em}.plugin-menu-page select:focus,.plugin-menu-page textarea:focus,.plugin-menu-page input:not([type='radio']):not([type='checkbox']):focus{color:#000;background:#e2e2e2}.plugin-menu-page input[disabled],.plugin-menu-page select[disabled],.plugin-menu-page textarea[disabled]{opacity:0.5}.plugin-menu-page input::-webkit-input-placeholder,.plugin-menu-page textarea::-webkit-input-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input::-moz-placeholder,.plugin-menu-page textarea::-moz-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input:-moz-placeholder,.plugin-menu-page textarea:-moz-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page input:-ms-input-placeholder,.plugin-menu-page textarea:-ms-input-placeholder{font-style:italic;color:rgba(0,0,0,0.2)}.plugin-menu-page table{margin:1em 0}.plugin-menu-page button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:150%;font-weight:bold;line-height:1em;outline:none;cursor:pointer;border-radius:4px;margin:0;padding:0.25em 0.5em;box-sizing:border-box;color:#fff;background:#033A63;border:1px solid rgba(0,0,0,0.5);box-shadow:0 1px 1px 0 rgba(0,0,0,0.25),-1px -1px 0 0 rgba(0,0,0,0.2) inset,1px 1px 0 0 rgba(255,255,255,0.1) inset}.plugin-menu-page button:hover{background:#467629}.plugin-menu-page button[type='submit']{background:#467629}.plugin-menu-page button[type='submit']:hover{background:#033A63}.plugin-menu-page button:active{-webkit-transform:scale(0.98, 0.98);-moz-transform:scale(0.98, 0.98);-ms-transform:scale(0.98, 0.98);-o-transform:scale(0.98, 0.98);transform:scale(0.98, 0.98)}.plugin-menu-page .info,.plugin-menu-page .notice,.plugin-menu-page .warning,.plugin-menu-page .error{border-radius:4px;padding:0.5em;margin:1em 0}.plugin-menu-page .info{background:#cadfed;border:1px solid #216095}.plugin-menu-page .notice{background:#fffde8;border:1px solid #e6db55}.plugin-menu-page .warning{background:#ffefd3;border:1px solid #e6db55}.plugin-menu-page .error{background:pink;border:1px solid #711e1e}.plugin-menu-page .monospace{font-family:'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace}.plugin-menu-page textarea.monospace{white-space:pre}.plugin-menu-page .clearfix::before,.plugin-menu-page .clearfix::after{display:table;content:' '}.plugin-menu-page .clearfix::after{clear:both}.plugin-menu-page-heading .plugin-menu-page-restore-defaults,.plugin-menu-page-heading .plugin-menu-page-panel-togglers{float:right;margin:0 1em 0 0}.plugin-menu-page-heading .plugin-menu-page-panel-togglers button{background:#033A63 !important}.plugin-menu-page-heading .plugin-menu-page-upsells{float:right;clear:right;text-align:right;max-width:350px;margin:1em 0 0}.plugin-menu-page-heading .plugin-menu-page-upsells a{text-decoration:none;line-height:1.5em;margin:0 0.5em;display:inline-block}.plugin-menu-page-heading .plugin-menu-page-support-links,.plugin-menu-page-heading .plugin-menu-page-mailing-list-links{float:right;clear:right;text-align:right;max-width:400px;margin:.5em 0 0}.plugin-menu-page-heading .plugin-menu-page-support-links a,.plugin-menu-page-heading .plugin-menu-page-mailing-list-links a{text-decoration:none;margin:0 0.5em;display:inline-block}.plugin-menu-page-heading .plugin-menu-page-version{float:right;clear:right;min-width:350px;margin:0.5em 0 0 0;text-align:right}.plugin-menu-page-body{position:relative}.plugin-menu-page-section-heading{margin:1em 0}.plugin-menu-page-section-heading>small{font-size:65%;font-style:italic;margin:0;display:block;opacity:0.5}.plugin-menu-page-panel{margin:1em 0}.plugin-menu-page-panel:first-child{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-heading{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;padding:10px;font-size:150%;line-height:1.125em;font-weight:bold;border-radius:4px;display:block;cursor:pointer;background:#033A63;background:linear-gradient(to right, #033A63, #20669A);color:#eee !important;box-shadow:0 2px 2px 0 rgba(0,0,0,0.25)}.plugin-menu-page-panel .plugin-menu-page-panel-heading::after{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none;content:""}.plugin-menu-page-panel .plugin-menu-page-panel-heading:hover,.plugin-menu-page-panel .plugin-menu-page-panel-heading.open{color:#fff !important}.plugin-menu-page-panel .plugin-menu-page-panel-heading::after{font-size:80%;float:right;margin:0 0 0 5px}.plugin-menu-page-panel .plugin-menu-page-panel-heading.open::after{content:""}.plugin-menu-page-panel-heading.pro-preview-feature{background:#216095}.pro-preview-feature::after{font-variant:small-caps !important;font-family:sans-serif !important;content:'pro version only' !important;margin-left:15px;background:#216095;color:#FFFFFF;padding:0 5px 2px 5px;font-weight:normal}.plugin-menu-page-panel-heading.pro-preview-additional-features{background:#216095}.pro-preview-additional-features::after{font-variant:small-caps !important;font-family:sans-serif !important;content:'additional pro version only features' !important;margin-left:15px;background:#216095;color:#FFFFFF;padding:0 5px 2px 5px;font-weight:normal}.plugin-menu-page-panel .plugin-menu-page-panel-heading>.si{text-align:center;width:1.28571429em;margin-right:.25em}.plugin-menu-page-panel .plugin-menu-page-panel-body{width:99%;margin:0 auto;display:none;padding:1.2em;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;color:#222;border:1px solid #848484;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.25),0 3px 1px -1px rgba(0,0,0,0.25) inset}.plugin-menu-page-panel .plugin-menu-page-panel-body.open{display:block}.plugin-menu-page-panel .plugin-menu-page-panel-body p{font-size:90%;color:#666}.plugin-menu-page-panel .plugin-menu-page-panel-body p.notice,.plugin-menu-page-panel .plugin-menu-page-panel-body p.info,.plugin-menu-page-panel .plugin-menu-page-panel-body p.warning,.plugin-menu-page-panel .plugin-menu-page-panel-body p.error{color:#000}.plugin-menu-page-panel .plugin-menu-page-panel-body h3{margin:0 0 0.5em}.plugin-menu-page-panel .plugin-menu-page-panel-body h3:first-child{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-body h3+p{margin-top:0}.plugin-menu-page-panel .plugin-menu-page-panel-body a.dotted{text-decoration:none;border-bottom:1px dotted}.plugin-menu-page-panel .plugin-menu-page-panel-body.pro-preview,.plugin-menu-page-panel .plugin-menu-page-panel-body .pro-preview{opacity:0.5}.plugin-menu-page-save{margin-top:2em}.plugin-menu-page-save button{line-height:1.3em;width:100%}
2
  /*# sourceMappingURL=menu-pages.min.css.map */
src/client-s/images/options-lite.png CHANGED
Binary file
src/includes/api.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
- namespace WebSharks\Comet_Cache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
+ namespace WebSharks\CometCache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
src/includes/classes/AbsBase.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Abstract Base.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Abstract Base.
src/includes/classes/AbsBaseAp.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Abstract Base for Advanced Cache and Plugin.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Abstract Base for Advanced Cache and Plugin.
src/includes/classes/Actions.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Actions.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Actions.
src/includes/classes/AdvCacheBackCompat.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * AC back compat.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * AC back compat.
src/includes/classes/AdvancedCache.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Advanced cache.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Advanced cache.
src/includes/classes/ApiBase.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * API Base Class.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * API Base Class.
src/includes/classes/Conflicts.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Conflicts.
@@ -45,12 +45,10 @@ class Conflicts
45
  continue; // Nothing to check in this case.
46
  }
47
  if (in_array($_active_plugin_slug, $conflicting_plugin_slugs, true)) {
48
- if (in_array($_active_plugin_slug, array('zencache', 'zencache-pro', 'quick-cache', 'quick-cache-pro'), true)) {
49
  add_action('admin_init', function () use ($_active_plugin_basename) {
50
- if (function_exists('deactivate_plugins')) { // Can deactivate?
51
- deactivate_plugins($_active_plugin_basename, true);
52
- }
53
- }, -1000);
54
  } else {
55
  return ($GLOBALS[GLOBAL_NS.'_conflicting_plugin'] = $_active_plugin_slug);
56
  }
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Conflicts.
45
  continue; // Nothing to check in this case.
46
  }
47
  if (in_array($_active_plugin_slug, $conflicting_plugin_slugs, true)) {
48
+ if (empty($GLOBALS[GLOBAL_NS.'_uninstalling']) && is_admin() && in_array($_active_plugin_slug, array('comet-cache', 'comet-cache-pro', 'zencache', 'zencache-pro', 'quick-cache', 'quick-cache-pro'), true)) {
49
  add_action('admin_init', function () use ($_active_plugin_basename) {
50
+ deactivate_plugins($_active_plugin_basename, true);
51
+ }, -1000);
 
 
52
  } else {
53
  return ($GLOBALS[GLOBAL_NS.'_conflicting_plugin'] = $_active_plugin_slug);
54
  }
src/includes/classes/FeedUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Feed Utils.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Feed Utils.
src/includes/classes/MenuPage.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Menu Page.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Menu Page.
src/includes/classes/MenuPageOptions.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Options Page.
@@ -48,15 +48,33 @@ class MenuPageOptions extends MenuPage
48
  echo ' <div class="plugin-menu-page-upsells">'."\n";
49
  if (IS_PRO && current_user_can($this->plugin->update_cap)) {
50
  echo '<a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS.'-pro-updater')), self_admin_url('/admin.php'))).'"><i class="si si-magic"></i> '.__('Pro Updater', 'comet-cache').'</a>'."\n";
 
 
51
  }
52
  if (!IS_PRO) {
53
  echo ' <a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS, GLOBAL_NS.'_pro_preview' => '1')), self_admin_url('/admin.php'))).'"><i class="si si-eye"></i> '.__('Preview Pro Features', 'comet-cache').'</a>'."\n";
54
  echo ' <a href="'.esc_attr('http://cometcache.com/prices/').'" target="_blank"><i class="si si-heart-o"></i> '.__('Pro Upgrade', 'comet-cache').'</a>'."\n";
55
  }
56
- echo ' <a href="'.esc_attr('http://cometcache.com/r/comet-cache-subscribe/').'" target="_blank"><i class="si si-envelope"></i> '.__('Newsletter', 'comet-cache').'</a>'."\n";
57
- echo ' <a href="'.esc_attr('http://cometcache.com/r/comet-cache-beta-testers-list/').'" target="_blank"><i class="si si-envelope"></i> '.__('Beta Testers', 'comet-cache').'</a>'."\n";
58
  echo ' </div>'."\n";
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  if (IS_PRO) {
61
  echo '<div class="plugin-menu-page-version">'."\n";
62
  echo ' '.sprintf(__('%1$s&trade; Pro v%2$s', 'comet-cache'), esc_html(NAME), esc_html(VERSION))."\n";
@@ -80,6 +98,8 @@ class MenuPageOptions extends MenuPage
80
  }
81
  echo ' <img src="'.$this->plugin->url('/src/client-s/images/options-'.(IS_PRO ? 'pro' : 'lite').'.png').'" alt="'.esc_attr(__('Plugin Options', 'comet-cache')).'" />'."\n";
82
 
 
 
83
  echo '</div>'."\n";
84
 
85
  /* ----------------------------------------------------------------------------------------- */
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Options Page.
48
  echo ' <div class="plugin-menu-page-upsells">'."\n";
49
  if (IS_PRO && current_user_can($this->plugin->update_cap)) {
50
  echo '<a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS.'-pro-updater')), self_admin_url('/admin.php'))).'"><i class="si si-magic"></i> '.__('Pro Updater', 'comet-cache').'</a>'."\n";
51
+ echo '<a href="'.esc_attr('http://cometcache.com/r/comet-cache-subscribe/').'" target="_blank"><i class="si si-envelope"></i> '.__('Newsletter', 'comet-cache').'</a>'."\n";
52
+ echo '<a href="'.esc_attr('http://cometcache.com/r/comet-cache-beta-testers-list/').'" target="_blank"><i class="si si-envelope"></i> '.__('Beta Testers', 'comet-cache').'</a>'."\n";
53
  }
54
  if (!IS_PRO) {
55
  echo ' <a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS, GLOBAL_NS.'_pro_preview' => '1')), self_admin_url('/admin.php'))).'"><i class="si si-eye"></i> '.__('Preview Pro Features', 'comet-cache').'</a>'."\n";
56
  echo ' <a href="'.esc_attr('http://cometcache.com/prices/').'" target="_blank"><i class="si si-heart-o"></i> '.__('Pro Upgrade', 'comet-cache').'</a>'."\n";
57
  }
 
 
58
  echo ' </div>'."\n";
59
 
60
+ echo ' <div class="plugin-menu-page-support-links">'."\n";
61
+ if (IS_PRO) {
62
+ echo ' <a href="'.esc_attr('http://cometcache.com/support/').'" target="_blank"><i class="si si-life-bouy"></i> '.__('Support', 'comet-cache').'</a>'."\n";
63
+ }
64
+ if (!IS_PRO) {
65
+ echo ' <a href="'.esc_attr('https://cometcache.com/r/community-forum/').'" target="_blank"><i class="si si-comment"></i> '.__('Community Forum', 'comet-cache').'</a>'."\n";
66
+ }
67
+ echo ' <a href="'.esc_attr('http://cometcache.com/kb/').'" target="_blank"><i class="si si-book"></i> '.__('Knowledge Base', 'comet-cache').'</a>'."\n";
68
+ echo ' <a href="'.esc_attr('http://cometcache.com/blog/').'" target="_blank"><i class="si si-rss-square"></i> '.__('Blog', 'comet-cache').'</a>'."\n";
69
+ echo ' </div>'."\n";
70
+
71
+ if (!IS_PRO) { // We show these above in the Pro version
72
+ echo ' <div class="plugin-menu-page-mailing-list-links">'."\n";
73
+ echo ' <a href="'.esc_attr('http://cometcache.com/r/comet-cache-subscribe/').'" target="_blank"><i class="si si-envelope"></i> '.__('Newsletter', 'comet-cache').'</a>'."\n";
74
+ echo ' <a href="'.esc_attr('http://cometcache.com/r/comet-cache-beta-testers-list/').'" target="_blank"><i class="si si-envelope"></i> '.__('Beta Testers', 'comet-cache').'</a>'."\n";
75
+ echo ' </div>'."\n";
76
+ }
77
+
78
  if (IS_PRO) {
79
  echo '<div class="plugin-menu-page-version">'."\n";
80
  echo ' '.sprintf(__('%1$s&trade; Pro v%2$s', 'comet-cache'), esc_html(NAME), esc_html(VERSION))."\n";
98
  }
99
  echo ' <img src="'.$this->plugin->url('/src/client-s/images/options-'.(IS_PRO ? 'pro' : 'lite').'.png').'" alt="'.esc_attr(__('Plugin Options', 'comet-cache')).'" />'."\n";
100
 
101
+ echo '<div style="clear:both;"></div>'."\n";
102
+
103
  echo '</div>'."\n";
104
 
105
  /* ----------------------------------------------------------------------------------------- */
src/includes/classes/Plugin.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Comet Cache Plugin.
@@ -219,8 +219,9 @@ class Plugin extends AbsBaseAp
219
  $this->default_options = array(
220
  /* Core/systematic plugin options. */
221
 
222
- 'version' => VERSION,
223
- 'welcomed' => '0', // `0|1` welcomed yet?
 
224
 
225
  'crons_setup' => '0', // A timestamp when last set up.
226
  'crons_setup_on_namespace' => '', // The namespace on which they were set up.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Comet Cache Plugin.
219
  $this->default_options = array(
220
  /* Core/systematic plugin options. */
221
 
222
+ 'version' => VERSION,
223
+ 'welcomed' => '0', // `0|1` welcomed yet?
224
+ 'comet_cache_notice1_enqueued' => '0', // `0|1` announced Comet Cache yet?
225
 
226
  'crons_setup' => '0', // A timestamp when last set up.
227
  'crons_setup_on_namespace' => '', // The namespace on which they were set up.
src/includes/classes/VsUpgrades.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Version-Specific Upgrades.
@@ -158,7 +158,7 @@ class VsUpgrades extends AbsBase
158
  *
159
  * If so, we need to uninstall and deactivate ZenCache.
160
  *
161
- * @since 16xxxx Rebranding.
162
  */
163
  protected function fromZenCache()
164
  {
@@ -183,6 +183,14 @@ class VsUpgrades extends AbsBase
183
  }
184
  $this->plugin->deleteBaseDir(); // Let's be extra sure that the old base directory is gone.
185
 
 
 
 
 
 
 
 
 
186
  $this->plugin->options['base_dir'] = $this->plugin->default_options['base_dir'];
187
  $this->plugin->options['crons_setup'] = $this->plugin->default_options['crons_setup'];
188
 
@@ -192,7 +200,7 @@ class VsUpgrades extends AbsBase
192
  $this->plugin->enqueueMainNotice(
193
  '<p>'.sprintf(__('<strong>Woohoo! %1$s activated.</strong> :-)', 'comet-cache'), esc_html(NAME)).'</p>'.
194
  '<p>'.sprintf(__('NOTE: Your ZenCache options were preserved by %1$s (for more details, visit the <a href="%2$s" target="_blank">Migration FAQ</a>).'.'', 'comet-cache'), esc_html(NAME), esc_attr(IS_PRO ? 'http://cometcache.com/r/zencache-pro-migration-faq/' : 'https://cometcache.com/r/zencache-migration-faq/')).'</p>'.
195
- '<p>'.sprintf(__('To review your configuration, please see: <a href="%2$s">%1$s Plugin Options</a>.'.'', 'comet-cache'), esc_html(NAME), esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), self_admin_url('/admin.php')))).'</p>'
196
  );
197
  }
198
  }
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Version-Specific Upgrades.
158
  *
159
  * If so, we need to uninstall and deactivate ZenCache.
160
  *
161
+ * @since 160223 Rebranding.
162
  */
163
  protected function fromZenCache()
164
  {
183
  }
184
  $this->plugin->deleteBaseDir(); // Let's be extra sure that the old base directory is gone.
185
 
186
+ global $is_apache; // Remove htaccess rules added by ZenCache so that they can be re-added by Comet Cache
187
+ if ($is_apache && $this->plugin->findHtaccessMarker('WmVuQ2FjaGU') && ($htaccess = $this->plugin->readHtaccessFile())) {
188
+ $regex = '/#\s*BEGIN\s+ZenCache\s+WmVuQ2FjaGU.*?#\s*END\s+ZenCache\s+WmVuQ2FjaGU\s*/is';
189
+ $htaccess['file_contents'] = preg_replace($regex, '', $htaccess['file_contents']);
190
+
191
+ $this->plugin->writeHtaccessFile($htaccess, false);
192
+ }
193
+
194
  $this->plugin->options['base_dir'] = $this->plugin->default_options['base_dir'];
195
  $this->plugin->options['crons_setup'] = $this->plugin->default_options['crons_setup'];
196
 
200
  $this->plugin->enqueueMainNotice(
201
  '<p>'.sprintf(__('<strong>Woohoo! %1$s activated.</strong> :-)', 'comet-cache'), esc_html(NAME)).'</p>'.
202
  '<p>'.sprintf(__('NOTE: Your ZenCache options were preserved by %1$s (for more details, visit the <a href="%2$s" target="_blank">Migration FAQ</a>).'.'', 'comet-cache'), esc_html(NAME), esc_attr(IS_PRO ? 'http://cometcache.com/r/zencache-pro-migration-faq/' : 'https://cometcache.com/r/zencache-migration-faq/')).'</p>'.
203
+ '<p>'.sprintf(__('To review your configuration, please see: <a href="%2$s">%1$s Plugin Options</a>.'.'', 'comet-cache'), esc_html(NAME), esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), self_admin_url('/admin.php')))).'</p>'
204
  );
205
  }
206
  }
src/includes/closures/Ac/AbortUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Ignores user aborts; when/if the Auto-Cache Engine is running.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Ignores user aborts; when/if the Auto-Cache Engine is running.
src/includes/closures/Ac/AcPluginUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Loads any advanced cache plugin files found inside `/wp-content/ac-plugins`.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Loads any advanced cache plugin files found inside `/wp-content/ac-plugins`.
src/includes/closures/Ac/BrowserUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Sends no-cache headers (if applicable).
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Sends no-cache headers (if applicable).
src/includes/closures/Ac/NcDebugConsts.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  if (defined(__NAMESPACE__.'\\NC_DEBUG_PHP_SAPI_CLI')) {
5
  return; // Already defined these.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  if (defined(__NAMESPACE__.'\\NC_DEBUG_PHP_SAPI_CLI')) {
5
  return; // Already defined these.
src/includes/closures/Ac/NcDebugUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * An array of debug info.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * An array of debug info.
src/includes/closures/Ac/ObUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Calculated protocol; one of `http://` or `https://`.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Calculated protocol; one of `http://` or `https://`.
src/includes/closures/Ac/PostloadUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Have we caught the main WP loaded being loaded yet?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Have we caught the main WP loaded being loaded yet?
src/includes/closures/Ac/ShutdownUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Registers a shutdown flag.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Registers a shutdown flag.
src/includes/closures/Plugin/ActionUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Plugin action handler.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Plugin action handler.
src/includes/closures/Plugin/BbPressUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Is bbPress active?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Is bbPress active?
src/includes/closures/Plugin/CleanupUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Runs cleanup routine via CRON job.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Runs cleanup routine via CRON job.
src/includes/closures/Plugin/CondUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Is pro preview?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Is pro preview?
src/includes/closures/Plugin/CronUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Extends WP-Cron schedules.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Extends WP-Cron schedules.
src/includes/closures/Plugin/DbUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * WordPress database instance.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * WordPress database instance.
src/includes/closures/Plugin/DirUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * This constructs an absolute server directory path (no trailing slashes);
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * This constructs an absolute server directory path (no trailing slashes);
src/includes/closures/Plugin/HtaccessUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Unique comment marker.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Unique comment marker.
src/includes/closures/Plugin/InstallUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Plugin activation hook.
@@ -13,7 +13,7 @@ $self->activate = function () use ($self) {
13
 
14
  if (!$self->options['welcomed'] && !$self->options['enable']) {
15
  $settings_url = add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), network_admin_url('/admin.php'));
16
- $self->enqueueMainNotice(sprintf(__('<strong>%1$s</strong> successfully installed! :-) <strong>Please <a href="%2$s">enable caching and review options</a>.</strong>', 'comet-cache'), esc_html(NAME), esc_attr($settings_url), array('push_to_top' => true)));
17
  $self->updateOptions(array('welcomed' => '1'));
18
  }
19
 
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Plugin activation hook.
13
 
14
  if (!$self->options['welcomed'] && !$self->options['enable']) {
15
  $settings_url = add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), network_admin_url('/admin.php'));
16
+ $self->enqueueMainNotice(sprintf(__('<strong>%1$s</strong> successfully installed! :-) <strong>Please <a href="%2$s">enable caching and review options</a>.</strong>', 'comet-cache'), esc_html(NAME), esc_attr($settings_url)), array('push_to_top' => true));
17
  $self->updateOptions(array('welcomed' => '1'));
18
  }
19
 
src/includes/closures/Plugin/MenuPageUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Adds CSS for administrative menu pages.
@@ -111,6 +111,10 @@ $self->addMenuPages = function () use ($self) {
111
  * @return array Revised array of links.
112
  */
113
  $self->addSettingsLink = function ($links) use ($self) {
 
 
 
 
114
  $links[] = '<a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), self_admin_url('/admin.php'))).'">'.__('Settings', 'comet-cache').'</a>';
115
  if (!IS_PRO) {
116
  $links[] = '<br/><a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS, GLOBAL_NS.'_pro_preview' => '1')), self_admin_url('/admin.php'))).'">'.__('Preview Pro Features', 'comet-cache').'</a>';
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Adds CSS for administrative menu pages.
111
  * @return array Revised array of links.
112
  */
113
  $self->addSettingsLink = function ($links) use ($self) {
114
+ if (is_multisite() && !is_network_admin()) {
115
+ return $links;
116
+ }
117
+
118
  $links[] = '<a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS)), self_admin_url('/admin.php'))).'">'.__('Settings', 'comet-cache').'</a>';
119
  if (!IS_PRO) {
120
  $links[] = '<br/><a href="'.esc_attr(add_query_arg(urlencode_deep(array('page' => GLOBAL_NS, GLOBAL_NS.'_pro_preview' => '1')), self_admin_url('/admin.php'))).'">'.__('Preview Pro Features', 'comet-cache').'</a>';
src/includes/closures/Plugin/NoticeUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Notice queue handlers.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Notice queue handlers.
src/includes/closures/Plugin/OptionUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Get plugin options.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Get plugin options.
src/includes/closures/Plugin/PostUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * All post statuses.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * All post statuses.
src/includes/closures/Plugin/UpdateUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Checks for a new lite release.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Checks for a new lite release.
src/includes/closures/Plugin/UrlUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * URL to a Comet Cache plugin file.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * URL to a Comet Cache plugin file.
src/includes/closures/Plugin/UserUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Current user can clear the cache?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Current user can clear the cache?
src/includes/closures/Plugin/WcpAuthorUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for the author page(s).
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for the author page(s).
src/includes/closures/Plugin/WcpCommentUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for a post associated with a particular comment.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for a post associated with a particular comment.
src/includes/closures/Plugin/WcpFeedUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files related to XML feeds.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files related to XML feeds.
src/includes/closures/Plugin/WcpHomeBlogUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for the home page.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for the home page.
src/includes/closures/Plugin/WcpJetpackUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog when JetPack Custom CSS is saved.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog when JetPack Custom CSS is saved.
src/includes/closures/Plugin/WcpOpcacheUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Wipe (i.e., reset) OPCache.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Wipe (i.e., reset) OPCache.
src/includes/closures/Plugin/WcpPluginUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically wipes/clears on plugin activation/deactivation.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically wipes/clears on plugin activation/deactivation.
src/includes/closures/Plugin/WcpPostTypeUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for a custom post type archive view.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for a custom post type archive view.
src/includes/closures/Plugin/WcpPostUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for a particular post.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for a particular post.
src/includes/closures/Plugin/WcpSettingUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog under various conditions;
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog under various conditions;
src/includes/closures/Plugin/WcpSitemapUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files related to XML sitemaps.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files related to XML sitemaps.
src/includes/closures/Plugin/WcpTermUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache files for terms associated with a post.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache files for terms associated with a post.
src/includes/closures/Plugin/WcpUpdaterUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog when WordPress core, or an active component, is upgraded.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears all cache files for current blog when WordPress core, or an active component, is upgraded.
src/includes/closures/Plugin/WcpUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Used for temporarily storing the permalink for posts transitioning from
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Used for temporarily storing the permalink for posts transitioning from
src/includes/closures/Plugin/WcpWooCommerceUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Automatically clears cache file for a WooCommerce Product when its stock is changed.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Automatically clears cache file for a WooCommerce Product when its stock is changed.
src/includes/closures/Shared/BlogUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Get blog details.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Get blog details.
src/includes/closures/Shared/CacheDirUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Cache directory path.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Cache directory path.
src/includes/closures/Shared/CacheLockUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Get an exclusive lock on the cache directory.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Get an exclusive lock on the cache directory.
src/includes/closures/Shared/CachePathConsts.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  if (defined(__NAMESPACE__.'\\CACHE_PATH_DEFAULT')) {
5
  return; // Already defined these.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  if (defined(__NAMESPACE__.'\\CACHE_PATH_DEFAULT')) {
5
  return; // Already defined these.
src/includes/closures/Shared/CachePathUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Cache-path suffix frag (regex).
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Cache-path suffix frag (regex).
src/includes/closures/Shared/ConditionalUtils.php CHANGED
@@ -1,5 +1,31 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  /*
5
  * Is AdvancedCache class?
@@ -316,9 +342,14 @@ $self->functionIsPossible = function ($function) use ($self) {
316
  if (($blacklist_functions = trim(ini_get('suhosin.executor.func.blacklist')))) {
317
  $disabled_functions = array_merge($disabled_functions, preg_split('/[\s;,]+/', strtolower($blacklist_functions), -1, PREG_SPLIT_NO_EMPTY));
318
  }
 
 
 
319
  }
320
  if (!function_exists($function) || !is_callable($function)) {
321
- return ($is = false); // Not possible.
 
 
322
  }
323
  if ($disabled_functions && in_array(strtolower($function), $disabled_functions, true)) {
324
  return ($is = false); // Not possible.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
+
4
+ /**
5
+ * PHP's language constructs.
6
+ *
7
+ * @type array PHP's language constructs.
8
+ * Keys are currently unimportant. Subject to change.
9
+ *
10
+ * @since 160222 First documented version.
11
+ */
12
+ $self->php_constructs = [
13
+ 'die' => 'die',
14
+ 'echo' => 'echo',
15
+ 'empty' => 'empty',
16
+ 'exit' => 'exit',
17
+ 'eval' => 'eval',
18
+ 'include' => 'include',
19
+ 'include_once' => 'include_once',
20
+ 'isset' => 'isset',
21
+ 'list' => 'list',
22
+ 'require' => 'require',
23
+ 'require_once' => 'require_once',
24
+ 'return' => 'return',
25
+ 'print' => 'print',
26
+ 'unset' => 'unset',
27
+ '__halt_compiler' => '__halt_compiler',
28
+ ];
29
 
30
  /*
31
  * Is AdvancedCache class?
342
  if (($blacklist_functions = trim(ini_get('suhosin.executor.func.blacklist')))) {
343
  $disabled_functions = array_merge($disabled_functions, preg_split('/[\s;,]+/', strtolower($blacklist_functions), -1, PREG_SPLIT_NO_EMPTY));
344
  }
345
+ if(filter_var(ini_get('suhosin.executor.disable_eval'), FILTER_VALIDATE_BOOLEAN)) {
346
+ $disabled_functions = array_merge($disabled_functions, array('eval'));
347
+ }
348
  }
349
  if (!function_exists($function) || !is_callable($function)) {
350
+ if(!in_array($function, $self->php_constructs, true)) { // A language construct
351
+ return ($is = false); // Not possible.
352
+ }
353
  }
354
  if ($disabled_functions && in_array(strtolower($function), $disabled_functions, true)) {
355
  return ($is = false); // Not possible.
src/includes/closures/Shared/DomainMappingUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Can consider domain mapping?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Can consider domain mapping?
src/includes/closures/Shared/EscapeUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Escape single quotes.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Escape single quotes.
src/includes/closures/Shared/FsUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Normalizes directory/file separators.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Normalizes directory/file separators.
src/includes/closures/Shared/HookUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Array of hooks.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Array of hooks.
src/includes/closures/Shared/HttpUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Current HTTP protocol.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Current HTTP protocol.
src/includes/closures/Shared/I18nUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * `X file` or `X files`, translated w/ singlular/plural context.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * `X file` or `X files`, translated w/ singlular/plural context.
src/includes/closures/Shared/IpAddrUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Get the current visitor's real IP address.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Get the current visitor's real IP address.
src/includes/closures/Shared/PatternUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Convert line-delimited patterns to a regex.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Convert line-delimited patterns to a regex.
src/includes/closures/Shared/ReplaceUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * String replace ONE time.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * String replace ONE time.
src/includes/closures/Shared/ServerUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Is running on Apache?
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Is running on Apache?
src/includes/closures/Shared/StringUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Clips string(s) to X chars deeply.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Clips string(s) to X chars deeply.
src/includes/closures/Shared/SysUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * System load averages.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * System load averages.
src/includes/closures/Shared/TokenUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
 
5
 
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
 
5
 
src/includes/closures/Shared/TrimUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Trims strings deeply.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Trims strings deeply.
src/includes/closures/Shared/UrlUtils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /*
5
  * Parses a URL.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /*
5
  * Parses a URL.
src/includes/functions/i18n-utils.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- namespace WebSharks\Comet_Cache;
3
 
4
  /**
5
  * Polyfill for {@link \__()}.
1
  <?php
2
+ namespace WebSharks\CometCache;
3
 
4
  /**
5
  * Polyfill for {@link \__()}.
src/includes/functions/wp-cache-postload.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- use WebSharks\Comet_Cache as Plugin;
3
 
4
  /**
5
  * Postload event handler; overrides core WP function.
1
  <?php
2
+ use WebSharks\CometCache as Plugin;
3
 
4
  /**
5
  * Postload event handler; overrides core WP function.
src/includes/plugin.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
- namespace WebSharks\Comet_Cache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
@@ -13,5 +13,7 @@ require_once dirname(__FILE__).'/stub.php';
13
 
14
  if (!Conflicts::check()) {
15
  $GLOBALS[GLOBAL_NS] = new Plugin();
16
- require_once dirname(__FILE__).'/api.php';
 
 
17
  }
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
+ namespace WebSharks\CometCache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
13
 
14
  if (!Conflicts::check()) {
15
  $GLOBALS[GLOBAL_NS] = new Plugin();
16
+ add_action('plugins_loaded', function() {
17
+ require_once dirname(__FILE__).'/api.php';
18
+ });
19
  }
src/includes/stub.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
- namespace WebSharks\Comet_Cache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
@@ -12,7 +12,7 @@ if (!defined('WPINC')) {
12
  require_once dirname(dirname(__FILE__)).'/vendor/autoload.php';
13
  require_once dirname(__FILE__).'/functions/i18n-utils.php';
14
 
15
- ${__FILE__}['version'] = '160211.2'; //version//
16
  ${__FILE__}['plugin'] = dirname(dirname(dirname(__FILE__)));
17
  ${__FILE__}['plugin'] .= '/'.basename(${__FILE__}['plugin']).'.php';
18
  ${__FILE__}['ns_path'] = str_replace('\\', '/', __NAMESPACE__); // To dir/path.
@@ -27,6 +27,4 @@ define(__NAMESPACE__.'\\VERSION', ${__FILE__}['version']);
27
  define(__NAMESPACE__.'\\PLUGIN_FILE', ${__FILE__}['plugin']);
28
  define(__NAMESPACE__.'\\IS_PRO', ${__FILE__}['is_pro']);
29
 
30
- $GLOBALS[GLOBAL_NS] = null;
31
-
32
  unset(${__FILE__}); // Housekeeping.
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
+ namespace WebSharks\CometCache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
12
  require_once dirname(dirname(__FILE__)).'/vendor/autoload.php';
13
  require_once dirname(__FILE__).'/functions/i18n-utils.php';
14
 
15
+ ${__FILE__}['version'] = '160223'; //version//
16
  ${__FILE__}['plugin'] = dirname(dirname(dirname(__FILE__)));
17
  ${__FILE__}['plugin'] .= '/'.basename(${__FILE__}['plugin']).'.php';
18
  ${__FILE__}['ns_path'] = str_replace('\\', '/', __NAMESPACE__); // To dir/path.
27
  define(__NAMESPACE__.'\\PLUGIN_FILE', ${__FILE__}['plugin']);
28
  define(__NAMESPACE__.'\\IS_PRO', ${__FILE__}['is_pro']);
29
 
 
 
30
  unset(${__FILE__}); // Housekeeping.
src/includes/templates/advanced-cache.txt CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
- namespace WebSharks\Comet_Cache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
+ namespace WebSharks\CometCache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
src/includes/translations/comet-cache.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Comet Cache package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Comet Cache 160211.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/comet-cache\n"
7
- "POT-Creation-Date: 2016-02-12 01:29:17+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,46 +12,58 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: plugin.php:13
16
  msgid "<strong>NOTICE: Comet Cache Minimum PHP Version</strong></h3>"
17
  msgstr ""
18
 
19
- #: plugin.php:14
20
  msgid "<strong>As of December 1st, 2015 Comet Cache requires PHP 5.4 or higher.</strong> Your server is currently running PHP v%1$s. You will need to upgrade to PHP 5.4 or higher to run this version of Comet Cache."
21
  msgstr ""
22
 
23
- #: plugin.php:15
24
  msgid "Learn more about this change here: <a href=\"http://cometcache.com/r/new-minimum-php-version-php-5-4/\" target=\"_blank\">New Minimum PHP Version: PHP 5.4</a>"
25
  msgstr ""
26
 
27
- #: plugin.php:17
28
  msgid "Your server is also running the <strong>outdated PHP APC extension</strong>. Please see: <a href=\"http://cometcache.com/r/php-apc-extension-no-longer-supported/\" target=\"_blank\">PHP APC Extension No Longer Supported</a>"
29
  msgstr ""
30
 
31
- #: plugin.php:35
32
  msgid "<strong>NOTICE: Comet Cache + PHP APC Extension</strong></h3>"
33
  msgstr ""
34
 
35
- #: plugin.php:36
36
  msgid "<strong>As of December 1st, 2015 Comet Cache no longer runs with the outdated PHP APC extension.</strong> It appears that you're currently running PHP v%1$s with APC enabled. You will need to follow one of the actions below to run this version of Comet Cache."
37
  msgstr ""
38
 
39
- #: plugin.php:37
40
  msgid "<h4 style=\"margin:0 0 .5em 0; font-size:1.25em;\"><span class=\"dashicons dashicons-lightbulb\"></span> Options Available (Action Required):</h4>"
41
  msgstr ""
42
 
43
- #: plugin.php:39
44
  msgid "Please add <code>ini_set('apc.cache_by_default', false);</code> to the top of your <code>/wp-config.php</code> file. That will get rid of this message and allow Comet Cache to run without issue."
45
  msgstr ""
46
 
47
- #: plugin.php:40
48
  msgid "Or, contact your web hosting provider and ask about upgrading to PHP v5.5+; which includes the new <a href=\"http://cometcache.com/r/php-opcache-extension/\" target=\"_blank\">OPcache extension for PHP</a>. The new OPcache extension replaces APC in modern versions of PHP."
49
  msgstr ""
50
 
51
- #: plugin.php:42
52
  msgid "To learn more about this change, please see the announcement: <a href=\"http://cometcache.com/r/php-apc-extension-no-longer-supported/\" target=\"_blank\">PHP APC Extension No Longer Supported</a>"
53
  msgstr ""
54
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  #: src/includes/classes/AbsBase.php:116
56
  msgid "Undefined overload property: `%1$s`."
57
  msgstr ""
@@ -68,15 +80,15 @@ msgstr ""
68
  msgid "Undefined method/closure: `%1$s`."
69
  msgstr ""
70
 
71
- #: src/includes/classes/Conflicts.php:91
72
  msgid "Pro"
73
  msgstr ""
74
 
75
- #: src/includes/classes/Conflicts.php:92
76
  msgid "Lite"
77
  msgstr ""
78
 
79
- #: src/includes/classes/Conflicts.php:97
80
  msgid "<strong>%1$s</strong> is NOT running. A conflicting plugin, <strong>%2$s</strong>, is currently active. Please deactivate the %2$s plugin to clear this message."
81
  msgstr ""
82
 
@@ -116,1332 +128,1350 @@ msgstr ""
116
  msgid "Pro Updater"
117
  msgstr ""
118
 
119
- #: src/includes/classes/MenuPageOptions.php:53
120
- #: src/includes/closures/Plugin/MenuPageUtils.php:116
 
 
 
 
 
 
 
 
 
 
121
  msgid "Preview Pro Features"
122
  msgstr ""
123
 
124
- #: src/includes/classes/MenuPageOptions.php:54
125
  msgid "Pro Upgrade"
126
  msgstr ""
127
 
128
- #: src/includes/classes/MenuPageOptions.php:56
129
- msgid "Newsletter"
130
  msgstr ""
131
 
132
- #: src/includes/classes/MenuPageOptions.php:57
133
- msgid "Beta Testers"
134
  msgstr ""
135
 
136
- #: src/includes/classes/MenuPageOptions.php:62
 
 
 
 
 
 
 
 
137
  msgid "%1$s&trade; Pro v%2$s"
138
  msgstr ""
139
 
140
- #: src/includes/classes/MenuPageOptions.php:65
141
- #: src/includes/classes/MenuPageOptions.php:75
142
  msgid "update available"
143
  msgstr ""
144
 
145
- #: src/includes/classes/MenuPageOptions.php:67
146
- #: src/includes/classes/MenuPageOptions.php:77
147
  msgid "changelog"
148
  msgstr ""
149
 
150
- #: src/includes/classes/MenuPageOptions.php:72
151
  msgid "%1$s&trade; v%2$s"
152
  msgstr ""
153
 
154
- #: src/includes/classes/MenuPageOptions.php:81
155
  #: src/includes/closures/Plugin/MenuPageUtils.php:73
156
  #: src/includes/closures/Plugin/MenuPageUtils.php:95
157
  msgid "Plugin Options"
158
  msgstr ""
159
 
160
- #: src/includes/classes/MenuPageOptions.php:93
161
  msgid "Options updated successfully."
162
  msgstr ""
163
 
164
- #: src/includes/classes/MenuPageOptions.php:98
165
  msgid "Default options successfully restored."
166
  msgstr ""
167
 
168
- #: src/includes/classes/MenuPageOptions.php:103
169
  msgid "Cache wiped across all sites; recreation will occur automatically over time."
170
  msgstr ""
171
 
172
- #: src/includes/classes/MenuPageOptions.php:109
173
  msgid "Cache cleared for main site; recreation will occur automatically over time."
174
  msgstr ""
175
 
176
- #: src/includes/classes/MenuPageOptions.php:111
177
  msgid "Cache cleared for this site; recreation will occur automatically over time."
178
  msgstr ""
179
 
180
- #: src/includes/classes/MenuPageOptions.php:117
181
- #: src/includes/classes/MenuPageOptions.php:122
182
  msgid "Failed to update your <code>/.htaccess</code> file automatically. Most likely a permissions error. Please make sure it has permissions <code>644</code> or higher (perhaps <code>666</code>). Once you've done this, please try saving the %1$s options again."
183
  msgstr ""
184
 
185
- #: src/includes/classes/MenuPageOptions.php:127
186
  msgid "It appears that your server is running NGINX and does not support <code>.htaccess</code> rules. Please <a href=\"http://cometcache.com/r/kb-article-recommended-nginx-server-configuration/\" target=\"_new\">update your server configuration manually</a>. If you've already updated your NGINX configuration, you can safely <a href=\"http://cometcache.com/r/kb-article-how-do-i-disable-the-nginx-htaccess-notice/\" target=\"_new\">ignore this message</a>."
187
  msgstr ""
188
 
189
- #: src/includes/classes/MenuPageOptions.php:132
190
  msgid "Failed to update your <code>/wp-config.php</code> file automatically. Please add the following line to your <code>/wp-config.php</code> file (right after the opening <code>&lt;?php</code> tag; on it's own line). <pre class=\"code\"><code>&lt;?php<br />define('WP_CACHE', TRUE);</code></pre>"
191
  msgstr ""
192
 
193
- #: src/includes/classes/MenuPageOptions.php:137
194
  msgid "Failed to update your <code>/wp-config.php</code> file automatically. Please remove the following line from your <code>/wp-config.php</code> file, or set <code>WP_CACHE</code> to a <code>FALSE</code> value. <pre class=\"code\"><code>define('WP_CACHE', TRUE);</code></pre>"
195
  msgstr ""
196
 
197
- #: src/includes/classes/MenuPageOptions.php:143
198
  msgid "Failed to update your <code>/wp-content/advanced-cache.php</code> file. Cannot write stat file: <code>%1$s/%2$s-advanced-cache</code>. Please be sure this directory exists (and that it's writable): <code>%1$s</code>. Please use directory permissions <code>755</code> or higher (perhaps <code>777</code>). Once you've done this, please try again."
199
  msgstr ""
200
 
201
- #: src/includes/classes/MenuPageOptions.php:145
202
  msgid "Failed to update your <code>/wp-content/advanced-cache.php</code> file. Most likely a permissions error. Please create an empty file here: <code>/wp-content/advanced-cache.php</code> (just an empty PHP file, with nothing in it); give it permissions <code>644</code> or higher (perhaps <code>666</code>). Once you've done this, please try again."
203
  msgstr ""
204
 
205
- #: src/includes/classes/MenuPageOptions.php:151
206
  msgid "Failed to remove your <code>/wp-content/advanced-cache.php</code> file. Most likely a permissions error. Please delete (or empty the contents of) this file: <code>/wp-content/advanced-cache.php</code>."
207
  msgstr ""
208
 
209
- #: src/includes/classes/MenuPageOptions.php:156
210
  msgid "close"
211
  msgstr ""
212
 
213
- #: src/includes/classes/MenuPageOptions.php:157
214
  msgid "<strong>Pro Features (Preview)</strong> ~ New option panels below. Please explore before <a href=\"http://cometcache.com/prices/\" target=\"_blank\">upgrading <i class=\"si si-heart-o\"></i></a>.<br /><small>NOTE: the free version of %1$s (this lite version) is more-than-adequate for most sites. Please upgrade only if you desire advanced features or would like to support the developer.</small>"
215
  msgstr ""
216
 
217
- #: src/includes/classes/MenuPageOptions.php:162
218
  msgid "%1$s is currently disabled; please review options below."
219
  msgstr ""
220
 
221
- #: src/includes/classes/MenuPageOptions.php:172
222
  msgid "Basic Configuration (Required)"
223
  msgstr ""
224
 
225
- #: src/includes/classes/MenuPageOptions.php:173
226
  msgid "Review these basic options and %1$s&trade; will be ready-to-go!"
227
  msgstr ""
228
 
229
- #: src/includes/classes/MenuPageOptions.php:181
230
  msgid "Enable/Disable"
231
  msgstr ""
232
 
233
- #: src/includes/classes/MenuPageOptions.php:186
234
  msgid "%1$s&trade; = SPEED<em>!!</em>"
235
  msgstr ""
236
 
237
- #: src/includes/classes/MenuPageOptions.php:187
238
  msgid "Yes, enable %1$s&trade;"
239
  msgstr ""
240
 
241
- #: src/includes/classes/MenuPageOptions.php:187
242
  msgid "No, disable."
243
  msgstr ""
244
 
245
- #: src/includes/classes/MenuPageOptions.php:188
246
  msgid "<strong>HUGE Time-Saver:</strong> Approx. 95%% of all WordPress sites running %1$s, simply enable it here; and that's it :-) <strong>No further configuration is necessary (really).</strong> All of the other options (down below) are already tuned for the BEST performance on a typical WordPress installation. Simply enable %1$s here and click \"Save All Changes\". If you get any warnings please follow the instructions given. Otherwise, you're good <i class=\"si si-smile-o\"></i>. This plugin is designed to run just fine like it is. Take it for a spin right away; you can always fine-tune things later if you deem necessary."
247
  msgstr ""
248
 
249
- #: src/includes/classes/MenuPageOptions.php:191
250
  msgid "How Can I Tell %1$s is Working?"
251
  msgstr ""
252
 
253
- #: src/includes/classes/MenuPageOptions.php:192
254
  msgid "First of all, please make sure that you've enabled %1$s here; then scroll down to the bottom of this page and click \"Save All Changes\". All of the other options (below) are already pre-configured for typical usage. Feel free to skip them all for now. You can go back through all of these later and fine-tune things the way you like them."
255
  msgstr ""
256
 
257
- #: src/includes/classes/MenuPageOptions.php:193
258
  msgid "Once %1$s has been enabled, <strong>you'll need to log out (and/or clear browser cookies)</strong>. By default, cache files are NOT served to visitors who are logged-in, and that includes you too ;-) Cache files are NOT served to recent comment authors either. If you've commented (or replied to a comment lately); please clear your browser cookies before testing."
259
  msgstr ""
260
 
261
- #: src/includes/classes/MenuPageOptions.php:194
262
  msgid "<strong>To verify that %1$s is working</strong>, navigate your site like a normal visitor would. Right-click on any page (choose View Source), then scroll to the very bottom of the document. At the bottom, you'll find comments that show %1$s stats and information. You should also notice that page-to-page navigation is <i class=\"si si-flash\"></i> <strong>lightning fast</strong> now that %1$s is running; and it gets faster over time!"
263
  msgstr ""
264
 
265
- #: src/includes/classes/MenuPageOptions.php:196
266
  msgid "Yes, enable notes in the source code so I can see it's working (recommended)."
267
  msgstr ""
268
 
269
- #: src/includes/classes/MenuPageOptions.php:197
270
  msgid "Yes, enable notes in the source code AND show debugging details (not recommended for production)."
271
  msgstr ""
272
 
273
- #: src/includes/classes/MenuPageOptions.php:198
274
  msgid "No, I don't want my source code to contain any of these notes."
275
  msgstr ""
276
 
277
- #: src/includes/classes/MenuPageOptions.php:209
278
  msgid "Plugin Deletion Safeguards"
279
  msgstr ""
280
 
281
- #: src/includes/classes/MenuPageOptions.php:214
282
  msgid "Uninstall on Plugin Deletion; or Safeguard Options?"
283
  msgstr ""
284
 
285
- #: src/includes/classes/MenuPageOptions.php:215
286
  msgid "<strong>Tip:</strong> By default, if you delete %1$s using the plugins menu in WordPress, nothing is lost. However, if you want to completely uninstall %1$s you should set this to <code>Yes</code> and <strong>THEN</strong> deactivate &amp; delete %1$s from the plugins menu in WordPress. This way %1$s will erase your options for the plugin, erase directories/files created by the plugin, remove the <code>advanced-cache.php</code> file, terminate CRON jobs, etc. It erases itself from existence completely."
287
  msgstr ""
288
 
289
- #: src/includes/classes/MenuPageOptions.php:217
290
  msgid "Safeguard my options and the cache (recommended)."
291
  msgstr ""
292
 
293
- #: src/includes/classes/MenuPageOptions.php:218
294
  msgid "Yes, uninstall (completely erase) %1$s on plugin deletion."
295
  msgstr ""
296
 
297
- #: src/includes/classes/MenuPageOptions.php:227
298
  msgid "Advanced Configuration (All Optional)"
299
  msgstr ""
300
 
301
- #: src/includes/classes/MenuPageOptions.php:228
302
  msgid "Recommended for advanced site owners only; already pre-configured for most WP installs."
303
  msgstr ""
304
 
305
- #: src/includes/classes/MenuPageOptions.php:237
306
  msgid "Manual Cache Clearing"
307
  msgstr ""
308
 
309
- #: src/includes/classes/MenuPageOptions.php:241
310
  msgid "Clearing the Cache Manually"
311
  msgstr ""
312
 
313
- #: src/includes/classes/MenuPageOptions.php:243
314
  msgid "Once %1$s is enabled, you will find this new option in your WordPress Admin Bar (screenshot on right). Clicking this button will clear the cache and you can start fresh at anytime (e.g., you can do this manually; and as often as you wish)."
315
  msgstr ""
316
 
317
- #: src/includes/classes/MenuPageOptions.php:244
318
  msgid "Depending on the structure of your site, there could be many reasons to clear the cache. However, the most common reasons are related to Post/Page edits or deletions, Category/Tag edits or deletions, and Theme changes. %1$s handles most scenarios all by itself. However, many site owners like to clear the cache manually; for a variety of reasons (just to force a refresh)."
319
  msgstr ""
320
 
321
- #: src/includes/classes/MenuPageOptions.php:246
322
  msgid "Yes, enable &quot;Clear Cache&quot; button in admin bar"
323
  msgstr ""
324
 
325
- #: src/includes/classes/MenuPageOptions.php:247
326
  msgid "No, I don't intend to clear the cache manually."
327
  msgstr ""
328
 
329
- #: src/includes/classes/MenuPageOptions.php:250
330
  msgid "w/ dropdown options."
331
  msgstr ""
332
 
333
- #: src/includes/classes/MenuPageOptions.php:251
334
  msgid "w/ dropdown options in split menu."
335
  msgstr ""
336
 
337
- #: src/includes/classes/MenuPageOptions.php:252
338
  msgid "w/o dropdown options."
339
  msgstr ""
340
 
341
- #: src/includes/classes/MenuPageOptions.php:257
342
  msgid "Also allow Child Sites in a Network to clear the cache from their Admin Bar?"
343
  msgstr ""
344
 
345
- #: src/includes/classes/MenuPageOptions.php:258
346
  msgid "In a Multisite Network, each child site can clear its own cache. If you want child sites to see the \"Clear Cache\" button in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed. For example, if I want Administrators to be capable of clearing the cache from their Admin Bar, I could enter <code>administrator</code> here. If I also want to allow Editors, I can use a comma-delimited list: <code>administrator,editor</code>. Or, I could use a single Capability of: <code>edit_others_posts</code>; which covers both Administrators &amp; Editors at the same time."
347
  msgstr ""
348
 
349
- #: src/includes/classes/MenuPageOptions.php:260
350
- #: src/includes/classes/MenuPageOptions.php:451
351
  msgid "<strong>Note:</strong> As a security measure, in addition to the Role(s) and/or Capabilities that you list here, each child site owner must also have the ability to <code>%1$s</code>."
352
  msgstr ""
353
 
354
- #: src/includes/classes/MenuPageOptions.php:265
355
  msgid "Also allow others to clear the cache from their Admin Bar?"
356
  msgstr ""
357
 
358
- #: src/includes/classes/MenuPageOptions.php:266
359
  msgid "If you want others to see the \"Clear Cache\" button in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed. For example, if I want Editors to be capable of clearing the cache from their Admin Bar, I could enter <code>editor</code> here. If I also want to allow Authors, I can use a comma-delimited list: <code>editor,author</code>. Or, I could use a single Capability of: <code>publish_posts</code>; which covers both Editors &amp; Authors at the same time."
360
  msgstr ""
361
 
362
- #: src/includes/classes/MenuPageOptions.php:268
363
- #: src/includes/classes/MenuPageOptions.php:459
364
  msgid "<strong>Note:</strong> As a security measure, in addition to the Role(s) and/or Capabilities that you list here, each user must also have the ability to <code>%1$s</code>."
365
  msgstr ""
366
 
367
- #: src/includes/classes/MenuPageOptions.php:274
368
  msgid "Clear the <a href=\"http://cometcache.com/r/php-opcache/\" target=\"_blank\">PHP OPcache</a> Too?"
369
  msgstr ""
370
 
371
- #: src/includes/classes/MenuPageOptions.php:275
372
  msgid "If you clear the cache manually, do you want %1$s to clear the PHP OPcache too? This is not necessary, but if you want a truly clean start, this will clear all PHP files in the server's opcode cache also. Note: If you don't already know what the PHP OPcache is, it is suggested that you leave this disabled. It really is not necessary. This is just an added feature for advanced users."
373
  msgstr ""
374
 
375
- #: src/includes/classes/MenuPageOptions.php:277
376
  msgid "No, I don't use the PHP OPcache extension; or, I don't want the opcode cache cleared."
377
  msgstr ""
378
 
379
- #: src/includes/classes/MenuPageOptions.php:278
380
  msgid "Yes, if the PHP OPcache extension is enabled, also clear the entire PHP opcode cache."
381
  msgstr ""
382
 
383
- #: src/includes/classes/MenuPageOptions.php:283
384
  msgid "Clear the <a href=\"http://websharks-inc.com/product/s2clean/\" target=\"_blank\">s2Clean</a> Cache Too?"
385
  msgstr ""
386
 
387
- #: src/includes/classes/MenuPageOptions.php:284
388
  msgid "If the s2Clean theme is installed, and you clear the cache manually, %1$s can clear the s2Clean Markdown cache too (if you've enabled Markdown processing with s2Clean)."
389
  msgstr ""
390
 
391
- #: src/includes/classes/MenuPageOptions.php:286
392
  msgid "Yes, if the s2Clean theme is installed, also clear s2Clean-related caches."
393
  msgstr ""
394
 
395
- #: src/includes/classes/MenuPageOptions.php:287
396
  msgid "No, I don't use s2Clean; or, I don't want s2Clean-related caches cleared."
397
  msgstr ""
398
 
399
- #: src/includes/classes/MenuPageOptions.php:291
400
  msgid "Evaluate Custom PHP Code when Clearing the Cache?"
401
  msgstr ""
402
 
403
- #: src/includes/classes/MenuPageOptions.php:292
404
  msgid "If you have any custom routines you'd like to process when the cache is cleared manually, please enter PHP code here. If your PHP code outputs a message, it will be displayed along with any other notes from %1$s itself. This feature is intended for developers, and it may come in handy if you need to clear any system caches not already covered by %1$s configuration options."
405
  msgstr ""
406
 
407
- #: src/includes/classes/MenuPageOptions.php:294
408
  msgid "<strong>Example:</strong> <code>&lt;?php apc_clear_cache(); echo '&lt;p&gt;Also cleared APC cache.&lt;/p&gt;'; ?&gt;</code>"
409
  msgstr ""
410
 
411
- #: src/includes/classes/MenuPageOptions.php:297
412
  msgid "Clear the CDN Cache Too?"
413
  msgstr ""
414
 
415
- #: src/includes/classes/MenuPageOptions.php:298
416
  msgid "If you clear the cache manually, do you want %1$s to automatically bump the CDN invalidation counter too? i.e., automatically increment the <code>?%2$s=[counter]</code> in all static CDN URLs?"
417
  msgstr ""
418
 
419
- #: src/includes/classes/MenuPageOptions.php:300
420
  msgid "No, I don't use Static CDN Filters; or, I don't want the CDN cache cleared."
421
  msgstr ""
422
 
423
- #: src/includes/classes/MenuPageOptions.php:301
424
  msgid "Yes, if Static CDN Filters are enabled, also clear the CDN cache."
425
  msgstr ""
426
 
427
- #: src/includes/classes/MenuPageOptions.php:312
428
  msgid "Automatic Cache Clearing"
429
  msgstr ""
430
 
431
- #: src/includes/classes/MenuPageOptions.php:317
432
  msgid "Clearing the Cache Automatically"
433
  msgstr ""
434
 
435
- #: src/includes/classes/MenuPageOptions.php:319
436
  msgid "This is built into the %1$s plugin; i.e., this functionality is \"always on\". If you edit a Post/Page (or delete one), %1$s will automatically clear the cache file(s) associated with that content. This way a new updated version of the cache will be created automatically the next time this content is accessed. Simple updates like this occur each time you make changes in the Dashboard, and %1$s will notify you of these as they occur. %1$s monitors changes to Posts (of any kind, including Pages), Categories, Tags, Links, Themes (even Users), and more."
437
  msgstr ""
438
 
439
- #: src/includes/classes/MenuPageOptions.php:323
440
  msgid "Yes, enable %1$s notifications in the Dashboard when changes are detected &amp; one or more cache files are cleared automatically."
441
  msgstr ""
442
 
443
- #: src/includes/classes/MenuPageOptions.php:324
444
  msgid "No, I don't want to know (don't really care) what %1$s is doing behind-the-scene."
445
  msgstr ""
446
 
447
- #: src/includes/classes/MenuPageOptions.php:329
448
  msgid "Primary Page Options"
449
  msgstr ""
450
 
451
- #: src/includes/classes/MenuPageOptions.php:331
452
  msgid "Auto-Clear Designated \"Home Page\" Too?"
453
  msgstr ""
454
 
455
- #: src/includes/classes/MenuPageOptions.php:332
456
  msgid "On many sites, the Home Page (aka: the Front Page) offers an archive view of all Posts (or even Pages). Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the \"Home Page\"?"
457
  msgstr ""
458
 
459
- #: src/includes/classes/MenuPageOptions.php:334
460
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Home Page\"."
461
  msgstr ""
462
 
463
- #: src/includes/classes/MenuPageOptions.php:335
464
  msgid "No, my Home Page does not provide a list of Posts/Pages; e.g., this is not necessary."
465
  msgstr ""
466
 
467
- #: src/includes/classes/MenuPageOptions.php:337
468
  msgid "Auto-Clear Designated \"Posts Page\" Too?"
469
  msgstr ""
470
 
471
- #: src/includes/classes/MenuPageOptions.php:338
472
  msgid "On many sites, the Posts Page (aka: the Blog Page) offers an archive view of all Posts (or even Pages). Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the \"Posts Page\"?"
473
  msgstr ""
474
 
475
- #: src/includes/classes/MenuPageOptions.php:340
476
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Posts Page\"."
477
  msgstr ""
478
 
479
- #: src/includes/classes/MenuPageOptions.php:341
480
  msgid "No, I don't use a separate Posts Page; e.g., my Home Page IS my Posts Page."
481
  msgstr ""
482
 
483
- #: src/includes/classes/MenuPageOptions.php:345
484
  msgid "Author, Archive, and Tag/Term Options"
485
  msgstr ""
486
 
487
- #: src/includes/classes/MenuPageOptions.php:347
488
  msgid "Auto-Clear \"Author Page\" Too?"
489
  msgstr ""
490
 
491
- #: src/includes/classes/MenuPageOptions.php:348
492
  msgid "On many sites, each author has a related \"Author Page\" that offers an archive view of all posts associated with that author. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the related \"Author Page\"?"
493
  msgstr ""
494
 
495
- #: src/includes/classes/MenuPageOptions.php:350
496
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Author Page\"."
497
  msgstr ""
498
 
499
- #: src/includes/classes/MenuPageOptions.php:351
500
  msgid "No, my site doesn't use multiple authors and/or I don't have any \"Author Page\" archive views."
501
  msgstr ""
502
 
503
- #: src/includes/classes/MenuPageOptions.php:354
504
  msgid "Auto-Clear \"Category Archives\" Too?"
505
  msgstr ""
506
 
507
- #: src/includes/classes/MenuPageOptions.php:355
508
  msgid "On many sites, each post is associated with at least one Category. Each category then has an archive view that contains all the posts within that category. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Category archive views?"
509
  msgstr ""
510
 
511
- #: src/includes/classes/MenuPageOptions.php:357
512
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the associated Category archive views."
513
  msgstr ""
514
 
515
- #: src/includes/classes/MenuPageOptions.php:358
516
  msgid "No, my site doesn't use Categories and/or I don't have any Category archive views."
517
  msgstr ""
518
 
519
- #: src/includes/classes/MenuPageOptions.php:361
520
  msgid "Auto-Clear \"Tag Archives\" Too?"
521
  msgstr ""
522
 
523
- #: src/includes/classes/MenuPageOptions.php:362
524
  msgid "On many sites, each post may be associated with at least one Tag. Each tag then has an archive view that contains all the posts assigned that tag. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Tag archive views?"
525
  msgstr ""
526
 
527
- #: src/includes/classes/MenuPageOptions.php:364
528
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the associated Tag archive views."
529
  msgstr ""
530
 
531
- #: src/includes/classes/MenuPageOptions.php:365
532
  msgid "No, my site doesn't use Tags and/or I don't have any Tag archive views."
533
  msgstr ""
534
 
535
- #: src/includes/classes/MenuPageOptions.php:368
536
  msgid "Auto-Clear \"Custom Term Archives\" Too?"
537
  msgstr ""
538
 
539
- #: src/includes/classes/MenuPageOptions.php:369
540
  msgid "Most sites do not use any custom Terms so it should be safe to leave this disabled. However, if your site uses custom Terms and they have their own Term archive views, you may want to clear those when the associated post is cleared. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Tag archive views?"
541
  msgstr ""
542
 
543
- #: src/includes/classes/MenuPageOptions.php:371
544
  msgid "Yes, if any single Post/Page is cleared/reset; also clear any associated custom Term archive views."
545
  msgstr ""
546
 
547
- #: src/includes/classes/MenuPageOptions.php:372
548
  msgid "No, my site doesn't use any custom Terms and/or I don't have any custom Term archive views."
549
  msgstr ""
550
 
551
- #: src/includes/classes/MenuPageOptions.php:375
552
  msgid "Auto-Clear \"Custom Post Type Archives\" Too?"
553
  msgstr ""
554
 
555
- #: src/includes/classes/MenuPageOptions.php:376
556
  msgid "Most sites do not use any Custom Post Types so it should be safe to disable this option. However, if your site uses Custom Post Types and they have their own Custom Post Type archive views, you may want to clear those when any associated post is cleared. Therefore, if a single Post with a Custom Post Type is changed in some way; and %1$s clears/resets the cache for that post, would you like %1$s to also clear any existing cache files for the associated Custom Post Type archive views?"
557
  msgstr ""
558
 
559
- #: src/includes/classes/MenuPageOptions.php:378
560
  msgid "Yes, if any single Post with a Custom Post Type is cleared/reset; also clear any associated Custom Post Type archive views."
561
  msgstr ""
562
 
563
- #: src/includes/classes/MenuPageOptions.php:379
564
  msgid "No, my site doesn't use any Custom Post Types and/or I don't have any Custom Post Type archive views."
565
  msgstr ""
566
 
567
- #: src/includes/classes/MenuPageOptions.php:383
568
  msgid "Feed-Related Options"
569
  msgstr ""
570
 
571
- #: src/includes/classes/MenuPageOptions.php:385
572
  msgid "Auto-Clear \"RSS/RDF/ATOM Feeds\" Too?"
573
  msgstr ""
574
 
575
- #: src/includes/classes/MenuPageOptions.php:386
576
  msgid "If you enable Feed Caching (below), this can be quite handy. If enabled, when you update a Post/Page, approve a Comment, or make other changes where %1$s can detect that certain types of Feeds should be cleared to keep your site up-to-date, then %1$s will do this for you automatically. For instance, the blog's master feed, the blog's master comments feed, feeds associated with comments on a Post/Page, term-related feeds (including mixed term-related feeds), author-related feeds, etc. Under various circumstances (i.e., as you work in the Dashboard) these can be cleared automatically to keep your site up-to-date."
577
  msgstr ""
578
 
579
- #: src/includes/classes/MenuPageOptions.php:388
580
  msgid "Yes, automatically clear RSS/RDF/ATOM Feeds from the cache when certain changes occur."
581
  msgstr ""
582
 
583
- #: src/includes/classes/MenuPageOptions.php:389
584
  msgid "No, I don't have Feed Caching enabled, or I prefer not to automatically clear Feeds."
585
  msgstr ""
586
 
587
- #: src/includes/classes/MenuPageOptions.php:393
588
  msgid "Sitemap-Related Options"
589
  msgstr ""
590
 
591
- #: src/includes/classes/MenuPageOptions.php:395
592
  msgid "Auto-Clear \"XML Sitemaps\" Too?"
593
  msgstr ""
594
 
595
- #: src/includes/classes/MenuPageOptions.php:396
596
  msgid "If you're generating XML Sitemaps with a plugin like <a href=\"http://wordpress.org/plugins/google-sitemap-generator/\" target=\"_blank\">Google XML Sitemaps</a>, you can tell %1$s to automatically clear the cache of any XML Sitemaps whenever it clears a Post/Page. Note: This does NOT clear the XML Sitemap itself of course, only the cache. The point being, to clear the cache and allow changes to a Post/Page to be reflected by a fresh copy of your XML Sitemap; sooner rather than later."
597
  msgstr ""
598
 
599
- #: src/includes/classes/MenuPageOptions.php:398
600
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the cache for any XML Sitemaps."
601
  msgstr ""
602
 
603
- #: src/includes/classes/MenuPageOptions.php:399
604
  msgid "No, my site doesn't use any XML Sitemaps and/or I prefer NOT to clear the cache for XML Sitemaps."
605
  msgstr ""
606
 
607
- #: src/includes/classes/MenuPageOptions.php:402
608
  msgid "<strong style=\"font-size:110%;\">XML Sitemap Patterns...</strong> A default value of <code>/sitemap**.xml</code> covers all XML Sitemaps for most installations. However, you may customize this further if you deem necessary. <strong>Please list one pattern per line.</strong> These XML Sitemap Pattern searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\">REQUEST_URI</a>. A wildcard <code>**</code> character can also be used when necessary; e.g., <code>/sitemap**.xml</code> (where <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes). Other special characters include: <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href=\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
609
  msgstr ""
610
 
611
- #: src/includes/classes/MenuPageOptions.php:405
612
  msgid "In a Multisite Network, each child blog (whether it be a sub-domain, a sub-directory, or a mapped domain); will automatically change the leading <code>http://[sub.]domain/[sub-directory]</code> used in pattern matching. In short, there is no need to add sub-domains or sub-directories for each child blog in these patterns. Please include only the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\">REQUEST_URI</a> (i.e., the path) which leads to the XML Sitemap on all child blogs in the network."
613
  msgstr ""
614
 
615
- #: src/includes/classes/MenuPageOptions.php:411
616
  msgid "Misc. Auto-Clear Options"
617
  msgstr ""
618
 
619
- #: src/includes/classes/MenuPageOptions.php:412
620
  msgid "Auto-Clear a List of Custom URLs Too?"
621
  msgstr ""
622
 
623
- #: src/includes/classes/MenuPageOptions.php:413
624
  msgid "When you update a Post/Page, approve a Comment, or make other changes where %1$s can detect that a Post/Page cache should be cleared to keep your site up-to-date; then %1$s will also clear a list of custom URLs that you list here. <strong>Please list one URL per line.</strong> A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
625
  msgstr ""
626
 
627
- #: src/includes/classes/MenuPageOptions.php:426
628
  msgid "Cache-Related Statistics"
629
  msgstr ""
630
 
631
- #: src/includes/classes/MenuPageOptions.php:431
632
  msgid "Enable Cache-Related Stats &amp; Charts?"
633
  msgstr ""
634
 
635
- #: src/includes/classes/MenuPageOptions.php:432
636
  msgid "%1$s can collect and display cache-related statistics (including charts). Stats are displayed in the WordPress Admin Bar, and also in your Dashboard under: <strong>%1$s → Stats/Charts</strong>. Cache-related stats provide you with a quick look at what's happening behind-the-scenes. Your site grows faster and faster as the cache grows larger in size."
637
  msgstr ""
638
 
639
- #: src/includes/classes/MenuPageOptions.php:434
640
  msgid "Yes, enable stats collection &amp; the menu page in WordPress for viewing stats."
641
  msgstr ""
642
 
643
- #: src/includes/classes/MenuPageOptions.php:435
644
  msgid "No, I have a VERY large site and I want to avoid any unnecessary directory scans."
645
  msgstr ""
646
 
647
- #: src/includes/classes/MenuPageOptions.php:437
648
  msgid "<strong>Note:</strong> %1$s does a great job of collecting stats, in ways that don't cause a performance issue. In addition, as your cache grows larger than several hundred files in total size, statistics are collected less often and at longer intervals. All of that being said, if you run a VERY large site (e.g., more than 20K posts), you might want to disable stats collection in favor of blazing fast speeds not impeded by any directory scans needed to collect stats."
649
  msgstr ""
650
 
651
- #: src/includes/classes/MenuPageOptions.php:441
652
  msgid "Show Stats in the WordPress Admin Bar?"
653
  msgstr ""
654
 
655
- #: src/includes/classes/MenuPageOptions.php:443
656
  msgid "Yes, enable stats in the WordPress admin bar."
657
  msgstr ""
658
 
659
- #: src/includes/classes/MenuPageOptions.php:444
660
  msgid "No, I'll review stats from the menu page in WordPress if I need to."
661
  msgstr ""
662
 
663
- #: src/includes/classes/MenuPageOptions.php:448
664
  msgid "Allow Child Sites in a Network to See Stats in Admin Bar?"
665
  msgstr ""
666
 
667
- #: src/includes/classes/MenuPageOptions.php:449
668
  msgid "In a Multisite Network, each child site has stats of its own. If you want child sites to see cache-related stats in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed to see stats. For example, if I want the Administrator to see stats in their Admin Bar, I could enter <code>administrator</code> here. If I also want to show stats to Editors, I can use a comma-delimited list: <code>administrator,editor</code>. Or, I could use a single Capability of: <code>edit_others_posts</code>; which covers both Administrators &amp; Editors at the same time."
669
  msgstr ""
670
 
671
- #: src/includes/classes/MenuPageOptions.php:456
672
  msgid "Allow Others to See Stats in Admin Bar?"
673
  msgstr ""
674
 
675
- #: src/includes/classes/MenuPageOptions.php:457
676
  msgid "If you want others to see cache-related stats in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed to see stats. For example, if I want Editors to see stats in their Admin Bar, I could enter <code>editor</code> here. If I also want to show stats to Authors, I can use a comma-delimited list: <code>editor,author</code>. Or, I could use a single Capability of: <code>publish_posts</code>; which covers both Editors &amp; Authors at the same time."
677
  msgstr ""
678
 
679
- #: src/includes/classes/MenuPageOptions.php:473
680
  msgid "Cache Directory"
681
  msgstr ""
682
 
683
- #: src/includes/classes/MenuPageOptions.php:477
684
  msgid "Base Cache Directory (Must be Writable; i.e., <a href=\"http://cometcache.com/r/wp-file-permissions/\" target=\"_blank\">Permissions</a> <code>755</code> or Higher)"
685
  msgstr ""
686
 
687
- #: src/includes/classes/MenuPageOptions.php:478
688
  msgid "This is where %1$s will store the cached version of your site. If you're not sure how to deal with directory permissions, don't worry too much about this. If there is a problem, %1$s will let you know about it. By default, this directory is created by %1$s and the permissions are setup automatically. In most cases there is nothing more you need to do."
689
  msgstr ""
690
 
691
- #: src/includes/classes/MenuPageOptions.php:489
692
  msgid "Cache Expiration Time"
693
  msgstr ""
694
 
695
- #: src/includes/classes/MenuPageOptions.php:494
696
  msgid "Automatic Expiration Time (Max Age)"
697
  msgstr ""
698
 
699
- #: src/includes/classes/MenuPageOptions.php:495
700
  msgid "If you don't update your site much, you could set this to <code>6 months</code> and optimize everything even further. The longer the Cache Expiration Time is, the greater your performance gain. Alternatively, the shorter the Expiration Time, the fresher everything will remain on your site. A default value of <code>7 days</code> (recommended); is a good conservative middle-ground."
701
  msgstr ""
702
 
703
- #: src/includes/classes/MenuPageOptions.php:496
704
  msgid "Keep in mind that your Expiration Time is only one part of the big picture. %1$s will also clear the cache automatically as changes are made to the site (i.e., you edit a post, someone comments on a post, you change your theme, you add a new navigation menu item, etc., etc.). Thus, your Expiration Time is really just a fallback; e.g., the maximum amount of time that a cache file could ever possibly live."
705
  msgstr ""
706
 
707
- #: src/includes/classes/MenuPageOptions.php:497
708
  msgid "All of that being said, you could set this to just <code>60 seconds</code> and you would still see huge differences in speed and performance. If you're just starting out with %1$s (perhaps a bit nervous about old cache files being served to your visitors); you could set this to something like <code>30 minutes</code> and experiment with it while you build confidence in %1$s. It's not necessary to do so, but many site owners have reported this makes them feel like they're more-in-control when the cache has a short expiration time. All-in-all, it's a matter of preference <i class=\"si si-smile-o\"></i>."
709
  msgstr ""
710
 
711
- #: src/includes/classes/MenuPageOptions.php:499
712
  msgid "<strong>Tip:</strong> the value that you specify here MUST be compatible with PHP's <a href=\"http://php.net/manual/en/function.strtotime.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>strtotime()</code></a> function. Examples: <code>30 seconds</code>, <code>2 hours</code>, <code>7 days</code>, <code>6 months</code>, <code>1 year</code>."
713
  msgstr ""
714
 
715
- #: src/includes/classes/MenuPageOptions.php:500
716
  msgid "<strong>Note:</strong> %1$s will never serve a cache file that is older than what you specify here (even if one exists in your cache directory; stale cache files are never used). In addition, a WP Cron job will automatically cleanup your cache directory (once per hour); purging expired cache files periodically. This prevents a HUGE cache from building up over time, creating a potential storage issue."
717
  msgstr ""
718
 
719
- #: src/includes/classes/MenuPageOptions.php:504
720
  msgid "Cache Cleanup Schedule"
721
  msgstr ""
722
 
723
- #: src/includes/classes/MenuPageOptions.php:505
724
  msgid "If you have an extremely large site and you lower the default Cache Expiration Time of <code>7 days</code>, expired cache files can build up more quickly. By default, %1$s cleans up expired cache files via <a href=\"http://cometcache.com/r/wp_cron-functions/\" target=\"_blank\">WP Cron</a> at an <code>hourly</code> interval, but you can tell %1$s to use a custom Cache Cleanup Schedule below to run the cleanup process more or less frequently, depending on your specific needs."
725
  msgstr ""
726
 
727
- #: src/includes/classes/MenuPageOptions.php:517
728
  msgid "Disable Cache Expiration If Server Load Average is High?"
729
  msgstr ""
730
 
731
- #: src/includes/classes/MenuPageOptions.php:518
732
  msgid "If you have high traffic at certain times of the day, %1$s can be told to check the current load average via <a href=\"http://cometcache.com/r/system-load-average-via-php/\" target=\"_blank\"><code>sys_getloadavg()</code></a>. If your server's load average has been high in the last 15 minutes or so, cache expiration is disabled automatically to help reduce stress on the server; i.e., to avoid generating a new version of the cache while the server is very busy."
733
  msgstr ""
734
 
735
- #: src/includes/classes/MenuPageOptions.php:519
736
  msgid "To enable this functionality you should first determine what a high load average is for your server. If you log into your machine via SSH you can run the <code>top</code> command to get a feel for what a high load average looks like. Once you know the number, you can enter it in the field below; e.g., <code>1.05</code> might be a high load average for a server with one CPU. See also: <a href=\"http://cometcache.com/r/understanding-load-average/\" target=\"_blank\">Understanding Load Average</a>"
737
  msgstr ""
738
 
739
- #: src/includes/classes/MenuPageOptions.php:522
740
  msgid "<strong>Note:</strong> It appears that your server is running Windows. The <code>sys_getloadavg()</code> function has not been implemented in PHP for Windows servers yet."
741
  msgstr ""
742
 
743
- #: src/includes/classes/MenuPageOptions.php:524
744
  msgid "<strong>Note:</strong> <code>sys_getloadavg()</code> has been disabled by your web hosting company or is not available on your server."
745
  msgstr ""
746
 
747
- #: src/includes/classes/MenuPageOptions.php:537
748
  msgid "Client-Side Cache"
749
  msgstr ""
750
 
751
- #: src/includes/classes/MenuPageOptions.php:542
752
  msgid "Allow Double-Caching In The Client-Side Browser?"
753
  msgstr ""
754
 
755
- #: src/includes/classes/MenuPageOptions.php:543
756
  msgid "Recommended setting: <code>No</code> (for membership sites, very important). Otherwise, <code>Yes</code> would be better (if users do NOT log in/out of your site)."
757
  msgstr ""
758
 
759
- #: src/includes/classes/MenuPageOptions.php:544
760
  msgid "%1$s handles content delivery through its ability to communicate with a browser using PHP. If you allow a browser to (cache) the caching system itself, you are momentarily losing some control; and this can have a negative impact on users that see more than one version of your site; e.g., one version while logged-in, and another while NOT logged-in. For instance, a user may log out of your site, but upon logging out they report seeing pages on the site which indicate they are STILL logged in (even though they're not — that's bad). This can happen if you allow a client-side cache, because their browser may cache web pages they visited while logged into your site which persist even after logging out. Sending no-cache headers will work to prevent this issue."
761
  msgstr ""
762
 
763
- #: src/includes/classes/MenuPageOptions.php:545
764
  msgid "All of that being said, if all you care about is blazing fast speed and users don't log in/out of your site (only you do); you can safely set this to <code>Yes</code> (recommended in this case). Allowing a client-side browser cache will improve speed and reduce outgoing bandwidth when this option is feasible."
765
  msgstr ""
766
 
767
- #: src/includes/classes/MenuPageOptions.php:547
768
  msgid "No, prevent a client-side browser cache (safest option)."
769
  msgstr ""
770
 
771
- #: src/includes/classes/MenuPageOptions.php:548
772
  msgid "Yes, I will allow a client-side browser cache of pages on the site."
773
  msgstr ""
774
 
775
- #: src/includes/classes/MenuPageOptions.php:550
776
  msgid "<strong>Tip:</strong> Setting this to <code>No</code> is highly recommended when running a membership plugin like <a href=\"http://wordpress.org/plugins/s2member/\" target=\"_blank\">s2Member</a> (as one example). In fact, many plugins like s2Member will send <a href=\"http://codex.wordpress.org/Function_Reference/nocache_headers\" target=\"_blank\">nocache_headers()</a> on their own, so your configuration here will likely be overwritten when you run such plugins (which is better anyway). In short, if you run a membership plugin, you should NOT allow a client-side browser cache."
777
  msgstr ""
778
 
779
- #: src/includes/classes/MenuPageOptions.php:551
780
  msgid "<strong>Tip:</strong> Setting this to <code>No</code> will NOT impact static content; e.g., CSS, JS, images, or other media. This setting pertains only to dynamic PHP scripts which produce content generated by WordPress."
781
  msgstr ""
782
 
783
- #: src/includes/classes/MenuPageOptions.php:552
784
  msgid "<strong>Advanced Tip:</strong> if you have this set to <code>No</code>, but you DO want to allow a few special URLs to be cached by the browser; you can add this parameter to your URL <code>?%2$sABC=1</code>. This tells %1$s that it's OK for the browser to cache that particular URL. In other words, the <code>%2$sABC=1</code> parameter tells %1$s NOT to send no-cache headers to the browser."
785
  msgstr ""
786
 
787
- #: src/includes/classes/MenuPageOptions.php:553
788
  msgid "Exclusion Patterns for Client-Side Caching"
789
  msgstr ""
790
 
791
- #: src/includes/classes/MenuPageOptions.php:554
792
  msgid "When you enable Client-Side Caching above, you may want to prevent certain pages on your site from being cached by a client-side browser. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
793
  msgstr ""
794
 
795
- #: src/includes/classes/MenuPageOptions.php:556
796
- #: src/includes/classes/MenuPageOptions.php:680
797
- #: src/includes/classes/MenuPageOptions.php:841
798
  msgid "<strong>Tip:</strong> let's use this example URL: <code>http://www.example.com/post/example-post-123</code>. To exclude this URL, you would put this line into the field above: <code>/post/example-post-123</code>. Or, you could also just put in a small fragment, like: <code>example</code> or <code>example-*-123</code> and that would exclude any URI containing that word fragment."
799
  msgstr ""
800
 
801
- #: src/includes/classes/MenuPageOptions.php:557
802
- #: src/includes/classes/MenuPageOptions.php:681
803
- #: src/includes/classes/MenuPageOptions.php:699
804
- #: src/includes/classes/MenuPageOptions.php:717
805
- #: src/includes/classes/MenuPageOptions.php:833
806
- #: src/includes/classes/MenuPageOptions.php:837
807
- #: src/includes/classes/MenuPageOptions.php:842
808
- #: src/includes/classes/MenuPageOptions.php:959
809
  msgid "<strong>Note:</strong> please remember that your entries here should be formatted as a line-delimited list; e.g., one exclusion pattern per line."
810
  msgstr ""
811
 
812
- #: src/includes/classes/MenuPageOptions.php:568
813
  msgid "Logged-In Users"
814
  msgstr ""
815
 
816
- #: src/includes/classes/MenuPageOptions.php:573
817
  msgid "Caching Enabled for Logged-In Users &amp; Comment Authors?"
818
  msgstr ""
819
 
820
- #: src/includes/classes/MenuPageOptions.php:574
821
  msgid "This should almost ALWAYS be set to <code>No</code>. Most sites will NOT want to cache content generated while a user is logged-in. Doing so could result in a cache of dynamic content generated specifically for a particular user, where the content being cached may contain details that pertain only to the user that was logged-in when the cache was generated. Imagine visiting a website that says you're logged-in as Billy Bob (but you're not Billy Bob; NOT good). In short, do NOT turn this on unless you know what you're doing."
822
  msgstr ""
823
 
824
- #: src/includes/classes/MenuPageOptions.php:576
825
  msgid "<strong>Exception (Membership Sites):</strong> If you run a site with many users and the majority of your traffic comes from users who ARE logged-in, please choose: <code>Yes (maintain separate cache)</code>. %1$s will operate normally; but when a user is logged-in, the cache is user-specific. %1$s will intelligently refresh the cache when/if a user submits a form on your site with the GET or POST method. Or, if you make changes to their account (or another plugin makes changes to their account); including user <a href=\"http://codex.wordpress.org/Function_Reference/update_user_option\" target=\"_blank\">option</a>|<a href=\"http://codex.wordpress.org/Function_Reference/update_user_meta\" target=\"_blank\">meta</a> additions, updates &amp; deletions too. However, please note that enabling this feature (e.g., user-specific cache entries); will eat up MUCH more disk space. That being said, the benefits of this feature for most sites will outweigh the disk overhead (e.g., it's NOT an issue in most cases). Unless you are short on disk space (or you have MANY thousands of users), the disk overhead is neglible."
826
  msgstr ""
827
 
828
- #: src/includes/classes/MenuPageOptions.php:578
829
  msgid "No, do NOT cache; or serve a cache file when a user is logged-in (safest option)."
830
  msgstr ""
831
 
832
- #: src/includes/classes/MenuPageOptions.php:579
833
  msgid "Yes, and maintain a separate cache for each user (recommended for membership sites)."
834
  msgstr ""
835
 
836
- #: src/includes/classes/MenuPageOptions.php:582
837
  msgid "Yes, but DON'T maintain a separate cache for each user (I know what I'm doing)."
838
  msgstr ""
839
 
840
- #: src/includes/classes/MenuPageOptions.php:586
841
  msgid "<strong>Warning:</strong> Whenever you enable caching for logged-in users (without a separate cache for each user), the WordPress Admin Bar <em>must</em> be disabled to prevent one user from seeing another user's details in the Admin Bar. <strong>Given your current configuration, %1$s will automatically hide the WordPress Admin Bar on the front-end of your site.</strong>"
842
  msgstr ""
843
 
844
- #: src/includes/classes/MenuPageOptions.php:588
845
  msgid "<strong>Note:</strong> For most sites, the majority of their traffic (if not all of their traffic) comes from visitors who are not logged in, so disabling the cache for logged-in users is NOT ordinarily a performance issue. When a user IS logged-in, disabling the cache is considered ideal, because a logged-in user has a session open with your site; and the content they view should remain very dynamic in this scenario."
846
  msgstr ""
847
 
848
- #: src/includes/classes/MenuPageOptions.php:589
849
  msgid "<strong>Note:</strong> This setting includes some users who AREN'T actually logged into the system, but who HAVE authored comments recently. %1$s includes comment authors as part of it's logged-in user check. This way comment authors will be able to see updates to the comment thread immediately; and, so that any dynamically-generated messages displayed by your theme will work as intended. In short, %1$s thinks of a comment author as a logged-in user, even though technically they are not. ~ Users who gain access to password-protected Posts/Pages are also included."
850
  msgstr ""
851
 
852
- #: src/includes/classes/MenuPageOptions.php:591
853
  msgid "Static CDN Filters Enabled for Logged-In Users &amp; Comment Authors?"
854
  msgstr ""
855
 
856
- #: src/includes/classes/MenuPageOptions.php:592
857
  msgid "While this defaults to a value of <code>No</code>, it should almost always be set to <code>Yes</code>. This value defaults to <code>No</code> only because Logged-In User caching (see above) defaults to <code>No</code> and setting this value to <code>Yes</code> by default can cause confusion for some users. Once you understand that Static CDN Filters can be applied safely for all visitors (logged-in or not logged-in), please choose <code>Yes</code> in the dropdown below. If you are not using Static CDN Filters, the value below is ignored."
858
  msgstr ""
859
 
860
- #: src/includes/classes/MenuPageOptions.php:594
861
  msgid "No, disable Static CDN Filters when a user is logged-in."
862
  msgstr ""
863
 
864
- #: src/includes/classes/MenuPageOptions.php:595
865
  msgid "Yes, enable Static CDN Filters for logged-in users (recommended) ."
866
  msgstr ""
867
 
868
- #: src/includes/classes/MenuPageOptions.php:597
869
  msgid "<strong>Note:</strong> Static CDN Filters serve <em>static</em> resources. Static resources, are, simply put, static. Thus, it is not a problem to cache these resources for any visitor (logged-in or not logged-in). To avoid confusion, this defaults to a value of <code>No</code>, and we ask that you set it to <code>Yes</code> on your own so that you'll know to expect this behavior; i.e., that static resources will always be served from the CDN (logged-in or not logged-in) even though Logged-In User caching may be disabled above."
870
  msgstr ""
871
 
872
- #: src/includes/classes/MenuPageOptions.php:607
873
  msgid "GET Requests"
874
  msgstr ""
875
 
876
- #: src/includes/classes/MenuPageOptions.php:612
877
  msgid "Caching Enabled for GET (Query String) Requests?"
878
  msgstr ""
879
 
880
- #: src/includes/classes/MenuPageOptions.php:613
881
  msgid "This should almost ALWAYS be set to <code>No</code>. UNLESS, you're using unfriendly Permalinks. In other words, if all of your URLs contain a query string (e.g., <code>/?key=value</code>); you're using unfriendly Permalinks. Ideally, you would refrain from doing this; and instead, update your Permalink options immediately; which also optimizes your site for search engines. That being said, if you really want to use unfriendly Permalinks, and ONLY if you're using unfriendly Permalinks, you should set this to <code>Yes</code>; and don't worry too much, the sky won't fall on your head :-)"
882
  msgstr ""
883
 
884
- #: src/includes/classes/MenuPageOptions.php:615
885
  msgid "No, do NOT cache (or serve a cache file) when a query string is present."
886
  msgstr ""
887
 
888
- #: src/includes/classes/MenuPageOptions.php:616
889
  msgid "Yes, I would like to cache URLs that contain a query string."
890
  msgstr ""
891
 
892
- #: src/includes/classes/MenuPageOptions.php:618
893
  msgid "<strong>Note:</strong> POST requests (i.e., forms with <code>method=&quot;post&quot;</code>) are always excluded from the cache, which is the way it should be. Any <a href=\"http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html\" target=\"_blank\">POST/PUT/DELETE</a> request should NEVER (ever) be cached. CLI (and self-serve) requests are also excluded from the cache (always). A CLI request is one that comes from the command line; commonly used by CRON jobs and other automated routines. A self-serve request is an HTTP connection established from your site -› to your site. For instance, a WP Cron job, or any other HTTP request that is spawned not by a user, but by the server itself."
894
  msgstr ""
895
 
896
- #: src/includes/classes/MenuPageOptions.php:619
897
  msgid "<strong>Advanced Tip:</strong> If you are NOT caching GET requests (recommended), but you DO want to allow some special URLs that include query string parameters to be cached; you can add this special parameter to any URL <code>?%2$sAC=1</code>. This tells %1$s that it's OK to cache that particular URL, even though it contains query string arguments. If you ARE caching GET requests and you want to force %1$s to NOT cache a specific request, you can add this special parameter to any URL <code>?%2$sAC=0</code>."
898
  msgstr ""
899
 
900
- #: src/includes/classes/MenuPageOptions.php:629
901
  msgid "404 Requests"
902
  msgstr ""
903
 
904
- #: src/includes/classes/MenuPageOptions.php:634
905
  msgid "Caching Enabled for 404 Requests?"
906
  msgstr ""
907
 
908
- #: src/includes/classes/MenuPageOptions.php:635
909
  msgid "When this is set to <code>No</code>, %1$s will ignore all 404 requests and no cache file will be served. While this is fine for most site owners, caching the 404 page on a high-traffic site may further reduce server load. When this is set to <code>Yes</code>, %1$s will cache the 404 page (see <a href=\"https://codex.wordpress.org/Creating_an_Error_404_Page\" target=\"_blank\">Creating an Error 404 Page</a>) and then serve that single cache file to all future 404 requests."
910
  msgstr ""
911
 
912
- #: src/includes/classes/MenuPageOptions.php:637
913
  msgid "No, do NOT cache (or serve a cache file) for 404 requests."
914
  msgstr ""
915
 
916
- #: src/includes/classes/MenuPageOptions.php:638
917
  msgid "Yes, I would like to cache the 404 page and serve the cached file for 404 requests."
918
  msgstr ""
919
 
920
- #: src/includes/classes/MenuPageOptions.php:640
921
  msgid "<strong>How does %1$s cache 404 requests?</strong> %1$s will create a special cache file (<code>----404----.html</code>, see Advanced Tip below) for the first 404 request and then <a href=\"http://www.php.net/manual/en/function.symlink.php\" target=\"_blank\">symlink</a> future 404 requests to this special cache file. That way you don't end up with lots of 404 cache files that all contain the same thing (the contents of the 404 page). Instead, you'll have one 404 cache file and then several symlinks (i.e., references) to that 404 cache file."
922
  msgstr ""
923
 
924
- #: src/includes/classes/MenuPageOptions.php:641
925
  msgid "<strong>Advanced Tip:</strong> The default 404 cache filename (<code>----404----.html</code>) is designed to minimize the chance of a collision with a cache file for a real page with the same name. However, if you want to override this default and define your own 404 cache filename, you can do so by adding <code>define('COMET_CACHE_404_CACHE_FILENAME', 'your-404-cache-filename');</code> to your <code>wp-config.php</code> file (note that the <code>.html</code> extension should be excluded when defining a new filename)."
926
  msgstr ""
927
 
928
- #: src/includes/classes/MenuPageOptions.php:651
929
  msgid "RSS, RDF, and Atom Feeds"
930
  msgstr ""
931
 
932
- #: src/includes/classes/MenuPageOptions.php:656
933
  msgid "Caching Enabled for RSS, RDF, Atom Feeds?"
934
  msgstr ""
935
 
936
- #: src/includes/classes/MenuPageOptions.php:657
937
  msgid "This should almost ALWAYS be set to <code>No</code>. UNLESS, you're sure that you want to cache your feeds. If you use a web feed management provider like Google® Feedburner and you set this option to <code>Yes</code>, you may experience delays in the detection of new posts. <strong>NOTE:</strong> If you do enable this, it is highly recommended that you also enable automatic Feed Clearing too. Please see the section above: \"Automatic Cache Clearing\". Find the sub-section titled: \"Auto-Clear RSS/RDF/ATOM Feeds\"."
938
  msgstr ""
939
 
940
- #: src/includes/classes/MenuPageOptions.php:659
941
  msgid "No, do NOT cache (or serve a cache file) when displaying a feed."
942
  msgstr ""
943
 
944
- #: src/includes/classes/MenuPageOptions.php:660
945
  msgid "Yes, I would like to cache feed URLs."
946
  msgstr ""
947
 
948
- #: src/includes/classes/MenuPageOptions.php:662
949
  msgid "<strong>Note:</strong> This option affects all feeds served by WordPress, including the site feed, the site comment feed, post-specific comment feeds, author feeds, search feeds, and category and tag feeds. See also: <a href=\"http://codex.wordpress.org/WordPress_Feeds\" target=\"_blank\">WordPress Feeds</a>."
950
  msgstr ""
951
 
952
- #: src/includes/classes/MenuPageOptions.php:672
953
  msgid "URI Exclusion Patterns"
954
  msgstr ""
955
 
956
- #: src/includes/classes/MenuPageOptions.php:676
957
  msgid "Don't Cache These Special URI Exclusion Patterns?"
958
  msgstr ""
959
 
960
- #: src/includes/classes/MenuPageOptions.php:677
961
  msgid "Sometimes there are certain cases where a particular file, or a particular group of files, should never be cached. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
962
  msgstr ""
963
 
964
- #: src/includes/classes/MenuPageOptions.php:691
965
  msgid "HTTP Referrer Exclusion Patterns"
966
  msgstr ""
967
 
968
- #: src/includes/classes/MenuPageOptions.php:695
969
  msgid "Don't Cache These Special HTTP Referrer Exclusion Patterns?"
970
  msgstr ""
971
 
972
- #: src/includes/classes/MenuPageOptions.php:696
973
  msgid "Sometimes there are special cases where a particular referring URL (or referring domain) that sends you traffic; or even a particular group of referring URLs or domains that send you traffic; should result in a page being loaded on your site that is NOT from the cache (and that resulting page should never be cached). This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"http://www.php.net//manual/en/reserved.variables.server.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>HTTP_REFERER</code></a> (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>*.domain.com</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
974
  msgstr ""
975
 
976
- #: src/includes/classes/MenuPageOptions.php:698
977
  msgid "<strong>Tip:</strong> let's use this example URL: <code>http://www.referring-domain.com/search/?q=search+terms</code>. To exclude this referring URL, you could put this line into the field above: <code>www.referring-domain.com</code>. Or, you could also just put in a small fragment, like: <code>/search/</code> or <code>q=*</code>; and that would exclude any referrer containing that word fragment."
978
  msgstr ""
979
 
980
- #: src/includes/classes/MenuPageOptions.php:709
981
  msgid "User-Agent Exclusion Patterns"
982
  msgstr ""
983
 
984
- #: src/includes/classes/MenuPageOptions.php:713
985
  msgid "Don't Cache These Special User-Agent Exclusion Patterns?"
986
  msgstr ""
987
 
988
- #: src/includes/classes/MenuPageOptions.php:714
989
  msgid "Sometimes there are special cases when a particular user-agent (e.g., a specific browser or a specific type of device); should be shown a page on your site that is NOT from the cache (and that resulting page should never be cached). This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"http://www.php.net//manual/en/reserved.variables.server.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>HTTP_USER_AGENT</code></a> (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>Android *; Chrome/* Mobile</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
990
  msgstr ""
991
 
992
- #: src/includes/classes/MenuPageOptions.php:716
993
  msgid "<strong>Tip:</strong> if you wanted to exclude iPhones put this line into the field above: <code>iPhone;*AppleWebKit</code>. Or, you could also just put in a small fragment, like: <code>iphone</code>; and that would exclude any user-agent containing that word fragment. Note, this is just an example. With a default installation of %1$s, there is no compelling reason to exclude iOS devices (or any mobile device for that matter)."
994
  msgstr ""
995
 
996
- #: src/includes/classes/MenuPageOptions.php:728
997
  msgid "Auto-Cache Engine"
998
  msgstr ""
999
 
1000
- #: src/includes/classes/MenuPageOptions.php:733
1001
  msgid "Enable the Auto-Cache Engine?"
1002
  msgstr ""
1003
 
1004
- #: src/includes/classes/MenuPageOptions.php:734
1005
  msgid "After using %1$s for awhile (or any other page caching plugin, for that matter); it becomes obvious that at some point (based on your configured Expiration Time) %1$s has to refresh itself. It does this by ditching its cached version of a page, reloading the database-driven content, and then recreating the cache with the latest data. This is a never ending regeneration cycle that is based entirely on your configured Expiration Time."
1006
  msgstr ""
1007
 
1008
- #: src/includes/classes/MenuPageOptions.php:735
1009
  msgid "Understanding this, you can see that 99% of your visitors are going to receive a lightning fast response from your server. However, there will always be around 1% of your visitors that land on a page for the very first time (before it's been cached), or land on a page that needs to have its cache regenerated, because the existing cache has become outdated. We refer to this as a <em>First-Come Slow-Load Issue</em>. Not a huge problem, but if you're optimizing your site for every ounce of speed possible, the Auto-Cache Engine can help with this. The Auto-Cache Engine has been designed to combat this issue by taking on the responsibility of being that first visitor to a page that has not yet been cached, or has an expired cache. The Auto-Cache Engine is powered, in part, by <a href=\"http://codex.wordpress.org/Category:WP-Cron_Functions\" target=\"_blank\">WP-Cron</a> (already built into WordPress). The Auto-Cache Engine runs at 15-minute intervals via WP-Cron. It also uses the <a href=\"http://core.trac.wordpress.org/browser/trunk/wp-includes/http.php\" target=\"_blank\">WP_Http</a> class, which is also built into WordPress already."
1010
  msgstr ""
1011
 
1012
- #: src/includes/classes/MenuPageOptions.php:736
1013
  msgid "The Auto-Cache Engine obtains its list of URLs to auto-cache, from two different sources. It can read an <a href=\"http://wordpress.org/extend/plugins/google-sitemap-generator/\" target=\"_blank\">XML Sitemap</a> and/or a list of specific URLs that you supply. If you supply both sources, it will use both sources collectively. The Auto-Cache Engine takes ALL of your other configuration options into consideration too, including your Expiration Time, as well as any cache exclusion rules."
1014
  msgstr ""
1015
 
1016
- #: src/includes/classes/MenuPageOptions.php:738
1017
  msgid "No, leave the Auto-Cache Engine disabled please."
1018
  msgstr ""
1019
 
1020
- #: src/includes/classes/MenuPageOptions.php:739
1021
  msgid "Yes, I want the Auto-Cache Engine to keep pages cached automatically."
1022
  msgstr ""
1023
 
1024
- #: src/includes/classes/MenuPageOptions.php:745
1025
  msgid "XML Sitemap URL (or an XML Sitemap Index)"
1026
  msgstr ""
1027
 
1028
- #: src/includes/classes/MenuPageOptions.php:749
1029
  msgid "All URLs in this network are in the sitemap for the main site."
1030
  msgstr ""
1031
 
1032
- #: src/includes/classes/MenuPageOptions.php:750
1033
  msgid "Using the path I've given, look for blog-specific sitemaps in each child blog also."
1034
  msgstr ""
1035
 
1036
- #: src/includes/classes/MenuPageOptions.php:752
1037
  msgid "<strong>↑</strong> If enabled here, each child blog can be auto-cached too. %1$s will dynamically change the leading <code>%2$s</code> as necessary; for each child blog in the network. %1$s supports both sub-directory &amp; sub-domain networks, including domain mapping plugins. For more information about how the Auto-Cache Engine caches child blogs, see <a href=\"http://cometcache.com/r/kb-article-how-does-the-auto-cache-engine-cache-child-blogs-in-a-multisite-network/\" target=\"_blank\">this article</a>."
1038
  msgstr ""
1039
 
1040
- #: src/includes/classes/MenuPageOptions.php:756
1041
  msgid "And/Or; a List of URLs to Auto-Cache (One Per Line)"
1042
  msgstr ""
1043
 
1044
- #: src/includes/classes/MenuPageOptions.php:758
1045
  msgid "<strong>Note:</strong> Wildcards are NOT supported here. If you are going to supply a list of URLs above, each line must contain one full URL for the Auto-Cache Engine to auto-cache. If you have many URLs, we recommend using an <a href=\"https://en.wikipedia.org/wiki/Sitemaps\" target=\"_blank\">XML Sitemap</a>."
1046
  msgstr ""
1047
 
1048
- #: src/includes/classes/MenuPageOptions.php:762
1049
  msgid "Auto-Cache Delay Timer (in Milliseconds)"
1050
  msgstr ""
1051
 
1052
- #: src/includes/classes/MenuPageOptions.php:763
1053
  msgid "As the Auto-Cache Engine runs through each URL, you can tell it to wait X number of milliseconds between each connection that it makes. It is strongly suggested that you DO have some small delay here. Otherwise, you run the risk of hammering your own web server with multiple repeated connections whenever the Auto-Cache Engine is running. This is especially true on very large sites; where there is the potential for hundreds of repeated connections as the Auto-Cache Engine goes through a long list of URLs. Adding a delay between each connection will prevent the Auto-Cache Engine from placing a heavy load on the processor that powers your web server. A value of <code>500</code> milliseconds is suggested here (half a second). If you experience problems, you can bump this up a little at a time, in increments of <code>500</code> milliseconds; until you find a happy place for your server. <em>Please note that <code>1000</code> milliseconds = <code>1</code> full second.</em>"
1054
  msgstr ""
1055
 
1056
- #: src/includes/classes/MenuPageOptions.php:768
1057
  msgid "Auto-Cache User-Agent String"
1058
  msgstr ""
1059
 
1060
- #: src/includes/classes/MenuPageOptions.php:770
1061
  msgid "This is how the Auto-Cache Engine identifies itself when connecting to URLs. See <a href=\"http://en.wikipedia.org/wiki/User_agent\" target=\"_blank\">User Agent</a> in the Wikipedia."
1062
  msgstr ""
1063
 
1064
- #: src/includes/classes/MenuPageOptions.php:782
1065
  msgid "HTML Compression"
1066
  msgstr ""
1067
 
1068
- #: src/includes/classes/MenuPageOptions.php:787
1069
  msgid "Enable WebSharks™ HTML Compression?"
1070
  msgstr ""
1071
 
1072
- #: src/includes/classes/MenuPageOptions.php:789
1073
  msgid "No, do NOT compress HTML/CSS/JS code at runtime."
1074
  msgstr ""
1075
 
1076
- #: src/includes/classes/MenuPageOptions.php:790
1077
  msgid "Yes, I want to compress HTML/CSS/JS for blazing fast speeds."
1078
  msgstr ""
1079
 
1080
- #: src/includes/classes/MenuPageOptions.php:792
1081
  msgid "<strong>Note:</strong> This is experimental. Please <a href=\"https://github.com/websharks/comet-cache/issues\" target=\"_blank\">report issues here</a>."
1082
  msgstr ""
1083
 
1084
- #: src/includes/classes/MenuPageOptions.php:795
1085
  msgid "HTML Compression Options"
1086
  msgstr ""
1087
 
1088
- #: src/includes/classes/MenuPageOptions.php:796
1089
  msgid "You can <a href=\"https://github.com/websharks/html-compressor\" target=\"_blank\">learn more about all of these options here</a>."
1090
  msgstr ""
1091
 
1092
- #: src/includes/classes/MenuPageOptions.php:798
1093
  msgid "Yes, combine CSS from &lt;head&gt; and &lt;body&gt; into fewer files."
1094
  msgstr ""
1095
 
1096
- #: src/includes/classes/MenuPageOptions.php:799
1097
  msgid "No, do not combine CSS from &lt;head&gt; and &lt;body&gt; into fewer files."
1098
  msgstr ""
1099
 
1100
- #: src/includes/classes/MenuPageOptions.php:802
1101
  msgid "Yes, compress the code in any unified CSS files."
1102
  msgstr ""
1103
 
1104
- #: src/includes/classes/MenuPageOptions.php:803
1105
  msgid "No, do not compress the code in any unified CSS files."
1106
  msgstr ""
1107
 
1108
- #: src/includes/classes/MenuPageOptions.php:806
1109
  msgid "Yes, combine JS from &lt;head&gt; into fewer files."
1110
  msgstr ""
1111
 
1112
- #: src/includes/classes/MenuPageOptions.php:807
1113
  msgid "No, do not combine JS from &lt;head&gt; into fewer files."
1114
  msgstr ""
1115
 
1116
- #: src/includes/classes/MenuPageOptions.php:810
1117
  msgid "Yes, combine JS footer scripts into fewer files."
1118
  msgstr ""
1119
 
1120
- #: src/includes/classes/MenuPageOptions.php:811
1121
  msgid "No, do not combine JS footer scripts into fewer files."
1122
  msgstr ""
1123
 
1124
- #: src/includes/classes/MenuPageOptions.php:814
1125
  msgid "Yes, combine CSS/JS from remote resources too."
1126
  msgstr ""
1127
 
1128
- #: src/includes/classes/MenuPageOptions.php:815
1129
  msgid "No, do not combine CSS/JS from remote resources."
1130
  msgstr ""
1131
 
1132
- #: src/includes/classes/MenuPageOptions.php:818
1133
  msgid "Yes, compress the code in any unified JS files."
1134
  msgstr ""
1135
 
1136
- #: src/includes/classes/MenuPageOptions.php:819
1137
  msgid "No, do not compress the code in any unified JS files."
1138
  msgstr ""
1139
 
1140
- #: src/includes/classes/MenuPageOptions.php:822
1141
  msgid "Yes, compress inline JavaScript snippets."
1142
  msgstr ""
1143
 
1144
- #: src/includes/classes/MenuPageOptions.php:823
1145
  msgid "No, do not compress inline JavaScript snippets."
1146
  msgstr ""
1147
 
1148
- #: src/includes/classes/MenuPageOptions.php:826
1149
  msgid "Yes, compress (remove extra whitespace) in the final HTML code too."
1150
  msgstr ""
1151
 
1152
- #: src/includes/classes/MenuPageOptions.php:827
1153
  msgid "No, do not compress the final HTML code."
1154
  msgstr ""
1155
 
1156
- #: src/includes/classes/MenuPageOptions.php:830
1157
  msgid "CSS Exclusion Patterns?"
1158
  msgstr ""
1159
 
1160
- #: src/includes/classes/MenuPageOptions.php:831
1161
  msgid "Sometimes there are special cases when a particular CSS file should NOT be consolidated or compressed in any way. This is where you will enter those if you need to (one per line). Searches are performed against the <code>&lt;link href=&quot;&quot;&gt;</code> value, and also against the contents of any inline <code>&lt;style&gt;</code> tags (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>xy*-framework</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1162
  msgstr ""
1163
 
1164
- #: src/includes/classes/MenuPageOptions.php:834
1165
  msgid "JavaScript Exclusion Patterns?"
1166
  msgstr ""
1167
 
1168
- #: src/includes/classes/MenuPageOptions.php:835
1169
  msgid "Sometimes there are special cases when a particular JS file should NOT be consolidated or compressed in any way. This is where you will enter those if you need to (one per line). Searches are performed against the <code>&lt;script src=&quot;&quot;&gt;</code> value, and also against the contents of any inline <code>&lt;script&gt;</code> tags (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>xy*-framework</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1170
  msgstr ""
1171
 
1172
- #: src/includes/classes/MenuPageOptions.php:838
1173
  msgid "URI Exclusions for HTML Compressor?"
1174
  msgstr ""
1175
 
1176
- #: src/includes/classes/MenuPageOptions.php:839
1177
  msgid "When you enable HTML Compression above, you may want to prevent certain pages on your site from being cached by the HTML Compressor. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1178
  msgstr ""
1179
 
1180
- #: src/includes/classes/MenuPageOptions.php:844
1181
  msgid "HTML Compression Cache Expiration"
1182
  msgstr ""
1183
 
1184
- #: src/includes/classes/MenuPageOptions.php:846
1185
  msgid "<strong>Tip:</strong> the value that you specify here MUST be compatible with PHP's <a href=\"http://php.net/manual/en/function.strtotime.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>strtotime()</code></a> function. Examples: <code>2 hours</code>, <code>7 days</code>, <code>6 months</code>, <code>1 year</code>."
1186
  msgstr ""
1187
 
1188
- #: src/includes/classes/MenuPageOptions.php:847
1189
  msgid "<strong>Note:</strong> This does NOT impact the overall cache expiration time that you configure with %1$s. It only impacts the sub-routines provided by the HTML Compressor. In fact, this expiration time is mostly irrelevant. The HTML Compressor uses an internal checksum, and it also checks <code>filemtime()</code> before using an existing cache file. The HTML Compressor class also handles the automatic cleanup of your cache directories to keep it from growing too large over time. Therefore, unless you have VERY little disk space there is no reason to set this to a lower value (even if your site changes dynamically quite often). If anything, you might like to increase this value which could help to further reduce server load. You can <a href=\"https://github.com/websharks/HTML-Compressor\" target=\"_blank\">learn more here</a>. We recommend setting this value to at least double that of your overall %1$s expiration time."
1190
  msgstr ""
1191
 
1192
- #: src/includes/classes/MenuPageOptions.php:858
1193
  msgid "GZIP Compression"
1194
  msgstr ""
1195
 
1196
- #: src/includes/classes/MenuPageOptions.php:863
1197
  msgid "<a href=\"https://developers.google.com/speed/articles/gzip\" target=\"_blank\">GZIP Compression</a> (Optional; Highly Recommended)"
1198
  msgstr ""
1199
 
1200
- #: src/includes/classes/MenuPageOptions.php:864
1201
  msgid "You don't have to use an <code>.htaccess</code> file to enjoy the performance enhancements provided by this plugin; caching is handled automatically by WordPress/PHP alone. That being said, if you want to take advantage of the additional speed enhancements associated w/ GZIP compression (and we do recommend this), then you WILL need an <code>.htaccess</code> file to accomplish that part."
1202
  msgstr ""
1203
 
1204
- #: src/includes/classes/MenuPageOptions.php:865
1205
  msgid "%1$s fully supports GZIP compression on its output. However, it does not handle GZIP compression directly. We purposely left GZIP compression out of this plugin, because GZIP compression is something that should really be enabled at the Apache level or inside your <code>php.ini</code> file. GZIP compression can be used for things like JavaScript and CSS files as well, so why bother turning it on for only WordPress-generated pages when you can enable GZIP at the server level and cover all the bases!"
1206
  msgstr ""
1207
 
1208
- #: src/includes/classes/MenuPageOptions.php:866
1209
  msgid "If you want to enable GZIP, create an <code>.htaccess</code> file in your WordPress® installation directory, and put the following few lines in it. Alternatively, if you already have an <code>.htaccess</code> file, just add these lines to it, and that is all there is to it. GZIP is now enabled in the recommended way! See also: <a href=\"https://developers.google.com/speed/articles/gzip\" target=\"_blank\"><i class=\"si si-youtube-play\"></i> video about GZIP Compression</a>."
1210
  msgstr ""
1211
 
1212
- #: src/includes/classes/MenuPageOptions.php:880
1213
  msgid "Static CDN Filters"
1214
  msgstr ""
1215
 
1216
- #: src/includes/classes/MenuPageOptions.php:884
1217
  msgid "Clear CDN Cache (Bump CDN Invalidation Counter)"
1218
  msgstr ""
1219
 
1220
- #: src/includes/classes/MenuPageOptions.php:884
1221
  msgid "Clear CDN Cache"
1222
  msgstr ""
1223
 
1224
- #: src/includes/classes/MenuPageOptions.php:885
1225
  msgid "Enable Static CDN Filters (e.g., MaxCDN/CloudFront)?"
1226
  msgstr ""
1227
 
1228
- #: src/includes/classes/MenuPageOptions.php:886
1229
  msgid "This feature allows you to serve some and/or ALL static files on your site from a CDN of your choosing. This is made possible through content/URL filters exposed by WordPress and implemented by %1$s. All it requires is that you setup a CDN host name sourced by your WordPress installation domain. You enter that CDN host name below and %1$s will do the rest! Super easy, and it doesn't require any DNS changes either. :-) Please <a href=\"http://cometcache.com/r/static-cdn-filters-general-instructions/\" target=\"_blank\">click here</a> for a general set of instructions."
1230
  msgstr ""
1231
 
1232
- #: src/includes/classes/MenuPageOptions.php:887
1233
  msgid "<strong>What's a CDN?</strong> It's a Content Delivery Network (i.e., a network of optimized servers) designed to cache static resources served from your site (e.g., JS/CSS/images and other static files) onto it's own servers, which are located strategically in various geographic areas around the world. Integrating a CDN for static files can dramatically improve the speed and performance of your site, lower the burden on your own server, and reduce latency associated with visitors attempting to access your site from geographic areas of the world that might be very far away from the primary location of your own web servers."
1234
  msgstr ""
1235
 
1236
- #: src/includes/classes/MenuPageOptions.php:890
1237
  msgid "It appears that your server is running NGINX and does not support <code>.htaccess</code> rules. Please <a href=\"http://cometcache.com/r/kb-article-recommended-nginx-server-configuration/\" target=\"_new\">update your server configuration manually</a>. Note that updating your NGINX server configuration <em>before</em> enabling Static CDN Filters is recommended to prevent any <a href=\"http://cometcache.com/r/kb-article-what-are-cross-origin-request-blocked-cors-errors/\" target=\"_new\">CORS errors</a> with your CDN. If you've already updated your NGINX configuration, you can safely <a href=\"http://cometcache.com/r/kb-article-how-do-i-disable-the-nginx-htaccess-notice/\" target=\"_new\">ignore this message</a>."
1238
  msgstr ""
1239
 
1240
- #: src/includes/classes/MenuPageOptions.php:894
1241
  msgid "No, I do NOT want CDN filters applied at runtime."
1242
  msgstr ""
1243
 
1244
- #: src/includes/classes/MenuPageOptions.php:895
1245
  msgid "Yes, I want CDN filters applied w/ my configuration below."
1246
  msgstr ""
1247
 
1248
- #: src/includes/classes/MenuPageOptions.php:902
1249
  msgid "CDN Host Name (Required)"
1250
  msgstr ""
1251
 
1252
- #: src/includes/classes/MenuPageOptions.php:908
1253
  msgid "This field is really all that's necessary to get Static CDN Filters working! However, it does requires a little bit of work on your part. You need to setup and configure a CDN before you can fill in this field. Once you configure a CDN, you'll receive a host name (provided by your CDN), which you'll enter here; e.g., <code>js9dgjsl4llqpp.cloudfront.net</code>. We recommend <a href=\"http://cometcache.com/r/maxcdn/\" target=\"_blank\">MaxCDN</a>, <a href=\"http://cometcache.com/r/amazon-cloudfront/\" target=\"_blank\">Amazon CloudFront</a>, <a href=\"http://cometcache.com/r/keycdn/\" target=\"_blank\">KeyCDN</a>, and/or <a href=\"http://cometcache.com/r/cdn77/\" target=\"_blank\">CDN77</a> but this should work with many of the most popular CDNs. Please read <a href=\"http://cometcache.com/r/static-cdn-filters-general-instructions/\" target=\"_blank\">this article</a> for a general set of instructions. We also have a <a href=\"http://cometcache.com/r/static-cdn-filters-maxcdn/\" target=\"_blank\">MaxCDN tutorial</a>, <a href=\"http://cometcache.com/r/static-cdn-filters-cloudfront/\" target=\"_blank\">CloudFront tutorial</a>, <a href=\"http://cometcache.com/r/static-cdn-filters-keycdn/\" target=\"_blank\">KeyCDN tutorial</a>, and a <a href=\"http://cometcache.com/r/static-cdn-filters-cdn77/\" target=\"_blank\">CDN77 tutorial</a> to walk you through the process."
1254
  msgstr ""
1255
 
1256
- #: src/includes/classes/MenuPageOptions.php:913
1257
  msgid "Multiple CDN Host Names for Domain Sharding and Multisite Networks (Optional)"
1258
  msgstr ""
1259
 
1260
- #: src/includes/classes/MenuPageOptions.php:914
1261
  msgid "%1$s also supports multiple CDN Host Names for any given domain. Using multiple CDN Host Names (instead of just one, as seen above) is referred to as <strong><a href=\"http://cometcache.com/r/domain-sharding/\" target=\"_blank\">Domain Sharding</a></strong> (<a href=\"http://cometcache.com/r/domain-sharding/\" target=\"_blank\">click here to learn more</a>). If you configure multiple CDN Host Names (i.e., if you implement Domain Sharding), %1$s will use the first one that you list for static resources loaded in the HTML <code>&lt;head&gt;</code> section, the last one for static resources loaded in the footer, and it will choose one at random for all other static resource locations. Configuring multiple CDN Host Names can improve speed! This is a way for advanced site owners to work around concurrency limits in popular browsers; i.e., making it possible for browsers to download many more resources simultaneously, resulting in a faster overall completion time. In short, this tells the browser that your website will not be overloaded by concurrent requests, because static resources are in fact being served by a content-delivery network (i.e., multiple CDN host names). If you use this functionality for Domain Sharding, we suggest that you setup one CDN Distribution (aka: Pull Zone), and then create multiple CNAME records pointing to that distribution. You can enter each of your CNAMES in the field below, as instructed."
1262
  msgstr ""
1263
 
1264
- #: src/includes/classes/MenuPageOptions.php:915
1265
  msgid "<strong>On WordPress Multisite Network installations</strong>, this field also allows you to configure different CDN Host Names for each domain (or sub-domain) that you run from a single installation of WordPress. For more information about configuring Static CDN Filters on a WordPress Multisite Network, see this tutorial: <a href=\"http://cometcache.com/r/static-cdn-filters-for-wordpress-multisite-networks/\" target=\"_blank\">Static CDN Filters for WordPress Multisite Networks</a>."
1266
  msgstr ""
1267
 
1268
- #: src/includes/classes/MenuPageOptions.php:917
1269
  msgid "<strong>↑ Syntax:</strong> This is a line-delimited list of domain mappings. Each line should start with your WordPress domain name (e.g., <code>%1$s</code>), followed by an <code>=</code> sign, followed by a comma-delimited list of CDN Host Names associated with the domain in that line. If you're running a Multisite Network installation of WordPress, you might have multiple configuration lines. Otherwise, you should only need one line to configure multiple CDN Host Names for a standard WordPress installation."
1270
  msgstr ""
1271
 
1272
- #: src/includes/classes/MenuPageOptions.php:921
1273
  msgid "CDN Supports HTTPS Connections?"
1274
  msgstr ""
1275
 
1276
- #: src/includes/classes/MenuPageOptions.php:923
1277
  msgid "No, I don't serve content over https://; or I haven't configured my CDN w/ an SSL certificate."
1278
  msgstr ""
1279
 
1280
- #: src/includes/classes/MenuPageOptions.php:924
1281
  msgid "Yes, I've configured my CDN w/ an SSL certificate; I need https:// enabled."
1282
  msgstr ""
1283
 
1284
- #: src/includes/classes/MenuPageOptions.php:931
1285
  msgid "Additional Options (For Advanced Users)"
1286
  msgstr ""
1287
 
1288
- #: src/includes/classes/MenuPageOptions.php:936
1289
  msgid "Everything else below is 100% completely optional; i.e., not required to enjoy the benefits of Static CDN Filters."
1290
  msgstr ""
1291
 
1292
- #: src/includes/classes/MenuPageOptions.php:940
1293
  msgid "Whitelisted File Extensions (Optional; Comma-Delimited)"
1294
  msgstr ""
1295
 
1296
- #: src/includes/classes/MenuPageOptions.php:942
1297
  msgid "If you leave this empty a default set of extensions are taken from WordPress itself. The default set of whitelisted file extensions includes everything supported by the WordPress media library."
1298
  msgstr ""
1299
 
1300
- #: src/includes/classes/MenuPageOptions.php:944
1301
  msgid "Blacklisted File Extensions (Optional; Comma-Delimited)"
1302
  msgstr ""
1303
 
1304
- #: src/includes/classes/MenuPageOptions.php:946
1305
  msgid "With or without a whitelist, you can force exclusions by explicitly blacklisting certain file extensions of your choosing. Please note, the <code>php</code> extension will never be considered a static resource; i.e., it is automatically blacklisted at all times."
1306
  msgstr ""
1307
 
1308
- #: src/includes/classes/MenuPageOptions.php:950
1309
  msgid "Whitelisted URI Inclusion Patterns (Optional; One Per Line)"
1310
  msgstr ""
1311
 
1312
- #: src/includes/classes/MenuPageOptions.php:952
1313
  msgid "<strong>Note:</strong> please remember that your entries here should be formatted as a line-delimited list; e.g., one inclusion pattern per line."
1314
  msgstr ""
1315
 
1316
- #: src/includes/classes/MenuPageOptions.php:953
1317
  msgid "If provided, only local URIs matching one of the patterns you list here will be served from your CDN Host Name. URI patterns are caSe-insensitive. A wildcard <code>*</code> will match zero or more characters in any of your patterns. A caret <code>^</code> symbol will match zero or more characters that are NOT the <code>/</code> character. For instance, <code>*/wp-content/*</code> here would indicate that you only want to filter URLs that lead to files located inside the <code>wp-content</code> directory. Adding an additional line with <code>*/wp-includes/*</code> would filter URLs in the <code>wp-includes</code> directory also. <strong>If you leave this empty</strong>, ALL files matching a static file extension will be served from your CDN; i.e., the default behavior."
1318
  msgstr ""
1319
 
1320
- #: src/includes/classes/MenuPageOptions.php:954
1321
  msgid "Please note that URI patterns are tested against a file's path (i.e., a file's URI, and NOT its full URL). A URI always starts with a leading <code>/</code>. To clarify, a URI is the portion of the URL which comes after the host name. For instance, given the following URL: <code>http://example.com/path/to/style.css?ver=3</code>, the URI you are matching against would be: <code>/path/to/style.css?ver=3</code>. To whitelist this URI, you could use a line that contains something like this: <code>/path/to/*.css*</code>"
1322
  msgstr ""
1323
 
1324
- #: src/includes/classes/MenuPageOptions.php:956
1325
  msgid "Blacklisted URI Exclusion Patterns (Optional; One Per Line)"
1326
  msgstr ""
1327
 
1328
- #: src/includes/classes/MenuPageOptions.php:958
1329
  msgid "With or without a whitelist, you can force exclusions by explicitly blacklisting certain URI patterns. URI patterns are caSe-insensitive. A wildcard <code>*</code> will match zero or more characters in any of your patterns. A caret <code>^</code> symbol will match zero or more characters that are NOT the <code>/</code> character. For instance, <code>*/wp-content/*/dynamic.pdf*</code> would exclude a file with the name <code>dynamic.pdf</code> located anywhere inside a sub-directory of <code>wp-content</code>."
1330
  msgstr ""
1331
 
1332
- #: src/includes/classes/MenuPageOptions.php:963
1333
  msgid "Query String Invalidation Variable Name"
1334
  msgstr ""
1335
 
1336
- #: src/includes/classes/MenuPageOptions.php:965
1337
  msgid "Each filtered URL (which then leads to your CDN) will include this query string variable as an easy way to invalidate the CDN cache at any time. Invalidating the CDN cache is simply a matter of changing the global invalidation counter (i.e., the value assigned to this query string variable). %1$s manages invalidations automatically; i.e., %1$s will automatically bump an internal counter each time you upgrade a WordPress component (e.g., a plugin, theme, or WP itself). Or, if you ask %1$s to invalidate the CDN cache (e.g., a manual clearing of the CDN cache); the internal counter is bumped then too. In short, %1$s handles cache invalidations for you reliably. This option simply allows you to customize the query string variable name which makes cache invalidations possible. <strong>Please note, the default value is adequate for most sites. You can change this if you like, but it's not necessary.</strong>"
1338
  msgstr ""
1339
 
1340
- #: src/includes/classes/MenuPageOptions.php:966
1341
  msgid "<strong>Tip:</strong> You can also tell %1$s to automatically bump the CDN Invalidation Counter whenever you clear the cache manually. See: <strong>%1$s → Manual Cache Clearing → Clear the CDN Cache Too?</strong>"
1342
  msgstr ""
1343
 
1344
- #: src/includes/classes/MenuPageOptions.php:967
1345
  msgid "<strong>Note:</strong> If you empty this field, it will effectively disable the %1$s invalidation system for Static CDN Filters; i.e., the query string variable will NOT be included if you do not supply a variable name."
1346
  msgstr ""
1347
 
1348
- #: src/includes/classes/MenuPageOptions.php:980
1349
  msgid "Dynamic Version Salt"
1350
  msgstr ""
1351
 
1352
- #: src/includes/classes/MenuPageOptions.php:985
1353
  msgid "<i class=\"si si-flask\"></i> <span style=\"display:inline-block; padding:5px; border-radius:3px; background:#FFFFFF; color:#354913;\"><span style=\"font-weight:bold; font-size:80%;\">GEEK ALERT</span></span> This is for VERY advanced users only..."
1354
  msgstr ""
1355
 
1356
- #: src/includes/classes/MenuPageOptions.php:986
1357
  msgid "<em>Note: Understanding the %1$s <a href=\"http://cometcache.com/r/kb-branched-cache-structure/\" target=\"_blank\">Branched Cache Structure</a> is a prerequisite to understanding how Dynamic Version Salts are added to the mix.</em>"
1358
  msgstr ""
1359
 
1360
- #: src/includes/classes/MenuPageOptions.php:987
1361
  msgid "A Version Salt gives you the ability to dynamically create multiple variations of the cache, and those dynamic variations will be served on subsequent visits; e.g., if a visitor has a specific cookie (of a certain value) they will see pages which were cached with that version (i.e., w/ that Version Salt: the value of the cookie). A Version Salt can really be anything."
1362
  msgstr ""
1363
 
1364
- #: src/includes/classes/MenuPageOptions.php:988
1365
  msgid "A Version Salt can be a single variable like <code>$_COOKIE['my_cookie']</code>, or it can be a combination of multiple variables, like <code>$_COOKIE['my_cookie'].$_COOKIE['my_other_cookie']</code>. (When using multiple variables, please separate them with a dot, as shown in the example.)"
1366
  msgstr ""
1367
 
1368
- #: src/includes/classes/MenuPageOptions.php:989
1369
  msgid "Experts could even use PHP ternary expressions that evaluate into something. For example: <code>((preg_match('/iPhone/i', $_SERVER['HTTP_USER_AGENT'])) ? 'iPhones' : '')</code>. This would force a separate version of the cache to be created for iPhones (e.g., <code>/cache/PROTOCOL/HOST/REQUEST-URI.v/iPhones.html</code>)."
1370
  msgstr ""
1371
 
1372
- #: src/includes/classes/MenuPageOptions.php:990
1373
  msgid "For more documentation, please see <a href=\"http://cometcache.com/r/kb-dynamic-version-salts/\" target=\"_blank\">Dynamic Version Salts</a>."
1374
  msgstr ""
1375
 
1376
- #: src/includes/classes/MenuPageOptions.php:992
1377
  msgid "Create a Dynamic Version Salt For %1$s? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"font-size:90%%; opacity:0.5;\">150%% OPTIONAL</span>"
1378
  msgstr ""
1379
 
1380
- #: src/includes/classes/MenuPageOptions.php:994
1381
  msgid "<a href=\"http://php.net/manual/en/language.variables.superglobals.php\" target=\"_blank\">Super Globals</a> work here; <a href=\"http://codex.wordpress.org/Editing_wp-config.php#table_prefix\" target=\"_blank\"><code>$GLOBALS['table_prefix']</code></a> is a popular one.<br />Or, perhaps a PHP Constant defined in <code>/wp-config.php</code>; such as <code>WPLANG</code> or <code>DB_HOST</code>."
1382
  msgstr ""
1383
 
1384
- #: src/includes/classes/MenuPageOptions.php:995
1385
  msgid "<strong>Important:</strong> your Version Salt is scanned for PHP syntax errors via <a href=\"http://phpcodechecker.com/\" target=\"_blank\"><code>phpCodeChecker.com</code></a>. If errors are found, you'll receive a notice in the Dashboard."
1386
  msgstr ""
1387
 
1388
- #: src/includes/classes/MenuPageOptions.php:996
1389
  msgid "If you've enabled a separate cache for each user (optional) that's perfectly OK. A Version Salt works with user caching too."
1390
  msgstr ""
1391
 
1392
- #: src/includes/classes/MenuPageOptions.php:1006
1393
  msgid "Theme/Plugin Developers"
1394
  msgstr ""
1395
 
1396
- #: src/includes/classes/MenuPageOptions.php:1011
1397
  msgid "Developing a Theme or Plugin for WordPress?"
1398
  msgstr ""
1399
 
1400
- #: src/includes/classes/MenuPageOptions.php:1012
1401
  msgid "<strong>Tip:</strong> %1$s can be disabled temporarily. If you're a theme/plugin developer, you can set a flag within your PHP code to disable the cache engine at runtime. Perhaps on a specific page, or in a specific scenario. In your PHP script, set: <code>$_SERVER['COMET_CACHE_ALLOWED'] = FALSE;</code> or <code>define('COMET_CACHE_ALLOWED', FALSE)</code>. %1$s is also compatible with: <code>define('DONOTCACHEPAGE', TRUE)</code>. It does't matter where or when you define one of these, because %1$s is the last thing to run before script execution ends."
1402
  msgstr ""
1403
 
1404
- #: src/includes/classes/MenuPageOptions.php:1014
1405
  msgid "Writing \"Advanced Cache\" Plugins Specifically for %1$s"
1406
  msgstr ""
1407
 
1408
- #: src/includes/classes/MenuPageOptions.php:1015
1409
  msgid "Theme/plugin developers can take advantage of the %1$s plugin architecture by creating PHP files inside this special directory: <code>/wp-content/ac-plugins/</code>. There is an <a href=\"http://cometcache.com/r/ac-plugin-example/\" target=\"_blank\">example plugin file @ GitHub</a> (please review it carefully and ask questions). If you develop a plugin for %1$s, please share it with the community by publishing it in the plugins respository at WordPress.org."
1410
  msgstr ""
1411
 
1412
- #: src/includes/classes/MenuPageOptions.php:1016
1413
  msgid "<strong>Why does %1$s have it's own plugin architecture?</strong> WordPress loads the <code>advanced-cache.php</code> drop-in file (for caching purposes) very early-on; before any other plugins or a theme. For this reason, %1$s implements it's own watered-down version of functions like <code>add_action()</code>, <code>do_action()</code>, <code>add_filter()</code>, <code>apply_filters()</code>."
1414
  msgstr ""
1415
 
1416
- #: src/includes/classes/MenuPageOptions.php:1027
1417
  msgid "Import/Export Options"
1418
  msgstr ""
1419
 
1420
- #: src/includes/classes/MenuPageOptions.php:1032
1421
  msgid "Import Options from Another %1$s Installation?"
1422
  msgstr ""
1423
 
1424
- #: src/includes/classes/MenuPageOptions.php:1033
1425
  msgid "Upload your <code>%1$s-options.json</code> file and click \"Save All Changes\" below. The options provided by your import file will override any that exist currently."
1426
  msgstr ""
1427
 
1428
- #: src/includes/classes/MenuPageOptions.php:1036
1429
  msgid "Export Existing Options from this %1$s Installation?"
1430
  msgstr ""
1431
 
1432
- #: src/includes/classes/MenuPageOptions.php:1039
1433
  msgid "%1$s-options.json"
1434
  msgstr ""
1435
 
1436
- #: src/includes/classes/MenuPageOptions.php:1040
1437
  msgid "Download your existing options and import them all into another %1$s installation; saves time on future installs."
1438
  msgstr ""
1439
 
1440
- #: src/includes/classes/MenuPageOptions.php:1048
1441
  msgid "Save All Changes"
1442
  msgstr ""
1443
 
1444
- #: src/includes/classes/VsUpgrades.php:193
1445
  msgid "<strong>Woohoo! %1$s activated.</strong> :-)"
1446
  msgstr ""
1447
 
@@ -1669,11 +1699,11 @@ msgstr ""
1669
  msgid "%s Day High"
1670
  msgstr ""
1671
 
1672
- #: src/includes/closures/Plugin/MenuPageUtils.php:114
1673
  msgid "Settings"
1674
  msgstr ""
1675
 
1676
- #: src/includes/closures/Plugin/MenuPageUtils.php:117
1677
  msgid "Upgrade"
1678
  msgstr ""
1679
 
2
  # This file is distributed under the same license as the Comet Cache package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Comet Cache 160223\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/comet-cache\n"
7
+ "POT-Creation-Date: 2016-02-22 16:41:37+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: plugin.php:17
16
  msgid "<strong>NOTICE: Comet Cache Minimum PHP Version</strong></h3>"
17
  msgstr ""
18
 
19
+ #: plugin.php:18
20
  msgid "<strong>As of December 1st, 2015 Comet Cache requires PHP 5.4 or higher.</strong> Your server is currently running PHP v%1$s. You will need to upgrade to PHP 5.4 or higher to run this version of Comet Cache."
21
  msgstr ""
22
 
23
+ #: plugin.php:19
24
  msgid "Learn more about this change here: <a href=\"http://cometcache.com/r/new-minimum-php-version-php-5-4/\" target=\"_blank\">New Minimum PHP Version: PHP 5.4</a>"
25
  msgstr ""
26
 
27
+ #: plugin.php:21
28
  msgid "Your server is also running the <strong>outdated PHP APC extension</strong>. Please see: <a href=\"http://cometcache.com/r/php-apc-extension-no-longer-supported/\" target=\"_blank\">PHP APC Extension No Longer Supported</a>"
29
  msgstr ""
30
 
31
+ #: plugin.php:39
32
  msgid "<strong>NOTICE: Comet Cache + PHP APC Extension</strong></h3>"
33
  msgstr ""
34
 
35
+ #: plugin.php:40
36
  msgid "<strong>As of December 1st, 2015 Comet Cache no longer runs with the outdated PHP APC extension.</strong> It appears that you're currently running PHP v%1$s with APC enabled. You will need to follow one of the actions below to run this version of Comet Cache."
37
  msgstr ""
38
 
39
+ #: plugin.php:41
40
  msgid "<h4 style=\"margin:0 0 .5em 0; font-size:1.25em;\"><span class=\"dashicons dashicons-lightbulb\"></span> Options Available (Action Required):</h4>"
41
  msgstr ""
42
 
43
+ #: plugin.php:43
44
  msgid "Please add <code>ini_set('apc.cache_by_default', false);</code> to the top of your <code>/wp-config.php</code> file. That will get rid of this message and allow Comet Cache to run without issue."
45
  msgstr ""
46
 
47
+ #: plugin.php:44
48
  msgid "Or, contact your web hosting provider and ask about upgrading to PHP v5.5+; which includes the new <a href=\"http://cometcache.com/r/php-opcache-extension/\" target=\"_blank\">OPcache extension for PHP</a>. The new OPcache extension replaces APC in modern versions of PHP."
49
  msgstr ""
50
 
51
+ #: plugin.php:46
52
  msgid "To learn more about this change, please see the announcement: <a href=\"http://cometcache.com/r/php-apc-extension-no-longer-supported/\" target=\"_blank\">PHP APC Extension No Longer Supported</a>"
53
  msgstr ""
54
 
55
+ #: plugin.php:66
56
+ msgid "<strong>NOTICE: Comet Cache Will Require the PHP <code>mbstring</code> Extension</strong></h3>"
57
+ msgstr ""
58
+
59
+ #: plugin.php:67
60
+ msgid "<strong>After March 1st, 2016 Comet Cache will require PHP Multibyte String support.</strong> It appears that your site is currently running PHP v%1$s <strong>without</strong> the <code>mbstring</code> extension enabled. You will need to contact your web hosting company and have them enable the PHP <code>mbstring</code> extension if you want to run the next version of Comet Cache."
61
+ msgstr ""
62
+
63
+ #: plugin.php:68
64
+ msgid "The <code>mbstring</code> extension provides Multibyte String support to PHP and is required to properly handle UTF-8 characters, which many sites now use. Without Multibyte String support, Comet Cache will be unstable. For that reason we are requiring the <code>mbstring</code> extension to improve reliablity when caching and to prevent your site from experiencing unforeseen issues in the future."
65
+ msgstr ""
66
+
67
  #: src/includes/classes/AbsBase.php:116
68
  msgid "Undefined overload property: `%1$s`."
69
  msgstr ""
80
  msgid "Undefined method/closure: `%1$s`."
81
  msgstr ""
82
 
83
+ #: src/includes/classes/Conflicts.php:89
84
  msgid "Pro"
85
  msgstr ""
86
 
87
+ #: src/includes/classes/Conflicts.php:90
88
  msgid "Lite"
89
  msgstr ""
90
 
91
+ #: src/includes/classes/Conflicts.php:95
92
  msgid "<strong>%1$s</strong> is NOT running. A conflicting plugin, <strong>%2$s</strong>, is currently active. Please deactivate the %2$s plugin to clear this message."
93
  msgstr ""
94
 
128
  msgid "Pro Updater"
129
  msgstr ""
130
 
131
+ #: src/includes/classes/MenuPageOptions.php:51
132
+ #: src/includes/classes/MenuPageOptions.php:73
133
+ msgid "Newsletter"
134
+ msgstr ""
135
+
136
+ #: src/includes/classes/MenuPageOptions.php:52
137
+ #: src/includes/classes/MenuPageOptions.php:74
138
+ msgid "Beta Testers"
139
+ msgstr ""
140
+
141
+ #: src/includes/classes/MenuPageOptions.php:55
142
+ #: src/includes/closures/Plugin/MenuPageUtils.php:120
143
  msgid "Preview Pro Features"
144
  msgstr ""
145
 
146
+ #: src/includes/classes/MenuPageOptions.php:56
147
  msgid "Pro Upgrade"
148
  msgstr ""
149
 
150
+ #: src/includes/classes/MenuPageOptions.php:62
151
+ msgid "Support"
152
  msgstr ""
153
 
154
+ #: src/includes/classes/MenuPageOptions.php:65
155
+ msgid "Community Forum"
156
  msgstr ""
157
 
158
+ #: src/includes/classes/MenuPageOptions.php:67
159
+ msgid "Knowledge Base"
160
+ msgstr ""
161
+
162
+ #: src/includes/classes/MenuPageOptions.php:68
163
+ msgid "Blog"
164
+ msgstr ""
165
+
166
+ #: src/includes/classes/MenuPageOptions.php:80
167
  msgid "%1$s&trade; Pro v%2$s"
168
  msgstr ""
169
 
170
+ #: src/includes/classes/MenuPageOptions.php:83
171
+ #: src/includes/classes/MenuPageOptions.php:93
172
  msgid "update available"
173
  msgstr ""
174
 
175
+ #: src/includes/classes/MenuPageOptions.php:85
176
+ #: src/includes/classes/MenuPageOptions.php:95
177
  msgid "changelog"
178
  msgstr ""
179
 
180
+ #: src/includes/classes/MenuPageOptions.php:90
181
  msgid "%1$s&trade; v%2$s"
182
  msgstr ""
183
 
184
+ #: src/includes/classes/MenuPageOptions.php:99
185
  #: src/includes/closures/Plugin/MenuPageUtils.php:73
186
  #: src/includes/closures/Plugin/MenuPageUtils.php:95
187
  msgid "Plugin Options"
188
  msgstr ""
189
 
190
+ #: src/includes/classes/MenuPageOptions.php:113
191
  msgid "Options updated successfully."
192
  msgstr ""
193
 
194
+ #: src/includes/classes/MenuPageOptions.php:118
195
  msgid "Default options successfully restored."
196
  msgstr ""
197
 
198
+ #: src/includes/classes/MenuPageOptions.php:123
199
  msgid "Cache wiped across all sites; recreation will occur automatically over time."
200
  msgstr ""
201
 
202
+ #: src/includes/classes/MenuPageOptions.php:129
203
  msgid "Cache cleared for main site; recreation will occur automatically over time."
204
  msgstr ""
205
 
206
+ #: src/includes/classes/MenuPageOptions.php:131
207
  msgid "Cache cleared for this site; recreation will occur automatically over time."
208
  msgstr ""
209
 
210
+ #: src/includes/classes/MenuPageOptions.php:137
211
+ #: src/includes/classes/MenuPageOptions.php:142
212
  msgid "Failed to update your <code>/.htaccess</code> file automatically. Most likely a permissions error. Please make sure it has permissions <code>644</code> or higher (perhaps <code>666</code>). Once you've done this, please try saving the %1$s options again."
213
  msgstr ""
214
 
215
+ #: src/includes/classes/MenuPageOptions.php:147
216
  msgid "It appears that your server is running NGINX and does not support <code>.htaccess</code> rules. Please <a href=\"http://cometcache.com/r/kb-article-recommended-nginx-server-configuration/\" target=\"_new\">update your server configuration manually</a>. If you've already updated your NGINX configuration, you can safely <a href=\"http://cometcache.com/r/kb-article-how-do-i-disable-the-nginx-htaccess-notice/\" target=\"_new\">ignore this message</a>."
217
  msgstr ""
218
 
219
+ #: src/includes/classes/MenuPageOptions.php:152
220
  msgid "Failed to update your <code>/wp-config.php</code> file automatically. Please add the following line to your <code>/wp-config.php</code> file (right after the opening <code>&lt;?php</code> tag; on it's own line). <pre class=\"code\"><code>&lt;?php<br />define('WP_CACHE', TRUE);</code></pre>"
221
  msgstr ""
222
 
223
+ #: src/includes/classes/MenuPageOptions.php:157
224
  msgid "Failed to update your <code>/wp-config.php</code> file automatically. Please remove the following line from your <code>/wp-config.php</code> file, or set <code>WP_CACHE</code> to a <code>FALSE</code> value. <pre class=\"code\"><code>define('WP_CACHE', TRUE);</code></pre>"
225
  msgstr ""
226
 
227
+ #: src/includes/classes/MenuPageOptions.php:163
228
  msgid "Failed to update your <code>/wp-content/advanced-cache.php</code> file. Cannot write stat file: <code>%1$s/%2$s-advanced-cache</code>. Please be sure this directory exists (and that it's writable): <code>%1$s</code>. Please use directory permissions <code>755</code> or higher (perhaps <code>777</code>). Once you've done this, please try again."
229
  msgstr ""
230
 
231
+ #: src/includes/classes/MenuPageOptions.php:165
232
  msgid "Failed to update your <code>/wp-content/advanced-cache.php</code> file. Most likely a permissions error. Please create an empty file here: <code>/wp-content/advanced-cache.php</code> (just an empty PHP file, with nothing in it); give it permissions <code>644</code> or higher (perhaps <code>666</code>). Once you've done this, please try again."
233
  msgstr ""
234
 
235
+ #: src/includes/classes/MenuPageOptions.php:171
236
  msgid "Failed to remove your <code>/wp-content/advanced-cache.php</code> file. Most likely a permissions error. Please delete (or empty the contents of) this file: <code>/wp-content/advanced-cache.php</code>."
237
  msgstr ""
238
 
239
+ #: src/includes/classes/MenuPageOptions.php:176
240
  msgid "close"
241
  msgstr ""
242
 
243
+ #: src/includes/classes/MenuPageOptions.php:177
244
  msgid "<strong>Pro Features (Preview)</strong> ~ New option panels below. Please explore before <a href=\"http://cometcache.com/prices/\" target=\"_blank\">upgrading <i class=\"si si-heart-o\"></i></a>.<br /><small>NOTE: the free version of %1$s (this lite version) is more-than-adequate for most sites. Please upgrade only if you desire advanced features or would like to support the developer.</small>"
245
  msgstr ""
246
 
247
+ #: src/includes/classes/MenuPageOptions.php:182
248
  msgid "%1$s is currently disabled; please review options below."
249
  msgstr ""
250
 
251
+ #: src/includes/classes/MenuPageOptions.php:192
252
  msgid "Basic Configuration (Required)"
253
  msgstr ""
254
 
255
+ #: src/includes/classes/MenuPageOptions.php:193
256
  msgid "Review these basic options and %1$s&trade; will be ready-to-go!"
257
  msgstr ""
258
 
259
+ #: src/includes/classes/MenuPageOptions.php:201
260
  msgid "Enable/Disable"
261
  msgstr ""
262
 
263
+ #: src/includes/classes/MenuPageOptions.php:206
264
  msgid "%1$s&trade; = SPEED<em>!!</em>"
265
  msgstr ""
266
 
267
+ #: src/includes/classes/MenuPageOptions.php:207
268
  msgid "Yes, enable %1$s&trade;"
269
  msgstr ""
270
 
271
+ #: src/includes/classes/MenuPageOptions.php:207
272
  msgid "No, disable."
273
  msgstr ""
274
 
275
+ #: src/includes/classes/MenuPageOptions.php:208
276
  msgid "<strong>HUGE Time-Saver:</strong> Approx. 95%% of all WordPress sites running %1$s, simply enable it here; and that's it :-) <strong>No further configuration is necessary (really).</strong> All of the other options (down below) are already tuned for the BEST performance on a typical WordPress installation. Simply enable %1$s here and click \"Save All Changes\". If you get any warnings please follow the instructions given. Otherwise, you're good <i class=\"si si-smile-o\"></i>. This plugin is designed to run just fine like it is. Take it for a spin right away; you can always fine-tune things later if you deem necessary."
277
  msgstr ""
278
 
279
+ #: src/includes/classes/MenuPageOptions.php:211
280
  msgid "How Can I Tell %1$s is Working?"
281
  msgstr ""
282
 
283
+ #: src/includes/classes/MenuPageOptions.php:212
284
  msgid "First of all, please make sure that you've enabled %1$s here; then scroll down to the bottom of this page and click \"Save All Changes\". All of the other options (below) are already pre-configured for typical usage. Feel free to skip them all for now. You can go back through all of these later and fine-tune things the way you like them."
285
  msgstr ""
286
 
287
+ #: src/includes/classes/MenuPageOptions.php:213
288
  msgid "Once %1$s has been enabled, <strong>you'll need to log out (and/or clear browser cookies)</strong>. By default, cache files are NOT served to visitors who are logged-in, and that includes you too ;-) Cache files are NOT served to recent comment authors either. If you've commented (or replied to a comment lately); please clear your browser cookies before testing."
289
  msgstr ""
290
 
291
+ #: src/includes/classes/MenuPageOptions.php:214
292
  msgid "<strong>To verify that %1$s is working</strong>, navigate your site like a normal visitor would. Right-click on any page (choose View Source), then scroll to the very bottom of the document. At the bottom, you'll find comments that show %1$s stats and information. You should also notice that page-to-page navigation is <i class=\"si si-flash\"></i> <strong>lightning fast</strong> now that %1$s is running; and it gets faster over time!"
293
  msgstr ""
294
 
295
+ #: src/includes/classes/MenuPageOptions.php:216
296
  msgid "Yes, enable notes in the source code so I can see it's working (recommended)."
297
  msgstr ""
298
 
299
+ #: src/includes/classes/MenuPageOptions.php:217
300
  msgid "Yes, enable notes in the source code AND show debugging details (not recommended for production)."
301
  msgstr ""
302
 
303
+ #: src/includes/classes/MenuPageOptions.php:218
304
  msgid "No, I don't want my source code to contain any of these notes."
305
  msgstr ""
306
 
307
+ #: src/includes/classes/MenuPageOptions.php:229
308
  msgid "Plugin Deletion Safeguards"
309
  msgstr ""
310
 
311
+ #: src/includes/classes/MenuPageOptions.php:234
312
  msgid "Uninstall on Plugin Deletion; or Safeguard Options?"
313
  msgstr ""
314
 
315
+ #: src/includes/classes/MenuPageOptions.php:235
316
  msgid "<strong>Tip:</strong> By default, if you delete %1$s using the plugins menu in WordPress, nothing is lost. However, if you want to completely uninstall %1$s you should set this to <code>Yes</code> and <strong>THEN</strong> deactivate &amp; delete %1$s from the plugins menu in WordPress. This way %1$s will erase your options for the plugin, erase directories/files created by the plugin, remove the <code>advanced-cache.php</code> file, terminate CRON jobs, etc. It erases itself from existence completely."
317
  msgstr ""
318
 
319
+ #: src/includes/classes/MenuPageOptions.php:237
320
  msgid "Safeguard my options and the cache (recommended)."
321
  msgstr ""
322
 
323
+ #: src/includes/classes/MenuPageOptions.php:238
324
  msgid "Yes, uninstall (completely erase) %1$s on plugin deletion."
325
  msgstr ""
326
 
327
+ #: src/includes/classes/MenuPageOptions.php:247
328
  msgid "Advanced Configuration (All Optional)"
329
  msgstr ""
330
 
331
+ #: src/includes/classes/MenuPageOptions.php:248
332
  msgid "Recommended for advanced site owners only; already pre-configured for most WP installs."
333
  msgstr ""
334
 
335
+ #: src/includes/classes/MenuPageOptions.php:257
336
  msgid "Manual Cache Clearing"
337
  msgstr ""
338
 
339
+ #: src/includes/classes/MenuPageOptions.php:261
340
  msgid "Clearing the Cache Manually"
341
  msgstr ""
342
 
343
+ #: src/includes/classes/MenuPageOptions.php:263
344
  msgid "Once %1$s is enabled, you will find this new option in your WordPress Admin Bar (screenshot on right). Clicking this button will clear the cache and you can start fresh at anytime (e.g., you can do this manually; and as often as you wish)."
345
  msgstr ""
346
 
347
+ #: src/includes/classes/MenuPageOptions.php:264
348
  msgid "Depending on the structure of your site, there could be many reasons to clear the cache. However, the most common reasons are related to Post/Page edits or deletions, Category/Tag edits or deletions, and Theme changes. %1$s handles most scenarios all by itself. However, many site owners like to clear the cache manually; for a variety of reasons (just to force a refresh)."
349
  msgstr ""
350
 
351
+ #: src/includes/classes/MenuPageOptions.php:266
352
  msgid "Yes, enable &quot;Clear Cache&quot; button in admin bar"
353
  msgstr ""
354
 
355
+ #: src/includes/classes/MenuPageOptions.php:267
356
  msgid "No, I don't intend to clear the cache manually."
357
  msgstr ""
358
 
359
+ #: src/includes/classes/MenuPageOptions.php:270
360
  msgid "w/ dropdown options."
361
  msgstr ""
362
 
363
+ #: src/includes/classes/MenuPageOptions.php:271
364
  msgid "w/ dropdown options in split menu."
365
  msgstr ""
366
 
367
+ #: src/includes/classes/MenuPageOptions.php:272
368
  msgid "w/o dropdown options."
369
  msgstr ""
370
 
371
+ #: src/includes/classes/MenuPageOptions.php:277
372
  msgid "Also allow Child Sites in a Network to clear the cache from their Admin Bar?"
373
  msgstr ""
374
 
375
+ #: src/includes/classes/MenuPageOptions.php:278
376
  msgid "In a Multisite Network, each child site can clear its own cache. If you want child sites to see the \"Clear Cache\" button in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed. For example, if I want Administrators to be capable of clearing the cache from their Admin Bar, I could enter <code>administrator</code> here. If I also want to allow Editors, I can use a comma-delimited list: <code>administrator,editor</code>. Or, I could use a single Capability of: <code>edit_others_posts</code>; which covers both Administrators &amp; Editors at the same time."
377
  msgstr ""
378
 
379
+ #: src/includes/classes/MenuPageOptions.php:280
380
+ #: src/includes/classes/MenuPageOptions.php:471
381
  msgid "<strong>Note:</strong> As a security measure, in addition to the Role(s) and/or Capabilities that you list here, each child site owner must also have the ability to <code>%1$s</code>."
382
  msgstr ""
383
 
384
+ #: src/includes/classes/MenuPageOptions.php:285
385
  msgid "Also allow others to clear the cache from their Admin Bar?"
386
  msgstr ""
387
 
388
+ #: src/includes/classes/MenuPageOptions.php:286
389
  msgid "If you want others to see the \"Clear Cache\" button in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed. For example, if I want Editors to be capable of clearing the cache from their Admin Bar, I could enter <code>editor</code> here. If I also want to allow Authors, I can use a comma-delimited list: <code>editor,author</code>. Or, I could use a single Capability of: <code>publish_posts</code>; which covers both Editors &amp; Authors at the same time."
390
  msgstr ""
391
 
392
+ #: src/includes/classes/MenuPageOptions.php:288
393
+ #: src/includes/classes/MenuPageOptions.php:479
394
  msgid "<strong>Note:</strong> As a security measure, in addition to the Role(s) and/or Capabilities that you list here, each user must also have the ability to <code>%1$s</code>."
395
  msgstr ""
396
 
397
+ #: src/includes/classes/MenuPageOptions.php:294
398
  msgid "Clear the <a href=\"http://cometcache.com/r/php-opcache/\" target=\"_blank\">PHP OPcache</a> Too?"
399
  msgstr ""
400
 
401
+ #: src/includes/classes/MenuPageOptions.php:295
402
  msgid "If you clear the cache manually, do you want %1$s to clear the PHP OPcache too? This is not necessary, but if you want a truly clean start, this will clear all PHP files in the server's opcode cache also. Note: If you don't already know what the PHP OPcache is, it is suggested that you leave this disabled. It really is not necessary. This is just an added feature for advanced users."
403
  msgstr ""
404
 
405
+ #: src/includes/classes/MenuPageOptions.php:297
406
  msgid "No, I don't use the PHP OPcache extension; or, I don't want the opcode cache cleared."
407
  msgstr ""
408
 
409
+ #: src/includes/classes/MenuPageOptions.php:298
410
  msgid "Yes, if the PHP OPcache extension is enabled, also clear the entire PHP opcode cache."
411
  msgstr ""
412
 
413
+ #: src/includes/classes/MenuPageOptions.php:303
414
  msgid "Clear the <a href=\"http://websharks-inc.com/product/s2clean/\" target=\"_blank\">s2Clean</a> Cache Too?"
415
  msgstr ""
416
 
417
+ #: src/includes/classes/MenuPageOptions.php:304
418
  msgid "If the s2Clean theme is installed, and you clear the cache manually, %1$s can clear the s2Clean Markdown cache too (if you've enabled Markdown processing with s2Clean)."
419
  msgstr ""
420
 
421
+ #: src/includes/classes/MenuPageOptions.php:306
422
  msgid "Yes, if the s2Clean theme is installed, also clear s2Clean-related caches."
423
  msgstr ""
424
 
425
+ #: src/includes/classes/MenuPageOptions.php:307
426
  msgid "No, I don't use s2Clean; or, I don't want s2Clean-related caches cleared."
427
  msgstr ""
428
 
429
+ #: src/includes/classes/MenuPageOptions.php:311
430
  msgid "Evaluate Custom PHP Code when Clearing the Cache?"
431
  msgstr ""
432
 
433
+ #: src/includes/classes/MenuPageOptions.php:312
434
  msgid "If you have any custom routines you'd like to process when the cache is cleared manually, please enter PHP code here. If your PHP code outputs a message, it will be displayed along with any other notes from %1$s itself. This feature is intended for developers, and it may come in handy if you need to clear any system caches not already covered by %1$s configuration options."
435
  msgstr ""
436
 
437
+ #: src/includes/classes/MenuPageOptions.php:314
438
  msgid "<strong>Example:</strong> <code>&lt;?php apc_clear_cache(); echo '&lt;p&gt;Also cleared APC cache.&lt;/p&gt;'; ?&gt;</code>"
439
  msgstr ""
440
 
441
+ #: src/includes/classes/MenuPageOptions.php:317
442
  msgid "Clear the CDN Cache Too?"
443
  msgstr ""
444
 
445
+ #: src/includes/classes/MenuPageOptions.php:318
446
  msgid "If you clear the cache manually, do you want %1$s to automatically bump the CDN invalidation counter too? i.e., automatically increment the <code>?%2$s=[counter]</code> in all static CDN URLs?"
447
  msgstr ""
448
 
449
+ #: src/includes/classes/MenuPageOptions.php:320
450
  msgid "No, I don't use Static CDN Filters; or, I don't want the CDN cache cleared."
451
  msgstr ""
452
 
453
+ #: src/includes/classes/MenuPageOptions.php:321
454
  msgid "Yes, if Static CDN Filters are enabled, also clear the CDN cache."
455
  msgstr ""
456
 
457
+ #: src/includes/classes/MenuPageOptions.php:332
458
  msgid "Automatic Cache Clearing"
459
  msgstr ""
460
 
461
+ #: src/includes/classes/MenuPageOptions.php:337
462
  msgid "Clearing the Cache Automatically"
463
  msgstr ""
464
 
465
+ #: src/includes/classes/MenuPageOptions.php:339
466
  msgid "This is built into the %1$s plugin; i.e., this functionality is \"always on\". If you edit a Post/Page (or delete one), %1$s will automatically clear the cache file(s) associated with that content. This way a new updated version of the cache will be created automatically the next time this content is accessed. Simple updates like this occur each time you make changes in the Dashboard, and %1$s will notify you of these as they occur. %1$s monitors changes to Posts (of any kind, including Pages), Categories, Tags, Links, Themes (even Users), and more."
467
  msgstr ""
468
 
469
+ #: src/includes/classes/MenuPageOptions.php:343
470
  msgid "Yes, enable %1$s notifications in the Dashboard when changes are detected &amp; one or more cache files are cleared automatically."
471
  msgstr ""
472
 
473
+ #: src/includes/classes/MenuPageOptions.php:344
474
  msgid "No, I don't want to know (don't really care) what %1$s is doing behind-the-scene."
475
  msgstr ""
476
 
477
+ #: src/includes/classes/MenuPageOptions.php:349
478
  msgid "Primary Page Options"
479
  msgstr ""
480
 
481
+ #: src/includes/classes/MenuPageOptions.php:351
482
  msgid "Auto-Clear Designated \"Home Page\" Too?"
483
  msgstr ""
484
 
485
+ #: src/includes/classes/MenuPageOptions.php:352
486
  msgid "On many sites, the Home Page (aka: the Front Page) offers an archive view of all Posts (or even Pages). Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the \"Home Page\"?"
487
  msgstr ""
488
 
489
+ #: src/includes/classes/MenuPageOptions.php:354
490
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Home Page\"."
491
  msgstr ""
492
 
493
+ #: src/includes/classes/MenuPageOptions.php:355
494
  msgid "No, my Home Page does not provide a list of Posts/Pages; e.g., this is not necessary."
495
  msgstr ""
496
 
497
+ #: src/includes/classes/MenuPageOptions.php:357
498
  msgid "Auto-Clear Designated \"Posts Page\" Too?"
499
  msgstr ""
500
 
501
+ #: src/includes/classes/MenuPageOptions.php:358
502
  msgid "On many sites, the Posts Page (aka: the Blog Page) offers an archive view of all Posts (or even Pages). Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the \"Posts Page\"?"
503
  msgstr ""
504
 
505
+ #: src/includes/classes/MenuPageOptions.php:360
506
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Posts Page\"."
507
  msgstr ""
508
 
509
+ #: src/includes/classes/MenuPageOptions.php:361
510
  msgid "No, I don't use a separate Posts Page; e.g., my Home Page IS my Posts Page."
511
  msgstr ""
512
 
513
+ #: src/includes/classes/MenuPageOptions.php:365
514
  msgid "Author, Archive, and Tag/Term Options"
515
  msgstr ""
516
 
517
+ #: src/includes/classes/MenuPageOptions.php:367
518
  msgid "Auto-Clear \"Author Page\" Too?"
519
  msgstr ""
520
 
521
+ #: src/includes/classes/MenuPageOptions.php:368
522
  msgid "On many sites, each author has a related \"Author Page\" that offers an archive view of all posts associated with that author. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the related \"Author Page\"?"
523
  msgstr ""
524
 
525
+ #: src/includes/classes/MenuPageOptions.php:370
526
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the \"Author Page\"."
527
  msgstr ""
528
 
529
+ #: src/includes/classes/MenuPageOptions.php:371
530
  msgid "No, my site doesn't use multiple authors and/or I don't have any \"Author Page\" archive views."
531
  msgstr ""
532
 
533
+ #: src/includes/classes/MenuPageOptions.php:374
534
  msgid "Auto-Clear \"Category Archives\" Too?"
535
  msgstr ""
536
 
537
+ #: src/includes/classes/MenuPageOptions.php:375
538
  msgid "On many sites, each post is associated with at least one Category. Each category then has an archive view that contains all the posts within that category. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Category archive views?"
539
  msgstr ""
540
 
541
+ #: src/includes/classes/MenuPageOptions.php:377
542
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the associated Category archive views."
543
  msgstr ""
544
 
545
+ #: src/includes/classes/MenuPageOptions.php:378
546
  msgid "No, my site doesn't use Categories and/or I don't have any Category archive views."
547
  msgstr ""
548
 
549
+ #: src/includes/classes/MenuPageOptions.php:381
550
  msgid "Auto-Clear \"Tag Archives\" Too?"
551
  msgstr ""
552
 
553
+ #: src/includes/classes/MenuPageOptions.php:382
554
  msgid "On many sites, each post may be associated with at least one Tag. Each tag then has an archive view that contains all the posts assigned that tag. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Tag archive views?"
555
  msgstr ""
556
 
557
+ #: src/includes/classes/MenuPageOptions.php:384
558
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the associated Tag archive views."
559
  msgstr ""
560
 
561
+ #: src/includes/classes/MenuPageOptions.php:385
562
  msgid "No, my site doesn't use Tags and/or I don't have any Tag archive views."
563
  msgstr ""
564
 
565
+ #: src/includes/classes/MenuPageOptions.php:388
566
  msgid "Auto-Clear \"Custom Term Archives\" Too?"
567
  msgstr ""
568
 
569
+ #: src/includes/classes/MenuPageOptions.php:389
570
  msgid "Most sites do not use any custom Terms so it should be safe to leave this disabled. However, if your site uses custom Terms and they have their own Term archive views, you may want to clear those when the associated post is cleared. Therefore, if a single Post/Page is changed in some way; and %1$s clears/resets the cache for a single Post/Page, would you like %1$s to also clear any existing cache files for the associated Tag archive views?"
571
  msgstr ""
572
 
573
+ #: src/includes/classes/MenuPageOptions.php:391
574
  msgid "Yes, if any single Post/Page is cleared/reset; also clear any associated custom Term archive views."
575
  msgstr ""
576
 
577
+ #: src/includes/classes/MenuPageOptions.php:392
578
  msgid "No, my site doesn't use any custom Terms and/or I don't have any custom Term archive views."
579
  msgstr ""
580
 
581
+ #: src/includes/classes/MenuPageOptions.php:395
582
  msgid "Auto-Clear \"Custom Post Type Archives\" Too?"
583
  msgstr ""
584
 
585
+ #: src/includes/classes/MenuPageOptions.php:396
586
  msgid "Most sites do not use any Custom Post Types so it should be safe to disable this option. However, if your site uses Custom Post Types and they have their own Custom Post Type archive views, you may want to clear those when any associated post is cleared. Therefore, if a single Post with a Custom Post Type is changed in some way; and %1$s clears/resets the cache for that post, would you like %1$s to also clear any existing cache files for the associated Custom Post Type archive views?"
587
  msgstr ""
588
 
589
+ #: src/includes/classes/MenuPageOptions.php:398
590
  msgid "Yes, if any single Post with a Custom Post Type is cleared/reset; also clear any associated Custom Post Type archive views."
591
  msgstr ""
592
 
593
+ #: src/includes/classes/MenuPageOptions.php:399
594
  msgid "No, my site doesn't use any Custom Post Types and/or I don't have any Custom Post Type archive views."
595
  msgstr ""
596
 
597
+ #: src/includes/classes/MenuPageOptions.php:403
598
  msgid "Feed-Related Options"
599
  msgstr ""
600
 
601
+ #: src/includes/classes/MenuPageOptions.php:405
602
  msgid "Auto-Clear \"RSS/RDF/ATOM Feeds\" Too?"
603
  msgstr ""
604
 
605
+ #: src/includes/classes/MenuPageOptions.php:406
606
  msgid "If you enable Feed Caching (below), this can be quite handy. If enabled, when you update a Post/Page, approve a Comment, or make other changes where %1$s can detect that certain types of Feeds should be cleared to keep your site up-to-date, then %1$s will do this for you automatically. For instance, the blog's master feed, the blog's master comments feed, feeds associated with comments on a Post/Page, term-related feeds (including mixed term-related feeds), author-related feeds, etc. Under various circumstances (i.e., as you work in the Dashboard) these can be cleared automatically to keep your site up-to-date."
607
  msgstr ""
608
 
609
+ #: src/includes/classes/MenuPageOptions.php:408
610
  msgid "Yes, automatically clear RSS/RDF/ATOM Feeds from the cache when certain changes occur."
611
  msgstr ""
612
 
613
+ #: src/includes/classes/MenuPageOptions.php:409
614
  msgid "No, I don't have Feed Caching enabled, or I prefer not to automatically clear Feeds."
615
  msgstr ""
616
 
617
+ #: src/includes/classes/MenuPageOptions.php:413
618
  msgid "Sitemap-Related Options"
619
  msgstr ""
620
 
621
+ #: src/includes/classes/MenuPageOptions.php:415
622
  msgid "Auto-Clear \"XML Sitemaps\" Too?"
623
  msgstr ""
624
 
625
+ #: src/includes/classes/MenuPageOptions.php:416
626
  msgid "If you're generating XML Sitemaps with a plugin like <a href=\"http://wordpress.org/plugins/google-sitemap-generator/\" target=\"_blank\">Google XML Sitemaps</a>, you can tell %1$s to automatically clear the cache of any XML Sitemaps whenever it clears a Post/Page. Note: This does NOT clear the XML Sitemap itself of course, only the cache. The point being, to clear the cache and allow changes to a Post/Page to be reflected by a fresh copy of your XML Sitemap; sooner rather than later."
627
  msgstr ""
628
 
629
+ #: src/includes/classes/MenuPageOptions.php:418
630
  msgid "Yes, if any single Post/Page is cleared/reset; also clear the cache for any XML Sitemaps."
631
  msgstr ""
632
 
633
+ #: src/includes/classes/MenuPageOptions.php:419
634
  msgid "No, my site doesn't use any XML Sitemaps and/or I prefer NOT to clear the cache for XML Sitemaps."
635
  msgstr ""
636
 
637
+ #: src/includes/classes/MenuPageOptions.php:422
638
  msgid "<strong style=\"font-size:110%;\">XML Sitemap Patterns...</strong> A default value of <code>/sitemap**.xml</code> covers all XML Sitemaps for most installations. However, you may customize this further if you deem necessary. <strong>Please list one pattern per line.</strong> These XML Sitemap Pattern searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\">REQUEST_URI</a>. A wildcard <code>**</code> character can also be used when necessary; e.g., <code>/sitemap**.xml</code> (where <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes). Other special characters include: <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href=\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
639
  msgstr ""
640
 
641
+ #: src/includes/classes/MenuPageOptions.php:425
642
  msgid "In a Multisite Network, each child blog (whether it be a sub-domain, a sub-directory, or a mapped domain); will automatically change the leading <code>http://[sub.]domain/[sub-directory]</code> used in pattern matching. In short, there is no need to add sub-domains or sub-directories for each child blog in these patterns. Please include only the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\">REQUEST_URI</a> (i.e., the path) which leads to the XML Sitemap on all child blogs in the network."
643
  msgstr ""
644
 
645
+ #: src/includes/classes/MenuPageOptions.php:431
646
  msgid "Misc. Auto-Clear Options"
647
  msgstr ""
648
 
649
+ #: src/includes/classes/MenuPageOptions.php:432
650
  msgid "Auto-Clear a List of Custom URLs Too?"
651
  msgstr ""
652
 
653
+ #: src/includes/classes/MenuPageOptions.php:433
654
  msgid "When you update a Post/Page, approve a Comment, or make other changes where %1$s can detect that a Post/Page cache should be cleared to keep your site up-to-date; then %1$s will also clear a list of custom URLs that you list here. <strong>Please list one URL per line.</strong> A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
655
  msgstr ""
656
 
657
+ #: src/includes/classes/MenuPageOptions.php:446
658
  msgid "Cache-Related Statistics"
659
  msgstr ""
660
 
661
+ #: src/includes/classes/MenuPageOptions.php:451
662
  msgid "Enable Cache-Related Stats &amp; Charts?"
663
  msgstr ""
664
 
665
+ #: src/includes/classes/MenuPageOptions.php:452
666
  msgid "%1$s can collect and display cache-related statistics (including charts). Stats are displayed in the WordPress Admin Bar, and also in your Dashboard under: <strong>%1$s → Stats/Charts</strong>. Cache-related stats provide you with a quick look at what's happening behind-the-scenes. Your site grows faster and faster as the cache grows larger in size."
667
  msgstr ""
668
 
669
+ #: src/includes/classes/MenuPageOptions.php:454
670
  msgid "Yes, enable stats collection &amp; the menu page in WordPress for viewing stats."
671
  msgstr ""
672
 
673
+ #: src/includes/classes/MenuPageOptions.php:455
674
  msgid "No, I have a VERY large site and I want to avoid any unnecessary directory scans."
675
  msgstr ""
676
 
677
+ #: src/includes/classes/MenuPageOptions.php:457
678
  msgid "<strong>Note:</strong> %1$s does a great job of collecting stats, in ways that don't cause a performance issue. In addition, as your cache grows larger than several hundred files in total size, statistics are collected less often and at longer intervals. All of that being said, if you run a VERY large site (e.g., more than 20K posts), you might want to disable stats collection in favor of blazing fast speeds not impeded by any directory scans needed to collect stats."
679
  msgstr ""
680
 
681
+ #: src/includes/classes/MenuPageOptions.php:461
682
  msgid "Show Stats in the WordPress Admin Bar?"
683
  msgstr ""
684
 
685
+ #: src/includes/classes/MenuPageOptions.php:463
686
  msgid "Yes, enable stats in the WordPress admin bar."
687
  msgstr ""
688
 
689
+ #: src/includes/classes/MenuPageOptions.php:464
690
  msgid "No, I'll review stats from the menu page in WordPress if I need to."
691
  msgstr ""
692
 
693
+ #: src/includes/classes/MenuPageOptions.php:468
694
  msgid "Allow Child Sites in a Network to See Stats in Admin Bar?"
695
  msgstr ""
696
 
697
+ #: src/includes/classes/MenuPageOptions.php:469
698
  msgid "In a Multisite Network, each child site has stats of its own. If you want child sites to see cache-related stats in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed to see stats. For example, if I want the Administrator to see stats in their Admin Bar, I could enter <code>administrator</code> here. If I also want to show stats to Editors, I can use a comma-delimited list: <code>administrator,editor</code>. Or, I could use a single Capability of: <code>edit_others_posts</code>; which covers both Administrators &amp; Editors at the same time."
699
  msgstr ""
700
 
701
+ #: src/includes/classes/MenuPageOptions.php:476
702
  msgid "Allow Others to See Stats in Admin Bar?"
703
  msgstr ""
704
 
705
+ #: src/includes/classes/MenuPageOptions.php:477
706
  msgid "If you want others to see cache-related stats in their WordPress Admin Bar, you can specify a comma-delimited list of <a href=\"http://cometcache.com/r/wp-roles-caps/\" target=\"_blank\">Roles and/or Capabilities</a> that are allowed to see stats. For example, if I want Editors to see stats in their Admin Bar, I could enter <code>editor</code> here. If I also want to show stats to Authors, I can use a comma-delimited list: <code>editor,author</code>. Or, I could use a single Capability of: <code>publish_posts</code>; which covers both Editors &amp; Authors at the same time."
707
  msgstr ""
708
 
709
+ #: src/includes/classes/MenuPageOptions.php:493
710
  msgid "Cache Directory"
711
  msgstr ""
712
 
713
+ #: src/includes/classes/MenuPageOptions.php:497
714
  msgid "Base Cache Directory (Must be Writable; i.e., <a href=\"http://cometcache.com/r/wp-file-permissions/\" target=\"_blank\">Permissions</a> <code>755</code> or Higher)"
715
  msgstr ""
716
 
717
+ #: src/includes/classes/MenuPageOptions.php:498
718
  msgid "This is where %1$s will store the cached version of your site. If you're not sure how to deal with directory permissions, don't worry too much about this. If there is a problem, %1$s will let you know about it. By default, this directory is created by %1$s and the permissions are setup automatically. In most cases there is nothing more you need to do."
719
  msgstr ""
720
 
721
+ #: src/includes/classes/MenuPageOptions.php:509
722
  msgid "Cache Expiration Time"
723
  msgstr ""
724
 
725
+ #: src/includes/classes/MenuPageOptions.php:514
726
  msgid "Automatic Expiration Time (Max Age)"
727
  msgstr ""
728
 
729
+ #: src/includes/classes/MenuPageOptions.php:515
730
  msgid "If you don't update your site much, you could set this to <code>6 months</code> and optimize everything even further. The longer the Cache Expiration Time is, the greater your performance gain. Alternatively, the shorter the Expiration Time, the fresher everything will remain on your site. A default value of <code>7 days</code> (recommended); is a good conservative middle-ground."
731
  msgstr ""
732
 
733
+ #: src/includes/classes/MenuPageOptions.php:516
734
  msgid "Keep in mind that your Expiration Time is only one part of the big picture. %1$s will also clear the cache automatically as changes are made to the site (i.e., you edit a post, someone comments on a post, you change your theme, you add a new navigation menu item, etc., etc.). Thus, your Expiration Time is really just a fallback; e.g., the maximum amount of time that a cache file could ever possibly live."
735
  msgstr ""
736
 
737
+ #: src/includes/classes/MenuPageOptions.php:517
738
  msgid "All of that being said, you could set this to just <code>60 seconds</code> and you would still see huge differences in speed and performance. If you're just starting out with %1$s (perhaps a bit nervous about old cache files being served to your visitors); you could set this to something like <code>30 minutes</code> and experiment with it while you build confidence in %1$s. It's not necessary to do so, but many site owners have reported this makes them feel like they're more-in-control when the cache has a short expiration time. All-in-all, it's a matter of preference <i class=\"si si-smile-o\"></i>."
739
  msgstr ""
740
 
741
+ #: src/includes/classes/MenuPageOptions.php:519
742
  msgid "<strong>Tip:</strong> the value that you specify here MUST be compatible with PHP's <a href=\"http://php.net/manual/en/function.strtotime.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>strtotime()</code></a> function. Examples: <code>30 seconds</code>, <code>2 hours</code>, <code>7 days</code>, <code>6 months</code>, <code>1 year</code>."
743
  msgstr ""
744
 
745
+ #: src/includes/classes/MenuPageOptions.php:520
746
  msgid "<strong>Note:</strong> %1$s will never serve a cache file that is older than what you specify here (even if one exists in your cache directory; stale cache files are never used). In addition, a WP Cron job will automatically cleanup your cache directory (once per hour); purging expired cache files periodically. This prevents a HUGE cache from building up over time, creating a potential storage issue."
747
  msgstr ""
748
 
749
+ #: src/includes/classes/MenuPageOptions.php:524
750
  msgid "Cache Cleanup Schedule"
751
  msgstr ""
752
 
753
+ #: src/includes/classes/MenuPageOptions.php:525
754
  msgid "If you have an extremely large site and you lower the default Cache Expiration Time of <code>7 days</code>, expired cache files can build up more quickly. By default, %1$s cleans up expired cache files via <a href=\"http://cometcache.com/r/wp_cron-functions/\" target=\"_blank\">WP Cron</a> at an <code>hourly</code> interval, but you can tell %1$s to use a custom Cache Cleanup Schedule below to run the cleanup process more or less frequently, depending on your specific needs."
755
  msgstr ""
756
 
757
+ #: src/includes/classes/MenuPageOptions.php:537
758
  msgid "Disable Cache Expiration If Server Load Average is High?"
759
  msgstr ""
760
 
761
+ #: src/includes/classes/MenuPageOptions.php:538
762
  msgid "If you have high traffic at certain times of the day, %1$s can be told to check the current load average via <a href=\"http://cometcache.com/r/system-load-average-via-php/\" target=\"_blank\"><code>sys_getloadavg()</code></a>. If your server's load average has been high in the last 15 minutes or so, cache expiration is disabled automatically to help reduce stress on the server; i.e., to avoid generating a new version of the cache while the server is very busy."
763
  msgstr ""
764
 
765
+ #: src/includes/classes/MenuPageOptions.php:539
766
  msgid "To enable this functionality you should first determine what a high load average is for your server. If you log into your machine via SSH you can run the <code>top</code> command to get a feel for what a high load average looks like. Once you know the number, you can enter it in the field below; e.g., <code>1.05</code> might be a high load average for a server with one CPU. See also: <a href=\"http://cometcache.com/r/understanding-load-average/\" target=\"_blank\">Understanding Load Average</a>"
767
  msgstr ""
768
 
769
+ #: src/includes/classes/MenuPageOptions.php:542
770
  msgid "<strong>Note:</strong> It appears that your server is running Windows. The <code>sys_getloadavg()</code> function has not been implemented in PHP for Windows servers yet."
771
  msgstr ""
772
 
773
+ #: src/includes/classes/MenuPageOptions.php:544
774
  msgid "<strong>Note:</strong> <code>sys_getloadavg()</code> has been disabled by your web hosting company or is not available on your server."
775
  msgstr ""
776
 
777
+ #: src/includes/classes/MenuPageOptions.php:557
778
  msgid "Client-Side Cache"
779
  msgstr ""
780
 
781
+ #: src/includes/classes/MenuPageOptions.php:562
782
  msgid "Allow Double-Caching In The Client-Side Browser?"
783
  msgstr ""
784
 
785
+ #: src/includes/classes/MenuPageOptions.php:563
786
  msgid "Recommended setting: <code>No</code> (for membership sites, very important). Otherwise, <code>Yes</code> would be better (if users do NOT log in/out of your site)."
787
  msgstr ""
788
 
789
+ #: src/includes/classes/MenuPageOptions.php:564
790
  msgid "%1$s handles content delivery through its ability to communicate with a browser using PHP. If you allow a browser to (cache) the caching system itself, you are momentarily losing some control; and this can have a negative impact on users that see more than one version of your site; e.g., one version while logged-in, and another while NOT logged-in. For instance, a user may log out of your site, but upon logging out they report seeing pages on the site which indicate they are STILL logged in (even though they're not — that's bad). This can happen if you allow a client-side cache, because their browser may cache web pages they visited while logged into your site which persist even after logging out. Sending no-cache headers will work to prevent this issue."
791
  msgstr ""
792
 
793
+ #: src/includes/classes/MenuPageOptions.php:565
794
  msgid "All of that being said, if all you care about is blazing fast speed and users don't log in/out of your site (only you do); you can safely set this to <code>Yes</code> (recommended in this case). Allowing a client-side browser cache will improve speed and reduce outgoing bandwidth when this option is feasible."
795
  msgstr ""
796
 
797
+ #: src/includes/classes/MenuPageOptions.php:567
798
  msgid "No, prevent a client-side browser cache (safest option)."
799
  msgstr ""
800
 
801
+ #: src/includes/classes/MenuPageOptions.php:568
802
  msgid "Yes, I will allow a client-side browser cache of pages on the site."
803
  msgstr ""
804
 
805
+ #: src/includes/classes/MenuPageOptions.php:570
806
  msgid "<strong>Tip:</strong> Setting this to <code>No</code> is highly recommended when running a membership plugin like <a href=\"http://wordpress.org/plugins/s2member/\" target=\"_blank\">s2Member</a> (as one example). In fact, many plugins like s2Member will send <a href=\"http://codex.wordpress.org/Function_Reference/nocache_headers\" target=\"_blank\">nocache_headers()</a> on their own, so your configuration here will likely be overwritten when you run such plugins (which is better anyway). In short, if you run a membership plugin, you should NOT allow a client-side browser cache."
807
  msgstr ""
808
 
809
+ #: src/includes/classes/MenuPageOptions.php:571
810
  msgid "<strong>Tip:</strong> Setting this to <code>No</code> will NOT impact static content; e.g., CSS, JS, images, or other media. This setting pertains only to dynamic PHP scripts which produce content generated by WordPress."
811
  msgstr ""
812
 
813
+ #: src/includes/classes/MenuPageOptions.php:572
814
  msgid "<strong>Advanced Tip:</strong> if you have this set to <code>No</code>, but you DO want to allow a few special URLs to be cached by the browser; you can add this parameter to your URL <code>?%2$sABC=1</code>. This tells %1$s that it's OK for the browser to cache that particular URL. In other words, the <code>%2$sABC=1</code> parameter tells %1$s NOT to send no-cache headers to the browser."
815
  msgstr ""
816
 
817
+ #: src/includes/classes/MenuPageOptions.php:573
818
  msgid "Exclusion Patterns for Client-Side Caching"
819
  msgstr ""
820
 
821
+ #: src/includes/classes/MenuPageOptions.php:574
822
  msgid "When you enable Client-Side Caching above, you may want to prevent certain pages on your site from being cached by a client-side browser. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
823
  msgstr ""
824
 
825
+ #: src/includes/classes/MenuPageOptions.php:576
826
+ #: src/includes/classes/MenuPageOptions.php:700
827
+ #: src/includes/classes/MenuPageOptions.php:861
828
  msgid "<strong>Tip:</strong> let's use this example URL: <code>http://www.example.com/post/example-post-123</code>. To exclude this URL, you would put this line into the field above: <code>/post/example-post-123</code>. Or, you could also just put in a small fragment, like: <code>example</code> or <code>example-*-123</code> and that would exclude any URI containing that word fragment."
829
  msgstr ""
830
 
831
+ #: src/includes/classes/MenuPageOptions.php:577
832
+ #: src/includes/classes/MenuPageOptions.php:701
833
+ #: src/includes/classes/MenuPageOptions.php:719
834
+ #: src/includes/classes/MenuPageOptions.php:737
835
+ #: src/includes/classes/MenuPageOptions.php:853
836
+ #: src/includes/classes/MenuPageOptions.php:857
837
+ #: src/includes/classes/MenuPageOptions.php:862
838
+ #: src/includes/classes/MenuPageOptions.php:979
839
  msgid "<strong>Note:</strong> please remember that your entries here should be formatted as a line-delimited list; e.g., one exclusion pattern per line."
840
  msgstr ""
841
 
842
+ #: src/includes/classes/MenuPageOptions.php:588
843
  msgid "Logged-In Users"
844
  msgstr ""
845
 
846
+ #: src/includes/classes/MenuPageOptions.php:593
847
  msgid "Caching Enabled for Logged-In Users &amp; Comment Authors?"
848
  msgstr ""
849
 
850
+ #: src/includes/classes/MenuPageOptions.php:594
851
  msgid "This should almost ALWAYS be set to <code>No</code>. Most sites will NOT want to cache content generated while a user is logged-in. Doing so could result in a cache of dynamic content generated specifically for a particular user, where the content being cached may contain details that pertain only to the user that was logged-in when the cache was generated. Imagine visiting a website that says you're logged-in as Billy Bob (but you're not Billy Bob; NOT good). In short, do NOT turn this on unless you know what you're doing."
852
  msgstr ""
853
 
854
+ #: src/includes/classes/MenuPageOptions.php:596
855
  msgid "<strong>Exception (Membership Sites):</strong> If you run a site with many users and the majority of your traffic comes from users who ARE logged-in, please choose: <code>Yes (maintain separate cache)</code>. %1$s will operate normally; but when a user is logged-in, the cache is user-specific. %1$s will intelligently refresh the cache when/if a user submits a form on your site with the GET or POST method. Or, if you make changes to their account (or another plugin makes changes to their account); including user <a href=\"http://codex.wordpress.org/Function_Reference/update_user_option\" target=\"_blank\">option</a>|<a href=\"http://codex.wordpress.org/Function_Reference/update_user_meta\" target=\"_blank\">meta</a> additions, updates &amp; deletions too. However, please note that enabling this feature (e.g., user-specific cache entries); will eat up MUCH more disk space. That being said, the benefits of this feature for most sites will outweigh the disk overhead (e.g., it's NOT an issue in most cases). Unless you are short on disk space (or you have MANY thousands of users), the disk overhead is neglible."
856
  msgstr ""
857
 
858
+ #: src/includes/classes/MenuPageOptions.php:598
859
  msgid "No, do NOT cache; or serve a cache file when a user is logged-in (safest option)."
860
  msgstr ""
861
 
862
+ #: src/includes/classes/MenuPageOptions.php:599
863
  msgid "Yes, and maintain a separate cache for each user (recommended for membership sites)."
864
  msgstr ""
865
 
866
+ #: src/includes/classes/MenuPageOptions.php:602
867
  msgid "Yes, but DON'T maintain a separate cache for each user (I know what I'm doing)."
868
  msgstr ""
869
 
870
+ #: src/includes/classes/MenuPageOptions.php:606
871
  msgid "<strong>Warning:</strong> Whenever you enable caching for logged-in users (without a separate cache for each user), the WordPress Admin Bar <em>must</em> be disabled to prevent one user from seeing another user's details in the Admin Bar. <strong>Given your current configuration, %1$s will automatically hide the WordPress Admin Bar on the front-end of your site.</strong>"
872
  msgstr ""
873
 
874
+ #: src/includes/classes/MenuPageOptions.php:608
875
  msgid "<strong>Note:</strong> For most sites, the majority of their traffic (if not all of their traffic) comes from visitors who are not logged in, so disabling the cache for logged-in users is NOT ordinarily a performance issue. When a user IS logged-in, disabling the cache is considered ideal, because a logged-in user has a session open with your site; and the content they view should remain very dynamic in this scenario."
876
  msgstr ""
877
 
878
+ #: src/includes/classes/MenuPageOptions.php:609
879
  msgid "<strong>Note:</strong> This setting includes some users who AREN'T actually logged into the system, but who HAVE authored comments recently. %1$s includes comment authors as part of it's logged-in user check. This way comment authors will be able to see updates to the comment thread immediately; and, so that any dynamically-generated messages displayed by your theme will work as intended. In short, %1$s thinks of a comment author as a logged-in user, even though technically they are not. ~ Users who gain access to password-protected Posts/Pages are also included."
880
  msgstr ""
881
 
882
+ #: src/includes/classes/MenuPageOptions.php:611
883
  msgid "Static CDN Filters Enabled for Logged-In Users &amp; Comment Authors?"
884
  msgstr ""
885
 
886
+ #: src/includes/classes/MenuPageOptions.php:612
887
  msgid "While this defaults to a value of <code>No</code>, it should almost always be set to <code>Yes</code>. This value defaults to <code>No</code> only because Logged-In User caching (see above) defaults to <code>No</code> and setting this value to <code>Yes</code> by default can cause confusion for some users. Once you understand that Static CDN Filters can be applied safely for all visitors (logged-in or not logged-in), please choose <code>Yes</code> in the dropdown below. If you are not using Static CDN Filters, the value below is ignored."
888
  msgstr ""
889
 
890
+ #: src/includes/classes/MenuPageOptions.php:614
891
  msgid "No, disable Static CDN Filters when a user is logged-in."
892
  msgstr ""
893
 
894
+ #: src/includes/classes/MenuPageOptions.php:615
895
  msgid "Yes, enable Static CDN Filters for logged-in users (recommended) ."
896
  msgstr ""
897
 
898
+ #: src/includes/classes/MenuPageOptions.php:617
899
  msgid "<strong>Note:</strong> Static CDN Filters serve <em>static</em> resources. Static resources, are, simply put, static. Thus, it is not a problem to cache these resources for any visitor (logged-in or not logged-in). To avoid confusion, this defaults to a value of <code>No</code>, and we ask that you set it to <code>Yes</code> on your own so that you'll know to expect this behavior; i.e., that static resources will always be served from the CDN (logged-in or not logged-in) even though Logged-In User caching may be disabled above."
900
  msgstr ""
901
 
902
+ #: src/includes/classes/MenuPageOptions.php:627
903
  msgid "GET Requests"
904
  msgstr ""
905
 
906
+ #: src/includes/classes/MenuPageOptions.php:632
907
  msgid "Caching Enabled for GET (Query String) Requests?"
908
  msgstr ""
909
 
910
+ #: src/includes/classes/MenuPageOptions.php:633
911
  msgid "This should almost ALWAYS be set to <code>No</code>. UNLESS, you're using unfriendly Permalinks. In other words, if all of your URLs contain a query string (e.g., <code>/?key=value</code>); you're using unfriendly Permalinks. Ideally, you would refrain from doing this; and instead, update your Permalink options immediately; which also optimizes your site for search engines. That being said, if you really want to use unfriendly Permalinks, and ONLY if you're using unfriendly Permalinks, you should set this to <code>Yes</code>; and don't worry too much, the sky won't fall on your head :-)"
912
  msgstr ""
913
 
914
+ #: src/includes/classes/MenuPageOptions.php:635
915
  msgid "No, do NOT cache (or serve a cache file) when a query string is present."
916
  msgstr ""
917
 
918
+ #: src/includes/classes/MenuPageOptions.php:636
919
  msgid "Yes, I would like to cache URLs that contain a query string."
920
  msgstr ""
921
 
922
+ #: src/includes/classes/MenuPageOptions.php:638
923
  msgid "<strong>Note:</strong> POST requests (i.e., forms with <code>method=&quot;post&quot;</code>) are always excluded from the cache, which is the way it should be. Any <a href=\"http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html\" target=\"_blank\">POST/PUT/DELETE</a> request should NEVER (ever) be cached. CLI (and self-serve) requests are also excluded from the cache (always). A CLI request is one that comes from the command line; commonly used by CRON jobs and other automated routines. A self-serve request is an HTTP connection established from your site -› to your site. For instance, a WP Cron job, or any other HTTP request that is spawned not by a user, but by the server itself."
924
  msgstr ""
925
 
926
+ #: src/includes/classes/MenuPageOptions.php:639
927
  msgid "<strong>Advanced Tip:</strong> If you are NOT caching GET requests (recommended), but you DO want to allow some special URLs that include query string parameters to be cached; you can add this special parameter to any URL <code>?%2$sAC=1</code>. This tells %1$s that it's OK to cache that particular URL, even though it contains query string arguments. If you ARE caching GET requests and you want to force %1$s to NOT cache a specific request, you can add this special parameter to any URL <code>?%2$sAC=0</code>."
928
  msgstr ""
929
 
930
+ #: src/includes/classes/MenuPageOptions.php:649
931
  msgid "404 Requests"
932
  msgstr ""
933
 
934
+ #: src/includes/classes/MenuPageOptions.php:654
935
  msgid "Caching Enabled for 404 Requests?"
936
  msgstr ""
937
 
938
+ #: src/includes/classes/MenuPageOptions.php:655
939
  msgid "When this is set to <code>No</code>, %1$s will ignore all 404 requests and no cache file will be served. While this is fine for most site owners, caching the 404 page on a high-traffic site may further reduce server load. When this is set to <code>Yes</code>, %1$s will cache the 404 page (see <a href=\"https://codex.wordpress.org/Creating_an_Error_404_Page\" target=\"_blank\">Creating an Error 404 Page</a>) and then serve that single cache file to all future 404 requests."
940
  msgstr ""
941
 
942
+ #: src/includes/classes/MenuPageOptions.php:657
943
  msgid "No, do NOT cache (or serve a cache file) for 404 requests."
944
  msgstr ""
945
 
946
+ #: src/includes/classes/MenuPageOptions.php:658
947
  msgid "Yes, I would like to cache the 404 page and serve the cached file for 404 requests."
948
  msgstr ""
949
 
950
+ #: src/includes/classes/MenuPageOptions.php:660
951
  msgid "<strong>How does %1$s cache 404 requests?</strong> %1$s will create a special cache file (<code>----404----.html</code>, see Advanced Tip below) for the first 404 request and then <a href=\"http://www.php.net/manual/en/function.symlink.php\" target=\"_blank\">symlink</a> future 404 requests to this special cache file. That way you don't end up with lots of 404 cache files that all contain the same thing (the contents of the 404 page). Instead, you'll have one 404 cache file and then several symlinks (i.e., references) to that 404 cache file."
952
  msgstr ""
953
 
954
+ #: src/includes/classes/MenuPageOptions.php:661
955
  msgid "<strong>Advanced Tip:</strong> The default 404 cache filename (<code>----404----.html</code>) is designed to minimize the chance of a collision with a cache file for a real page with the same name. However, if you want to override this default and define your own 404 cache filename, you can do so by adding <code>define('COMET_CACHE_404_CACHE_FILENAME', 'your-404-cache-filename');</code> to your <code>wp-config.php</code> file (note that the <code>.html</code> extension should be excluded when defining a new filename)."
956
  msgstr ""
957
 
958
+ #: src/includes/classes/MenuPageOptions.php:671
959
  msgid "RSS, RDF, and Atom Feeds"
960
  msgstr ""
961
 
962
+ #: src/includes/classes/MenuPageOptions.php:676
963
  msgid "Caching Enabled for RSS, RDF, Atom Feeds?"
964
  msgstr ""
965
 
966
+ #: src/includes/classes/MenuPageOptions.php:677
967
  msgid "This should almost ALWAYS be set to <code>No</code>. UNLESS, you're sure that you want to cache your feeds. If you use a web feed management provider like Google® Feedburner and you set this option to <code>Yes</code>, you may experience delays in the detection of new posts. <strong>NOTE:</strong> If you do enable this, it is highly recommended that you also enable automatic Feed Clearing too. Please see the section above: \"Automatic Cache Clearing\". Find the sub-section titled: \"Auto-Clear RSS/RDF/ATOM Feeds\"."
968
  msgstr ""
969
 
970
+ #: src/includes/classes/MenuPageOptions.php:679
971
  msgid "No, do NOT cache (or serve a cache file) when displaying a feed."
972
  msgstr ""
973
 
974
+ #: src/includes/classes/MenuPageOptions.php:680
975
  msgid "Yes, I would like to cache feed URLs."
976
  msgstr ""
977
 
978
+ #: src/includes/classes/MenuPageOptions.php:682
979
  msgid "<strong>Note:</strong> This option affects all feeds served by WordPress, including the site feed, the site comment feed, post-specific comment feeds, author feeds, search feeds, and category and tag feeds. See also: <a href=\"http://codex.wordpress.org/WordPress_Feeds\" target=\"_blank\">WordPress Feeds</a>."
980
  msgstr ""
981
 
982
+ #: src/includes/classes/MenuPageOptions.php:692
983
  msgid "URI Exclusion Patterns"
984
  msgstr ""
985
 
986
+ #: src/includes/classes/MenuPageOptions.php:696
987
  msgid "Don't Cache These Special URI Exclusion Patterns?"
988
  msgstr ""
989
 
990
+ #: src/includes/classes/MenuPageOptions.php:697
991
  msgid "Sometimes there are certain cases where a particular file, or a particular group of files, should never be cached. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
992
  msgstr ""
993
 
994
+ #: src/includes/classes/MenuPageOptions.php:711
995
  msgid "HTTP Referrer Exclusion Patterns"
996
  msgstr ""
997
 
998
+ #: src/includes/classes/MenuPageOptions.php:715
999
  msgid "Don't Cache These Special HTTP Referrer Exclusion Patterns?"
1000
  msgstr ""
1001
 
1002
+ #: src/includes/classes/MenuPageOptions.php:716
1003
  msgid "Sometimes there are special cases where a particular referring URL (or referring domain) that sends you traffic; or even a particular group of referring URLs or domains that send you traffic; should result in a page being loaded on your site that is NOT from the cache (and that resulting page should never be cached). This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"http://www.php.net//manual/en/reserved.variables.server.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>HTTP_REFERER</code></a> (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>*.domain.com</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1004
  msgstr ""
1005
 
1006
+ #: src/includes/classes/MenuPageOptions.php:718
1007
  msgid "<strong>Tip:</strong> let's use this example URL: <code>http://www.referring-domain.com/search/?q=search+terms</code>. To exclude this referring URL, you could put this line into the field above: <code>www.referring-domain.com</code>. Or, you could also just put in a small fragment, like: <code>/search/</code> or <code>q=*</code>; and that would exclude any referrer containing that word fragment."
1008
  msgstr ""
1009
 
1010
+ #: src/includes/classes/MenuPageOptions.php:729
1011
  msgid "User-Agent Exclusion Patterns"
1012
  msgstr ""
1013
 
1014
+ #: src/includes/classes/MenuPageOptions.php:733
1015
  msgid "Don't Cache These Special User-Agent Exclusion Patterns?"
1016
  msgstr ""
1017
 
1018
+ #: src/includes/classes/MenuPageOptions.php:734
1019
  msgid "Sometimes there are special cases when a particular user-agent (e.g., a specific browser or a specific type of device); should be shown a page on your site that is NOT from the cache (and that resulting page should never be cached). This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"http://www.php.net//manual/en/reserved.variables.server.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>HTTP_USER_AGENT</code></a> (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>Android *; Chrome/* Mobile</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1020
  msgstr ""
1021
 
1022
+ #: src/includes/classes/MenuPageOptions.php:736
1023
  msgid "<strong>Tip:</strong> if you wanted to exclude iPhones put this line into the field above: <code>iPhone;*AppleWebKit</code>. Or, you could also just put in a small fragment, like: <code>iphone</code>; and that would exclude any user-agent containing that word fragment. Note, this is just an example. With a default installation of %1$s, there is no compelling reason to exclude iOS devices (or any mobile device for that matter)."
1024
  msgstr ""
1025
 
1026
+ #: src/includes/classes/MenuPageOptions.php:748
1027
  msgid "Auto-Cache Engine"
1028
  msgstr ""
1029
 
1030
+ #: src/includes/classes/MenuPageOptions.php:753
1031
  msgid "Enable the Auto-Cache Engine?"
1032
  msgstr ""
1033
 
1034
+ #: src/includes/classes/MenuPageOptions.php:754
1035
  msgid "After using %1$s for awhile (or any other page caching plugin, for that matter); it becomes obvious that at some point (based on your configured Expiration Time) %1$s has to refresh itself. It does this by ditching its cached version of a page, reloading the database-driven content, and then recreating the cache with the latest data. This is a never ending regeneration cycle that is based entirely on your configured Expiration Time."
1036
  msgstr ""
1037
 
1038
+ #: src/includes/classes/MenuPageOptions.php:755
1039
  msgid "Understanding this, you can see that 99% of your visitors are going to receive a lightning fast response from your server. However, there will always be around 1% of your visitors that land on a page for the very first time (before it's been cached), or land on a page that needs to have its cache regenerated, because the existing cache has become outdated. We refer to this as a <em>First-Come Slow-Load Issue</em>. Not a huge problem, but if you're optimizing your site for every ounce of speed possible, the Auto-Cache Engine can help with this. The Auto-Cache Engine has been designed to combat this issue by taking on the responsibility of being that first visitor to a page that has not yet been cached, or has an expired cache. The Auto-Cache Engine is powered, in part, by <a href=\"http://codex.wordpress.org/Category:WP-Cron_Functions\" target=\"_blank\">WP-Cron</a> (already built into WordPress). The Auto-Cache Engine runs at 15-minute intervals via WP-Cron. It also uses the <a href=\"http://core.trac.wordpress.org/browser/trunk/wp-includes/http.php\" target=\"_blank\">WP_Http</a> class, which is also built into WordPress already."
1040
  msgstr ""
1041
 
1042
+ #: src/includes/classes/MenuPageOptions.php:756
1043
  msgid "The Auto-Cache Engine obtains its list of URLs to auto-cache, from two different sources. It can read an <a href=\"http://wordpress.org/extend/plugins/google-sitemap-generator/\" target=\"_blank\">XML Sitemap</a> and/or a list of specific URLs that you supply. If you supply both sources, it will use both sources collectively. The Auto-Cache Engine takes ALL of your other configuration options into consideration too, including your Expiration Time, as well as any cache exclusion rules."
1044
  msgstr ""
1045
 
1046
+ #: src/includes/classes/MenuPageOptions.php:758
1047
  msgid "No, leave the Auto-Cache Engine disabled please."
1048
  msgstr ""
1049
 
1050
+ #: src/includes/classes/MenuPageOptions.php:759
1051
  msgid "Yes, I want the Auto-Cache Engine to keep pages cached automatically."
1052
  msgstr ""
1053
 
1054
+ #: src/includes/classes/MenuPageOptions.php:765
1055
  msgid "XML Sitemap URL (or an XML Sitemap Index)"
1056
  msgstr ""
1057
 
1058
+ #: src/includes/classes/MenuPageOptions.php:769
1059
  msgid "All URLs in this network are in the sitemap for the main site."
1060
  msgstr ""
1061
 
1062
+ #: src/includes/classes/MenuPageOptions.php:770
1063
  msgid "Using the path I've given, look for blog-specific sitemaps in each child blog also."
1064
  msgstr ""
1065
 
1066
+ #: src/includes/classes/MenuPageOptions.php:772
1067
  msgid "<strong>↑</strong> If enabled here, each child blog can be auto-cached too. %1$s will dynamically change the leading <code>%2$s</code> as necessary; for each child blog in the network. %1$s supports both sub-directory &amp; sub-domain networks, including domain mapping plugins. For more information about how the Auto-Cache Engine caches child blogs, see <a href=\"http://cometcache.com/r/kb-article-how-does-the-auto-cache-engine-cache-child-blogs-in-a-multisite-network/\" target=\"_blank\">this article</a>."
1068
  msgstr ""
1069
 
1070
+ #: src/includes/classes/MenuPageOptions.php:776
1071
  msgid "And/Or; a List of URLs to Auto-Cache (One Per Line)"
1072
  msgstr ""
1073
 
1074
+ #: src/includes/classes/MenuPageOptions.php:778
1075
  msgid "<strong>Note:</strong> Wildcards are NOT supported here. If you are going to supply a list of URLs above, each line must contain one full URL for the Auto-Cache Engine to auto-cache. If you have many URLs, we recommend using an <a href=\"https://en.wikipedia.org/wiki/Sitemaps\" target=\"_blank\">XML Sitemap</a>."
1076
  msgstr ""
1077
 
1078
+ #: src/includes/classes/MenuPageOptions.php:782
1079
  msgid "Auto-Cache Delay Timer (in Milliseconds)"
1080
  msgstr ""
1081
 
1082
+ #: src/includes/classes/MenuPageOptions.php:783
1083
  msgid "As the Auto-Cache Engine runs through each URL, you can tell it to wait X number of milliseconds between each connection that it makes. It is strongly suggested that you DO have some small delay here. Otherwise, you run the risk of hammering your own web server with multiple repeated connections whenever the Auto-Cache Engine is running. This is especially true on very large sites; where there is the potential for hundreds of repeated connections as the Auto-Cache Engine goes through a long list of URLs. Adding a delay between each connection will prevent the Auto-Cache Engine from placing a heavy load on the processor that powers your web server. A value of <code>500</code> milliseconds is suggested here (half a second). If you experience problems, you can bump this up a little at a time, in increments of <code>500</code> milliseconds; until you find a happy place for your server. <em>Please note that <code>1000</code> milliseconds = <code>1</code> full second.</em>"
1084
  msgstr ""
1085
 
1086
+ #: src/includes/classes/MenuPageOptions.php:788
1087
  msgid "Auto-Cache User-Agent String"
1088
  msgstr ""
1089
 
1090
+ #: src/includes/classes/MenuPageOptions.php:790
1091
  msgid "This is how the Auto-Cache Engine identifies itself when connecting to URLs. See <a href=\"http://en.wikipedia.org/wiki/User_agent\" target=\"_blank\">User Agent</a> in the Wikipedia."
1092
  msgstr ""
1093
 
1094
+ #: src/includes/classes/MenuPageOptions.php:802
1095
  msgid "HTML Compression"
1096
  msgstr ""
1097
 
1098
+ #: src/includes/classes/MenuPageOptions.php:807
1099
  msgid "Enable WebSharks™ HTML Compression?"
1100
  msgstr ""
1101
 
1102
+ #: src/includes/classes/MenuPageOptions.php:809
1103
  msgid "No, do NOT compress HTML/CSS/JS code at runtime."
1104
  msgstr ""
1105
 
1106
+ #: src/includes/classes/MenuPageOptions.php:810
1107
  msgid "Yes, I want to compress HTML/CSS/JS for blazing fast speeds."
1108
  msgstr ""
1109
 
1110
+ #: src/includes/classes/MenuPageOptions.php:812
1111
  msgid "<strong>Note:</strong> This is experimental. Please <a href=\"https://github.com/websharks/comet-cache/issues\" target=\"_blank\">report issues here</a>."
1112
  msgstr ""
1113
 
1114
+ #: src/includes/classes/MenuPageOptions.php:815
1115
  msgid "HTML Compression Options"
1116
  msgstr ""
1117
 
1118
+ #: src/includes/classes/MenuPageOptions.php:816
1119
  msgid "You can <a href=\"https://github.com/websharks/html-compressor\" target=\"_blank\">learn more about all of these options here</a>."
1120
  msgstr ""
1121
 
1122
+ #: src/includes/classes/MenuPageOptions.php:818
1123
  msgid "Yes, combine CSS from &lt;head&gt; and &lt;body&gt; into fewer files."
1124
  msgstr ""
1125
 
1126
+ #: src/includes/classes/MenuPageOptions.php:819
1127
  msgid "No, do not combine CSS from &lt;head&gt; and &lt;body&gt; into fewer files."
1128
  msgstr ""
1129
 
1130
+ #: src/includes/classes/MenuPageOptions.php:822
1131
  msgid "Yes, compress the code in any unified CSS files."
1132
  msgstr ""
1133
 
1134
+ #: src/includes/classes/MenuPageOptions.php:823
1135
  msgid "No, do not compress the code in any unified CSS files."
1136
  msgstr ""
1137
 
1138
+ #: src/includes/classes/MenuPageOptions.php:826
1139
  msgid "Yes, combine JS from &lt;head&gt; into fewer files."
1140
  msgstr ""
1141
 
1142
+ #: src/includes/classes/MenuPageOptions.php:827
1143
  msgid "No, do not combine JS from &lt;head&gt; into fewer files."
1144
  msgstr ""
1145
 
1146
+ #: src/includes/classes/MenuPageOptions.php:830
1147
  msgid "Yes, combine JS footer scripts into fewer files."
1148
  msgstr ""
1149
 
1150
+ #: src/includes/classes/MenuPageOptions.php:831
1151
  msgid "No, do not combine JS footer scripts into fewer files."
1152
  msgstr ""
1153
 
1154
+ #: src/includes/classes/MenuPageOptions.php:834
1155
  msgid "Yes, combine CSS/JS from remote resources too."
1156
  msgstr ""
1157
 
1158
+ #: src/includes/classes/MenuPageOptions.php:835
1159
  msgid "No, do not combine CSS/JS from remote resources."
1160
  msgstr ""
1161
 
1162
+ #: src/includes/classes/MenuPageOptions.php:838
1163
  msgid "Yes, compress the code in any unified JS files."
1164
  msgstr ""
1165
 
1166
+ #: src/includes/classes/MenuPageOptions.php:839
1167
  msgid "No, do not compress the code in any unified JS files."
1168
  msgstr ""
1169
 
1170
+ #: src/includes/classes/MenuPageOptions.php:842
1171
  msgid "Yes, compress inline JavaScript snippets."
1172
  msgstr ""
1173
 
1174
+ #: src/includes/classes/MenuPageOptions.php:843
1175
  msgid "No, do not compress inline JavaScript snippets."
1176
  msgstr ""
1177
 
1178
+ #: src/includes/classes/MenuPageOptions.php:846
1179
  msgid "Yes, compress (remove extra whitespace) in the final HTML code too."
1180
  msgstr ""
1181
 
1182
+ #: src/includes/classes/MenuPageOptions.php:847
1183
  msgid "No, do not compress the final HTML code."
1184
  msgstr ""
1185
 
1186
+ #: src/includes/classes/MenuPageOptions.php:850
1187
  msgid "CSS Exclusion Patterns?"
1188
  msgstr ""
1189
 
1190
+ #: src/includes/classes/MenuPageOptions.php:851
1191
  msgid "Sometimes there are special cases when a particular CSS file should NOT be consolidated or compressed in any way. This is where you will enter those if you need to (one per line). Searches are performed against the <code>&lt;link href=&quot;&quot;&gt;</code> value, and also against the contents of any inline <code>&lt;style&gt;</code> tags (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>xy*-framework</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1192
  msgstr ""
1193
 
1194
+ #: src/includes/classes/MenuPageOptions.php:854
1195
  msgid "JavaScript Exclusion Patterns?"
1196
  msgstr ""
1197
 
1198
+ #: src/includes/classes/MenuPageOptions.php:855
1199
  msgid "Sometimes there are special cases when a particular JS file should NOT be consolidated or compressed in any way. This is where you will enter those if you need to (one per line). Searches are performed against the <code>&lt;script src=&quot;&quot;&gt;</code> value, and also against the contents of any inline <code>&lt;script&gt;</code> tags (caSe insensitive). A wildcard <code>*</code> character can also be used when necessary; e.g., <code>xy*-framework</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1200
  msgstr ""
1201
 
1202
+ #: src/includes/classes/MenuPageOptions.php:858
1203
  msgid "URI Exclusions for HTML Compressor?"
1204
  msgstr ""
1205
 
1206
+ #: src/includes/classes/MenuPageOptions.php:859
1207
  msgid "When you enable HTML Compression above, you may want to prevent certain pages on your site from being cached by the HTML Compressor. This is where you will enter those if you need to (one per line). Searches are performed against the <a href=\"https://gist.github.com/jaswsinc/338b6eb03a36c048c26f\" target=\"_blank\" style=\"text-decoration:none;\"><code>REQUEST_URI</code></a>; i.e., <code>/path/?query</code> (caSe insensitive). So, don't put in full URLs here, just word fragments found in the file path (or query string) is all you need, excluding the http:// and domain name. A wildcard <code>*</code> character can also be used when necessary; e.g., <code>/category/abc-followed-by-*</code> (where <code>*</code> = 0 or more characters that are NOT a slash <code>/</code>). Other special characters include: <code>**</code> = 0 or more characters of any kind, including <code>/</code> slashes; <code>^</code> = beginning of the string; <code>$</code> = end of the string. To learn more about this syntax, please see <a href =\"http://cometcache.com/r/watered-down-regex-syntax/\" target=\"_blank\">this KB article</a>."
1208
  msgstr ""
1209
 
1210
+ #: src/includes/classes/MenuPageOptions.php:864
1211
  msgid "HTML Compression Cache Expiration"
1212
  msgstr ""
1213
 
1214
+ #: src/includes/classes/MenuPageOptions.php:866
1215
  msgid "<strong>Tip:</strong> the value that you specify here MUST be compatible with PHP's <a href=\"http://php.net/manual/en/function.strtotime.php\" target=\"_blank\" style=\"text-decoration:none;\"><code>strtotime()</code></a> function. Examples: <code>2 hours</code>, <code>7 days</code>, <code>6 months</code>, <code>1 year</code>."
1216
  msgstr ""
1217
 
1218
+ #: src/includes/classes/MenuPageOptions.php:867
1219
  msgid "<strong>Note:</strong> This does NOT impact the overall cache expiration time that you configure with %1$s. It only impacts the sub-routines provided by the HTML Compressor. In fact, this expiration time is mostly irrelevant. The HTML Compressor uses an internal checksum, and it also checks <code>filemtime()</code> before using an existing cache file. The HTML Compressor class also handles the automatic cleanup of your cache directories to keep it from growing too large over time. Therefore, unless you have VERY little disk space there is no reason to set this to a lower value (even if your site changes dynamically quite often). If anything, you might like to increase this value which could help to further reduce server load. You can <a href=\"https://github.com/websharks/HTML-Compressor\" target=\"_blank\">learn more here</a>. We recommend setting this value to at least double that of your overall %1$s expiration time."
1220
  msgstr ""
1221
 
1222
+ #: src/includes/classes/MenuPageOptions.php:878
1223
  msgid "GZIP Compression"
1224
  msgstr ""
1225
 
1226
+ #: src/includes/classes/MenuPageOptions.php:883
1227
  msgid "<a href=\"https://developers.google.com/speed/articles/gzip\" target=\"_blank\">GZIP Compression</a> (Optional; Highly Recommended)"
1228
  msgstr ""
1229
 
1230
+ #: src/includes/classes/MenuPageOptions.php:884
1231
  msgid "You don't have to use an <code>.htaccess</code> file to enjoy the performance enhancements provided by this plugin; caching is handled automatically by WordPress/PHP alone. That being said, if you want to take advantage of the additional speed enhancements associated w/ GZIP compression (and we do recommend this), then you WILL need an <code>.htaccess</code> file to accomplish that part."
1232
  msgstr ""
1233
 
1234
+ #: src/includes/classes/MenuPageOptions.php:885
1235
  msgid "%1$s fully supports GZIP compression on its output. However, it does not handle GZIP compression directly. We purposely left GZIP compression out of this plugin, because GZIP compression is something that should really be enabled at the Apache level or inside your <code>php.ini</code> file. GZIP compression can be used for things like JavaScript and CSS files as well, so why bother turning it on for only WordPress-generated pages when you can enable GZIP at the server level and cover all the bases!"
1236
  msgstr ""
1237
 
1238
+ #: src/includes/classes/MenuPageOptions.php:886
1239
  msgid "If you want to enable GZIP, create an <code>.htaccess</code> file in your WordPress® installation directory, and put the following few lines in it. Alternatively, if you already have an <code>.htaccess</code> file, just add these lines to it, and that is all there is to it. GZIP is now enabled in the recommended way! See also: <a href=\"https://developers.google.com/speed/articles/gzip\" target=\"_blank\"><i class=\"si si-youtube-play\"></i> video about GZIP Compression</a>."
1240
  msgstr ""
1241
 
1242
+ #: src/includes/classes/MenuPageOptions.php:900
1243
  msgid "Static CDN Filters"
1244
  msgstr ""
1245
 
1246
+ #: src/includes/classes/MenuPageOptions.php:904
1247
  msgid "Clear CDN Cache (Bump CDN Invalidation Counter)"
1248
  msgstr ""
1249
 
1250
+ #: src/includes/classes/MenuPageOptions.php:904
1251
  msgid "Clear CDN Cache"
1252
  msgstr ""
1253
 
1254
+ #: src/includes/classes/MenuPageOptions.php:905
1255
  msgid "Enable Static CDN Filters (e.g., MaxCDN/CloudFront)?"
1256
  msgstr ""
1257
 
1258
+ #: src/includes/classes/MenuPageOptions.php:906
1259
  msgid "This feature allows you to serve some and/or ALL static files on your site from a CDN of your choosing. This is made possible through content/URL filters exposed by WordPress and implemented by %1$s. All it requires is that you setup a CDN host name sourced by your WordPress installation domain. You enter that CDN host name below and %1$s will do the rest! Super easy, and it doesn't require any DNS changes either. :-) Please <a href=\"http://cometcache.com/r/static-cdn-filters-general-instructions/\" target=\"_blank\">click here</a> for a general set of instructions."
1260
  msgstr ""
1261
 
1262
+ #: src/includes/classes/MenuPageOptions.php:907
1263
  msgid "<strong>What's a CDN?</strong> It's a Content Delivery Network (i.e., a network of optimized servers) designed to cache static resources served from your site (e.g., JS/CSS/images and other static files) onto it's own servers, which are located strategically in various geographic areas around the world. Integrating a CDN for static files can dramatically improve the speed and performance of your site, lower the burden on your own server, and reduce latency associated with visitors attempting to access your site from geographic areas of the world that might be very far away from the primary location of your own web servers."
1264
  msgstr ""
1265
 
1266
+ #: src/includes/classes/MenuPageOptions.php:910
1267
  msgid "It appears that your server is running NGINX and does not support <code>.htaccess</code> rules. Please <a href=\"http://cometcache.com/r/kb-article-recommended-nginx-server-configuration/\" target=\"_new\">update your server configuration manually</a>. Note that updating your NGINX server configuration <em>before</em> enabling Static CDN Filters is recommended to prevent any <a href=\"http://cometcache.com/r/kb-article-what-are-cross-origin-request-blocked-cors-errors/\" target=\"_new\">CORS errors</a> with your CDN. If you've already updated your NGINX configuration, you can safely <a href=\"http://cometcache.com/r/kb-article-how-do-i-disable-the-nginx-htaccess-notice/\" target=\"_new\">ignore this message</a>."
1268
  msgstr ""
1269
 
1270
+ #: src/includes/classes/MenuPageOptions.php:914
1271
  msgid "No, I do NOT want CDN filters applied at runtime."
1272
  msgstr ""
1273
 
1274
+ #: src/includes/classes/MenuPageOptions.php:915
1275
  msgid "Yes, I want CDN filters applied w/ my configuration below."
1276
  msgstr ""
1277
 
1278
+ #: src/includes/classes/MenuPageOptions.php:922
1279
  msgid "CDN Host Name (Required)"
1280
  msgstr ""
1281
 
1282
+ #: src/includes/classes/MenuPageOptions.php:928
1283
  msgid "This field is really all that's necessary to get Static CDN Filters working! However, it does requires a little bit of work on your part. You need to setup and configure a CDN before you can fill in this field. Once you configure a CDN, you'll receive a host name (provided by your CDN), which you'll enter here; e.g., <code>js9dgjsl4llqpp.cloudfront.net</code>. We recommend <a href=\"http://cometcache.com/r/maxcdn/\" target=\"_blank\">MaxCDN</a>, <a href=\"http://cometcache.com/r/amazon-cloudfront/\" target=\"_blank\">Amazon CloudFront</a>, <a href=\"http://cometcache.com/r/keycdn/\" target=\"_blank\">KeyCDN</a>, and/or <a href=\"http://cometcache.com/r/cdn77/\" target=\"_blank\">CDN77</a> but this should work with many of the most popular CDNs. Please read <a href=\"http://cometcache.com/r/static-cdn-filters-general-instructions/\" target=\"_blank\">this article</a> for a general set of instructions. We also have a <a href=\"http://cometcache.com/r/static-cdn-filters-maxcdn/\" target=\"_blank\">MaxCDN tutorial</a>, <a href=\"http://cometcache.com/r/static-cdn-filters-cloudfront/\" target=\"_blank\">CloudFront tutorial</a>, <a href=\"http://cometcache.com/r/static-cdn-filters-keycdn/\" target=\"_blank\">KeyCDN tutorial</a>, and a <a href=\"http://cometcache.com/r/static-cdn-filters-cdn77/\" target=\"_blank\">CDN77 tutorial</a> to walk you through the process."
1284
  msgstr ""
1285
 
1286
+ #: src/includes/classes/MenuPageOptions.php:933
1287
  msgid "Multiple CDN Host Names for Domain Sharding and Multisite Networks (Optional)"
1288
  msgstr ""
1289
 
1290
+ #: src/includes/classes/MenuPageOptions.php:934
1291
  msgid "%1$s also supports multiple CDN Host Names for any given domain. Using multiple CDN Host Names (instead of just one, as seen above) is referred to as <strong><a href=\"http://cometcache.com/r/domain-sharding/\" target=\"_blank\">Domain Sharding</a></strong> (<a href=\"http://cometcache.com/r/domain-sharding/\" target=\"_blank\">click here to learn more</a>). If you configure multiple CDN Host Names (i.e., if you implement Domain Sharding), %1$s will use the first one that you list for static resources loaded in the HTML <code>&lt;head&gt;</code> section, the last one for static resources loaded in the footer, and it will choose one at random for all other static resource locations. Configuring multiple CDN Host Names can improve speed! This is a way for advanced site owners to work around concurrency limits in popular browsers; i.e., making it possible for browsers to download many more resources simultaneously, resulting in a faster overall completion time. In short, this tells the browser that your website will not be overloaded by concurrent requests, because static resources are in fact being served by a content-delivery network (i.e., multiple CDN host names). If you use this functionality for Domain Sharding, we suggest that you setup one CDN Distribution (aka: Pull Zone), and then create multiple CNAME records pointing to that distribution. You can enter each of your CNAMES in the field below, as instructed."
1292
  msgstr ""
1293
 
1294
+ #: src/includes/classes/MenuPageOptions.php:935
1295
  msgid "<strong>On WordPress Multisite Network installations</strong>, this field also allows you to configure different CDN Host Names for each domain (or sub-domain) that you run from a single installation of WordPress. For more information about configuring Static CDN Filters on a WordPress Multisite Network, see this tutorial: <a href=\"http://cometcache.com/r/static-cdn-filters-for-wordpress-multisite-networks/\" target=\"_blank\">Static CDN Filters for WordPress Multisite Networks</a>."
1296
  msgstr ""
1297
 
1298
+ #: src/includes/classes/MenuPageOptions.php:937
1299
  msgid "<strong>↑ Syntax:</strong> This is a line-delimited list of domain mappings. Each line should start with your WordPress domain name (e.g., <code>%1$s</code>), followed by an <code>=</code> sign, followed by a comma-delimited list of CDN Host Names associated with the domain in that line. If you're running a Multisite Network installation of WordPress, you might have multiple configuration lines. Otherwise, you should only need one line to configure multiple CDN Host Names for a standard WordPress installation."
1300
  msgstr ""
1301
 
1302
+ #: src/includes/classes/MenuPageOptions.php:941
1303
  msgid "CDN Supports HTTPS Connections?"
1304
  msgstr ""
1305
 
1306
+ #: src/includes/classes/MenuPageOptions.php:943
1307
  msgid "No, I don't serve content over https://; or I haven't configured my CDN w/ an SSL certificate."
1308
  msgstr ""
1309
 
1310
+ #: src/includes/classes/MenuPageOptions.php:944
1311
  msgid "Yes, I've configured my CDN w/ an SSL certificate; I need https:// enabled."
1312
  msgstr ""
1313
 
1314
+ #: src/includes/classes/MenuPageOptions.php:951
1315
  msgid "Additional Options (For Advanced Users)"
1316
  msgstr ""
1317
 
1318
+ #: src/includes/classes/MenuPageOptions.php:956
1319
  msgid "Everything else below is 100% completely optional; i.e., not required to enjoy the benefits of Static CDN Filters."
1320
  msgstr ""
1321
 
1322
+ #: src/includes/classes/MenuPageOptions.php:960
1323
  msgid "Whitelisted File Extensions (Optional; Comma-Delimited)"
1324
  msgstr ""
1325
 
1326
+ #: src/includes/classes/MenuPageOptions.php:962
1327
  msgid "If you leave this empty a default set of extensions are taken from WordPress itself. The default set of whitelisted file extensions includes everything supported by the WordPress media library."
1328
  msgstr ""
1329
 
1330
+ #: src/includes/classes/MenuPageOptions.php:964
1331
  msgid "Blacklisted File Extensions (Optional; Comma-Delimited)"
1332
  msgstr ""
1333
 
1334
+ #: src/includes/classes/MenuPageOptions.php:966
1335
  msgid "With or without a whitelist, you can force exclusions by explicitly blacklisting certain file extensions of your choosing. Please note, the <code>php</code> extension will never be considered a static resource; i.e., it is automatically blacklisted at all times."
1336
  msgstr ""
1337
 
1338
+ #: src/includes/classes/MenuPageOptions.php:970
1339
  msgid "Whitelisted URI Inclusion Patterns (Optional; One Per Line)"
1340
  msgstr ""
1341
 
1342
+ #: src/includes/classes/MenuPageOptions.php:972
1343
  msgid "<strong>Note:</strong> please remember that your entries here should be formatted as a line-delimited list; e.g., one inclusion pattern per line."
1344
  msgstr ""
1345
 
1346
+ #: src/includes/classes/MenuPageOptions.php:973
1347
  msgid "If provided, only local URIs matching one of the patterns you list here will be served from your CDN Host Name. URI patterns are caSe-insensitive. A wildcard <code>*</code> will match zero or more characters in any of your patterns. A caret <code>^</code> symbol will match zero or more characters that are NOT the <code>/</code> character. For instance, <code>*/wp-content/*</code> here would indicate that you only want to filter URLs that lead to files located inside the <code>wp-content</code> directory. Adding an additional line with <code>*/wp-includes/*</code> would filter URLs in the <code>wp-includes</code> directory also. <strong>If you leave this empty</strong>, ALL files matching a static file extension will be served from your CDN; i.e., the default behavior."
1348
  msgstr ""
1349
 
1350
+ #: src/includes/classes/MenuPageOptions.php:974
1351
  msgid "Please note that URI patterns are tested against a file's path (i.e., a file's URI, and NOT its full URL). A URI always starts with a leading <code>/</code>. To clarify, a URI is the portion of the URL which comes after the host name. For instance, given the following URL: <code>http://example.com/path/to/style.css?ver=3</code>, the URI you are matching against would be: <code>/path/to/style.css?ver=3</code>. To whitelist this URI, you could use a line that contains something like this: <code>/path/to/*.css*</code>"
1352
  msgstr ""
1353
 
1354
+ #: src/includes/classes/MenuPageOptions.php:976
1355
  msgid "Blacklisted URI Exclusion Patterns (Optional; One Per Line)"
1356
  msgstr ""
1357
 
1358
+ #: src/includes/classes/MenuPageOptions.php:978
1359
  msgid "With or without a whitelist, you can force exclusions by explicitly blacklisting certain URI patterns. URI patterns are caSe-insensitive. A wildcard <code>*</code> will match zero or more characters in any of your patterns. A caret <code>^</code> symbol will match zero or more characters that are NOT the <code>/</code> character. For instance, <code>*/wp-content/*/dynamic.pdf*</code> would exclude a file with the name <code>dynamic.pdf</code> located anywhere inside a sub-directory of <code>wp-content</code>."
1360
  msgstr ""
1361
 
1362
+ #: src/includes/classes/MenuPageOptions.php:983
1363
  msgid "Query String Invalidation Variable Name"
1364
  msgstr ""
1365
 
1366
+ #: src/includes/classes/MenuPageOptions.php:985
1367
  msgid "Each filtered URL (which then leads to your CDN) will include this query string variable as an easy way to invalidate the CDN cache at any time. Invalidating the CDN cache is simply a matter of changing the global invalidation counter (i.e., the value assigned to this query string variable). %1$s manages invalidations automatically; i.e., %1$s will automatically bump an internal counter each time you upgrade a WordPress component (e.g., a plugin, theme, or WP itself). Or, if you ask %1$s to invalidate the CDN cache (e.g., a manual clearing of the CDN cache); the internal counter is bumped then too. In short, %1$s handles cache invalidations for you reliably. This option simply allows you to customize the query string variable name which makes cache invalidations possible. <strong>Please note, the default value is adequate for most sites. You can change this if you like, but it's not necessary.</strong>"
1368
  msgstr ""
1369
 
1370
+ #: src/includes/classes/MenuPageOptions.php:986
1371
  msgid "<strong>Tip:</strong> You can also tell %1$s to automatically bump the CDN Invalidation Counter whenever you clear the cache manually. See: <strong>%1$s → Manual Cache Clearing → Clear the CDN Cache Too?</strong>"
1372
  msgstr ""
1373
 
1374
+ #: src/includes/classes/MenuPageOptions.php:987
1375
  msgid "<strong>Note:</strong> If you empty this field, it will effectively disable the %1$s invalidation system for Static CDN Filters; i.e., the query string variable will NOT be included if you do not supply a variable name."
1376
  msgstr ""
1377
 
1378
+ #: src/includes/classes/MenuPageOptions.php:1000
1379
  msgid "Dynamic Version Salt"
1380
  msgstr ""
1381
 
1382
+ #: src/includes/classes/MenuPageOptions.php:1005
1383
  msgid "<i class=\"si si-flask\"></i> <span style=\"display:inline-block; padding:5px; border-radius:3px; background:#FFFFFF; color:#354913;\"><span style=\"font-weight:bold; font-size:80%;\">GEEK ALERT</span></span> This is for VERY advanced users only..."
1384
  msgstr ""
1385
 
1386
+ #: src/includes/classes/MenuPageOptions.php:1006
1387
  msgid "<em>Note: Understanding the %1$s <a href=\"http://cometcache.com/r/kb-branched-cache-structure/\" target=\"_blank\">Branched Cache Structure</a> is a prerequisite to understanding how Dynamic Version Salts are added to the mix.</em>"
1388
  msgstr ""
1389
 
1390
+ #: src/includes/classes/MenuPageOptions.php:1007
1391
  msgid "A Version Salt gives you the ability to dynamically create multiple variations of the cache, and those dynamic variations will be served on subsequent visits; e.g., if a visitor has a specific cookie (of a certain value) they will see pages which were cached with that version (i.e., w/ that Version Salt: the value of the cookie). A Version Salt can really be anything."
1392
  msgstr ""
1393
 
1394
+ #: src/includes/classes/MenuPageOptions.php:1008
1395
  msgid "A Version Salt can be a single variable like <code>$_COOKIE['my_cookie']</code>, or it can be a combination of multiple variables, like <code>$_COOKIE['my_cookie'].$_COOKIE['my_other_cookie']</code>. (When using multiple variables, please separate them with a dot, as shown in the example.)"
1396
  msgstr ""
1397
 
1398
+ #: src/includes/classes/MenuPageOptions.php:1009
1399
  msgid "Experts could even use PHP ternary expressions that evaluate into something. For example: <code>((preg_match('/iPhone/i', $_SERVER['HTTP_USER_AGENT'])) ? 'iPhones' : '')</code>. This would force a separate version of the cache to be created for iPhones (e.g., <code>/cache/PROTOCOL/HOST/REQUEST-URI.v/iPhones.html</code>)."
1400
  msgstr ""
1401
 
1402
+ #: src/includes/classes/MenuPageOptions.php:1010
1403
  msgid "For more documentation, please see <a href=\"http://cometcache.com/r/kb-dynamic-version-salts/\" target=\"_blank\">Dynamic Version Salts</a>."
1404
  msgstr ""
1405
 
1406
+ #: src/includes/classes/MenuPageOptions.php:1012
1407
  msgid "Create a Dynamic Version Salt For %1$s? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"font-size:90%%; opacity:0.5;\">150%% OPTIONAL</span>"
1408
  msgstr ""
1409
 
1410
+ #: src/includes/classes/MenuPageOptions.php:1014
1411
  msgid "<a href=\"http://php.net/manual/en/language.variables.superglobals.php\" target=\"_blank\">Super Globals</a> work here; <a href=\"http://codex.wordpress.org/Editing_wp-config.php#table_prefix\" target=\"_blank\"><code>$GLOBALS['table_prefix']</code></a> is a popular one.<br />Or, perhaps a PHP Constant defined in <code>/wp-config.php</code>; such as <code>WPLANG</code> or <code>DB_HOST</code>."
1412
  msgstr ""
1413
 
1414
+ #: src/includes/classes/MenuPageOptions.php:1015
1415
  msgid "<strong>Important:</strong> your Version Salt is scanned for PHP syntax errors via <a href=\"http://phpcodechecker.com/\" target=\"_blank\"><code>phpCodeChecker.com</code></a>. If errors are found, you'll receive a notice in the Dashboard."
1416
  msgstr ""
1417
 
1418
+ #: src/includes/classes/MenuPageOptions.php:1016
1419
  msgid "If you've enabled a separate cache for each user (optional) that's perfectly OK. A Version Salt works with user caching too."
1420
  msgstr ""
1421
 
1422
+ #: src/includes/classes/MenuPageOptions.php:1026
1423
  msgid "Theme/Plugin Developers"
1424
  msgstr ""
1425
 
1426
+ #: src/includes/classes/MenuPageOptions.php:1031
1427
  msgid "Developing a Theme or Plugin for WordPress?"
1428
  msgstr ""
1429
 
1430
+ #: src/includes/classes/MenuPageOptions.php:1032
1431
  msgid "<strong>Tip:</strong> %1$s can be disabled temporarily. If you're a theme/plugin developer, you can set a flag within your PHP code to disable the cache engine at runtime. Perhaps on a specific page, or in a specific scenario. In your PHP script, set: <code>$_SERVER['COMET_CACHE_ALLOWED'] = FALSE;</code> or <code>define('COMET_CACHE_ALLOWED', FALSE)</code>. %1$s is also compatible with: <code>define('DONOTCACHEPAGE', TRUE)</code>. It does't matter where or when you define one of these, because %1$s is the last thing to run before script execution ends."
1432
  msgstr ""
1433
 
1434
+ #: src/includes/classes/MenuPageOptions.php:1034
1435
  msgid "Writing \"Advanced Cache\" Plugins Specifically for %1$s"
1436
  msgstr ""
1437
 
1438
+ #: src/includes/classes/MenuPageOptions.php:1035
1439
  msgid "Theme/plugin developers can take advantage of the %1$s plugin architecture by creating PHP files inside this special directory: <code>/wp-content/ac-plugins/</code>. There is an <a href=\"http://cometcache.com/r/ac-plugin-example/\" target=\"_blank\">example plugin file @ GitHub</a> (please review it carefully and ask questions). If you develop a plugin for %1$s, please share it with the community by publishing it in the plugins respository at WordPress.org."
1440
  msgstr ""
1441
 
1442
+ #: src/includes/classes/MenuPageOptions.php:1036
1443
  msgid "<strong>Why does %1$s have it's own plugin architecture?</strong> WordPress loads the <code>advanced-cache.php</code> drop-in file (for caching purposes) very early-on; before any other plugins or a theme. For this reason, %1$s implements it's own watered-down version of functions like <code>add_action()</code>, <code>do_action()</code>, <code>add_filter()</code>, <code>apply_filters()</code>."
1444
  msgstr ""
1445
 
1446
+ #: src/includes/classes/MenuPageOptions.php:1047
1447
  msgid "Import/Export Options"
1448
  msgstr ""
1449
 
1450
+ #: src/includes/classes/MenuPageOptions.php:1052
1451
  msgid "Import Options from Another %1$s Installation?"
1452
  msgstr ""
1453
 
1454
+ #: src/includes/classes/MenuPageOptions.php:1053
1455
  msgid "Upload your <code>%1$s-options.json</code> file and click \"Save All Changes\" below. The options provided by your import file will override any that exist currently."
1456
  msgstr ""
1457
 
1458
+ #: src/includes/classes/MenuPageOptions.php:1056
1459
  msgid "Export Existing Options from this %1$s Installation?"
1460
  msgstr ""
1461
 
1462
+ #: src/includes/classes/MenuPageOptions.php:1059
1463
  msgid "%1$s-options.json"
1464
  msgstr ""
1465
 
1466
+ #: src/includes/classes/MenuPageOptions.php:1060
1467
  msgid "Download your existing options and import them all into another %1$s installation; saves time on future installs."
1468
  msgstr ""
1469
 
1470
+ #: src/includes/classes/MenuPageOptions.php:1068
1471
  msgid "Save All Changes"
1472
  msgstr ""
1473
 
1474
+ #: src/includes/classes/VsUpgrades.php:201
1475
  msgid "<strong>Woohoo! %1$s activated.</strong> :-)"
1476
  msgstr ""
1477
 
1699
  msgid "%s Day High"
1700
  msgstr ""
1701
 
1702
+ #: src/includes/closures/Plugin/MenuPageUtils.php:118
1703
  msgid "Settings"
1704
  msgstr ""
1705
 
1706
+ #: src/includes/closures/Plugin/MenuPageUtils.php:121
1707
  msgid "Upgrade"
1708
  msgstr ""
1709
 
src/includes/uninstall.php CHANGED
@@ -4,15 +4,16 @@
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
- namespace WebSharks\Comet_Cache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
11
  }
12
  require_once dirname(__FILE__).'/stub.php';
13
 
 
 
14
  if (!Conflicts::check()) {
15
- $GLOBALS[GLOBAL_NS.'_uninstalling'] = true;
16
- $GLOBALS[GLOBAL_NS] = new Plugin(false);
17
  $GLOBALS[GLOBAL_NS]->uninstall();
18
  }
4
  *
5
  * @since 150422 Rewrite.
6
  */
7
+ namespace WebSharks\CometCache;
8
 
9
  if (!defined('WPINC')) {
10
  exit('Do NOT access this file directly: '.basename(__FILE__));
11
  }
12
  require_once dirname(__FILE__).'/stub.php';
13
 
14
+ $GLOBALS[GLOBAL_NS.'_uninstalling'] = true; // Needs to be set before calling Conflicts class
15
+
16
  if (!Conflicts::check()) {
17
+ $GLOBALS[GLOBAL_NS] = new Plugin(false);
 
18
  $GLOBALS[GLOBAL_NS]->uninstall();
19
  }
src/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitd7e520250662bb720cf0db0fd6927f04::getLoader();
src/vendor/composer/autoload_psr4.php CHANGED
@@ -9,5 +9,5 @@ return array(
9
  'WebSharks\\JsMinifier\\' => array($vendorDir . '/websharks/js-minifier/src/includes/classes'),
10
  'WebSharks\\HtmlCompressor\\' => array($vendorDir . '/websharks/html-compressor/src/includes/classes'),
11
  'WebSharks\\CssMinifier\\' => array($vendorDir . '/websharks/css-minifier/src/includes/classes'),
12
- 'WebSharks\\Comet_Cache\\' => array($baseDir . '/src/includes/classes'),
13
  );
9
  'WebSharks\\JsMinifier\\' => array($vendorDir . '/websharks/js-minifier/src/includes/classes'),
10
  'WebSharks\\HtmlCompressor\\' => array($vendorDir . '/websharks/html-compressor/src/includes/classes'),
11
  'WebSharks\\CssMinifier\\' => array($vendorDir . '/websharks/css-minifier/src/includes/classes'),
12
+ 'WebSharks\\CometCache\\' => array($baseDir . '/src/includes/classes'),
13
  );
src/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -44,7 +44,7 @@ class ComposerAutoloaderInit5dad45be0f8ab232c2bf57fb8eacc8b9
44
  }
45
  }
46
 
47
- function composerRequire5dad45be0f8ab232c2bf57fb8eacc8b9($file)
48
  {
49
  require $file;
50
  }
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitd7e520250662bb720cf0db0fd6927f04
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInitd7e520250662bb720cf0db0fd6927f04', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitd7e520250662bb720cf0db0fd6927f04', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
44
  }
45
  }
46
 
47
+ function composerRequired7e520250662bb720cf0db0fd6927f04($file)
48
  {
49
  require $file;
50
  }
src/vendor/composer/installed.json CHANGED
@@ -224,23 +224,23 @@
224
  },
225
  {
226
  "name": "websharks/sharkicons",
227
- "version": "160209",
228
- "version_normalized": "160209",
229
  "source": {
230
  "type": "git",
231
  "url": "https://github.com/websharks/sharkicons.git",
232
- "reference": "146508cc2a77bb49528f39799d864c4fdf14e3aa"
233
  },
234
  "dist": {
235
  "type": "zip",
236
- "url": "https://api.github.com/repos/websharks/sharkicons/zipball/146508cc2a77bb49528f39799d864c4fdf14e3aa",
237
- "reference": "146508cc2a77bb49528f39799d864c4fdf14e3aa",
238
  "shasum": ""
239
  },
240
  "require-dev": {
241
  "package/bourbon": "4.2.3"
242
  },
243
- "time": "2016-02-09 22:36:25",
244
  "type": "library",
245
  "installation-source": "dist",
246
  "autoload": {
224
  },
225
  {
226
  "name": "websharks/sharkicons",
227
+ "version": "160221",
228
+ "version_normalized": "160221",
229
  "source": {
230
  "type": "git",
231
  "url": "https://github.com/websharks/sharkicons.git",
232
+ "reference": "2e6d6663c050f343fe944b424dea1759aa67cd05"
233
  },
234
  "dist": {
235
  "type": "zip",
236
+ "url": "https://api.github.com/repos/websharks/sharkicons/zipball/2e6d6663c050f343fe944b424dea1759aa67cd05",
237
+ "reference": "2e6d6663c050f343fe944b424dea1759aa67cd05",
238
  "shasum": ""
239
  },
240
  "require-dev": {
241
  "package/bourbon": "4.2.3"
242
  },
243
+ "time": "2016-02-21 15:16:12",
244
  "type": "library",
245
  "installation-source": "dist",
246
  "autoload": {
src/vendor/websharks/sharkicons/src/long-classes.min.css CHANGED
@@ -1,3 +1,3 @@
1
- @font-face{font-family:sharkicons;src:url("fonts/sharkicons.eot");src:url("fonts/sharkicons.eot?#iefix") format("embedded-opentype"),url("fonts/sharkicons.ttf") format("truetype"),url("fonts/sharkicons.woff") format("woff"),url("fonts/sharkicons.svg#sharkicons") format("svg");font-weight:normal;font-style:normal}.sharkicon::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.sharkicon-broom::before{content:""}.sharkicon-comment-mail-one::before{content:""}.sharkicon-comment-mail::before{content:""}.sharkicon-s2member::before{content:""}.sharkicon-websharks::before{content:""}.sharkicon-wp-kb-articles::before{content:""}.sharkicon-zencache-logo::before{content:""}.sharkicon-zencache::before{content:""}.sharkicon-wp-sharks::before{content:""}.sharkicon-wp-sharks-fin::before{content:""}.sharkicon-comet-cache::before{content:""}.sharkicon-comet-cache-logo::before{content:""}.sharkicon-comet-cache-comet::before{content:""}.sharkicon-feat-watch::before{content:""}.sharkicon-feat-server::before{content:""}.sharkicon-feat-layers::before{content:""}.sharkicon-feat-box::before{content:""}.sharkicon-feat-ellipsis::before{content:""}.sharkicon-typi-group::before{content:""}.sharkicon-enty-bookmark::before{content:""}.sharkicon-enty-bookmarks::before{content:""}.sharkicon-enty-open-book::before{content:""}.sharkicon-enty-archive::before{content:""}.sharkicon-enty-area-graph::before{content:""}.sharkicon-enty-bucket::before{content:""}.sharkicon-enty-colors::before{content:""}.sharkicon-enty-copy::before{content:""}.sharkicon-enty-drive::before{content:""}.sharkicon-enty-feather::before{content:""}.sharkicon-enty-gauge::before{content:""}.sharkicon-enty-hand::before{content:""}.sharkicon-enty-lab-flask::before{content:""}.sharkicon-enty-mask::before{content:""}.sharkicon-enty-medal::before{content:""}.sharkicon-enty-exclamation::before{content:""}.sharkicon-enty-palette::before{content:""}.sharkicon-enty-ruler::before{content:""}.sharkicon-enty-shop::before{content:""}.sharkicon-enty-basket::before{content:""}.sharkicon-enty-cart::before{content:""}.sharkicon-enty-traffic-cone::before{content:""}.sharkicon-enty-tree::before{content:""}.sharkicon-enty-trophy::before{content:""}.sharkicon-enty-v-card::before{content:""}.sharkicon-enty-google-hangouts::before{content:""}.sharkicon-eleg-line-graph::before{content:""}.sharkicon-eleg-male::before{content:""}.sharkicon-eleg-female::before{content:""}.sharkicon-eleg-atom::before{content:""}.sharkicon-broc-cart::before{content:""}.sharkicon-broc-crap::before{content:""}.sharkicon-broc-atom::before{content:""}.sharkicon-icom-headphones::before{content:""}.sharkicon-icom-barcode::before{content:""}.sharkicon-icom-user::before{content:""}.sharkicon-icom-users::before{content:""}.sharkicon-icom-user-plus::before{content:""}.sharkicon-icom-user-minus::before{content:""}.sharkicon-icom-user-check::before{content:""}.sharkicon-icom-user-tie::before{content:""}.sharkicon-icom-key::before{content:""}.sharkicon-icom-key2::before{content:""}.sharkicon-icom-happy::before{content:""}.sharkicon-icom-happy2::before{content:""}.sharkicon-icom-smile::before{content:""}.sharkicon-icom-smile2::before{content:""}.sharkicon-icom-tongue::before{content:""}.sharkicon-icom-tongue2::before{content:""}.sharkicon-icom-sad::before{content:""}.sharkicon-icom-sad2::before{content:""}.sharkicon-icom-wink::before{content:""}.sharkicon-icom-wink2::before{content:""}.sharkicon-icom-grin::before{content:""}.sharkicon-icom-grin2::before{content:""}.sharkicon-icom-cool::before{content:""}.sharkicon-icom-cool2::before{content:""}.sharkicon-icom-angry::before{content:""}.sharkicon-icom-angry2::before{content:""}.sharkicon-icom-evil::before{content:""}.sharkicon-icom-evil2::before{content:""}.sharkicon-icom-shocked::before{content:""}.sharkicon-icom-shocked2::before{content:""}.sharkicon-icom-baffled::before{content:""}.sharkicon-icom-baffled2::before{content:""}.sharkicon-icom-confused::before{content:""}.sharkicon-icom-confused2::before{content:""}.sharkicon-icom-neutral::before{content:""}.sharkicon-icom-neutral2::before{content:""}.sharkicon-icom-hipster::before{content:""}.sharkicon-icom-hipster2::before{content:""}.sharkicon-icom-wondering::before{content:""}.sharkicon-icom-wondering2::before{content:""}.sharkicon-icom-sleepy::before{content:""}.sharkicon-icom-sleepy2::before{content:""}.sharkicon-icom-frustrated::before{content:""}.sharkicon-icom-frustrated2::before{content:""}.sharkicon-icom-crying::before{content:""}.sharkicon-icom-crying2::before{content:""}.sharkicon-icom-spell-check::before{content:""}.sharkicon-icom-command-key::before{content:""}.sharkicon-icom-shift-key::before{content:""}.sharkicon-icom-control-key::before{content:""}.sharkicon-icom-option-key::before{content:""}.sharkicon-icom-wordpress::before{content:""}.sharkicon-icom-wordpress-square::before{content:""}.sharkicon-icom-yahoo::before{content:""}.sharkicon-icom-linux::before{content:""}.sharkicon-icom-finder::before{content:""}.sharkicon-icom-android::before{content:""}.sharkicon-icom-reddit::before{content:""}.sharkicon-icom-paypal::before{content:""}.sharkicon-icom-git::before{content:""}.sharkicon-octi-alignment-align::before{content:""}.sharkicon-octi-alignment-aligned-to::before{content:""}.sharkicon-octi-alignment-unalign::before{content:""}.sharkicon-octi-bookmark::before{content:""}.sharkicon-octi-broadcast::before{content:""}.sharkicon-octi-browser::before{content:""}.sharkicon-octi-checklist::before{content:""}.sharkicon-octi-circuit-board::before{content:""}.sharkicon-octi-clippy::before{content:""}.sharkicon-octi-cloud-download::before{content:""}.sharkicon-octi-cloud-upload::before{content:""}.sharkicon-octi-comment::before{content:""}.sharkicon-octi-comments::before{content:""}.sharkicon-octi-tach::before{content:""}.sharkicon-octi-device-camera::before{content:""}.sharkicon-octi-device-camera-video::before{content:""}.sharkicon-octi-device-desktop::before{content:""}.sharkicon-octi-diff::before{content:""}.sharkicon-octi-file-binary::before{content:""}.sharkicon-octi-file-media::before{content:""}.sharkicon-octi-file-submodule::before{content:""}.sharkicon-octi-file-symlink-directory::before{content:""}.sharkicon-octi-file-symlink-file::before{content:""}.sharkicon-octi-fold::before{content:""}.sharkicon-octi-git-branch::before{content:""}.sharkicon-octi-git-commit::before{content:""}.sharkicon-octi-git-compare::before{content:""}.sharkicon-octi-git-merge::before{content:""}.sharkicon-octi-git-pull-request::before{content:""}.sharkicon-octi-graph::before{content:""}.sharkicon-octi-home::before{content:""}.sharkicon-octi-horizontal-rule::before{content:""}.sharkicon-octi-key::before{content:""}.sharkicon-octi-light-bulb::before{content:""}.sharkicon-octi-link-external::before{content:""}.sharkicon-octi-lock::before{content:""}.sharkicon-octi-markdown::before{content:""}.sharkicon-octi-microscope::before{content:""}.sharkicon-octi-mirror::before{content:""}.sharkicon-octi-move-down::before{content:""}.sharkicon-octi-move-left::before{content:""}.sharkicon-octi-move-right::before{content:""}.sharkicon-octi-move-up::before{content:""}.sharkicon-octi-mute::before{content:""}.sharkicon-octi-organization::before{content:""}.sharkicon-octi-package::before{content:""}.sharkicon-octi-paintcan::before{content:""}.sharkicon-octi-person::before{content:""}.sharkicon-octi-plug::before{content:""}.sharkicon-octi-podium::before{content:""}.sharkicon-octi-pulse::before{content:""}.sharkicon-octi-puzzle::before{content:""}.sharkicon-octi-repo::before{content:""}.sharkicon-octi-repo-clone::before{content:""}.sharkicon-octi-repo-force-push::before{content:""}.sharkicon-octi-repo-forked::before{content:""}.sharkicon-octi-repo-pull::before{content:""}.sharkicon-octi-repo-push::before{content:""}.sharkicon-octi-rocket::before{content:""}.sharkicon-octi-ruby::before{content:""}.sharkicon-octi-screen-full::before{content:""}.sharkicon-octi-screen-normal::before{content:""}.sharkicon-octi-sign-in::before{content:""}.sharkicon-octi-sign-out::before{content:""}.sharkicon-octi-split::before{content:""}.sharkicon-octi-squirrel::before{content:""}.sharkicon-octi-steps::before{content:""}.sharkicon-octi-tag::before{content:""}.sharkicon-octi-telescope::before{content:""}.sharkicon-octi-terminal::before{content:""}.sharkicon-octi-unfold::before{content:""}.sharkicon-octi-versions::before{content:""}.sharkicon-glass::before{content:""}.sharkicon-music::before{content:""}.sharkicon-search::before{content:""}.sharkicon-envelope-o::before{content:""}.sharkicon-heart::before{content:""}.sharkicon-star::before{content:""}.sharkicon-star-o::before{content:""}.sharkicon-user::before{content:""}.sharkicon-film::before{content:""}.sharkicon-th-large::before{content:""}.sharkicon-th::before{content:""}.sharkicon-th-list::before{content:""}.sharkicon-check::before{content:""}.sharkicon-close::before{content:""}.sharkicon-search-plus::before{content:""}.sharkicon-search-minus::before{content:""}.sharkicon-power-off::before{content:""}.sharkicon-signal::before{content:""}.sharkicon-cog::before{content:""}.sharkicon-trash-o::before{content:""}.sharkicon-home::before{content:""}.sharkicon-file-o::before{content:""}.sharkicon-clock-o::before{content:""}.sharkicon-road::before{content:""}.sharkicon-download::before{content:""}.sharkicon-arrow-circle-o-down::before{content:""}.sharkicon-arrow-circle-o-up::before{content:""}.sharkicon-inbox::before{content:""}.sharkicon-play-circle-o::before{content:""}.sharkicon-repeat::before{content:""}.sharkicon-refresh::before{content:""}.sharkicon-list-alt::before{content:""}.sharkicon-lock::before{content:""}.sharkicon-flag::before{content:""}.sharkicon-headphones::before{content:""}.sharkicon-volume-off::before{content:""}.sharkicon-volume-down::before{content:""}.sharkicon-volume-up::before{content:""}.sharkicon-qrcode::before{content:""}.sharkicon-barcode::before{content:""}.sharkicon-tag::before{content:""}.sharkicon-tags::before{content:""}.sharkicon-book::before{content:""}.sharkicon-bookmark::before{content:""}.sharkicon-print::before{content:""}.sharkicon-camera::before{content:""}.sharkicon-font::before{content:""}.sharkicon-bold::before{content:""}.sharkicon-italic::before{content:""}.sharkicon-text-height::before{content:""}.sharkicon-text-width::before{content:""}.sharkicon-align-left::before{content:""}.sharkicon-align-center::before{content:""}.sharkicon-align-right::before{content:""}.sharkicon-align-justify::before{content:""}.sharkicon-list::before{content:""}.sharkicon-dedent::before{content:""}.sharkicon-indent::before{content:""}.sharkicon-video-camera::before{content:""}.sharkicon-image::before{content:""}.sharkicon-pencil::before{content:""}.sharkicon-map-marker::before{content:""}.sharkicon-adjust::before{content:""}.sharkicon-tint::before{content:""}.sharkicon-edit::before{content:""}.sharkicon-share-square-o::before{content:""}.sharkicon-check-square-o::before{content:""}.sharkicon-arrows::before{content:""}.sharkicon-step-backward::before{content:""}.sharkicon-fast-backward::before{content:""}.sharkicon-backward::before{content:""}.sharkicon-play::before{content:""}.sharkicon-pause::before{content:""}.sharkicon-stop::before{content:""}.sharkicon-forward::before{content:""}.sharkicon-fast-forward::before{content:""}.sharkicon-step-forward::before{content:""}.sharkicon-eject::before{content:""}.sharkicon-chevron-left::before{content:""}.sharkicon-chevron-right::before{content:""}.sharkicon-plus-circle::before{content:""}.sharkicon-minus-circle::before{content:""}.sharkicon-times-circle::before{content:""}.sharkicon-check-circle::before{content:""}.sharkicon-question-circle::before{content:""}.sharkicon-info-circle::before{content:""}.sharkicon-crosshairs::before{content:""}.sharkicon-times-circle-o::before{content:""}.sharkicon-check-circle-o::before{content:""}.sharkicon-ban::before{content:""}.sharkicon-arrow-left::before{content:""}.sharkicon-arrow-right::before{content:""}.sharkicon-arrow-up::before{content:""}.sharkicon-arrow-down::before{content:""}.sharkicon-mail-forward::before{content:""}.sharkicon-expand::before{content:""}.sharkicon-compress::before{content:""}.sharkicon-plus::before{content:""}.sharkicon-minus::before{content:""}.sharkicon-asterisk::before{content:""}.sharkicon-exclamation-circle::before{content:""}.sharkicon-gift::before{content:""}.sharkicon-leaf::before{content:""}.sharkicon-fire::before{content:""}.sharkicon-eye::before{content:""}.sharkicon-eye-slash::before{content:""}.sharkicon-exclamation-triangle::before{content:""}.sharkicon-plane::before{content:""}.sharkicon-calendar::before{content:""}.sharkicon-random::before{content:""}.sharkicon-comment::before{content:""}.sharkicon-magnet::before{content:""}.sharkicon-chevron-up::before{content:""}.sharkicon-chevron-down::before{content:""}.sharkicon-retweet::before{content:""}.sharkicon-shopping-cart::before{content:""}.sharkicon-folder::before{content:""}.sharkicon-folder-open::before{content:""}.sharkicon-arrows-v::before{content:""}.sharkicon-arrows-h::before{content:""}.sharkicon-bar-chart::before{content:""}.sharkicon-twitter-square::before{content:""}.sharkicon-facebook-square::before{content:""}.sharkicon-camera-retro::before{content:""}.sharkicon-key::before{content:""}.sharkicon-cogs::before{content:""}.sharkicon-comments::before{content:""}.sharkicon-thumbs-o-up::before{content:""}.sharkicon-thumbs-o-down::before{content:""}.sharkicon-star-half::before{content:""}.sharkicon-heart-o::before{content:""}.sharkicon-sign-out::before{content:""}.sharkicon-linkedin-square::before{content:""}.sharkicon-thumb-tack::before{content:""}.sharkicon-external-link::before{content:""}.sharkicon-sign-in::before{content:""}.sharkicon-trophy::before{content:""}.sharkicon-github-square::before{content:""}.sharkicon-upload::before{content:""}.sharkicon-lemon-o::before{content:""}.sharkicon-phone::before{content:""}.sharkicon-square-o::before{content:""}.sharkicon-bookmark-o::before{content:""}.sharkicon-phone-square::before{content:""}.sharkicon-twitter::before{content:""}.sharkicon-facebook::before{content:""}.sharkicon-github::before{content:""}.sharkicon-unlock::before{content:""}.sharkicon-credit-card::before{content:""}.sharkicon-feed::before{content:""}.sharkicon-hdd-o::before{content:""}.sharkicon-bullhorn::before{content:""}.sharkicon-bell-o::before{content:""}.sharkicon-certificate::before{content:""}.sharkicon-hand-o-right::before{content:""}.sharkicon-hand-o-left::before{content:""}.sharkicon-hand-o-up::before{content:""}.sharkicon-hand-o-down::before{content:""}.sharkicon-arrow-circle-left::before{content:""}.sharkicon-arrow-circle-right::before{content:""}.sharkicon-arrow-circle-up::before{content:""}.sharkicon-arrow-circle-down::before{content:""}.sharkicon-globe::before{content:""}.sharkicon-wrench::before{content:""}.sharkicon-tasks::before{content:""}.sharkicon-filter::before{content:""}.sharkicon-briefcase::before{content:""}.sharkicon-arrows-alt::before{content:""}.sharkicon-group::before{content:""}.sharkicon-chain::before{content:""}.sharkicon-cloud::before{content:""}.sharkicon-flask::before{content:""}.sharkicon-cut::before{content:""}.sharkicon-copy::before{content:""}.sharkicon-paperclip::before{content:""}.sharkicon-floppy-o::before{content:""}.sharkicon-square::before{content:""}.sharkicon-bars::before{content:""}.sharkicon-list-ul::before{content:""}.sharkicon-list-ol::before{content:""}.sharkicon-strikethrough::before{content:""}.sharkicon-underline::before{content:""}.sharkicon-table::before{content:""}.sharkicon-magic::before{content:""}.sharkicon-truck::before{content:""}.sharkicon-pinterest::before{content:""}.sharkicon-pinterest-square::before{content:""}.sharkicon-google-plus-square::before{content:""}.sharkicon-google-plus::before{content:""}.sharkicon-money::before{content:""}.sharkicon-caret-down::before{content:""}.sharkicon-caret-up::before{content:""}.sharkicon-caret-left::before{content:""}.sharkicon-caret-right::before{content:""}.sharkicon-columns::before{content:""}.sharkicon-sort::before{content:""}.sharkicon-sort-desc::before{content:""}.sharkicon-sort-asc::before{content:""}.sharkicon-envelope::before{content:""}.sharkicon-linkedin::before{content:""}.sharkicon-rotate-left::before{content:""}.sharkicon-gavel::before{content:""}.sharkicon-dashboard::before{content:""}.sharkicon-comment-o::before{content:""}.sharkicon-comments-o::before{content:""}.sharkicon-bolt::before{content:""}.sharkicon-sitemap::before{content:""}.sharkicon-umbrella::before{content:""}.sharkicon-clipboard::before{content:""}.sharkicon-lightbulb-o::before{content:""}.sharkicon-exchange::before{content:""}.sharkicon-cloud-download::before{content:""}.sharkicon-cloud-upload::before{content:""}.sharkicon-user-md::before{content:""}.sharkicon-stethoscope::before{content:""}.sharkicon-suitcase::before{content:""}.sharkicon-bell::before{content:""}.sharkicon-coffee::before{content:""}.sharkicon-cutlery::before{content:""}.sharkicon-file-text-o::before{content:""}.sharkicon-building-o::before{content:""}.sharkicon-hospital-o::before{content:""}.sharkicon-ambulance::before{content:""}.sharkicon-medkit::before{content:""}.sharkicon-fighter-jet::before{content:""}.sharkicon-beer::before{content:""}.sharkicon-h-square::before{content:""}.sharkicon-plus-square::before{content:""}.sharkicon-angle-double-left::before{content:""}.sharkicon-angle-double-right::before{content:""}.sharkicon-angle-double-up::before{content:""}.sharkicon-angle-double-down::before{content:""}.sharkicon-angle-left::before{content:""}.sharkicon-angle-right::before{content:""}.sharkicon-angle-up::before{content:""}.sharkicon-angle-down::before{content:""}.sharkicon-desktop::before{content:""}.sharkicon-laptop::before{content:""}.sharkicon-tablet::before{content:""}.sharkicon-mobile::before{content:""}.sharkicon-circle-o::before{content:""}.sharkicon-quote-left::before{content:""}.sharkicon-quote-right::before{content:""}.sharkicon-spinner::before{content:""}.sharkicon-circle::before{content:""}.sharkicon-mail-reply::before{content:""}.sharkicon-github-alt::before{content:""}.sharkicon-folder-o::before{content:""}.sharkicon-folder-open-o::before{content:""}.sharkicon-smile-o::before{content:""}.sharkicon-frown-o::before{content:""}.sharkicon-meh-o::before{content:""}.sharkicon-gamepad::before{content:""}.sharkicon-keyboard-o::before{content:""}.sharkicon-flag-o::before{content:""}.sharkicon-flag-checkered::before{content:""}.sharkicon-terminal::before{content:""}.sharkicon-code::before{content:""}.sharkicon-mail-reply-all::before{content:""}.sharkicon-star-half-empty::before{content:""}.sharkicon-location-arrow::before{content:""}.sharkicon-crop::before{content:""}.sharkicon-code-fork::before{content:""}.sharkicon-chain-broken::before{content:""}.sharkicon-question::before{content:""}.sharkicon-info::before{content:""}.sharkicon-exclamation::before{content:""}.sharkicon-superscript::before{content:""}.sharkicon-subscript::before{content:""}.sharkicon-eraser::before{content:""}.sharkicon-puzzle-piece::before{content:""}.sharkicon-microphone::before{content:""}.sharkicon-microphone-slash::before{content:""}.sharkicon-shield::before{content:""}.sharkicon-calendar-o::before{content:""}.sharkicon-fire-extinguisher::before{content:""}.sharkicon-rocket::before{content:""}.sharkicon-maxcdn::before{content:""}.sharkicon-chevron-circle-left::before{content:""}.sharkicon-chevron-circle-right::before{content:""}.sharkicon-chevron-circle-up::before{content:""}.sharkicon-chevron-circle-down::before{content:""}.sharkicon-html5::before{content:""}.sharkicon-css3::before{content:""}.sharkicon-anchor::before{content:""}.sharkicon-unlock-alt::before{content:""}.sharkicon-bullseye::before{content:""}.sharkicon-ellipsis-h::before{content:""}.sharkicon-ellipsis-v::before{content:""}.sharkicon-rss-square::before{content:""}.sharkicon-play-circle::before{content:""}.sharkicon-ticket::before{content:""}.sharkicon-minus-square::before{content:""}.sharkicon-minus-square-o::before{content:""}.sharkicon-level-up::before{content:""}.sharkicon-level-down::before{content:""}.sharkicon-check-square::before{content:""}.sharkicon-pencil-square::before{content:""}.sharkicon-external-link-square::before{content:""}.sharkicon-share-square::before{content:""}.sharkicon-compass::before{content:""}.sharkicon-caret-square-o-down::before{content:""}.sharkicon-caret-square-o-up::before{content:""}.sharkicon-caret-square-o-right::before{content:""}.sharkicon-eur::before{content:""}.sharkicon-gbp::before{content:""}.sharkicon-dollar::before{content:""}.sharkicon-inr::before{content:""}.sharkicon-cny::before{content:""}.sharkicon-rouble::before{content:""}.sharkicon-krw::before{content:""}.sharkicon-bitcoin::before{content:""}.sharkicon-file::before{content:""}.sharkicon-file-text::before{content:""}.sharkicon-sort-alpha-asc::before{content:""}.sharkicon-sort-alpha-desc::before{content:""}.sharkicon-sort-amount-asc::before{content:""}.sharkicon-sort-amount-desc::before{content:""}.sharkicon-sort-numeric-asc::before{content:""}.sharkicon-sort-numeric-desc::before{content:""}.sharkicon-thumbs-up::before{content:""}.sharkicon-thumbs-down::before{content:""}.sharkicon-youtube-square::before{content:""}.sharkicon-youtube::before{content:""}.sharkicon-xing::before{content:""}.sharkicon-xing-square::before{content:""}.sharkicon-youtube-play::before{content:""}.sharkicon-dropbox::before{content:""}.sharkicon-stack-overflow::before{content:""}.sharkicon-instagram::before{content:""}.sharkicon-flickr::before{content:""}.sharkicon-adn::before{content:""}.sharkicon-bitbucket::before{content:""}.sharkicon-bitbucket-square::before{content:""}.sharkicon-tumblr::before{content:""}.sharkicon-tumblr-square::before{content:""}.sharkicon-long-arrow-down::before{content:""}.sharkicon-long-arrow-up::before{content:""}.sharkicon-long-arrow-left::before{content:""}.sharkicon-long-arrow-right::before{content:""}.sharkicon-apple::before{content:""}.sharkicon-windows::before{content:""}.sharkicon-android::before{content:""}.sharkicon-linux::before{content:""}.sharkicon-dribbble::before{content:""}.sharkicon-skype::before{content:""}.sharkicon-foursquare::before{content:""}.sharkicon-trello::before{content:""}.sharkicon-female::before{content:""}.sharkicon-male::before{content:""}.sharkicon-gittip::before{content:""}.sharkicon-sun-o::before{content:""}.sharkicon-moon-o::before{content:""}.sharkicon-archive::before{content:""}.sharkicon-bug::before{content:""}.sharkicon-vk::before{content:""}.sharkicon-weibo::before{content:""}.sharkicon-renren::before{content:""}.sharkicon-pagelines::before{content:""}.sharkicon-stack-exchange::before{content:""}.sharkicon-arrow-circle-o-right::before{content:""}.sharkicon-arrow-circle-o-left::before{content:""}.sharkicon-caret-square-o-left::before{content:""}.sharkicon-dot-circle-o::before{content:""}.sharkicon-wheelchair::before{content:""}.sharkicon-vimeo-square::before{content:""}.sharkicon-try::before{content:""}.sharkicon-plus-square-o::before{content:""}.sharkicon-space-shuttle::before{content:""}.sharkicon-slack::before{content:""}.sharkicon-envelope-square::before{content:""}.sharkicon-wordpress::before{content:""}.sharkicon-openid::before{content:""}.sharkicon-bank::before{content:""}.sharkicon-graduation-cap::before{content:""}.sharkicon-yahoo::before{content:""}.sharkicon-google::before{content:""}.sharkicon-reddit::before{content:""}.sharkicon-reddit-square::before{content:""}.sharkicon-stumbleupon-circle::before{content:""}.sharkicon-stumbleupon::before{content:""}.sharkicon-delicious::before{content:""}.sharkicon-digg::before{content:""}.sharkicon-pied-piper::before{content:""}.sharkicon-pied-piper-alt::before{content:""}.sharkicon-drupal::before{content:""}.sharkicon-joomla::before{content:""}.sharkicon-language::before{content:""}.sharkicon-fax::before{content:""}.sharkicon-building::before{content:""}.sharkicon-child::before{content:""}.sharkicon-paw::before{content:""}.sharkicon-spoon::before{content:""}.sharkicon-cube::before{content:""}.sharkicon-cubes::before{content:""}.sharkicon-behance::before{content:""}.sharkicon-behance-square::before{content:""}.sharkicon-steam::before{content:""}.sharkicon-steam-square::before{content:""}.sharkicon-recycle::before{content:""}.sharkicon-automobile::before{content:""}.sharkicon-cab::before{content:""}.sharkicon-tree::before{content:""}.sharkicon-spotify::before{content:""}.sharkicon-deviantart::before{content:""}.sharkicon-soundcloud::before{content:""}.sharkicon-database::before{content:""}.sharkicon-file-pdf-o::before{content:""}.sharkicon-file-word-o::before{content:""}.sharkicon-file-excel-o::before{content:""}.sharkicon-file-powerpoint-o::before{content:""}.sharkicon-file-image-o::before{content:""}.sharkicon-file-archive-o::before{content:""}.sharkicon-file-audio-o::before{content:""}.sharkicon-file-movie-o::before{content:""}.sharkicon-file-code-o::before{content:""}.sharkicon-vine::before{content:""}.sharkicon-codepen::before{content:""}.sharkicon-jsfiddle::before{content:""}.sharkicon-life-bouy::before{content:""}.sharkicon-circle-o-notch::before{content:""}.sharkicon-ra::before{content:""}.sharkicon-empire::before{content:""}.sharkicon-git-square::before{content:""}.sharkicon-git::before{content:""}.sharkicon-hacker-news::before{content:""}.sharkicon-tencent-weibo::before{content:""}.sharkicon-qq::before{content:""}.sharkicon-wechat::before{content:""}.sharkicon-paper-plane::before{content:""}.sharkicon-paper-plane-o::before{content:""}.sharkicon-history::before{content:""}.sharkicon-circle-thin::before{content:""}.sharkicon-header::before{content:""}.sharkicon-paragraph::before{content:""}.sharkicon-sliders::before{content:""}.sharkicon-share-alt::before{content:""}.sharkicon-share-alt-square::before{content:""}.sharkicon-bomb::before{content:""}.sharkicon-futbol-o::before{content:""}.sharkicon-tty::before{content:""}.sharkicon-binoculars::before{content:""}.sharkicon-plug::before{content:""}.sharkicon-slideshare::before{content:""}.sharkicon-twitch::before{content:""}.sharkicon-yelp::before{content:""}.sharkicon-newspaper-o::before{content:""}.sharkicon-wifi::before{content:""}.sharkicon-calculator::before{content:""}.sharkicon-paypal::before{content:""}.sharkicon-google-wallet::before{content:""}.sharkicon-cc-visa::before{content:""}.sharkicon-cc-mastercard::before{content:""}.sharkicon-cc-discover::before{content:""}.sharkicon-cc-amex::before{content:""}.sharkicon-cc-paypal::before{content:""}.sharkicon-cc-stripe::before{content:""}.sharkicon-bell-slash::before{content:""}.sharkicon-bell-slash-o::before{content:""}.sharkicon-trash::before{content:""}.sharkicon-copyright::before{content:""}.sharkicon-at::before{content:""}.sharkicon-eyedropper::before{content:""}.sharkicon-paint-brush::before{content:""}.sharkicon-birthday-cake::before{content:""}.sharkicon-area-chart::before{content:""}.sharkicon-pie-chart::before{content:""}.sharkicon-line-chart::before{content:""}.sharkicon-lastfm::before{content:""}.sharkicon-lastfm-square::before{content:""}.sharkicon-toggle-off::before{content:""}.sharkicon-toggle-on::before{content:""}.sharkicon-bicycle::before{content:""}.sharkicon-bus::before{content:""}.sharkicon-ioxhost::before{content:""}.sharkicon-angellist::before{content:""}.sharkicon-cc::before{content:""}.sharkicon-ils::before{content:""}.sharkicon-meanpath::before{content:""}.sharkicon-buysellads::before{content:""}.sharkicon-connectdevelop::before{content:""}.sharkicon-dashcube::before{content:""}.sharkicon-forumbee::before{content:""}.sharkicon-leanpub::before{content:""}.sharkicon-sellsy::before{content:""}.sharkicon-shirtsinbulk::before{content:""}.sharkicon-simplybuilt::before{content:""}.sharkicon-skyatlas::before{content:""}.sharkicon-cart-plus::before{content:""}.sharkicon-cart-arrow-down::before{content:""}.sharkicon-diamond::before{content:""}.sharkicon-ship::before{content:""}.sharkicon-user-secret::before{content:""}.sharkicon-motorcycle::before{content:""}.sharkicon-street-view::before{content:""}.sharkicon-heartbeat::before{content:""}.sharkicon-venus::before{content:""}.sharkicon-mars::before{content:""}.sharkicon-mercury::before{content:""}.sharkicon-intersex::before{content:""}.sharkicon-transgender-alt::before{content:""}.sharkicon-venus-double::before{content:""}.sharkicon-mars-double::before{content:""}.sharkicon-venus-mars::before{content:""}.sharkicon-mars-stroke::before{content:""}.sharkicon-mars-stroke-v::before{content:""}.sharkicon-mars-stroke-h::before{content:""}.sharkicon-neuter::before{content:""}.sharkicon-genderless::before{content:""}.sharkicon-facebook-official::before{content:""}.sharkicon-pinterest-p::before{content:""}.sharkicon-whatsapp::before{content:""}.sharkicon-server::before{content:""}.sharkicon-user-plus::before{content:""}.sharkicon-user-times::before{content:""}.sharkicon-bed::before{content:""}.sharkicon-viacoin::before{content:""}.sharkicon-train::before{content:""}.sharkicon-subway::before{content:""}.sharkicon-medium::before{content:""}.sharkicon-y-combinator::before{content:""}.sharkicon-optin-monster::before{content:""}.sharkicon-opencart::before{content:""}.sharkicon-expeditedssl::before{content:""}.sharkicon-battery-4::before{content:""}.sharkicon-battery-3::before{content:""}.sharkicon-battery-2::before{content:""}.sharkicon-battery-1::before{content:""}.sharkicon-battery-0::before{content:""}.sharkicon-mouse-pointer::before{content:""}.sharkicon-i-cursor::before{content:""}.sharkicon-object-group::before{content:""}.sharkicon-object-ungroup::before{content:""}.sharkicon-sticky-note::before{content:""}.sharkicon-sticky-note-o::before{content:""}.sharkicon-cc-jcb::before{content:""}.sharkicon-cc-diners-club::before{content:""}.sharkicon-clone::before{content:""}.sharkicon-balance-scale::before{content:""}.sharkicon-hourglass-o::before{content:""}.sharkicon-hourglass-1::before{content:""}.sharkicon-hourglass-2::before{content:""}.sharkicon-hourglass-3::before{content:""}.sharkicon-hourglass::before{content:""}.sharkicon-hand-grab-o::before{content:""}.sharkicon-hand-paper-o::before{content:""}.sharkicon-hand-scissors-o::before{content:""}.sharkicon-hand-lizard-o::before{content:""}.sharkicon-hand-spock-o::before{content:""}.sharkicon-hand-pointer-o::before{content:""}.sharkicon-hand-peace-o::before{content:""}.sharkicon-trademark::before{content:""}.sharkicon-registered::before{content:""}.sharkicon-creative-commons::before{content:""}.sharkicon-gg::before{content:""}.sharkicon-gg-circle::before{content:""}.sharkicon-tripadvisor::before{content:""}.sharkicon-odnoklassniki::before{content:""}.sharkicon-odnoklassniki-square::before{content:""}.sharkicon-get-pocket::before{content:""}.sharkicon-wikipedia-w::before{content:""}.sharkicon-safari::before{content:""}.sharkicon-chrome::before{content:""}.sharkicon-firefox::before{content:""}.sharkicon-opera::before{content:""}.sharkicon-internet-explorer::before{content:""}.sharkicon-television::before{content:""}.sharkicon-contao::before{content:""}.sharkicon-500px::before{content:""}.sharkicon-amazon::before{content:""}.sharkicon-calendar-plus-o::before{content:""}.sharkicon-calendar-minus-o::before{content:""}.sharkicon-calendar-times-o::before{content:""}.sharkicon-calendar-check-o::before{content:""}.sharkicon-industry::before{content:""}.sharkicon-map-pin::before{content:""}.sharkicon-map-signs::before{content:""}.sharkicon-map-o::before{content:""}.sharkicon-map::before{content:""}.sharkicon-commenting::before{content:""}.sharkicon-commenting-o::before{content:""}.sharkicon-houzz::before{content:""}.sharkicon-vimeo::before{content:""}.sharkicon-black-tie::before{content:""}.sharkicon-fonticons::before{content:""}.sharkicon-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.sharkicon-2x{font-size:2em}.sharkicon-3x{font-size:3em}.sharkicon-4x{font-size:4em}.sharkicon-5x{font-size:5em}.sharkicon-fw{text-align:center;width:1.28571429em}.sharkicon-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.sharkicon-pull-left{float:left;margin-right:.3em}.sharkicon-pull-right{float:right;margin-left:.3em}.sharkicon-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.sharkicon-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.sharkicon-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.sharkicon-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.sharkicon-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.sharkicon-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.sharkicon-spin{-webkit-animation:sharkicon-animation-spin 2s infinite linear;-moz-animation:sharkicon-animation-spin 2s infinite linear;animation:sharkicon-animation-spin 2s infinite linear}.sharkicon-pulse{-webkit-animation:sharkicon-animation-spin 1s infinite steps(8);-moz-animation:sharkicon-animation-spin 1s infinite steps(8);animation:sharkicon-animation-spin 1s infinite steps(8)}.sharkicon-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.sharkicon-ul>li{position:relative}.sharkicon-ul>li .sharkicon-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.sharkicon-ul>li .sharkicon-li .sharkicon-lg{left:-1.85714286em}.sharkicon-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.sharkicon-stack .sharkicon-stack-1x,.sharkicon-stack .sharkicon-stack-2x{left:0;width:100%;text-align:center;position:absolute}.sharkicon-stack .sharkicon-stack-1x{line-height:inherit}.sharkicon-stack .sharkicon-stack-2x{font-size:2em}@-webkit-keyframes sharkicon-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes sharkicon-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes sharkicon-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}
2
 
3
  /*# sourceMappingURL=long-classes.min.css.map */
1
+ @font-face{font-family:sharkicons;src:url("fonts/sharkicons.eot?v160221");src:url("fonts/sharkicons.eot?#iefix&v160221") format("embedded-opentype"),url("fonts/sharkicons.ttf?v160221") format("truetype"),url("fonts/sharkicons.woff?v160221") format("woff"),url("fonts/sharkicons.svg?v160221#sharkicons") format("svg");font-weight:normal;font-style:normal}.sharkicon::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.sharkicon-broom::before{content:""}.sharkicon-comment-mail-one::before{content:""}.sharkicon-comment-mail::before{content:""}.sharkicon-s2member::before{content:""}.sharkicon-websharks::before{content:""}.sharkicon-wp-kb-articles::before{content:""}.sharkicon-zencache-logo::before{content:""}.sharkicon-zencache::before{content:""}.sharkicon-wp-sharks::before{content:""}.sharkicon-wp-sharks-fin::before{content:""}.sharkicon-comet-cache::before{content:""}.sharkicon-comet-cache-logo::before{content:""}.sharkicon-comet-cache-comet::before{content:""}.sharkicon-feat-watch::before{content:""}.sharkicon-feat-server::before{content:""}.sharkicon-feat-layers::before{content:""}.sharkicon-feat-box::before{content:""}.sharkicon-feat-ellipsis::before{content:""}.sharkicon-typi-group::before{content:""}.sharkicon-enty-bookmark::before{content:""}.sharkicon-enty-bookmarks::before{content:""}.sharkicon-enty-open-book::before{content:""}.sharkicon-enty-archive::before{content:""}.sharkicon-enty-area-graph::before{content:""}.sharkicon-enty-bucket::before{content:""}.sharkicon-enty-colors::before{content:""}.sharkicon-enty-copy::before{content:""}.sharkicon-enty-drive::before{content:""}.sharkicon-enty-feather::before{content:""}.sharkicon-enty-gauge::before{content:""}.sharkicon-enty-hand::before{content:""}.sharkicon-enty-lab-flask::before{content:""}.sharkicon-enty-mask::before{content:""}.sharkicon-enty-medal::before{content:""}.sharkicon-enty-exclamation::before{content:""}.sharkicon-enty-palette::before{content:""}.sharkicon-enty-ruler::before{content:""}.sharkicon-enty-shop::before{content:""}.sharkicon-enty-basket::before{content:""}.sharkicon-enty-cart::before{content:""}.sharkicon-enty-traffic-cone::before{content:""}.sharkicon-enty-tree::before{content:""}.sharkicon-enty-trophy::before{content:""}.sharkicon-enty-v-card::before{content:""}.sharkicon-enty-google-hangouts::before{content:""}.sharkicon-eleg-line-graph::before{content:""}.sharkicon-eleg-male::before{content:""}.sharkicon-eleg-female::before{content:""}.sharkicon-eleg-atom::before{content:""}.sharkicon-broc-cart::before{content:""}.sharkicon-broc-crap::before{content:""}.sharkicon-broc-atom::before{content:""}.sharkicon-icom-headphones::before{content:""}.sharkicon-icom-barcode::before{content:""}.sharkicon-icom-user::before{content:""}.sharkicon-icom-users::before{content:""}.sharkicon-icom-user-plus::before{content:""}.sharkicon-icom-user-minus::before{content:""}.sharkicon-icom-user-check::before{content:""}.sharkicon-icom-user-tie::before{content:""}.sharkicon-icom-key::before{content:""}.sharkicon-icom-key2::before{content:""}.sharkicon-icom-happy::before{content:""}.sharkicon-icom-happy2::before{content:""}.sharkicon-icom-smile::before{content:""}.sharkicon-icom-smile2::before{content:""}.sharkicon-icom-tongue::before{content:""}.sharkicon-icom-tongue2::before{content:""}.sharkicon-icom-sad::before{content:""}.sharkicon-icom-sad2::before{content:""}.sharkicon-icom-wink::before{content:""}.sharkicon-icom-wink2::before{content:""}.sharkicon-icom-grin::before{content:""}.sharkicon-icom-grin2::before{content:""}.sharkicon-icom-cool::before{content:""}.sharkicon-icom-cool2::before{content:""}.sharkicon-icom-angry::before{content:""}.sharkicon-icom-angry2::before{content:""}.sharkicon-icom-evil::before{content:""}.sharkicon-icom-evil2::before{content:""}.sharkicon-icom-shocked::before{content:""}.sharkicon-icom-shocked2::before{content:""}.sharkicon-icom-baffled::before{content:""}.sharkicon-icom-baffled2::before{content:""}.sharkicon-icom-confused::before{content:""}.sharkicon-icom-confused2::before{content:""}.sharkicon-icom-neutral::before{content:""}.sharkicon-icom-neutral2::before{content:""}.sharkicon-icom-hipster::before{content:""}.sharkicon-icom-hipster2::before{content:""}.sharkicon-icom-wondering::before{content:""}.sharkicon-icom-wondering2::before{content:""}.sharkicon-icom-sleepy::before{content:""}.sharkicon-icom-sleepy2::before{content:""}.sharkicon-icom-frustrated::before{content:""}.sharkicon-icom-frustrated2::before{content:""}.sharkicon-icom-crying::before{content:""}.sharkicon-icom-crying2::before{content:""}.sharkicon-icom-spell-check::before{content:""}.sharkicon-icom-command-key::before{content:""}.sharkicon-icom-shift-key::before{content:""}.sharkicon-icom-control-key::before{content:""}.sharkicon-icom-option-key::before{content:""}.sharkicon-icom-wordpress::before{content:""}.sharkicon-icom-wordpress-square::before{content:""}.sharkicon-icom-yahoo::before{content:""}.sharkicon-icom-linux::before{content:""}.sharkicon-icom-finder::before{content:""}.sharkicon-icom-android::before{content:""}.sharkicon-icom-reddit::before{content:""}.sharkicon-icom-paypal::before{content:""}.sharkicon-icom-git::before{content:""}.sharkicon-octi-alignment-align::before{content:""}.sharkicon-octi-alignment-aligned-to::before{content:""}.sharkicon-octi-alignment-unalign::before{content:""}.sharkicon-octi-bookmark::before{content:""}.sharkicon-octi-broadcast::before{content:""}.sharkicon-octi-browser::before{content:""}.sharkicon-octi-checklist::before{content:""}.sharkicon-octi-circuit-board::before{content:""}.sharkicon-octi-clippy::before{content:""}.sharkicon-octi-cloud-download::before{content:""}.sharkicon-octi-cloud-upload::before{content:""}.sharkicon-octi-comment::before{content:""}.sharkicon-octi-comments::before{content:""}.sharkicon-octi-tach::before{content:""}.sharkicon-octi-device-camera::before{content:""}.sharkicon-octi-device-camera-video::before{content:""}.sharkicon-octi-device-desktop::before{content:""}.sharkicon-octi-diff::before{content:""}.sharkicon-octi-file-binary::before{content:""}.sharkicon-octi-file-media::before{content:""}.sharkicon-octi-file-submodule::before{content:""}.sharkicon-octi-file-symlink-directory::before{content:""}.sharkicon-octi-file-symlink-file::before{content:""}.sharkicon-octi-fold::before{content:""}.sharkicon-octi-git-branch::before{content:""}.sharkicon-octi-git-commit::before{content:""}.sharkicon-octi-git-compare::before{content:""}.sharkicon-octi-git-merge::before{content:""}.sharkicon-octi-git-pull-request::before{content:""}.sharkicon-octi-graph::before{content:""}.sharkicon-octi-home::before{content:""}.sharkicon-octi-horizontal-rule::before{content:""}.sharkicon-octi-key::before{content:""}.sharkicon-octi-light-bulb::before{content:""}.sharkicon-octi-link-external::before{content:""}.sharkicon-octi-lock::before{content:""}.sharkicon-octi-markdown::before{content:""}.sharkicon-octi-microscope::before{content:""}.sharkicon-octi-mirror::before{content:""}.sharkicon-octi-move-down::before{content:""}.sharkicon-octi-move-left::before{content:""}.sharkicon-octi-move-right::before{content:""}.sharkicon-octi-move-up::before{content:""}.sharkicon-octi-mute::before{content:""}.sharkicon-octi-organization::before{content:""}.sharkicon-octi-package::before{content:""}.sharkicon-octi-paintcan::before{content:""}.sharkicon-octi-person::before{content:""}.sharkicon-octi-plug::before{content:""}.sharkicon-octi-podium::before{content:""}.sharkicon-octi-pulse::before{content:""}.sharkicon-octi-puzzle::before{content:""}.sharkicon-octi-repo::before{content:""}.sharkicon-octi-repo-clone::before{content:""}.sharkicon-octi-repo-force-push::before{content:""}.sharkicon-octi-repo-forked::before{content:""}.sharkicon-octi-repo-pull::before{content:""}.sharkicon-octi-repo-push::before{content:""}.sharkicon-octi-rocket::before{content:""}.sharkicon-octi-ruby::before{content:""}.sharkicon-octi-screen-full::before{content:""}.sharkicon-octi-screen-normal::before{content:""}.sharkicon-octi-sign-in::before{content:""}.sharkicon-octi-sign-out::before{content:""}.sharkicon-octi-split::before{content:""}.sharkicon-octi-squirrel::before{content:""}.sharkicon-octi-steps::before{content:""}.sharkicon-octi-tag::before{content:""}.sharkicon-octi-telescope::before{content:""}.sharkicon-octi-terminal::before{content:""}.sharkicon-octi-unfold::before{content:""}.sharkicon-octi-versions::before{content:""}.sharkicon-glass::before{content:""}.sharkicon-music::before{content:""}.sharkicon-search::before{content:""}.sharkicon-envelope-o::before{content:""}.sharkicon-heart::before{content:""}.sharkicon-star::before{content:""}.sharkicon-star-o::before{content:""}.sharkicon-user::before{content:""}.sharkicon-film::before{content:""}.sharkicon-th-large::before{content:""}.sharkicon-th::before{content:""}.sharkicon-th-list::before{content:""}.sharkicon-check::before{content:""}.sharkicon-close::before{content:""}.sharkicon-search-plus::before{content:""}.sharkicon-search-minus::before{content:""}.sharkicon-power-off::before{content:""}.sharkicon-signal::before{content:""}.sharkicon-cog::before{content:""}.sharkicon-trash-o::before{content:""}.sharkicon-home::before{content:""}.sharkicon-file-o::before{content:""}.sharkicon-clock-o::before{content:""}.sharkicon-road::before{content:""}.sharkicon-download::before{content:""}.sharkicon-arrow-circle-o-down::before{content:""}.sharkicon-arrow-circle-o-up::before{content:""}.sharkicon-inbox::before{content:""}.sharkicon-play-circle-o::before{content:""}.sharkicon-repeat::before{content:""}.sharkicon-refresh::before{content:""}.sharkicon-list-alt::before{content:""}.sharkicon-lock::before{content:""}.sharkicon-flag::before{content:""}.sharkicon-headphones::before{content:""}.sharkicon-volume-off::before{content:""}.sharkicon-volume-down::before{content:""}.sharkicon-volume-up::before{content:""}.sharkicon-qrcode::before{content:""}.sharkicon-barcode::before{content:""}.sharkicon-tag::before{content:""}.sharkicon-tags::before{content:""}.sharkicon-book::before{content:""}.sharkicon-bookmark::before{content:""}.sharkicon-print::before{content:""}.sharkicon-camera::before{content:""}.sharkicon-font::before{content:""}.sharkicon-bold::before{content:""}.sharkicon-italic::before{content:""}.sharkicon-text-height::before{content:""}.sharkicon-text-width::before{content:""}.sharkicon-align-left::before{content:""}.sharkicon-align-center::before{content:""}.sharkicon-align-right::before{content:""}.sharkicon-align-justify::before{content:""}.sharkicon-list::before{content:""}.sharkicon-dedent::before{content:""}.sharkicon-indent::before{content:""}.sharkicon-video-camera::before{content:""}.sharkicon-image::before{content:""}.sharkicon-pencil::before{content:""}.sharkicon-map-marker::before{content:""}.sharkicon-adjust::before{content:""}.sharkicon-tint::before{content:""}.sharkicon-edit::before{content:""}.sharkicon-share-square-o::before{content:""}.sharkicon-check-square-o::before{content:""}.sharkicon-arrows::before{content:""}.sharkicon-step-backward::before{content:""}.sharkicon-fast-backward::before{content:""}.sharkicon-backward::before{content:""}.sharkicon-play::before{content:""}.sharkicon-pause::before{content:""}.sharkicon-stop::before{content:""}.sharkicon-forward::before{content:""}.sharkicon-fast-forward::before{content:""}.sharkicon-step-forward::before{content:""}.sharkicon-eject::before{content:""}.sharkicon-chevron-left::before{content:""}.sharkicon-chevron-right::before{content:""}.sharkicon-plus-circle::before{content:""}.sharkicon-minus-circle::before{content:""}.sharkicon-times-circle::before{content:""}.sharkicon-check-circle::before{content:""}.sharkicon-question-circle::before{content:""}.sharkicon-info-circle::before{content:""}.sharkicon-crosshairs::before{content:""}.sharkicon-times-circle-o::before{content:""}.sharkicon-check-circle-o::before{content:""}.sharkicon-ban::before{content:""}.sharkicon-arrow-left::before{content:""}.sharkicon-arrow-right::before{content:""}.sharkicon-arrow-up::before{content:""}.sharkicon-arrow-down::before{content:""}.sharkicon-mail-forward::before{content:""}.sharkicon-expand::before{content:""}.sharkicon-compress::before{content:""}.sharkicon-plus::before{content:""}.sharkicon-minus::before{content:""}.sharkicon-asterisk::before{content:""}.sharkicon-exclamation-circle::before{content:""}.sharkicon-gift::before{content:""}.sharkicon-leaf::before{content:""}.sharkicon-fire::before{content:""}.sharkicon-eye::before{content:""}.sharkicon-eye-slash::before{content:""}.sharkicon-exclamation-triangle::before{content:""}.sharkicon-plane::before{content:""}.sharkicon-calendar::before{content:""}.sharkicon-random::before{content:""}.sharkicon-comment::before{content:""}.sharkicon-magnet::before{content:""}.sharkicon-chevron-up::before{content:""}.sharkicon-chevron-down::before{content:""}.sharkicon-retweet::before{content:""}.sharkicon-shopping-cart::before{content:""}.sharkicon-folder::before{content:""}.sharkicon-folder-open::before{content:""}.sharkicon-arrows-v::before{content:""}.sharkicon-arrows-h::before{content:""}.sharkicon-bar-chart::before{content:""}.sharkicon-twitter-square::before{content:""}.sharkicon-facebook-square::before{content:""}.sharkicon-camera-retro::before{content:""}.sharkicon-key::before{content:""}.sharkicon-cogs::before{content:""}.sharkicon-comments::before{content:""}.sharkicon-thumbs-o-up::before{content:""}.sharkicon-thumbs-o-down::before{content:""}.sharkicon-star-half::before{content:""}.sharkicon-heart-o::before{content:""}.sharkicon-sign-out::before{content:""}.sharkicon-linkedin-square::before{content:""}.sharkicon-thumb-tack::before{content:""}.sharkicon-external-link::before{content:""}.sharkicon-sign-in::before{content:""}.sharkicon-trophy::before{content:""}.sharkicon-github-square::before{content:""}.sharkicon-upload::before{content:""}.sharkicon-lemon-o::before{content:""}.sharkicon-phone::before{content:""}.sharkicon-square-o::before{content:""}.sharkicon-bookmark-o::before{content:""}.sharkicon-phone-square::before{content:""}.sharkicon-twitter::before{content:""}.sharkicon-facebook::before{content:""}.sharkicon-github::before{content:""}.sharkicon-unlock::before{content:""}.sharkicon-credit-card::before{content:""}.sharkicon-feed::before{content:""}.sharkicon-hdd-o::before{content:""}.sharkicon-bullhorn::before{content:""}.sharkicon-bell-o::before{content:""}.sharkicon-certificate::before{content:""}.sharkicon-hand-o-right::before{content:""}.sharkicon-hand-o-left::before{content:""}.sharkicon-hand-o-up::before{content:""}.sharkicon-hand-o-down::before{content:""}.sharkicon-arrow-circle-left::before{content:""}.sharkicon-arrow-circle-right::before{content:""}.sharkicon-arrow-circle-up::before{content:""}.sharkicon-arrow-circle-down::before{content:""}.sharkicon-globe::before{content:""}.sharkicon-wrench::before{content:""}.sharkicon-tasks::before{content:""}.sharkicon-filter::before{content:""}.sharkicon-briefcase::before{content:""}.sharkicon-arrows-alt::before{content:""}.sharkicon-group::before{content:""}.sharkicon-chain::before{content:""}.sharkicon-cloud::before{content:""}.sharkicon-flask::before{content:""}.sharkicon-cut::before{content:""}.sharkicon-copy::before{content:""}.sharkicon-paperclip::before{content:""}.sharkicon-floppy-o::before{content:""}.sharkicon-square::before{content:""}.sharkicon-bars::before{content:""}.sharkicon-list-ul::before{content:""}.sharkicon-list-ol::before{content:""}.sharkicon-strikethrough::before{content:""}.sharkicon-underline::before{content:""}.sharkicon-table::before{content:""}.sharkicon-magic::before{content:""}.sharkicon-truck::before{content:""}.sharkicon-pinterest::before{content:""}.sharkicon-pinterest-square::before{content:""}.sharkicon-google-plus-square::before{content:""}.sharkicon-google-plus::before{content:""}.sharkicon-money::before{content:""}.sharkicon-caret-down::before{content:""}.sharkicon-caret-up::before{content:""}.sharkicon-caret-left::before{content:""}.sharkicon-caret-right::before{content:""}.sharkicon-columns::before{content:""}.sharkicon-sort::before{content:""}.sharkicon-sort-desc::before{content:""}.sharkicon-sort-asc::before{content:""}.sharkicon-envelope::before{content:""}.sharkicon-linkedin::before{content:""}.sharkicon-rotate-left::before{content:""}.sharkicon-gavel::before{content:""}.sharkicon-dashboard::before{content:""}.sharkicon-comment-o::before{content:""}.sharkicon-comments-o::before{content:""}.sharkicon-bolt::before{content:""}.sharkicon-sitemap::before{content:""}.sharkicon-umbrella::before{content:""}.sharkicon-clipboard::before{content:""}.sharkicon-lightbulb-o::before{content:""}.sharkicon-exchange::before{content:""}.sharkicon-cloud-download::before{content:""}.sharkicon-cloud-upload::before{content:""}.sharkicon-user-md::before{content:""}.sharkicon-stethoscope::before{content:""}.sharkicon-suitcase::before{content:""}.sharkicon-bell::before{content:""}.sharkicon-coffee::before{content:""}.sharkicon-cutlery::before{content:""}.sharkicon-file-text-o::before{content:""}.sharkicon-building-o::before{content:""}.sharkicon-hospital-o::before{content:""}.sharkicon-ambulance::before{content:""}.sharkicon-medkit::before{content:""}.sharkicon-fighter-jet::before{content:""}.sharkicon-beer::before{content:""}.sharkicon-h-square::before{content:""}.sharkicon-plus-square::before{content:""}.sharkicon-angle-double-left::before{content:""}.sharkicon-angle-double-right::before{content:""}.sharkicon-angle-double-up::before{content:""}.sharkicon-angle-double-down::before{content:""}.sharkicon-angle-left::before{content:""}.sharkicon-angle-right::before{content:""}.sharkicon-angle-up::before{content:""}.sharkicon-angle-down::before{content:""}.sharkicon-desktop::before{content:""}.sharkicon-laptop::before{content:""}.sharkicon-tablet::before{content:""}.sharkicon-mobile::before{content:""}.sharkicon-circle-o::before{content:""}.sharkicon-quote-left::before{content:""}.sharkicon-quote-right::before{content:""}.sharkicon-spinner::before{content:""}.sharkicon-circle::before{content:""}.sharkicon-mail-reply::before{content:""}.sharkicon-github-alt::before{content:""}.sharkicon-folder-o::before{content:""}.sharkicon-folder-open-o::before{content:""}.sharkicon-smile-o::before{content:""}.sharkicon-frown-o::before{content:""}.sharkicon-meh-o::before{content:""}.sharkicon-gamepad::before{content:""}.sharkicon-keyboard-o::before{content:""}.sharkicon-flag-o::before{content:""}.sharkicon-flag-checkered::before{content:""}.sharkicon-terminal::before{content:""}.sharkicon-code::before{content:""}.sharkicon-mail-reply-all::before{content:""}.sharkicon-star-half-empty::before{content:""}.sharkicon-location-arrow::before{content:""}.sharkicon-crop::before{content:""}.sharkicon-code-fork::before{content:""}.sharkicon-chain-broken::before{content:""}.sharkicon-question::before{content:""}.sharkicon-info::before{content:""}.sharkicon-exclamation::before{content:""}.sharkicon-superscript::before{content:""}.sharkicon-subscript::before{content:""}.sharkicon-eraser::before{content:""}.sharkicon-puzzle-piece::before{content:""}.sharkicon-microphone::before{content:""}.sharkicon-microphone-slash::before{content:""}.sharkicon-shield::before{content:""}.sharkicon-calendar-o::before{content:""}.sharkicon-fire-extinguisher::before{content:""}.sharkicon-rocket::before{content:""}.sharkicon-maxcdn::before{content:""}.sharkicon-chevron-circle-left::before{content:""}.sharkicon-chevron-circle-right::before{content:""}.sharkicon-chevron-circle-up::before{content:""}.sharkicon-chevron-circle-down::before{content:""}.sharkicon-html5::before{content:""}.sharkicon-css3::before{content:""}.sharkicon-anchor::before{content:""}.sharkicon-unlock-alt::before{content:""}.sharkicon-bullseye::before{content:""}.sharkicon-ellipsis-h::before{content:""}.sharkicon-ellipsis-v::before{content:""}.sharkicon-rss-square::before{content:""}.sharkicon-play-circle::before{content:""}.sharkicon-ticket::before{content:""}.sharkicon-minus-square::before{content:""}.sharkicon-minus-square-o::before{content:""}.sharkicon-level-up::before{content:""}.sharkicon-level-down::before{content:""}.sharkicon-check-square::before{content:""}.sharkicon-pencil-square::before{content:""}.sharkicon-external-link-square::before{content:""}.sharkicon-share-square::before{content:""}.sharkicon-compass::before{content:""}.sharkicon-caret-square-o-down::before{content:""}.sharkicon-caret-square-o-up::before{content:""}.sharkicon-caret-square-o-right::before{content:""}.sharkicon-eur::before{content:""}.sharkicon-gbp::before{content:""}.sharkicon-dollar::before{content:""}.sharkicon-inr::before{content:""}.sharkicon-cny::before{content:""}.sharkicon-rouble::before{content:""}.sharkicon-krw::before{content:""}.sharkicon-bitcoin::before{content:""}.sharkicon-file::before{content:""}.sharkicon-file-text::before{content:""}.sharkicon-sort-alpha-asc::before{content:""}.sharkicon-sort-alpha-desc::before{content:""}.sharkicon-sort-amount-asc::before{content:""}.sharkicon-sort-amount-desc::before{content:""}.sharkicon-sort-numeric-asc::before{content:""}.sharkicon-sort-numeric-desc::before{content:""}.sharkicon-thumbs-up::before{content:""}.sharkicon-thumbs-down::before{content:""}.sharkicon-youtube-square::before{content:""}.sharkicon-youtube::before{content:""}.sharkicon-xing::before{content:""}.sharkicon-xing-square::before{content:""}.sharkicon-youtube-play::before{content:""}.sharkicon-dropbox::before{content:""}.sharkicon-stack-overflow::before{content:""}.sharkicon-instagram::before{content:""}.sharkicon-flickr::before{content:""}.sharkicon-adn::before{content:""}.sharkicon-bitbucket::before{content:""}.sharkicon-bitbucket-square::before{content:""}.sharkicon-tumblr::before{content:""}.sharkicon-tumblr-square::before{content:""}.sharkicon-long-arrow-down::before{content:""}.sharkicon-long-arrow-up::before{content:""}.sharkicon-long-arrow-left::before{content:""}.sharkicon-long-arrow-right::before{content:""}.sharkicon-apple::before{content:""}.sharkicon-windows::before{content:""}.sharkicon-android::before{content:""}.sharkicon-linux::before{content:""}.sharkicon-dribbble::before{content:""}.sharkicon-skype::before{content:""}.sharkicon-foursquare::before{content:""}.sharkicon-trello::before{content:""}.sharkicon-female::before{content:""}.sharkicon-male::before{content:""}.sharkicon-gittip::before{content:""}.sharkicon-sun-o::before{content:""}.sharkicon-moon-o::before{content:""}.sharkicon-archive::before{content:""}.sharkicon-bug::before{content:""}.sharkicon-vk::before{content:""}.sharkicon-weibo::before{content:""}.sharkicon-renren::before{content:""}.sharkicon-pagelines::before{content:""}.sharkicon-stack-exchange::before{content:""}.sharkicon-arrow-circle-o-right::before{content:""}.sharkicon-arrow-circle-o-left::before{content:""}.sharkicon-caret-square-o-left::before{content:""}.sharkicon-dot-circle-o::before{content:""}.sharkicon-wheelchair::before{content:""}.sharkicon-vimeo-square::before{content:""}.sharkicon-try::before{content:""}.sharkicon-plus-square-o::before{content:""}.sharkicon-space-shuttle::before{content:""}.sharkicon-slack::before{content:""}.sharkicon-envelope-square::before{content:""}.sharkicon-wordpress::before{content:""}.sharkicon-openid::before{content:""}.sharkicon-bank::before{content:""}.sharkicon-graduation-cap::before{content:""}.sharkicon-yahoo::before{content:""}.sharkicon-google::before{content:""}.sharkicon-reddit::before{content:""}.sharkicon-reddit-square::before{content:""}.sharkicon-stumbleupon-circle::before{content:""}.sharkicon-stumbleupon::before{content:""}.sharkicon-delicious::before{content:""}.sharkicon-digg::before{content:""}.sharkicon-pied-piper::before{content:""}.sharkicon-pied-piper-alt::before{content:""}.sharkicon-drupal::before{content:""}.sharkicon-joomla::before{content:""}.sharkicon-language::before{content:""}.sharkicon-fax::before{content:""}.sharkicon-building::before{content:""}.sharkicon-child::before{content:""}.sharkicon-paw::before{content:""}.sharkicon-spoon::before{content:""}.sharkicon-cube::before{content:""}.sharkicon-cubes::before{content:""}.sharkicon-behance::before{content:""}.sharkicon-behance-square::before{content:""}.sharkicon-steam::before{content:""}.sharkicon-steam-square::before{content:""}.sharkicon-recycle::before{content:""}.sharkicon-automobile::before{content:""}.sharkicon-cab::before{content:""}.sharkicon-tree::before{content:""}.sharkicon-spotify::before{content:""}.sharkicon-deviantart::before{content:""}.sharkicon-soundcloud::before{content:""}.sharkicon-database::before{content:""}.sharkicon-file-pdf-o::before{content:""}.sharkicon-file-word-o::before{content:""}.sharkicon-file-excel-o::before{content:""}.sharkicon-file-powerpoint-o::before{content:""}.sharkicon-file-image-o::before{content:""}.sharkicon-file-archive-o::before{content:""}.sharkicon-file-audio-o::before{content:""}.sharkicon-file-movie-o::before{content:""}.sharkicon-file-code-o::before{content:""}.sharkicon-vine::before{content:""}.sharkicon-codepen::before{content:""}.sharkicon-jsfiddle::before{content:""}.sharkicon-life-bouy::before{content:""}.sharkicon-circle-o-notch::before{content:""}.sharkicon-ra::before{content:""}.sharkicon-empire::before{content:""}.sharkicon-git-square::before{content:""}.sharkicon-git::before{content:""}.sharkicon-hacker-news::before{content:""}.sharkicon-tencent-weibo::before{content:""}.sharkicon-qq::before{content:""}.sharkicon-wechat::before{content:""}.sharkicon-paper-plane::before{content:""}.sharkicon-paper-plane-o::before{content:""}.sharkicon-history::before{content:""}.sharkicon-circle-thin::before{content:""}.sharkicon-header::before{content:""}.sharkicon-paragraph::before{content:""}.sharkicon-sliders::before{content:""}.sharkicon-share-alt::before{content:""}.sharkicon-share-alt-square::before{content:""}.sharkicon-bomb::before{content:""}.sharkicon-futbol-o::before{content:""}.sharkicon-tty::before{content:""}.sharkicon-binoculars::before{content:""}.sharkicon-plug::before{content:""}.sharkicon-slideshare::before{content:""}.sharkicon-twitch::before{content:""}.sharkicon-yelp::before{content:""}.sharkicon-newspaper-o::before{content:""}.sharkicon-wifi::before{content:""}.sharkicon-calculator::before{content:""}.sharkicon-paypal::before{content:""}.sharkicon-google-wallet::before{content:""}.sharkicon-cc-visa::before{content:""}.sharkicon-cc-mastercard::before{content:""}.sharkicon-cc-discover::before{content:""}.sharkicon-cc-amex::before{content:""}.sharkicon-cc-paypal::before{content:""}.sharkicon-cc-stripe::before{content:""}.sharkicon-bell-slash::before{content:""}.sharkicon-bell-slash-o::before{content:""}.sharkicon-trash::before{content:""}.sharkicon-copyright::before{content:""}.sharkicon-at::before{content:""}.sharkicon-eyedropper::before{content:""}.sharkicon-paint-brush::before{content:""}.sharkicon-birthday-cake::before{content:""}.sharkicon-area-chart::before{content:""}.sharkicon-pie-chart::before{content:""}.sharkicon-line-chart::before{content:""}.sharkicon-lastfm::before{content:""}.sharkicon-lastfm-square::before{content:""}.sharkicon-toggle-off::before{content:""}.sharkicon-toggle-on::before{content:""}.sharkicon-bicycle::before{content:""}.sharkicon-bus::before{content:""}.sharkicon-ioxhost::before{content:""}.sharkicon-angellist::before{content:""}.sharkicon-cc::before{content:""}.sharkicon-ils::before{content:""}.sharkicon-meanpath::before{content:""}.sharkicon-buysellads::before{content:""}.sharkicon-connectdevelop::before{content:""}.sharkicon-dashcube::before{content:""}.sharkicon-forumbee::before{content:""}.sharkicon-leanpub::before{content:""}.sharkicon-sellsy::before{content:""}.sharkicon-shirtsinbulk::before{content:""}.sharkicon-simplybuilt::before{content:""}.sharkicon-skyatlas::before{content:""}.sharkicon-cart-plus::before{content:""}.sharkicon-cart-arrow-down::before{content:""}.sharkicon-diamond::before{content:""}.sharkicon-ship::before{content:""}.sharkicon-user-secret::before{content:""}.sharkicon-motorcycle::before{content:""}.sharkicon-street-view::before{content:""}.sharkicon-heartbeat::before{content:""}.sharkicon-venus::before{content:""}.sharkicon-mars::before{content:""}.sharkicon-mercury::before{content:""}.sharkicon-intersex::before{content:""}.sharkicon-transgender-alt::before{content:""}.sharkicon-venus-double::before{content:""}.sharkicon-mars-double::before{content:""}.sharkicon-venus-mars::before{content:""}.sharkicon-mars-stroke::before{content:""}.sharkicon-mars-stroke-v::before{content:""}.sharkicon-mars-stroke-h::before{content:""}.sharkicon-neuter::before{content:""}.sharkicon-genderless::before{content:""}.sharkicon-facebook-official::before{content:""}.sharkicon-pinterest-p::before{content:""}.sharkicon-whatsapp::before{content:""}.sharkicon-server::before{content:""}.sharkicon-user-plus::before{content:""}.sharkicon-user-times::before{content:""}.sharkicon-bed::before{content:""}.sharkicon-viacoin::before{content:""}.sharkicon-train::before{content:""}.sharkicon-subway::before{content:""}.sharkicon-medium::before{content:""}.sharkicon-y-combinator::before{content:""}.sharkicon-optin-monster::before{content:""}.sharkicon-opencart::before{content:""}.sharkicon-expeditedssl::before{content:""}.sharkicon-battery-4::before{content:""}.sharkicon-battery-3::before{content:""}.sharkicon-battery-2::before{content:""}.sharkicon-battery-1::before{content:""}.sharkicon-battery-0::before{content:""}.sharkicon-mouse-pointer::before{content:""}.sharkicon-i-cursor::before{content:""}.sharkicon-object-group::before{content:""}.sharkicon-object-ungroup::before{content:""}.sharkicon-sticky-note::before{content:""}.sharkicon-sticky-note-o::before{content:""}.sharkicon-cc-jcb::before{content:""}.sharkicon-cc-diners-club::before{content:""}.sharkicon-clone::before{content:""}.sharkicon-balance-scale::before{content:""}.sharkicon-hourglass-o::before{content:""}.sharkicon-hourglass-1::before{content:""}.sharkicon-hourglass-2::before{content:""}.sharkicon-hourglass-3::before{content:""}.sharkicon-hourglass::before{content:""}.sharkicon-hand-grab-o::before{content:""}.sharkicon-hand-paper-o::before{content:""}.sharkicon-hand-scissors-o::before{content:""}.sharkicon-hand-lizard-o::before{content:""}.sharkicon-hand-spock-o::before{content:""}.sharkicon-hand-pointer-o::before{content:""}.sharkicon-hand-peace-o::before{content:""}.sharkicon-trademark::before{content:""}.sharkicon-registered::before{content:""}.sharkicon-creative-commons::before{content:""}.sharkicon-gg::before{content:""}.sharkicon-gg-circle::before{content:""}.sharkicon-tripadvisor::before{content:""}.sharkicon-odnoklassniki::before{content:""}.sharkicon-odnoklassniki-square::before{content:""}.sharkicon-get-pocket::before{content:""}.sharkicon-wikipedia-w::before{content:""}.sharkicon-safari::before{content:""}.sharkicon-chrome::before{content:""}.sharkicon-firefox::before{content:""}.sharkicon-opera::before{content:""}.sharkicon-internet-explorer::before{content:""}.sharkicon-television::before{content:""}.sharkicon-contao::before{content:""}.sharkicon-500px::before{content:""}.sharkicon-amazon::before{content:""}.sharkicon-calendar-plus-o::before{content:""}.sharkicon-calendar-minus-o::before{content:""}.sharkicon-calendar-times-o::before{content:""}.sharkicon-calendar-check-o::before{content:""}.sharkicon-industry::before{content:""}.sharkicon-map-pin::before{content:""}.sharkicon-map-signs::before{content:""}.sharkicon-map-o::before{content:""}.sharkicon-map::before{content:""}.sharkicon-commenting::before{content:""}.sharkicon-commenting-o::before{content:""}.sharkicon-houzz::before{content:""}.sharkicon-vimeo::before{content:""}.sharkicon-black-tie::before{content:""}.sharkicon-fonticons::before{content:""}.sharkicon-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.sharkicon-2x{font-size:2em}.sharkicon-3x{font-size:3em}.sharkicon-4x{font-size:4em}.sharkicon-5x{font-size:5em}.sharkicon-fw{text-align:center;width:1.28571429em}.sharkicon-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.sharkicon-pull-left{float:left;margin-right:.3em}.sharkicon-pull-right{float:right;margin-left:.3em}.sharkicon-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.sharkicon-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.sharkicon-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.sharkicon-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.sharkicon-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.sharkicon-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.sharkicon-spin{-webkit-animation:sharkicon-animation-spin 2s infinite linear;-moz-animation:sharkicon-animation-spin 2s infinite linear;animation:sharkicon-animation-spin 2s infinite linear}.sharkicon-pulse{-webkit-animation:sharkicon-animation-spin 1s infinite steps(8);-moz-animation:sharkicon-animation-spin 1s infinite steps(8);animation:sharkicon-animation-spin 1s infinite steps(8)}.sharkicon-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.sharkicon-ul>li{position:relative}.sharkicon-ul>li .sharkicon-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.sharkicon-ul>li .sharkicon-li .sharkicon-lg{left:-1.85714286em}.sharkicon-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.sharkicon-stack .sharkicon-stack-1x,.sharkicon-stack .sharkicon-stack-2x{left:0;width:100%;text-align:center;position:absolute}.sharkicon-stack .sharkicon-stack-1x{line-height:inherit}.sharkicon-stack .sharkicon-stack-2x{font-size:2em}@-webkit-keyframes sharkicon-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes sharkicon-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes sharkicon-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}
2
 
3
  /*# sourceMappingURL=long-classes.min.css.map */
src/vendor/websharks/sharkicons/src/short-classes.min.css CHANGED
@@ -1,3 +1,3 @@
1
- @font-face{font-family:sharkicons;src:url("fonts/sharkicons.eot");src:url("fonts/sharkicons.eot?#iefix") format("embedded-opentype"),url("fonts/sharkicons.ttf") format("truetype"),url("fonts/sharkicons.woff") format("woff"),url("fonts/sharkicons.svg#sharkicons") format("svg");font-weight:normal;font-style:normal}.si::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.si-broom::before{content:""}.si-comment-mail-one::before{content:""}.si-comment-mail::before{content:""}.si-s2member::before{content:""}.si-websharks::before{content:""}.si-wp-kb-articles::before{content:""}.si-zencache-logo::before{content:""}.si-zencache::before{content:""}.si-wp-sharks::before{content:""}.si-wp-sharks-fin::before{content:""}.si-comet-cache::before{content:""}.si-comet-cache-logo::before{content:""}.si-comet-cache-comet::before{content:""}.si-feat-watch::before{content:""}.si-feat-server::before{content:""}.si-feat-layers::before{content:""}.si-feat-box::before{content:""}.si-feat-ellipsis::before{content:""}.si-typi-group::before{content:""}.si-enty-bookmark::before{content:""}.si-enty-bookmarks::before{content:""}.si-enty-open-book::before{content:""}.si-enty-archive::before{content:""}.si-enty-area-graph::before{content:""}.si-enty-bucket::before{content:""}.si-enty-colors::before{content:""}.si-enty-copy::before{content:""}.si-enty-drive::before{content:""}.si-enty-feather::before{content:""}.si-enty-gauge::before{content:""}.si-enty-hand::before{content:""}.si-enty-lab-flask::before{content:""}.si-enty-mask::before{content:""}.si-enty-medal::before{content:""}.si-enty-exclamation::before{content:""}.si-enty-palette::before{content:""}.si-enty-ruler::before{content:""}.si-enty-shop::before{content:""}.si-enty-basket::before{content:""}.si-enty-cart::before{content:""}.si-enty-traffic-cone::before{content:""}.si-enty-tree::before{content:""}.si-enty-trophy::before{content:""}.si-enty-v-card::before{content:""}.si-enty-google-hangouts::before{content:""}.si-eleg-line-graph::before{content:""}.si-eleg-male::before{content:""}.si-eleg-female::before{content:""}.si-eleg-atom::before{content:""}.si-broc-cart::before{content:""}.si-broc-crap::before{content:""}.si-broc-atom::before{content:""}.si-icom-headphones::before{content:""}.si-icom-barcode::before{content:""}.si-icom-user::before{content:""}.si-icom-users::before{content:""}.si-icom-user-plus::before{content:""}.si-icom-user-minus::before{content:""}.si-icom-user-check::before{content:""}.si-icom-user-tie::before{content:""}.si-icom-key::before{content:""}.si-icom-key2::before{content:""}.si-icom-happy::before{content:""}.si-icom-happy2::before{content:""}.si-icom-smile::before{content:""}.si-icom-smile2::before{content:""}.si-icom-tongue::before{content:""}.si-icom-tongue2::before{content:""}.si-icom-sad::before{content:""}.si-icom-sad2::before{content:""}.si-icom-wink::before{content:""}.si-icom-wink2::before{content:""}.si-icom-grin::before{content:""}.si-icom-grin2::before{content:""}.si-icom-cool::before{content:""}.si-icom-cool2::before{content:""}.si-icom-angry::before{content:""}.si-icom-angry2::before{content:""}.si-icom-evil::before{content:""}.si-icom-evil2::before{content:""}.si-icom-shocked::before{content:""}.si-icom-shocked2::before{content:""}.si-icom-baffled::before{content:""}.si-icom-baffled2::before{content:""}.si-icom-confused::before{content:""}.si-icom-confused2::before{content:""}.si-icom-neutral::before{content:""}.si-icom-neutral2::before{content:""}.si-icom-hipster::before{content:""}.si-icom-hipster2::before{content:""}.si-icom-wondering::before{content:""}.si-icom-wondering2::before{content:""}.si-icom-sleepy::before{content:""}.si-icom-sleepy2::before{content:""}.si-icom-frustrated::before{content:""}.si-icom-frustrated2::before{content:""}.si-icom-crying::before{content:""}.si-icom-crying2::before{content:""}.si-icom-spell-check::before{content:""}.si-icom-command-key::before{content:""}.si-icom-shift-key::before{content:""}.si-icom-control-key::before{content:""}.si-icom-option-key::before{content:""}.si-icom-wordpress::before{content:""}.si-icom-wordpress-square::before{content:""}.si-icom-yahoo::before{content:""}.si-icom-linux::before{content:""}.si-icom-finder::before{content:""}.si-icom-android::before{content:""}.si-icom-reddit::before{content:""}.si-icom-paypal::before{content:""}.si-icom-git::before{content:""}.si-octi-alignment-align::before{content:""}.si-octi-alignment-aligned-to::before{content:""}.si-octi-alignment-unalign::before{content:""}.si-octi-bookmark::before{content:""}.si-octi-broadcast::before{content:""}.si-octi-browser::before{content:""}.si-octi-checklist::before{content:""}.si-octi-circuit-board::before{content:""}.si-octi-clippy::before{content:""}.si-octi-cloud-download::before{content:""}.si-octi-cloud-upload::before{content:""}.si-octi-comment::before{content:""}.si-octi-comments::before{content:""}.si-octi-tach::before{content:""}.si-octi-device-camera::before{content:""}.si-octi-device-camera-video::before{content:""}.si-octi-device-desktop::before{content:""}.si-octi-diff::before{content:""}.si-octi-file-binary::before{content:""}.si-octi-file-media::before{content:""}.si-octi-file-submodule::before{content:""}.si-octi-file-symlink-directory::before{content:""}.si-octi-file-symlink-file::before{content:""}.si-octi-fold::before{content:""}.si-octi-git-branch::before{content:""}.si-octi-git-commit::before{content:""}.si-octi-git-compare::before{content:""}.si-octi-git-merge::before{content:""}.si-octi-git-pull-request::before{content:""}.si-octi-graph::before{content:""}.si-octi-home::before{content:""}.si-octi-horizontal-rule::before{content:""}.si-octi-key::before{content:""}.si-octi-light-bulb::before{content:""}.si-octi-link-external::before{content:""}.si-octi-lock::before{content:""}.si-octi-markdown::before{content:""}.si-octi-microscope::before{content:""}.si-octi-mirror::before{content:""}.si-octi-move-down::before{content:""}.si-octi-move-left::before{content:""}.si-octi-move-right::before{content:""}.si-octi-move-up::before{content:""}.si-octi-mute::before{content:""}.si-octi-organization::before{content:""}.si-octi-package::before{content:""}.si-octi-paintcan::before{content:""}.si-octi-person::before{content:""}.si-octi-plug::before{content:""}.si-octi-podium::before{content:""}.si-octi-pulse::before{content:""}.si-octi-puzzle::before{content:""}.si-octi-repo::before{content:""}.si-octi-repo-clone::before{content:""}.si-octi-repo-force-push::before{content:""}.si-octi-repo-forked::before{content:""}.si-octi-repo-pull::before{content:""}.si-octi-repo-push::before{content:""}.si-octi-rocket::before{content:""}.si-octi-ruby::before{content:""}.si-octi-screen-full::before{content:""}.si-octi-screen-normal::before{content:""}.si-octi-sign-in::before{content:""}.si-octi-sign-out::before{content:""}.si-octi-split::before{content:""}.si-octi-squirrel::before{content:""}.si-octi-steps::before{content:""}.si-octi-tag::before{content:""}.si-octi-telescope::before{content:""}.si-octi-terminal::before{content:""}.si-octi-unfold::before{content:""}.si-octi-versions::before{content:""}.si-glass::before{content:""}.si-music::before{content:""}.si-search::before{content:""}.si-envelope-o::before{content:""}.si-heart::before{content:""}.si-star::before{content:""}.si-star-o::before{content:""}.si-user::before{content:""}.si-film::before{content:""}.si-th-large::before{content:""}.si-th::before{content:""}.si-th-list::before{content:""}.si-check::before{content:""}.si-close::before{content:""}.si-search-plus::before{content:""}.si-search-minus::before{content:""}.si-power-off::before{content:""}.si-signal::before{content:""}.si-cog::before{content:""}.si-trash-o::before{content:""}.si-home::before{content:""}.si-file-o::before{content:""}.si-clock-o::before{content:""}.si-road::before{content:""}.si-download::before{content:""}.si-arrow-circle-o-down::before{content:""}.si-arrow-circle-o-up::before{content:""}.si-inbox::before{content:""}.si-play-circle-o::before{content:""}.si-repeat::before{content:""}.si-refresh::before{content:""}.si-list-alt::before{content:""}.si-lock::before{content:""}.si-flag::before{content:""}.si-headphones::before{content:""}.si-volume-off::before{content:""}.si-volume-down::before{content:""}.si-volume-up::before{content:""}.si-qrcode::before{content:""}.si-barcode::before{content:""}.si-tag::before{content:""}.si-tags::before{content:""}.si-book::before{content:""}.si-bookmark::before{content:""}.si-print::before{content:""}.si-camera::before{content:""}.si-font::before{content:""}.si-bold::before{content:""}.si-italic::before{content:""}.si-text-height::before{content:""}.si-text-width::before{content:""}.si-align-left::before{content:""}.si-align-center::before{content:""}.si-align-right::before{content:""}.si-align-justify::before{content:""}.si-list::before{content:""}.si-dedent::before{content:""}.si-indent::before{content:""}.si-video-camera::before{content:""}.si-image::before{content:""}.si-pencil::before{content:""}.si-map-marker::before{content:""}.si-adjust::before{content:""}.si-tint::before{content:""}.si-edit::before{content:""}.si-share-square-o::before{content:""}.si-check-square-o::before{content:""}.si-arrows::before{content:""}.si-step-backward::before{content:""}.si-fast-backward::before{content:""}.si-backward::before{content:""}.si-play::before{content:""}.si-pause::before{content:""}.si-stop::before{content:""}.si-forward::before{content:""}.si-fast-forward::before{content:""}.si-step-forward::before{content:""}.si-eject::before{content:""}.si-chevron-left::before{content:""}.si-chevron-right::before{content:""}.si-plus-circle::before{content:""}.si-minus-circle::before{content:""}.si-times-circle::before{content:""}.si-check-circle::before{content:""}.si-question-circle::before{content:""}.si-info-circle::before{content:""}.si-crosshairs::before{content:""}.si-times-circle-o::before{content:""}.si-check-circle-o::before{content:""}.si-ban::before{content:""}.si-arrow-left::before{content:""}.si-arrow-right::before{content:""}.si-arrow-up::before{content:""}.si-arrow-down::before{content:""}.si-mail-forward::before{content:""}.si-expand::before{content:""}.si-compress::before{content:""}.si-plus::before{content:""}.si-minus::before{content:""}.si-asterisk::before{content:""}.si-exclamation-circle::before{content:""}.si-gift::before{content:""}.si-leaf::before{content:""}.si-fire::before{content:""}.si-eye::before{content:""}.si-eye-slash::before{content:""}.si-exclamation-triangle::before{content:""}.si-plane::before{content:""}.si-calendar::before{content:""}.si-random::before{content:""}.si-comment::before{content:""}.si-magnet::before{content:""}.si-chevron-up::before{content:""}.si-chevron-down::before{content:""}.si-retweet::before{content:""}.si-shopping-cart::before{content:""}.si-folder::before{content:""}.si-folder-open::before{content:""}.si-arrows-v::before{content:""}.si-arrows-h::before{content:""}.si-bar-chart::before{content:""}.si-twitter-square::before{content:""}.si-facebook-square::before{content:""}.si-camera-retro::before{content:""}.si-key::before{content:""}.si-cogs::before{content:""}.si-comments::before{content:""}.si-thumbs-o-up::before{content:""}.si-thumbs-o-down::before{content:""}.si-star-half::before{content:""}.si-heart-o::before{content:""}.si-sign-out::before{content:""}.si-linkedin-square::before{content:""}.si-thumb-tack::before{content:""}.si-external-link::before{content:""}.si-sign-in::before{content:""}.si-trophy::before{content:""}.si-github-square::before{content:""}.si-upload::before{content:""}.si-lemon-o::before{content:""}.si-phone::before{content:""}.si-square-o::before{content:""}.si-bookmark-o::before{content:""}.si-phone-square::before{content:""}.si-twitter::before{content:""}.si-facebook::before{content:""}.si-github::before{content:""}.si-unlock::before{content:""}.si-credit-card::before{content:""}.si-feed::before{content:""}.si-hdd-o::before{content:""}.si-bullhorn::before{content:""}.si-bell-o::before{content:""}.si-certificate::before{content:""}.si-hand-o-right::before{content:""}.si-hand-o-left::before{content:""}.si-hand-o-up::before{content:""}.si-hand-o-down::before{content:""}.si-arrow-circle-left::before{content:""}.si-arrow-circle-right::before{content:""}.si-arrow-circle-up::before{content:""}.si-arrow-circle-down::before{content:""}.si-globe::before{content:""}.si-wrench::before{content:""}.si-tasks::before{content:""}.si-filter::before{content:""}.si-briefcase::before{content:""}.si-arrows-alt::before{content:""}.si-group::before{content:""}.si-chain::before{content:""}.si-cloud::before{content:""}.si-flask::before{content:""}.si-cut::before{content:""}.si-copy::before{content:""}.si-paperclip::before{content:""}.si-floppy-o::before{content:""}.si-square::before{content:""}.si-bars::before{content:""}.si-list-ul::before{content:""}.si-list-ol::before{content:""}.si-strikethrough::before{content:""}.si-underline::before{content:""}.si-table::before{content:""}.si-magic::before{content:""}.si-truck::before{content:""}.si-pinterest::before{content:""}.si-pinterest-square::before{content:""}.si-google-plus-square::before{content:""}.si-google-plus::before{content:""}.si-money::before{content:""}.si-caret-down::before{content:""}.si-caret-up::before{content:""}.si-caret-left::before{content:""}.si-caret-right::before{content:""}.si-columns::before{content:""}.si-sort::before{content:""}.si-sort-desc::before{content:""}.si-sort-asc::before{content:""}.si-envelope::before{content:""}.si-linkedin::before{content:""}.si-rotate-left::before{content:""}.si-gavel::before{content:""}.si-dashboard::before{content:""}.si-comment-o::before{content:""}.si-comments-o::before{content:""}.si-bolt::before{content:""}.si-sitemap::before{content:""}.si-umbrella::before{content:""}.si-clipboard::before{content:""}.si-lightbulb-o::before{content:""}.si-exchange::before{content:""}.si-cloud-download::before{content:""}.si-cloud-upload::before{content:""}.si-user-md::before{content:""}.si-stethoscope::before{content:""}.si-suitcase::before{content:""}.si-bell::before{content:""}.si-coffee::before{content:""}.si-cutlery::before{content:""}.si-file-text-o::before{content:""}.si-building-o::before{content:""}.si-hospital-o::before{content:""}.si-ambulance::before{content:""}.si-medkit::before{content:""}.si-fighter-jet::before{content:""}.si-beer::before{content:""}.si-h-square::before{content:""}.si-plus-square::before{content:""}.si-angle-double-left::before{content:""}.si-angle-double-right::before{content:""}.si-angle-double-up::before{content:""}.si-angle-double-down::before{content:""}.si-angle-left::before{content:""}.si-angle-right::before{content:""}.si-angle-up::before{content:""}.si-angle-down::before{content:""}.si-desktop::before{content:""}.si-laptop::before{content:""}.si-tablet::before{content:""}.si-mobile::before{content:""}.si-circle-o::before{content:""}.si-quote-left::before{content:""}.si-quote-right::before{content:""}.si-spinner::before{content:""}.si-circle::before{content:""}.si-mail-reply::before{content:""}.si-github-alt::before{content:""}.si-folder-o::before{content:""}.si-folder-open-o::before{content:""}.si-smile-o::before{content:""}.si-frown-o::before{content:""}.si-meh-o::before{content:""}.si-gamepad::before{content:""}.si-keyboard-o::before{content:""}.si-flag-o::before{content:""}.si-flag-checkered::before{content:""}.si-terminal::before{content:""}.si-code::before{content:""}.si-mail-reply-all::before{content:""}.si-star-half-empty::before{content:""}.si-location-arrow::before{content:""}.si-crop::before{content:""}.si-code-fork::before{content:""}.si-chain-broken::before{content:""}.si-question::before{content:""}.si-info::before{content:""}.si-exclamation::before{content:""}.si-superscript::before{content:""}.si-subscript::before{content:""}.si-eraser::before{content:""}.si-puzzle-piece::before{content:""}.si-microphone::before{content:""}.si-microphone-slash::before{content:""}.si-shield::before{content:""}.si-calendar-o::before{content:""}.si-fire-extinguisher::before{content:""}.si-rocket::before{content:""}.si-maxcdn::before{content:""}.si-chevron-circle-left::before{content:""}.si-chevron-circle-right::before{content:""}.si-chevron-circle-up::before{content:""}.si-chevron-circle-down::before{content:""}.si-html5::before{content:""}.si-css3::before{content:""}.si-anchor::before{content:""}.si-unlock-alt::before{content:""}.si-bullseye::before{content:""}.si-ellipsis-h::before{content:""}.si-ellipsis-v::before{content:""}.si-rss-square::before{content:""}.si-play-circle::before{content:""}.si-ticket::before{content:""}.si-minus-square::before{content:""}.si-minus-square-o::before{content:""}.si-level-up::before{content:""}.si-level-down::before{content:""}.si-check-square::before{content:""}.si-pencil-square::before{content:""}.si-external-link-square::before{content:""}.si-share-square::before{content:""}.si-compass::before{content:""}.si-caret-square-o-down::before{content:""}.si-caret-square-o-up::before{content:""}.si-caret-square-o-right::before{content:""}.si-eur::before{content:""}.si-gbp::before{content:""}.si-dollar::before{content:""}.si-inr::before{content:""}.si-cny::before{content:""}.si-rouble::before{content:""}.si-krw::before{content:""}.si-bitcoin::before{content:""}.si-file::before{content:""}.si-file-text::before{content:""}.si-sort-alpha-asc::before{content:""}.si-sort-alpha-desc::before{content:""}.si-sort-amount-asc::before{content:""}.si-sort-amount-desc::before{content:""}.si-sort-numeric-asc::before{content:""}.si-sort-numeric-desc::before{content:""}.si-thumbs-up::before{content:""}.si-thumbs-down::before{content:""}.si-youtube-square::before{content:""}.si-youtube::before{content:""}.si-xing::before{content:""}.si-xing-square::before{content:""}.si-youtube-play::before{content:""}.si-dropbox::before{content:""}.si-stack-overflow::before{content:""}.si-instagram::before{content:""}.si-flickr::before{content:""}.si-adn::before{content:""}.si-bitbucket::before{content:""}.si-bitbucket-square::before{content:""}.si-tumblr::before{content:""}.si-tumblr-square::before{content:""}.si-long-arrow-down::before{content:""}.si-long-arrow-up::before{content:""}.si-long-arrow-left::before{content:""}.si-long-arrow-right::before{content:""}.si-apple::before{content:""}.si-windows::before{content:""}.si-android::before{content:""}.si-linux::before{content:""}.si-dribbble::before{content:""}.si-skype::before{content:""}.si-foursquare::before{content:""}.si-trello::before{content:""}.si-female::before{content:""}.si-male::before{content:""}.si-gittip::before{content:""}.si-sun-o::before{content:""}.si-moon-o::before{content:""}.si-archive::before{content:""}.si-bug::before{content:""}.si-vk::before{content:""}.si-weibo::before{content:""}.si-renren::before{content:""}.si-pagelines::before{content:""}.si-stack-exchange::before{content:""}.si-arrow-circle-o-right::before{content:""}.si-arrow-circle-o-left::before{content:""}.si-caret-square-o-left::before{content:""}.si-dot-circle-o::before{content:""}.si-wheelchair::before{content:""}.si-vimeo-square::before{content:""}.si-try::before{content:""}.si-plus-square-o::before{content:""}.si-space-shuttle::before{content:""}.si-slack::before{content:""}.si-envelope-square::before{content:""}.si-wordpress::before{content:""}.si-openid::before{content:""}.si-bank::before{content:""}.si-graduation-cap::before{content:""}.si-yahoo::before{content:""}.si-google::before{content:""}.si-reddit::before{content:""}.si-reddit-square::before{content:""}.si-stumbleupon-circle::before{content:""}.si-stumbleupon::before{content:""}.si-delicious::before{content:""}.si-digg::before{content:""}.si-pied-piper::before{content:""}.si-pied-piper-alt::before{content:""}.si-drupal::before{content:""}.si-joomla::before{content:""}.si-language::before{content:""}.si-fax::before{content:""}.si-building::before{content:""}.si-child::before{content:""}.si-paw::before{content:""}.si-spoon::before{content:""}.si-cube::before{content:""}.si-cubes::before{content:""}.si-behance::before{content:""}.si-behance-square::before{content:""}.si-steam::before{content:""}.si-steam-square::before{content:""}.si-recycle::before{content:""}.si-automobile::before{content:""}.si-cab::before{content:""}.si-tree::before{content:""}.si-spotify::before{content:""}.si-deviantart::before{content:""}.si-soundcloud::before{content:""}.si-database::before{content:""}.si-file-pdf-o::before{content:""}.si-file-word-o::before{content:""}.si-file-excel-o::before{content:""}.si-file-powerpoint-o::before{content:""}.si-file-image-o::before{content:""}.si-file-archive-o::before{content:""}.si-file-audio-o::before{content:""}.si-file-movie-o::before{content:""}.si-file-code-o::before{content:""}.si-vine::before{content:""}.si-codepen::before{content:""}.si-jsfiddle::before{content:""}.si-life-bouy::before{content:""}.si-circle-o-notch::before{content:""}.si-ra::before{content:""}.si-empire::before{content:""}.si-git-square::before{content:""}.si-git::before{content:""}.si-hacker-news::before{content:""}.si-tencent-weibo::before{content:""}.si-qq::before{content:""}.si-wechat::before{content:""}.si-paper-plane::before{content:""}.si-paper-plane-o::before{content:""}.si-history::before{content:""}.si-circle-thin::before{content:""}.si-header::before{content:""}.si-paragraph::before{content:""}.si-sliders::before{content:""}.si-share-alt::before{content:""}.si-share-alt-square::before{content:""}.si-bomb::before{content:""}.si-futbol-o::before{content:""}.si-tty::before{content:""}.si-binoculars::before{content:""}.si-plug::before{content:""}.si-slideshare::before{content:""}.si-twitch::before{content:""}.si-yelp::before{content:""}.si-newspaper-o::before{content:""}.si-wifi::before{content:""}.si-calculator::before{content:""}.si-paypal::before{content:""}.si-google-wallet::before{content:""}.si-cc-visa::before{content:""}.si-cc-mastercard::before{content:""}.si-cc-discover::before{content:""}.si-cc-amex::before{content:""}.si-cc-paypal::before{content:""}.si-cc-stripe::before{content:""}.si-bell-slash::before{content:""}.si-bell-slash-o::before{content:""}.si-trash::before{content:""}.si-copyright::before{content:""}.si-at::before{content:""}.si-eyedropper::before{content:""}.si-paint-brush::before{content:""}.si-birthday-cake::before{content:""}.si-area-chart::before{content:""}.si-pie-chart::before{content:""}.si-line-chart::before{content:""}.si-lastfm::before{content:""}.si-lastfm-square::before{content:""}.si-toggle-off::before{content:""}.si-toggle-on::before{content:""}.si-bicycle::before{content:""}.si-bus::before{content:""}.si-ioxhost::before{content:""}.si-angellist::before{content:""}.si-cc::before{content:""}.si-ils::before{content:""}.si-meanpath::before{content:""}.si-buysellads::before{content:""}.si-connectdevelop::before{content:""}.si-dashcube::before{content:""}.si-forumbee::before{content:""}.si-leanpub::before{content:""}.si-sellsy::before{content:""}.si-shirtsinbulk::before{content:""}.si-simplybuilt::before{content:""}.si-skyatlas::before{content:""}.si-cart-plus::before{content:""}.si-cart-arrow-down::before{content:""}.si-diamond::before{content:""}.si-ship::before{content:""}.si-user-secret::before{content:""}.si-motorcycle::before{content:""}.si-street-view::before{content:""}.si-heartbeat::before{content:""}.si-venus::before{content:""}.si-mars::before{content:""}.si-mercury::before{content:""}.si-intersex::before{content:""}.si-transgender-alt::before{content:""}.si-venus-double::before{content:""}.si-mars-double::before{content:""}.si-venus-mars::before{content:""}.si-mars-stroke::before{content:""}.si-mars-stroke-v::before{content:""}.si-mars-stroke-h::before{content:""}.si-neuter::before{content:""}.si-genderless::before{content:""}.si-facebook-official::before{content:""}.si-pinterest-p::before{content:""}.si-whatsapp::before{content:""}.si-server::before{content:""}.si-user-plus::before{content:""}.si-user-times::before{content:""}.si-bed::before{content:""}.si-viacoin::before{content:""}.si-train::before{content:""}.si-subway::before{content:""}.si-medium::before{content:""}.si-y-combinator::before{content:""}.si-optin-monster::before{content:""}.si-opencart::before{content:""}.si-expeditedssl::before{content:""}.si-battery-4::before{content:""}.si-battery-3::before{content:""}.si-battery-2::before{content:""}.si-battery-1::before{content:""}.si-battery-0::before{content:""}.si-mouse-pointer::before{content:""}.si-i-cursor::before{content:""}.si-object-group::before{content:""}.si-object-ungroup::before{content:""}.si-sticky-note::before{content:""}.si-sticky-note-o::before{content:""}.si-cc-jcb::before{content:""}.si-cc-diners-club::before{content:""}.si-clone::before{content:""}.si-balance-scale::before{content:""}.si-hourglass-o::before{content:""}.si-hourglass-1::before{content:""}.si-hourglass-2::before{content:""}.si-hourglass-3::before{content:""}.si-hourglass::before{content:""}.si-hand-grab-o::before{content:""}.si-hand-paper-o::before{content:""}.si-hand-scissors-o::before{content:""}.si-hand-lizard-o::before{content:""}.si-hand-spock-o::before{content:""}.si-hand-pointer-o::before{content:""}.si-hand-peace-o::before{content:""}.si-trademark::before{content:""}.si-registered::before{content:""}.si-creative-commons::before{content:""}.si-gg::before{content:""}.si-gg-circle::before{content:""}.si-tripadvisor::before{content:""}.si-odnoklassniki::before{content:""}.si-odnoklassniki-square::before{content:""}.si-get-pocket::before{content:""}.si-wikipedia-w::before{content:""}.si-safari::before{content:""}.si-chrome::before{content:""}.si-firefox::before{content:""}.si-opera::before{content:""}.si-internet-explorer::before{content:""}.si-television::before{content:""}.si-contao::before{content:""}.si-500px::before{content:""}.si-amazon::before{content:""}.si-calendar-plus-o::before{content:""}.si-calendar-minus-o::before{content:""}.si-calendar-times-o::before{content:""}.si-calendar-check-o::before{content:""}.si-industry::before{content:""}.si-map-pin::before{content:""}.si-map-signs::before{content:""}.si-map-o::before{content:""}.si-map::before{content:""}.si-commenting::before{content:""}.si-commenting-o::before{content:""}.si-houzz::before{content:""}.si-vimeo::before{content:""}.si-black-tie::before{content:""}.si-fonticons::before{content:""}.si-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.si-2x{font-size:2em}.si-3x{font-size:3em}.si-4x{font-size:4em}.si-5x{font-size:5em}.si-fw{text-align:center;width:1.28571429em}.si-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.si-pull-left{float:left;margin-right:.3em}.si-pull-right{float:right;margin-left:.3em}.si-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.si-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.si-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.si-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.si-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.si-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.si-spin{-webkit-animation:si-animation-spin 2s infinite linear;-moz-animation:si-animation-spin 2s infinite linear;animation:si-animation-spin 2s infinite linear}.si-pulse{-webkit-animation:si-animation-spin 1s infinite steps(8);-moz-animation:si-animation-spin 1s infinite steps(8);animation:si-animation-spin 1s infinite steps(8)}.si-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.si-ul>li{position:relative}.si-ul>li .si-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.si-ul>li .si-li .si-lg{left:-1.85714286em}.si-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.si-stack .si-stack-1x,.si-stack .si-stack-2x{left:0;width:100%;text-align:center;position:absolute}.si-stack .si-stack-1x{line-height:inherit}.si-stack .si-stack-2x{font-size:2em}@-webkit-keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes si-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}
2
 
3
  /*# sourceMappingURL=short-classes.min.css.map */
1
+ @font-face{font-family:sharkicons;src:url("fonts/sharkicons.eot?v160221");src:url("fonts/sharkicons.eot?#iefix&v160221") format("embedded-opentype"),url("fonts/sharkicons.ttf?v160221") format("truetype"),url("fonts/sharkicons.woff?v160221") format("woff"),url("fonts/sharkicons.svg?v160221#sharkicons") format("svg");font-weight:normal;font-style:normal}.si::before{font:normal normal normal 14px/1 sharkicons;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;display:inline-block;font-size:inherit;text-decoration:inherit;text-transform:none}.si-broom::before{content:""}.si-comment-mail-one::before{content:""}.si-comment-mail::before{content:""}.si-s2member::before{content:""}.si-websharks::before{content:""}.si-wp-kb-articles::before{content:""}.si-zencache-logo::before{content:""}.si-zencache::before{content:""}.si-wp-sharks::before{content:""}.si-wp-sharks-fin::before{content:""}.si-comet-cache::before{content:""}.si-comet-cache-logo::before{content:""}.si-comet-cache-comet::before{content:""}.si-feat-watch::before{content:""}.si-feat-server::before{content:""}.si-feat-layers::before{content:""}.si-feat-box::before{content:""}.si-feat-ellipsis::before{content:""}.si-typi-group::before{content:""}.si-enty-bookmark::before{content:""}.si-enty-bookmarks::before{content:""}.si-enty-open-book::before{content:""}.si-enty-archive::before{content:""}.si-enty-area-graph::before{content:""}.si-enty-bucket::before{content:""}.si-enty-colors::before{content:""}.si-enty-copy::before{content:""}.si-enty-drive::before{content:""}.si-enty-feather::before{content:""}.si-enty-gauge::before{content:""}.si-enty-hand::before{content:""}.si-enty-lab-flask::before{content:""}.si-enty-mask::before{content:""}.si-enty-medal::before{content:""}.si-enty-exclamation::before{content:""}.si-enty-palette::before{content:""}.si-enty-ruler::before{content:""}.si-enty-shop::before{content:""}.si-enty-basket::before{content:""}.si-enty-cart::before{content:""}.si-enty-traffic-cone::before{content:""}.si-enty-tree::before{content:""}.si-enty-trophy::before{content:""}.si-enty-v-card::before{content:""}.si-enty-google-hangouts::before{content:""}.si-eleg-line-graph::before{content:""}.si-eleg-male::before{content:""}.si-eleg-female::before{content:""}.si-eleg-atom::before{content:""}.si-broc-cart::before{content:""}.si-broc-crap::before{content:""}.si-broc-atom::before{content:""}.si-icom-headphones::before{content:""}.si-icom-barcode::before{content:""}.si-icom-user::before{content:""}.si-icom-users::before{content:""}.si-icom-user-plus::before{content:""}.si-icom-user-minus::before{content:""}.si-icom-user-check::before{content:""}.si-icom-user-tie::before{content:""}.si-icom-key::before{content:""}.si-icom-key2::before{content:""}.si-icom-happy::before{content:""}.si-icom-happy2::before{content:""}.si-icom-smile::before{content:""}.si-icom-smile2::before{content:""}.si-icom-tongue::before{content:""}.si-icom-tongue2::before{content:""}.si-icom-sad::before{content:""}.si-icom-sad2::before{content:""}.si-icom-wink::before{content:""}.si-icom-wink2::before{content:""}.si-icom-grin::before{content:""}.si-icom-grin2::before{content:""}.si-icom-cool::before{content:""}.si-icom-cool2::before{content:""}.si-icom-angry::before{content:""}.si-icom-angry2::before{content:""}.si-icom-evil::before{content:""}.si-icom-evil2::before{content:""}.si-icom-shocked::before{content:""}.si-icom-shocked2::before{content:""}.si-icom-baffled::before{content:""}.si-icom-baffled2::before{content:""}.si-icom-confused::before{content:""}.si-icom-confused2::before{content:""}.si-icom-neutral::before{content:""}.si-icom-neutral2::before{content:""}.si-icom-hipster::before{content:""}.si-icom-hipster2::before{content:""}.si-icom-wondering::before{content:""}.si-icom-wondering2::before{content:""}.si-icom-sleepy::before{content:""}.si-icom-sleepy2::before{content:""}.si-icom-frustrated::before{content:""}.si-icom-frustrated2::before{content:""}.si-icom-crying::before{content:""}.si-icom-crying2::before{content:""}.si-icom-spell-check::before{content:""}.si-icom-command-key::before{content:""}.si-icom-shift-key::before{content:""}.si-icom-control-key::before{content:""}.si-icom-option-key::before{content:""}.si-icom-wordpress::before{content:""}.si-icom-wordpress-square::before{content:""}.si-icom-yahoo::before{content:""}.si-icom-linux::before{content:""}.si-icom-finder::before{content:""}.si-icom-android::before{content:""}.si-icom-reddit::before{content:""}.si-icom-paypal::before{content:""}.si-icom-git::before{content:""}.si-octi-alignment-align::before{content:""}.si-octi-alignment-aligned-to::before{content:""}.si-octi-alignment-unalign::before{content:""}.si-octi-bookmark::before{content:""}.si-octi-broadcast::before{content:""}.si-octi-browser::before{content:""}.si-octi-checklist::before{content:""}.si-octi-circuit-board::before{content:""}.si-octi-clippy::before{content:""}.si-octi-cloud-download::before{content:""}.si-octi-cloud-upload::before{content:""}.si-octi-comment::before{content:""}.si-octi-comments::before{content:""}.si-octi-tach::before{content:""}.si-octi-device-camera::before{content:""}.si-octi-device-camera-video::before{content:""}.si-octi-device-desktop::before{content:""}.si-octi-diff::before{content:""}.si-octi-file-binary::before{content:""}.si-octi-file-media::before{content:""}.si-octi-file-submodule::before{content:""}.si-octi-file-symlink-directory::before{content:""}.si-octi-file-symlink-file::before{content:""}.si-octi-fold::before{content:""}.si-octi-git-branch::before{content:""}.si-octi-git-commit::before{content:""}.si-octi-git-compare::before{content:""}.si-octi-git-merge::before{content:""}.si-octi-git-pull-request::before{content:""}.si-octi-graph::before{content:""}.si-octi-home::before{content:""}.si-octi-horizontal-rule::before{content:""}.si-octi-key::before{content:""}.si-octi-light-bulb::before{content:""}.si-octi-link-external::before{content:""}.si-octi-lock::before{content:""}.si-octi-markdown::before{content:""}.si-octi-microscope::before{content:""}.si-octi-mirror::before{content:""}.si-octi-move-down::before{content:""}.si-octi-move-left::before{content:""}.si-octi-move-right::before{content:""}.si-octi-move-up::before{content:""}.si-octi-mute::before{content:""}.si-octi-organization::before{content:""}.si-octi-package::before{content:""}.si-octi-paintcan::before{content:""}.si-octi-person::before{content:""}.si-octi-plug::before{content:""}.si-octi-podium::before{content:""}.si-octi-pulse::before{content:""}.si-octi-puzzle::before{content:""}.si-octi-repo::before{content:""}.si-octi-repo-clone::before{content:""}.si-octi-repo-force-push::before{content:""}.si-octi-repo-forked::before{content:""}.si-octi-repo-pull::before{content:""}.si-octi-repo-push::before{content:""}.si-octi-rocket::before{content:""}.si-octi-ruby::before{content:""}.si-octi-screen-full::before{content:""}.si-octi-screen-normal::before{content:""}.si-octi-sign-in::before{content:""}.si-octi-sign-out::before{content:""}.si-octi-split::before{content:""}.si-octi-squirrel::before{content:""}.si-octi-steps::before{content:""}.si-octi-tag::before{content:""}.si-octi-telescope::before{content:""}.si-octi-terminal::before{content:""}.si-octi-unfold::before{content:""}.si-octi-versions::before{content:""}.si-glass::before{content:""}.si-music::before{content:""}.si-search::before{content:""}.si-envelope-o::before{content:""}.si-heart::before{content:""}.si-star::before{content:""}.si-star-o::before{content:""}.si-user::before{content:""}.si-film::before{content:""}.si-th-large::before{content:""}.si-th::before{content:""}.si-th-list::before{content:""}.si-check::before{content:""}.si-close::before{content:""}.si-search-plus::before{content:""}.si-search-minus::before{content:""}.si-power-off::before{content:""}.si-signal::before{content:""}.si-cog::before{content:""}.si-trash-o::before{content:""}.si-home::before{content:""}.si-file-o::before{content:""}.si-clock-o::before{content:""}.si-road::before{content:""}.si-download::before{content:""}.si-arrow-circle-o-down::before{content:""}.si-arrow-circle-o-up::before{content:""}.si-inbox::before{content:""}.si-play-circle-o::before{content:""}.si-repeat::before{content:""}.si-refresh::before{content:""}.si-list-alt::before{content:""}.si-lock::before{content:""}.si-flag::before{content:""}.si-headphones::before{content:""}.si-volume-off::before{content:""}.si-volume-down::before{content:""}.si-volume-up::before{content:""}.si-qrcode::before{content:""}.si-barcode::before{content:""}.si-tag::before{content:""}.si-tags::before{content:""}.si-book::before{content:""}.si-bookmark::before{content:""}.si-print::before{content:""}.si-camera::before{content:""}.si-font::before{content:""}.si-bold::before{content:""}.si-italic::before{content:""}.si-text-height::before{content:""}.si-text-width::before{content:""}.si-align-left::before{content:""}.si-align-center::before{content:""}.si-align-right::before{content:""}.si-align-justify::before{content:""}.si-list::before{content:""}.si-dedent::before{content:""}.si-indent::before{content:""}.si-video-camera::before{content:""}.si-image::before{content:""}.si-pencil::before{content:""}.si-map-marker::before{content:""}.si-adjust::before{content:""}.si-tint::before{content:""}.si-edit::before{content:""}.si-share-square-o::before{content:""}.si-check-square-o::before{content:""}.si-arrows::before{content:""}.si-step-backward::before{content:""}.si-fast-backward::before{content:""}.si-backward::before{content:""}.si-play::before{content:""}.si-pause::before{content:""}.si-stop::before{content:""}.si-forward::before{content:""}.si-fast-forward::before{content:""}.si-step-forward::before{content:""}.si-eject::before{content:""}.si-chevron-left::before{content:""}.si-chevron-right::before{content:""}.si-plus-circle::before{content:""}.si-minus-circle::before{content:""}.si-times-circle::before{content:""}.si-check-circle::before{content:""}.si-question-circle::before{content:""}.si-info-circle::before{content:""}.si-crosshairs::before{content:""}.si-times-circle-o::before{content:""}.si-check-circle-o::before{content:""}.si-ban::before{content:""}.si-arrow-left::before{content:""}.si-arrow-right::before{content:""}.si-arrow-up::before{content:""}.si-arrow-down::before{content:""}.si-mail-forward::before{content:""}.si-expand::before{content:""}.si-compress::before{content:""}.si-plus::before{content:""}.si-minus::before{content:""}.si-asterisk::before{content:""}.si-exclamation-circle::before{content:""}.si-gift::before{content:""}.si-leaf::before{content:""}.si-fire::before{content:""}.si-eye::before{content:""}.si-eye-slash::before{content:""}.si-exclamation-triangle::before{content:""}.si-plane::before{content:""}.si-calendar::before{content:""}.si-random::before{content:""}.si-comment::before{content:""}.si-magnet::before{content:""}.si-chevron-up::before{content:""}.si-chevron-down::before{content:""}.si-retweet::before{content:""}.si-shopping-cart::before{content:""}.si-folder::before{content:""}.si-folder-open::before{content:""}.si-arrows-v::before{content:""}.si-arrows-h::before{content:""}.si-bar-chart::before{content:""}.si-twitter-square::before{content:""}.si-facebook-square::before{content:""}.si-camera-retro::before{content:""}.si-key::before{content:""}.si-cogs::before{content:""}.si-comments::before{content:""}.si-thumbs-o-up::before{content:""}.si-thumbs-o-down::before{content:""}.si-star-half::before{content:""}.si-heart-o::before{content:""}.si-sign-out::before{content:""}.si-linkedin-square::before{content:""}.si-thumb-tack::before{content:""}.si-external-link::before{content:""}.si-sign-in::before{content:""}.si-trophy::before{content:""}.si-github-square::before{content:""}.si-upload::before{content:""}.si-lemon-o::before{content:""}.si-phone::before{content:""}.si-square-o::before{content:""}.si-bookmark-o::before{content:""}.si-phone-square::before{content:""}.si-twitter::before{content:""}.si-facebook::before{content:""}.si-github::before{content:""}.si-unlock::before{content:""}.si-credit-card::before{content:""}.si-feed::before{content:""}.si-hdd-o::before{content:""}.si-bullhorn::before{content:""}.si-bell-o::before{content:""}.si-certificate::before{content:""}.si-hand-o-right::before{content:""}.si-hand-o-left::before{content:""}.si-hand-o-up::before{content:""}.si-hand-o-down::before{content:""}.si-arrow-circle-left::before{content:""}.si-arrow-circle-right::before{content:""}.si-arrow-circle-up::before{content:""}.si-arrow-circle-down::before{content:""}.si-globe::before{content:""}.si-wrench::before{content:""}.si-tasks::before{content:""}.si-filter::before{content:""}.si-briefcase::before{content:""}.si-arrows-alt::before{content:""}.si-group::before{content:""}.si-chain::before{content:""}.si-cloud::before{content:""}.si-flask::before{content:""}.si-cut::before{content:""}.si-copy::before{content:""}.si-paperclip::before{content:""}.si-floppy-o::before{content:""}.si-square::before{content:""}.si-bars::before{content:""}.si-list-ul::before{content:""}.si-list-ol::before{content:""}.si-strikethrough::before{content:""}.si-underline::before{content:""}.si-table::before{content:""}.si-magic::before{content:""}.si-truck::before{content:""}.si-pinterest::before{content:""}.si-pinterest-square::before{content:""}.si-google-plus-square::before{content:""}.si-google-plus::before{content:""}.si-money::before{content:""}.si-caret-down::before{content:""}.si-caret-up::before{content:""}.si-caret-left::before{content:""}.si-caret-right::before{content:""}.si-columns::before{content:""}.si-sort::before{content:""}.si-sort-desc::before{content:""}.si-sort-asc::before{content:""}.si-envelope::before{content:""}.si-linkedin::before{content:""}.si-rotate-left::before{content:""}.si-gavel::before{content:""}.si-dashboard::before{content:""}.si-comment-o::before{content:""}.si-comments-o::before{content:""}.si-bolt::before{content:""}.si-sitemap::before{content:""}.si-umbrella::before{content:""}.si-clipboard::before{content:""}.si-lightbulb-o::before{content:""}.si-exchange::before{content:""}.si-cloud-download::before{content:""}.si-cloud-upload::before{content:""}.si-user-md::before{content:""}.si-stethoscope::before{content:""}.si-suitcase::before{content:""}.si-bell::before{content:""}.si-coffee::before{content:""}.si-cutlery::before{content:""}.si-file-text-o::before{content:""}.si-building-o::before{content:""}.si-hospital-o::before{content:""}.si-ambulance::before{content:""}.si-medkit::before{content:""}.si-fighter-jet::before{content:""}.si-beer::before{content:""}.si-h-square::before{content:""}.si-plus-square::before{content:""}.si-angle-double-left::before{content:""}.si-angle-double-right::before{content:""}.si-angle-double-up::before{content:""}.si-angle-double-down::before{content:""}.si-angle-left::before{content:""}.si-angle-right::before{content:""}.si-angle-up::before{content:""}.si-angle-down::before{content:""}.si-desktop::before{content:""}.si-laptop::before{content:""}.si-tablet::before{content:""}.si-mobile::before{content:""}.si-circle-o::before{content:""}.si-quote-left::before{content:""}.si-quote-right::before{content:""}.si-spinner::before{content:""}.si-circle::before{content:""}.si-mail-reply::before{content:""}.si-github-alt::before{content:""}.si-folder-o::before{content:""}.si-folder-open-o::before{content:""}.si-smile-o::before{content:""}.si-frown-o::before{content:""}.si-meh-o::before{content:""}.si-gamepad::before{content:""}.si-keyboard-o::before{content:""}.si-flag-o::before{content:""}.si-flag-checkered::before{content:""}.si-terminal::before{content:""}.si-code::before{content:""}.si-mail-reply-all::before{content:""}.si-star-half-empty::before{content:""}.si-location-arrow::before{content:""}.si-crop::before{content:""}.si-code-fork::before{content:""}.si-chain-broken::before{content:""}.si-question::before{content:""}.si-info::before{content:""}.si-exclamation::before{content:""}.si-superscript::before{content:""}.si-subscript::before{content:""}.si-eraser::before{content:""}.si-puzzle-piece::before{content:""}.si-microphone::before{content:""}.si-microphone-slash::before{content:""}.si-shield::before{content:""}.si-calendar-o::before{content:""}.si-fire-extinguisher::before{content:""}.si-rocket::before{content:""}.si-maxcdn::before{content:""}.si-chevron-circle-left::before{content:""}.si-chevron-circle-right::before{content:""}.si-chevron-circle-up::before{content:""}.si-chevron-circle-down::before{content:""}.si-html5::before{content:""}.si-css3::before{content:""}.si-anchor::before{content:""}.si-unlock-alt::before{content:""}.si-bullseye::before{content:""}.si-ellipsis-h::before{content:""}.si-ellipsis-v::before{content:""}.si-rss-square::before{content:""}.si-play-circle::before{content:""}.si-ticket::before{content:""}.si-minus-square::before{content:""}.si-minus-square-o::before{content:""}.si-level-up::before{content:""}.si-level-down::before{content:""}.si-check-square::before{content:""}.si-pencil-square::before{content:""}.si-external-link-square::before{content:""}.si-share-square::before{content:""}.si-compass::before{content:""}.si-caret-square-o-down::before{content:""}.si-caret-square-o-up::before{content:""}.si-caret-square-o-right::before{content:""}.si-eur::before{content:""}.si-gbp::before{content:""}.si-dollar::before{content:""}.si-inr::before{content:""}.si-cny::before{content:""}.si-rouble::before{content:""}.si-krw::before{content:""}.si-bitcoin::before{content:""}.si-file::before{content:""}.si-file-text::before{content:""}.si-sort-alpha-asc::before{content:""}.si-sort-alpha-desc::before{content:""}.si-sort-amount-asc::before{content:""}.si-sort-amount-desc::before{content:""}.si-sort-numeric-asc::before{content:""}.si-sort-numeric-desc::before{content:""}.si-thumbs-up::before{content:""}.si-thumbs-down::before{content:""}.si-youtube-square::before{content:""}.si-youtube::before{content:""}.si-xing::before{content:""}.si-xing-square::before{content:""}.si-youtube-play::before{content:""}.si-dropbox::before{content:""}.si-stack-overflow::before{content:""}.si-instagram::before{content:""}.si-flickr::before{content:""}.si-adn::before{content:""}.si-bitbucket::before{content:""}.si-bitbucket-square::before{content:""}.si-tumblr::before{content:""}.si-tumblr-square::before{content:""}.si-long-arrow-down::before{content:""}.si-long-arrow-up::before{content:""}.si-long-arrow-left::before{content:""}.si-long-arrow-right::before{content:""}.si-apple::before{content:""}.si-windows::before{content:""}.si-android::before{content:""}.si-linux::before{content:""}.si-dribbble::before{content:""}.si-skype::before{content:""}.si-foursquare::before{content:""}.si-trello::before{content:""}.si-female::before{content:""}.si-male::before{content:""}.si-gittip::before{content:""}.si-sun-o::before{content:""}.si-moon-o::before{content:""}.si-archive::before{content:""}.si-bug::before{content:""}.si-vk::before{content:""}.si-weibo::before{content:""}.si-renren::before{content:""}.si-pagelines::before{content:""}.si-stack-exchange::before{content:""}.si-arrow-circle-o-right::before{content:""}.si-arrow-circle-o-left::before{content:""}.si-caret-square-o-left::before{content:""}.si-dot-circle-o::before{content:""}.si-wheelchair::before{content:""}.si-vimeo-square::before{content:""}.si-try::before{content:""}.si-plus-square-o::before{content:""}.si-space-shuttle::before{content:""}.si-slack::before{content:""}.si-envelope-square::before{content:""}.si-wordpress::before{content:""}.si-openid::before{content:""}.si-bank::before{content:""}.si-graduation-cap::before{content:""}.si-yahoo::before{content:""}.si-google::before{content:""}.si-reddit::before{content:""}.si-reddit-square::before{content:""}.si-stumbleupon-circle::before{content:""}.si-stumbleupon::before{content:""}.si-delicious::before{content:""}.si-digg::before{content:""}.si-pied-piper::before{content:""}.si-pied-piper-alt::before{content:""}.si-drupal::before{content:""}.si-joomla::before{content:""}.si-language::before{content:""}.si-fax::before{content:""}.si-building::before{content:""}.si-child::before{content:""}.si-paw::before{content:""}.si-spoon::before{content:""}.si-cube::before{content:""}.si-cubes::before{content:""}.si-behance::before{content:""}.si-behance-square::before{content:""}.si-steam::before{content:""}.si-steam-square::before{content:""}.si-recycle::before{content:""}.si-automobile::before{content:""}.si-cab::before{content:""}.si-tree::before{content:""}.si-spotify::before{content:""}.si-deviantart::before{content:""}.si-soundcloud::before{content:""}.si-database::before{content:""}.si-file-pdf-o::before{content:""}.si-file-word-o::before{content:""}.si-file-excel-o::before{content:""}.si-file-powerpoint-o::before{content:""}.si-file-image-o::before{content:""}.si-file-archive-o::before{content:""}.si-file-audio-o::before{content:""}.si-file-movie-o::before{content:""}.si-file-code-o::before{content:""}.si-vine::before{content:""}.si-codepen::before{content:""}.si-jsfiddle::before{content:""}.si-life-bouy::before{content:""}.si-circle-o-notch::before{content:""}.si-ra::before{content:""}.si-empire::before{content:""}.si-git-square::before{content:""}.si-git::before{content:""}.si-hacker-news::before{content:""}.si-tencent-weibo::before{content:""}.si-qq::before{content:""}.si-wechat::before{content:""}.si-paper-plane::before{content:""}.si-paper-plane-o::before{content:""}.si-history::before{content:""}.si-circle-thin::before{content:""}.si-header::before{content:""}.si-paragraph::before{content:""}.si-sliders::before{content:""}.si-share-alt::before{content:""}.si-share-alt-square::before{content:""}.si-bomb::before{content:""}.si-futbol-o::before{content:""}.si-tty::before{content:""}.si-binoculars::before{content:""}.si-plug::before{content:""}.si-slideshare::before{content:""}.si-twitch::before{content:""}.si-yelp::before{content:""}.si-newspaper-o::before{content:""}.si-wifi::before{content:""}.si-calculator::before{content:""}.si-paypal::before{content:""}.si-google-wallet::before{content:""}.si-cc-visa::before{content:""}.si-cc-mastercard::before{content:""}.si-cc-discover::before{content:""}.si-cc-amex::before{content:""}.si-cc-paypal::before{content:""}.si-cc-stripe::before{content:""}.si-bell-slash::before{content:""}.si-bell-slash-o::before{content:""}.si-trash::before{content:""}.si-copyright::before{content:""}.si-at::before{content:""}.si-eyedropper::before{content:""}.si-paint-brush::before{content:""}.si-birthday-cake::before{content:""}.si-area-chart::before{content:""}.si-pie-chart::before{content:""}.si-line-chart::before{content:""}.si-lastfm::before{content:""}.si-lastfm-square::before{content:""}.si-toggle-off::before{content:""}.si-toggle-on::before{content:""}.si-bicycle::before{content:""}.si-bus::before{content:""}.si-ioxhost::before{content:""}.si-angellist::before{content:""}.si-cc::before{content:""}.si-ils::before{content:""}.si-meanpath::before{content:""}.si-buysellads::before{content:""}.si-connectdevelop::before{content:""}.si-dashcube::before{content:""}.si-forumbee::before{content:""}.si-leanpub::before{content:""}.si-sellsy::before{content:""}.si-shirtsinbulk::before{content:""}.si-simplybuilt::before{content:""}.si-skyatlas::before{content:""}.si-cart-plus::before{content:""}.si-cart-arrow-down::before{content:""}.si-diamond::before{content:""}.si-ship::before{content:""}.si-user-secret::before{content:""}.si-motorcycle::before{content:""}.si-street-view::before{content:""}.si-heartbeat::before{content:""}.si-venus::before{content:""}.si-mars::before{content:""}.si-mercury::before{content:""}.si-intersex::before{content:""}.si-transgender-alt::before{content:""}.si-venus-double::before{content:""}.si-mars-double::before{content:""}.si-venus-mars::before{content:""}.si-mars-stroke::before{content:""}.si-mars-stroke-v::before{content:""}.si-mars-stroke-h::before{content:""}.si-neuter::before{content:""}.si-genderless::before{content:""}.si-facebook-official::before{content:""}.si-pinterest-p::before{content:""}.si-whatsapp::before{content:""}.si-server::before{content:""}.si-user-plus::before{content:""}.si-user-times::before{content:""}.si-bed::before{content:""}.si-viacoin::before{content:""}.si-train::before{content:""}.si-subway::before{content:""}.si-medium::before{content:""}.si-y-combinator::before{content:""}.si-optin-monster::before{content:""}.si-opencart::before{content:""}.si-expeditedssl::before{content:""}.si-battery-4::before{content:""}.si-battery-3::before{content:""}.si-battery-2::before{content:""}.si-battery-1::before{content:""}.si-battery-0::before{content:""}.si-mouse-pointer::before{content:""}.si-i-cursor::before{content:""}.si-object-group::before{content:""}.si-object-ungroup::before{content:""}.si-sticky-note::before{content:""}.si-sticky-note-o::before{content:""}.si-cc-jcb::before{content:""}.si-cc-diners-club::before{content:""}.si-clone::before{content:""}.si-balance-scale::before{content:""}.si-hourglass-o::before{content:""}.si-hourglass-1::before{content:""}.si-hourglass-2::before{content:""}.si-hourglass-3::before{content:""}.si-hourglass::before{content:""}.si-hand-grab-o::before{content:""}.si-hand-paper-o::before{content:""}.si-hand-scissors-o::before{content:""}.si-hand-lizard-o::before{content:""}.si-hand-spock-o::before{content:""}.si-hand-pointer-o::before{content:""}.si-hand-peace-o::before{content:""}.si-trademark::before{content:""}.si-registered::before{content:""}.si-creative-commons::before{content:""}.si-gg::before{content:""}.si-gg-circle::before{content:""}.si-tripadvisor::before{content:""}.si-odnoklassniki::before{content:""}.si-odnoklassniki-square::before{content:""}.si-get-pocket::before{content:""}.si-wikipedia-w::before{content:""}.si-safari::before{content:""}.si-chrome::before{content:""}.si-firefox::before{content:""}.si-opera::before{content:""}.si-internet-explorer::before{content:""}.si-television::before{content:""}.si-contao::before{content:""}.si-500px::before{content:""}.si-amazon::before{content:""}.si-calendar-plus-o::before{content:""}.si-calendar-minus-o::before{content:""}.si-calendar-times-o::before{content:""}.si-calendar-check-o::before{content:""}.si-industry::before{content:""}.si-map-pin::before{content:""}.si-map-signs::before{content:""}.si-map-o::before{content:""}.si-map::before{content:""}.si-commenting::before{content:""}.si-commenting-o::before{content:""}.si-houzz::before{content:""}.si-vimeo::before{content:""}.si-black-tie::before{content:""}.si-fonticons::before{content:""}.si-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.si-2x{font-size:2em}.si-3x{font-size:3em}.si-4x{font-size:4em}.si-5x{font-size:5em}.si-fw{text-align:center;width:1.28571429em}.si-border{border-radius:.1em;padding:.2em .25em .15em;border:solid 0.08em}.si-pull-left{float:left;margin-right:.3em}.si-pull-right{float:right;margin-left:.3em}.si-rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.si-rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.si-rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.si-flip-horizontal{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.si-flip-vertical{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.si-inverse{-webkit-filter:invert(100%);filter:invert(100%)}.si-spin{-webkit-animation:si-animation-spin 2s infinite linear;-moz-animation:si-animation-spin 2s infinite linear;animation:si-animation-spin 2s infinite linear}.si-pulse{-webkit-animation:si-animation-spin 1s infinite steps(8);-moz-animation:si-animation-spin 1s infinite steps(8);animation:si-animation-spin 1s infinite steps(8)}.si-ul{padding-left:0;list-style-type:none;margin-left:2.14285714em}.si-ul>li{position:relative}.si-ul>li .si-li{text-align:center;position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em}.si-ul>li .si-li .si-lg{left:-1.85714286em}.si-stack{width:2em;height:2em;line-height:2em;vertical-align:middle;position:relative;display:inline-block}.si-stack .si-stack-1x,.si-stack .si-stack-2x{left:0;width:100%;text-align:center;position:absolute}.si-stack .si-stack-1x{line-height:inherit}.si-stack .si-stack-2x{font-size:2em}@-webkit-keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes si-animation-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@keyframes si-animation-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}
2
 
3
  /*# sourceMappingURL=short-classes.min.css.map */